Giter Club home page Giter Club logo

project-mmo-2.0's Introduction

Project-MMO-2.0

A continuation of Harmony's Project MMO project


For information on how to use the mod, please see the wiki in this repo.
To download the mod go to:
https://www.curseforge.com/minecraft/mc-mods/project-mmo
or
https://modrinth.com/mod/project-mmo

Project Version Support Status

Version Support Status Notes
1.21.0 Active recommended version
1.20.1 Active actively supported
1.19.4 Use Only Player assistance, but no codebase updates
1.19.2 Use Only Player assistance, but no codebase updates
1.18.2 Use Only Player assistance, but no codebase updates
1.18.2-Legacy Unsupported
1.16.5 Unsupported
1.12.2 Unsupported

project-mmo-2.0's People

Contributors

borusu1 avatar caltinor avatar kewlsage avatar nertzhuldev avatar silvertide7 avatar somewhatdamaged avatar spongecade avatar witixin1512 avatar xxinvictus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

project-mmo-2.0's Issues

Skill Duplication on World Create

Describe the bug
When creating a new world in singleplayer after previously playing another world, the new world inherits the skill map of the previous world

Expected behavior
All new worlds should have fresh/blank skill maps

To Reproduce
Steps to reproduce the behavior:

  1. log into a world where you have experience (or give yourself experience)
  2. Log out of that world back to the main menu.
  3. Create a brand new world and join
  4. Your skills from world in step 1 will be present in this new world
  5. log out of the game entirely
  6. relaunch the game.
  7. enter the second world
  8. xp persisted between reloads

Versions:

  • Minecraft: 1.19
  • Loader: Forge-41.0.1
  • PMMO: Dev

Additional context
This might be due to caching caused by Core. Since the JVM session is not terminated between worlds, data may be persisting between worlds. The registry keys for the save location will be identical since the overworld is the overworld in all saves.

BlockEntity ownership tutorial

Add notification to player about tile placement being a condition of ownership for xp generated from that block (ie furnaces)

AutoBlock crash when world is invoked and null

Describe the bug
Observed while using Dynamic Trees. The hardness calculation used by the mod gets passed a null Level and crashes for an NPE.

Expected behavior
Don't crash

To Reproduce
Steps to reproduce the behavior:

  1. use a mod, like dynamic trees that uses the Level parameter in the hardness check
  2. use autovalues to determine configuration
  3. perform action related to autovalue property
  4. crash.

Versions:

  • Minecraft: 1.19 & 1.18
  • Loader: Forge
  • PMMO: rework

Additional context
crash-2022-07-17_20.08.32-client.txt

Item use behavior underperforming

Describe the bug
Two phenomena related to using Items.

  • ReqTypes.USE does not properly inhibit activation of items
  • EventTypes.ACTIVATE_ITEM does not trigger an XP award event.

The former was reported in the context of Ars Noveau spells triggering despite the prerequisite showing in the configuration.
The latter was reported with MCDoom mod orbs not providing XP when activated.

Expected behavior
both cases conform to expected behavior.

Versions:

  • Minecraft: 1.18.2
  • Loader: 40.1.x
  • PMMO: 1.18.2-2.0.0.8

Add Placed Block Xp reduction Indicator

Describe the solution you'd like
An indicator that displays to players that they will be receiving reduced or no experience for breaking a block they placed.

Why is this feature needed
The player who is unaware of this anti-cheese feature will likely believe the lack of XP is a bug. This extra context helps to clarify the mechanics

Describe alternatives you've considered
none. This is needed for UX.

Additional context
The ideal implementation would be a small icon beside the crosshair of the letters "XP" covered by a red circle with line covering it. This should be small an unobstructive to the player experience.

Group Skill Display Option

Describe the solution you'd like
The option to display a group skill by its name instead of its constituent skills.

Why is this feature needed
In cases where a group skill contains an excessive amount of skills, such as "totalLevels," the tooltip becomes cluttered and unsightly. The option to display the group name instead reduces this list to one. The onus then falls on the packmaker to clearly explain what these group skills consist of for the sake of player understanding. and example of a cluttered list is:
image

