Releases: Budschie/BudschieMorphMod
v.1.18.2-2.0.2
Small bugfix release
- Fixes #129
v1.18.2-2.0.1
Small bugfix release
Fixes Issue #114 and improves the way that the mod handles input.
v1.18.2-2.0.0
The BIG update
It is me again, to bring to you the good news that there is a new version for this mod now. It has taken me a while, but I think it was worth it as I was able to solve a bunch of long-standing issues.
Back up your save files
Although I've tried to keep this backwards-compatible (and I have succeeded to my knowledge), one can never be cautious enough, so I'd advise you to back up your world files before updating this mod.
Anyways, after this little warning above, let's dive into the changes that have been made in this new release:
New morph abilities
- Enderdragon: Flies in the direction in which you are facing. Can shoot Dragon Fireballs. Can only be morphed into this morph for a limited amount of time.
- Evoker: Is able to conjure fangs to attack their foes.
- Skeletons: Are now able to ride spiders (although they cannot control them).
- Baby Zombies: Can now ride chickens (although they cannot be steered).
Visual bug fixes
- Fixed a bug where wolf, parrot and cat would clip into the ground (Issue #88)
- Fixed a bug where Axolotl and Turtle's vision is permanently zoomed, even if they are in the water (Issue #79)
- Glow squids should now glow if you morph into them (Issue #80)
- Walking through webs as a spider should not cause any FOV issues anymore
- Fixed a long-standing issue where the player would sometimes strike with the wrong hand
- Iron golem morphs will now make a yeet animation when attacking entities
- The visual appearance of the disabled UI element bar should now be much smoother.
- Skeletons should now display their bow properly
- Guardians should now make sounds when jumping on land
- Striders will now appear purple if they are not near lava
Language
- Added basic support for Spanish thanks to
albertosaurio65 - Added support for German
Gameplay bug fixes
- Magma cubes and Zombified Piglins won't burn in lava anymore
- Attacking the mimic from Artifacts should not lead to a crash anymore (Issue #94)
- Fixed bug where slimes could attack players when they shouldn't.
- Fixed bug relating to dynamic ability additions which could cause the dynamic ability to persist.
- Undead mobs will no longer drown.
- Finally fixed a long-standing bug where the client displays that it is morphed into one morph when it is really morphed into another morph on the server.
- Fixed bug where ranged attacks as a wither skeleton could cause the attacked entity to get the wither effect.
- Fixed bug where Piglins would attack you regardless whether you were morphed or not.
Gameplay changes
- Players are now affected by the ability of the iron golem too; they won't be able to escape the yeeting anymore
- You can now morph into different sizes of slimes and magma cubes
- Attributes will now be copied. This means that almost all attributes from the morph will be applied to the player without any additional abilities.
- Added gamerule
inheritMorphSpeedto control whether the speed of morphs should be inherited by players. (Default:false) - Morphing will now only work if there is enough space around you. This can be disabled with the gamerule
skipSpaceRestrictionCheck. - Blazes will now be able to fire their projectiles slightly faster.
- Enderman morphs will now be able to teleport much quicker.
- Magma cubes won't take fall damage anymore
- Magma cubes will now jump higher, especially if the magma cube is big
Technical changes
- Files located in
morph_abilitieswill now accept entity tags as well. - Huge parts of the Java API have been deprecated! They will be removed in the next update. This is because of a fix to a bug that resulted in much cleaner code at the cost of having to restructure it. The old API still works, but its usage could slow down the game, and, as I said earlier, it will be removed.
- Added network direction to packets. This probably prevents malicious clients or servers from crashing each other by causing a
ClassNotFoundException. - Added
conditional_ability, a rather powerful ability that is able to enable other abilities if a given condition is met.
Audio change
Mobs will now make the according sounds (including ambient sounds). E. g. a wither morph makes wither sounds when being hurt. This should seamlessly apply to modded entities as well.
Animation system change
Modded mob animations should now be a little bit better supported by this mod. Some morphs like Blazes now emit particles.
Misc changes
- Mod files should now be much more smaller since they don't include the source psd files used for the logo anymore.
That's all. Thanks for reading this changelog :)
v1.18.2-1.0.1
This is just a short quickfix (issue #86 if you're interested) for newer versions of Forge. Note that this version of the mod only works on Forge version 1.18.2-40.1.21 or above. I also drastically reduced the file size of this mod by not including psd files in it's mod jar. Anyways, that's all.
- Budschie
v1.18.2-1.0.0
This is just a quick follow-up release for v1.18.1-3.0.0 to port this mod to 1.18.2. Read the full changelog for v1.18.1-3.0.0 here:
https://github.com/Budschie/BudschieMorphMod/releases/tag/v1.18.1-3.0.0
v1.18.1-3.0.0
Wither update
It's'a me, Budschie again!
And I return to bring to you the newest version of this mod: v1.18.1-3.0.0! With it, of course, I also bring a long changelog, to tell you what's new in this mod. As always, my release cycles are quite long, and this version probably has a few bugs in it (because I couldn't playtest it thourughly), so, sorry for letting you wait so long for this update. Anyways, let's get right into the list of changes this update brings with it:
New abilities and morph changes
- Bats can now fly faster.
- Zombie morphs will now turn into a drowned morph when being submerged into water, and they can turn into husks when they stay in the desert.
- Husk morphs can turn into zombies when they are submerged in water for long enough.
- Drowned morphs can turn into zombie morphs if they stay in the desert for long enough.
- Villager morphs now turn into witches when hit by a lightning.
- Axolotl now don't have regeneration anymore. Instead, they can get the absorption effect when pressing their ability key. (cooldown: 50s).
- Iron golems will now attack hostile morphs such as zombies or pillagers, and villagers will run away from them.
- Wither: The heads of the wither now rotate correctly.
- Wither: The wither can now fly.
- Wither: Morphing into the wither will create a particle cloud, play a sound and show a bossbar.
- Wither: Now immune to arrows when it only has half of its hearts left.
- Wither: The wither morph will now demorph after 50 seconds.
- Enderman: The enderman will now display a block in its hand if it is holding a block in the main hand
- Enderman: The enderman will now randomly teleport away when it was hit by an arrow.
- Morphs that have an immunity to fire will now not display flames anymore.
- Strider: Is now fire immune.
- Strider: Takes damage in water now.
- Strider: Can walk over lava.
- Strider: Is now slow when not walking over lava.
- Sheep and Cows: Sound when they cannot use their ability because the prerequesits are not met
- Witch: Witches can now throw Poison, Harming, Slowness and Weakness potions.
- Creeper: Charged creepers now drop seperate morphs. This change is purely cosmetic at the moment, but I am planning on making the explosion radius of the creeper dependent on whether its charged or not in the future(tm).
- Enderman: Teleport sound radius was drastically reduced.
UI
- Morph UI will now visually show deactivated morphs.
- The key to favourite morphs has been changed from
FtoÄ(at least on German keyboards, thisÄkey is probably the'key on US layouts).
Advancements
- Added 7 advancements: "photon man", "Shapeshifter", "Cat-astrophic!", "I am you!", "Way to go, nether star!", "Batman" and "Do a barrel roll!"
Bug fixes
- Fixed issue #65: You will now stay in the air whilst flying and switching from one morph that can fly to another one. You will also keep flying when logging out and logging back in again.
- Logging out and logging back in will now not reset the time you have to wait for you to be able to use your ability again anymore.
- Probably fixed issue #56.
- Fixed issue #75 and #71.
- Fixed issue with Guardian ability.
- Fixed bug where the flying ability could slow you down in spectator mode.
- Fixed bug where morphed player would be displayed as unmorphed on some clients (I'm not too sure if this was introduced in a previous version of whilst developing this version though).
- The
/morphplayercommand will now not show an unhelpful error message anymore when the given player doesn't exist. - Enderman will not be aggroed when you directly look at them in a morphed state.
- Morphs should now face the mouse cursor again when being in the inventory.
- Cloaks should not be bugging around anymore when being morphed as a player possessing a cloak.
- When you killed a player as a guardian, this player would hear never ending guardian sounds until they left the world and joined it again. This bug is now fixed.
- When you attacked anybody as a guardian and the attacked entity left, you couldn't move on land anymore. This bug is now fixed as well.
Commands and data packs
- Added
/disable_morph_itemcommand, its syntax is as following:/disable_morph_item <player> <current_morph_item>or/disable_morph_item <player> <everything> [matching] [entity_type] - Added PredicateAbility (id: "
bmorph:predicate_ability"), a versatile ability that allows you to execute another ability after a given JSON predicate has been true for a given amount of time. - Added MorphAbility (id: "
bmorph:morph_ability"). - Added custom ability lists. I will probably do some more work here in the future, as this feature is currently only halfway implemented.
- Added AudiovisualEffectOnEnableAbility (id: "
bmorph:audiovisual_effect_on_enable"). - Added ImmuneToDamageIfAbility (id: "
bmorph:immune_to_damage_if"). - Added TeleportOnProjectileContactAbility (id: "
bmorph:teleport_on_projectile_contact"). - Added new predicate type:
bmorph:player_attributes. If you want to see an example where said predicate was used, look at this file: https://github.com/Budschie/BudschieMorphMod/blob/6f0ec61a110ac890adbbe7aa0e6a5eca82d24ee1/src/main/resources/data/bmorph/predicates/wither_half_health_predicate.json. - Removed acceleration field in the ProjectileShootingAbility because we cannot effectively use it thanks to minecraft's netcode...
- Added ability groups. You can use ability groups to group abilities together. Here is an example of such ability groups: https://github.com/Budschie/BudschieMorphMod/blob/731f2a1637694fc629abf516779485174ab54455/src/main/resources/data/bmorph/ability_groups/normal_fish.json. You can reference them instead of abilities in your morph_abilities files by prefixing their resource location with a
#, so if you had the ability group "bmorph:example", you would reference it by typing "#bmorph:example". - Added Jesus ability (id: "
bmorph:jesus"). A morph can walk over certain fluids when it has this ability. The strider is currently the only morph using this ability.
Internal stuff
- The class AbstractEventAbility has been deprecated and replaced. It is marked for removal, but for compat reasons, I decided to not remove it just yet. Read issue #68 for more details.
- If you directly used the IMorphCapability capability, there is a good chance that you will have to change a few method calls as you now don't have to always include the player as an argument when doing stuff in said capability. Refer to commit 7785b3e for more information.
- Abilities can now save states on a per-player basis.
- This mod is now using Parchment mappings.
- The netcode is now a bit more precise (see commit e59a49c).
- Deprecated some methods in the Ability class (and marked them for removal).
- Added the new method
removePlayerReferences(Player). This method is being called when the player either demorphs or leaves the game. It should be used to clear the ability from references to the given player. This method can be used to prevent memory leaks.
Anyways, that's it again. Thanks for reading all of this (if you did).
I hope you have a great day,
- Budschie
v1.18.1-2.0.1
First patch for v1.18.1-2.0.0
This patch fixes an issue where the game would throw a NoClassDefFoundError sometimes when opening it (as you can see in issue #61).
Sorry for the inconvenience that I might have caused by this error.
If you want to read the full changelog of 2.0.0 (which I'd recommend you to do), you can see it here: https://github.com/Budschie/BudschieMorphMod/releases/tag/v1.18.1-2.0.0
v1.18.1-2.0.0
QOL + Bug fix update
Hello there again.
It's been a while since I've last released a version of this mod, but I think it is now time to release version 2.0.0.
This update doesn't contain that much new abilities, though I added one new system to my mod that allows you to process data from a dead entity (there are some use cases for this, if you want to know more, read the text inside the first /** **/ section of this file: https://github.com/Budschie/BudschieMorphMod/blob/1.18.x/src/main/java/de/budschie/bmorph/morph/functionality/data_transformers/DataTransformer.java).
This version should also fix some annoying (and potentially game-breaking) bugs in my mod that stemmed from me not properly handling and registering the capabilities of my mod (I did not encounter these bugs when play-testing, but they might still be there (though it is unlikely)).
With that being said, please enjoy the following changelog:
Mod compatibility changes
- This mod is now compatible to the shrink mod again.
New abilities and morph changes
- Sheep ability added (you can now shear yourself, get sheared and eat grass to regain wool)
- Thanks to data transformers, cat and dog morphs can now have collars
- Animals can now drop a baby variant of the animal when killing a baby (thanks to data transformers)
- Cows now have a milk ability (other players can milk players morphed as cows too)
- Turtles now have abilities (they are slow on land, but fast in water)
QOL
- Added an animation for changing morphs
Bug fixes
- Fixed bug where flying speed would not reset when being morphed as a bat (for example) and then switching in creative mode
- Fixed bug where favorite list would reset every time you die
Miscellaneous technical stuff
- Added new DataTransformer system
- Certain data and lists which are required to render morphs properly are now cached in a client-side only capability. I'm not sure how much the absolute performance boost is (it's probably only a minor increase of FPS, if there is an increase at all), but the relative speed of the code in comparison to the system that was in place before is probably huge. This has the cool side effect that the code is much more robust.
- Added AudioVisualEffect codec that unites particle effects and sound effects
- TransformEntityOnDeath now can take in data transformers as an argument
- Added ConditionalModifier (modifier for data transformers)
- Added SetIfPresentModifier (modifier for data transformers)
- SquidBoostAbility and TransformEntityOnDeath now use AudioVisualEffect codec instead of particle cloud array + sound array.
- Fixed formatting of certain log messages
So, that's it. I hope that I didn't forget any changes. Happy modding/minecrafting everyone :)
- Budschie
v1.18.1-1.0.0
This is a port of v1.17.1-2.0.1 to 1.18.1.
You can read the changelog of that version here: https://github.com/Budschie/BudschieMorphMod/releases/tag/v1.17.1-2.0.1.
v1.17.1-2.0.1
Bug fixes
- Fixed bug where zombie infecting wouldn't work.
Info
Please read https://github.com/Budschie/BudschieMorphMod/releases/tag/v1.17.1-2.0.0 for the full changelog.
This is simply a patch to fix the bug mentioned above.