Describe alternatives you've considered
The alternative is an addon that supplies predicates and tooltipdata such that the addon handles skill grouping and returns the group name instead. This approach, while technically valid, duplicates a feature (skill grouping) and adds an extra mod requirement, both of which are not ideal.

Additional context
see photo above

Fix Desync with Vein Miner

Vein mining currently creates phantom blocks that the player cannot see, but can only see again by relogging.

Add AutoValue Req Effects Config

This enables users to define/omit a negative effect to be applied universally where requirements are not met.

This will likely include settings for each req type to give variation of effects based on which req is not met.

Death Auto Value Not Disabling

Describe the bug
When the auto value for Death is set to false mobs continue to grant large amounts of endurance experience when slain.

Expected behavior
To not grant any experience on death when disabled.

To Reproduce
Steps to reproduce the behavior:

  1. disable death auto value in config
  2. kill mob
  3. get granted 100s of endurance xp

Versions:

  • Minecraft: 1.19
  • pmmo-1.19-0.0.4.jar

Scaling Blocking XP and Block Arrows XP

Describe the bug
When blocking damage from melee hits the damage is not calculated when awarded xp like how Melee_to_Mobs is calculated. Instead it just gives a flat amount based on configured amount in datapack.

When blocking projectiles shot by pillager or skeleton no xp is awarded

Expected behavior
For melee blocking and projectile blocking the hope would be that it scales the amount of xp granted based on the amount of damage blocked. Rather than just a flat amount.

To Reproduce
Steps to reproduce the behavior:

  1. Set shield_block to an amount
  2. Block a pillager or skeleton arrow
  3. Get no xp awarded

Versions:

  • Minecraft: 1.19
  • PMMO: pmmo-1.19-0.1.0

Wildcard support for configs

Describe the solution you'd like
The ability to specify a full mod by using wildcards when tweaking either req_ or xp_value configs. Example wanted usage (in xp_value_crafting):

"compressium:*": 
{
    "crafting": 0 
},

Why is this feature needed
The Compressium mod allows you to craft 9 Cobblestone -> 1 Compressed Cobblestone (1x). You can also to the opposite. 1 Compressed Cobblestone (1x) -> 9 Cobblestone This creates a feedback loop giving free crafting exp. Since this mod comes with a lot of recipes it is substantially easier to disable all experience gain from crafting, from the entire mod, than specifying each recipe one by one (1 entry vs 244). There are more mods that do similar recipes, for instance the More Charcoal Mod.

Describe alternatives you've considered
None, other than manually entering all the specific blocks.

Additional context
None

Add Salvage Helper Message

Provide player with tutorial elements for the salvage feature.

  • Tooltip when looking at salvage block
  • advancement for first salvage
  • hint for the player on their first salvage.

experience gains from effects.

While effects are active give experience to the player.

This feature is more complicated that anticipated. The following elements need to be implemented

  • EventType for Effects
  • Core Method getExperienceAwards for effects
  • Glossary Update to include effects section

Add Total Levels Functionality to Skill Groups

Describe the solution you'd like
An option within skill groups to use the total level of the constituent skills instead of a distribution of the skills

Why is this feature needed
Skills groups are currently no different than an explicit declaration of each skill. It's a utility more than a unique feature. This change adds new functionality that is distinct and useful to users and adds in the flexibility of excelling in one constituent skills to reach an aggregated goal instead of requiring distinct thresholds

Describe alternatives you've considered
alternatives considered are moot. I am implementing this regardless.

Additional context
Add any other context or screenshots about the feature request here.

Config Override Attribute

Describe the solution you'd like
Similarly to how tags have a "replace=true" option that overrides any preceding tags, having a similar functionality within PMMO data.

Why is this feature needed
This would allow for mods to provide default data that can still be overridden by players without being affected by the "greater than" comparison strategy that data uses by default.

Describe alternatives you've considered
Datapack for each mod that players have to add to their worlds.

Multiple salvage blocks

Each Block would have various effects on the salvage output, such as higher base percent, increased max percent, higher yields, etc.

Piston Crash During Worldgen

Describe the bug
If a structure contains a piston that activates during worldgen, the game will crash. This is likely due to an unpromoted chunk being cast during the event.

World Ticking

Describe the bug
World Ticking Crash.

Expected behavior
No ticking :)

To Reproduce
Random Crashes

Versions:

  • Minecraft: 1.18.2
  • Loader: Forge 40.1.41
  • PMMO- 2.0.0.7

Additional context
Crashlog available

Jumping and Pausing with proper timing causes Agility exp to be gained while in the pause menu.

Describe the bug
While playing in single player I had jumped and pressed esc at the same time, I left and came back 20 minutes later with about 19 levels of agility exp given to me after exiting the pause menu.

Expected behavior
I expected to not have received almost 19 levels of free agility exp for pausing the game.

To Reproduce
Steps to reproduce the behavior:

  1. Jump in Singe Player
  2. Press esc to enter the pause menu
  3. Wait for agility exp to accumulate
  4. Press esc again to exit the pause menu and automatically receive agility exp

Versions:

  • Minecraft: 1.18.2
  • Loader: Forge 40.1.47
  • PMMO: 1.18.2-3.69.11

Additional context
This bug is super inconsistent and I am not 100% sure as to why it happened but I theorize that it must be timed so that you pause on the same tick that you would normally gain agility exp on or possibly the tick beforehand. As long as you are paused it will just keep adding exp and then give it to you all at once as soon as you unpause the game.

Add Glossary GUI

Use registry information to generate a glossary of items with pre-existing values. AutoValues don't seem to make sense since I would have to query every item to generate the glossary. I may have a search though that lets you query a specific item, which would generate the AutoValue data.

Shearing Sheep XP

Describe the solution you'd like
The goal would be to give players xp when they shear a sheep but not xp just from holding right click on the sheep

Why is this feature needed
Not really needed or all that important. Just a kool feature that could be fun.

Describe alternatives you've considered
I tried ENTITY as xp gain but with that route you can just hold right click on sheep and watch xp rise ๐Ÿ˜„

Not getting woodcutting an cooking xp

Describe the bug
Describe exactly what you observed
When breaking trees i dont get woodcutting xp. When cooking food i dont get cooking xp.
Expected behavior
A clear and concise description of what you expected to happen.
get both.
To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'enter any world (even a new one counts)
  2. Click on '....'make an axe , make a furnace
  3. Scroll down to '....' start breaking trees, place down the furnace
  4. See error start cooking food.

Screenshots
If applicable, add screenshots to help explain your problem.

Versions:

  • Minecraft: 1.19
  • Loader: Forge-41.0.110
  • PMMO: 1.19-0.2.4.

Additional context
Add any other context about the problem here.

Blocking XP Not Awarded

Describe the bug
With shield block set to give endurance: 100 on zombie they are giving 0 xp instead.

Expected behavior
That you would gain endurance xp based on the amount of damage blocked.

To Reproduce
Steps to reproduce the behavior:

  1. Set "SHIELD_BLOCK": { "endurance": 100 }
  2. spawn zombie and let it hit you while you are blocking
  3. gain 0 endurance experience

Screenshots
image

Versions:

  • Minecraft: 1.19
  • pmmo-1.19-0.0.4.jar

Additional context
The other entries here are working as expected.

Agility Always Displayed

Describe the bug
Agility is always displayed even when experience is 0

Expected behavior
For agility to only be displayed in skills list on top left of screen when agility experience has been gained.

To Reproduce
Steps to reproduce the behavior:

  1. set all xp gains to 0.0
  2. join game and move around a little
  3. agility xp does not increase but does show up in skills menu

Screenshots
2022-06-18_18 39 36

Versions:

  • Minecraft: 1.19
  • pmmo-1.19-0.0.4.jar

Additional context
Removing the entries does prevent the agility skill from being displayed on top left so perhaps this isn't really an issue...

Configuration GUI

The goal of this feature is to allow players to configure their games at run-time and without the need to mess with json files directly.

This feature relies on the development of the following:

  • Datapack template generation (on server-load, if absent)
    • Challenge: sidedness
  • GUIs for selecting and editing files
    • Command to access GUI
    • Object Option
    • Location Option
    • Player Option
    • Tooltip prompting for /reload after changes

Crafting Reqs Overridden Despite Manual Configuration

Describe the bug
Crafting requirement of 5 required to craft a wooden pickaxe even if the configuration is set to 1.

Expected behavior
requirements settings remain as configured.

To Reproduce
Steps to reproduce the behavior:

  1. Literally just start a new world.
  2. Play around a bit as normal - you know, survival stuff like punching trees and gathering wood.
  3. Once you've got the materials, maybe the first one to three wooden pickaxes can be crafted if you do them all pretty much immediately and simultaneously,
  4. but pretty quickly - even if you manually set the crafting requirement to 1 - it refuses to allow you to craft a wooden pickaxe if your crafting is below 5.
  5. Then, with crafting requirement set to 1, it will periodically pop up a toast saying you've learned a new recipe (the wooden pickaxe).
  6. Then and only then can you craft a wooden pickaxe - until you achieve crafting 5, and then it unlocks permanently.

Versions:

  • Minecraft: 1.18.2
  • Loader: (eg. Forge-40.1.20)
  • PMMO: 1.18.2-3.69.11

Additional context
Using PMMO and NBT Compat version 1.2.1 but I don't think that's necessary to reproduce the issue.

Excessive bonuses

Describe the bug
When multiple bonuses are applied to the same skill they appear to have an exponential effect on the bonus amount

Expected behavior
Regular mathematical addition of bonuses

Versions:

  • Minecraft: 1.18, 1.19
  • Loader: Forge
  • PMMO: all

Min Level Attribute to perks

Describe the solution you'd like
the ability to set a minimum level for all default perks

Why is this feature needed
This allows perks to be unlocked at certain levels instead of always present but growing in strength. It allows perks to be more rewarding and adds to the leveling up experience.

Describe alternatives you've considered
An alternative would be to have another mod assign a perk-unique skill as soon as the player reaches a level in another skill. This is cumbersome, ugly, and requires an outside mod where it otherwise should not be needed.

Default Settings

Refine and polish the default settings gained via AutoValues.

  • Ensure all use cases are adequately captured
  • Balance values to give quality Out-of-Box experience
  • Fix override bug where setting values to zero in data still results in AutoValues kicking in.

Option to display Powerlevel or other calculated "strength" stat by player name

Describe the solution you'd like
A method to quickly identify and compare player's power in multiplayer.

Why is this feature needed
Displaying a player's local powerlevel or another strength related stat would be an effective way to improve the PVP experience. Identifying threats as well as equals is needed when players can be wearing identical gear while not on equal footing.

Describe alternatives you've considered
With #8, this effect can be achieved with commands, but it would be taxing on the server.

I have already written the script to pull powerlevel (though the command does not have a return value so it doesn't work) and concat it with player names. Using this level+name string as the name of an invisible armour stand and moving it with the player achieves the effect at a great cost.

I'd love for these features to be present in 1.18.2, but I understand if the focus is on 1.19.

XP Drop Configs do nothing

Describe the bug
No change to the config has any effect on disabling world XP drops

Expected behavior
Behavior conforms to configuration

To Reproduce
Steps to reproduce the behavior:

  1. Create a new world
  2. Set XP drops config to false
  3. Enter world and trigger drop scenario
  4. Observe drops where configured false

Versions:

  • Minecraft: 1.16.5, 1.18
  • Loader: Forge
  • PMMO: all

XP Milestone Messages Unconfigurable

Describe the bug
Alterations to the config seem to have no effect on whether or not a milestone message displays. disabling the broadcasting does not disable the messages. Additionally, increasing the milestone level does not actually update the frequency of their occurrence.

Expected behavior
disabling broadcasting fully disables the feature, and/or setting the milestones actually changes when milestones apply

To Reproduce
Steps to reproduce the behavior:

  1. create a new instance
  2. set the milestone higher than the default of 10
  3. earn XP to surpass 10 level milestone
  4. observe config setting not applied
  5. set broadcast setting to false
  6. repeat steps 3 & 4

Versions:

  • Minecraft: 1.18.2
  • Loader: Forge-40.1.55
  • PMMO: 1.18.2-3.69.11

Consistent Combat XP

Describe the bug
Mobs don't give combat experience consistently

Expected behavior
I believe the zombie handles combat experience perfectly. Being that it multiplies the combat experienced decided in datapack times the damage value done to the mob. With the boar, it gives 1x amount of damage done even with combat set to 4 in data.
Also noticed that even with pigs having this set to 4 in data they give 0 combat xp.

To Reproduce
Rather than sharing steps to produce I think it might be easier for both of us if I share the BAP datapack I'm working on.
It contains every BAP mob.
pmmo.zip

Screenshots
The boar:
image
The zombie:
image

Versions:

  • Minecraft: 1.19
  • pmmo-1.19-0.0.4

Additional context
Add any other context about the problem here.

Global Auto Values false not working

Describe the bug
Even with the Auto Value set to off, it assigns an Alchemy 10 to all non datapack updated items

Expected behavior
No requirement on such items

To Reproduce
Steps to reproduce the behavior:
fresh install
turn off auto values
Have NO datapack info
open game

Screenshots
shared in Discord

Versions:

  • Minecraft: 1.18.2
  • Loader: Forge 40.1.41
  • PMMO version 2.0.0.7

Additional context
Add any other context about the problem here.

Unable to change vein keybind

Describe the bug
Keybind option not present

Expected behavior
Keybind option present

Versions:

  • Minecraft: 1.19
  • Loader: 41.0.100
  • PMMO: 1.19-0.2.1

Additional context
This might be caused by rendering changes and how keybinds are registered.

not getting Alchemy XP (1.18.2)

Describe the bug
i don't seem to be getting any Alchemy XP from making potions.

Expected behavior
thought making potions would give Alchemy XP.

To Reproduce
Steps to reproduce the behavior:

  1. Open new world with PMMO
  2. Make potion in brewing stand
  3. Take potions out of brewing stand
  4. Nothing happens

Versions:

  • Minecraft: 1.18.2
  • Loader: Forge-40.1.68
  • PMMO: Project_MMO-1.18.2-3.69.11.jar

Additional context
You're awesome! This mod is so much fun! I know it's a lot of work and you probably only hear about the broken parts, but you're doing great work, and a lot of people appreciate you. Thank you for everything, and please let me know if there's anything I can do to help. I have a community server, and I'd be happy to let you join us for R&D if you ever need it.

Crash on Init

Describe the bug
Crash on DS init.

Expected behavior
Server Loads Properly

To Reproduce
Steps to reproduce the behavior:

  1. Setup DS with PMMO
  2. start server
  3. See error

Attachment
crash-2022-07-11_20.23.41-fml.txt

Versions:

  • Minecraft: 1.19
  • Loader: 1.19-41.0.87
  • PMMO: 1.19-0.2.0

NBT Settings replicating

Describe the bug
NBT-based bonuses can be duped by repeatedly logging in and out of the world.

Expected behavior
no dupe.

To Reproduce
Steps to reproduce the behavior:

  1. log in and out of a world
  2. See bonus increasing each time

Screenshots
image

Versions:

  • Minecraft: 1.19
  • Forge : 41.0.100
  • Pmmo : 1.19.0.3

Additional context
Add any other context about the problem here.

Charging Vein Items Should Not Prevent Digging

Describe the bug
When an item with vein ability is recharging, the tool jerks up and down like it's being constantly reequipped. This causes any tool action to reset meaning that players are unable to dig with the item while it is recharging.

Expected behavior
The tool should not jerk and the player should be able to dig normally.

To Reproduce
Steps to reproduce the behavior:

  1. hold a tool with vein cap/charge in your mainhand
  2. Use the vein feature on a block and break it. This will consume the charge on your item.
  3. attempt to dig another block
  4. See error

Versions:

  • Minecraft: 1.19
  • Loader: 41.0.38
  • PMMO: 1.19-Dev

Additional context
The jerking occurs because the NBT of the item is being modified. If I understand correctly, this process creates a new item and replaces the previous one, which is interpreted on the client as an item swap.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.