4 downloads


Description:
create a minecraft item that has the following description: create a mod called “Universal Morph System” built around a single item called “Morph Talisman” that lets the player morph into any mob in the game (vanilla or modded) using the exact same mirroring logic you’d use in vanilla with command blocks and datapacks. when the player right-clicks the Morph Talisman, open a GUI that lists all available entities from the full dynamic entity registry (not hardcoded): think of it as a searchable list of mob ids, exactly like you’d fake with a bunch of scoreboard-based menus in vanilla, but here it should be smooth and instant. once the player picks a mob to morph into and confirms, set an internal flag like morphed = true and remember the chosen mob id for that player. at the moment of morph, do what you’d do with commands: first, make the player invisible with a long, hidden invisibility effect (equivalent to repeatedly running effect give @s invisibility 10 0 true in a tick function / repeating command block). next, summon a “shell” version of the chosen mob at the player’s position that will act only as the visual body, not the real one. in vanilla this would look like /summon <mob_id> ~ ~ ~ {NoAI:1b,NoGravity:1b,Silent:1b,Invulnerable:1b,Tags:["morph_shell"]}, but in the mod you must ensure that: it has no AI, does not move on its own, doesn’t take or deal normal damage, and its hitbox is ignored for gameplay (the player’s hitbox stays the real one). store a link between that shell and the player (like “this player’s shell uuid”), so there is always exactly one shell per morphed player. from that point on, every tick while the player is morphed, run code that is equivalent to a clean repeating-command-block setup in vanilla: for each morphed player, teleport their shell to exactly the player’s position, and copy the player’s rotation directly. in command terms, think: execute as <morphed player> at @s run tp <linked_shell> ~ ~ ~ to hard-sync x/y/z every tick, and then data modify entity <linked_shell> Rotation set from entity @s Rotation so yaw and pitch always match the player’s look direction perfectly. do not use “facing entity” or look-at logic: the shell should not just stare at the player, it should be the player — position and rotation are always identical, as if the mob and the player share the same transform every tick. this is the core rule for every mob morph: regardless of whether the chosen mob is a zombie, enderman, ghast, custom modded boss, etc., the visual mob must be constantly teleported onto the player and must always have its Rotation NBT cloned from the player’s Rotation, every single tick, with no smoothing, no offsets, no easing; it should feel like a perfect 1:1 mirror. any extra per-mob powers you add later (like shooting fireballs, using tridents, roaring, special abilities, etc.) should always be triggered off the player and then visually originate from the shell, but the base system is always: invisibility on the player, one shell mob per player, shell teleported to the player every tick, shell rotation copied from the player every tick, and all old attempts at partial “follow”, velocity nudges, or “facing” behavior removed and replaced by this strict transform mirroring. when the player unmorphs (for example by using the Morph Talisman again or after a timer), the mod should delete the shell entity, clear the invisibility, reset any modified abilities (like flight, if you gave it to certain mobs), and clear the internal morphed state so they are fully back to normal. Edit v2: make sure the morphed mob has no hitbox, currently they push the player and make it impossible to stop moving Edit v3: ensure that when the player is not inputting any controls and is staying still, the morphed mob also stays still Edit v4: ensure the player and the morphed mob do not interfere with each other's hitbox by: creating a /team with both the player and morphed mob, then modifying the teams rules so that collisionrule is set to never. once the player unmorphs, disband this team Edit v5: - add cool particle effect and sounds when there is a transformation - use brighter colours in the GUI text - remove ender dragon from list Edit v7: -add the iron_golem mob to the list -use solid colours for the mob names and main title in the GUI Edit v8: - remove all blur from the GUI - ensure that the entity with the entity ID "minecraft:iron_golem" is added to the list, no matter what Edit v9: remove all blur effects from the GUI, i only want clear text Edit v11: add the entity with ID "minecraft:villager" Edit v12: when the player leaves the game while the talisman is in effect and then rejoins, they are permanently invisible and the shell is stuck in place. fix this by despawning the shell and removing invisibility when a player disconnects. Edit v13: ensure that the talisman GUI only opens for the player using it, and nobody else. it currently opens the GUI server-wide when one person uses it. Edit v14: add a "baby" toggle to the GUI. when turned on, the mob selected will morph into its baby form. if the mob selected does not have a baby form, set the scale attribute to 0.5 Edit v15: -after selecting a mob in the gui, replace the "Morph!" button with 2 options named "Morph a mob" and "Morph myself". If the player selects "Morph a mob", the talisman will remember your mob choice, then right click on any mob in the world and it will morph into the mob chosen in the GUI. use the same commands and method used to morph the player but instead with the mob that was right clicked as the subject. "Morph myself" should work the same as the previous "Morph!" button, morphing the player into the selected mob
Manage versions and create new iterations of this mod.
This will create a new mod based on "Mob Morph Talisman" with your modifications. The original mod will remain unchanged and you'll be credited as the author of the remix.
This will create a new version of "Mob Morph Talisman" for Minecraft Java 1.20.1. The original mod will remain unchanged.
4
Dec 3, 2025, 02:44 AM
User request: create a mod called “Universal Morph System” built around a single item called “Morph Talisman” that lets the player morph into any mob in the game (vanilla or modded) using the exact same mirroring logic you’d use in vanilla with command blocks and datapacks. when the player right-clicks the Morph Talisman, open a GUI that lists all available entities from the full dynamic entity registry (not hardcoded): think of it as a searchable list of mob ids, exactly like you’d fake with a bunch of scoreboard-based menus in vanilla, but here it should be smooth and instant. once the player picks a mob to morph into and confirms, set an internal flag like morphed = true and remember the chosen mob id for that player. at the moment of morph, do what you’d do with commands: first, make the player invisible with a long, hidden invisibility effect (equivalent to repeatedly running effect give @s invisibility 10 0 true in a tick function / repeating command block). next, summon a “shell” version of the chosen mob at the player’s position that will act only as the visual body, not the real one. in vanilla this would look like /summon <mob_id> ~ ~ ~ {NoAI:1b,NoGravity:1b,Silent:1b,Invulnerable:1b,Tags:["morph_shell"]}, but in the mod you must ensure that: it has no AI, does not move on its own, doesn’t take or deal normal damage, and its hitbox is ignored for gameplay (the player’s hitbox stays the real one). store a link between that shell and the player (like “this player’s shell uuid”), so there is always exactly one shell per morphed player. from that point on, every tick while the player is morphed, run code that is equivalent to a clean repeating-command-block setup in vanilla: for each morphed player, teleport their shell to exactly the player’s position, and copy the player’s rotation directly. in command terms, think: execute as <morphed player> at @s run tp <linked_shell> ~ ~ ~ to hard-sync x/y/z every tick, and then data modify entity <linked_shell> Rotation set from entity @s Rotation so yaw and pitch always match the player’s look direction perfectly. do not use “facing entity” or look-at logic: the shell should not just stare at the player, it should be the player — position and rotation are always identical, as if the mob and the player share the same transform every tick. this is the core rule for every mob morph: regardless of whether the chosen mob is a zombie, enderman, ghast, custom modded boss, etc., the visual mob must be constantly teleported onto the player and must always have its Rotation NBT cloned from the player’s Rotation, every single tick, with no smoothing, no offsets, no easing; it should feel like a perfect 1:1 mirror. any extra per-mob powers you add later (like shooting fireballs, using tridents, roaring, special abilities, etc.) should always be triggered off the player and then visually originate from the shell, but the base system is always: invisibility on the player, one shell mob per player, shell teleported to the player every tick, shell rotation copied from the player every tick, and all old attempts at partial “follow”, velocity nudges, or “facing” behavior removed and replaced by this strict transform mirroring. when the player unmorphs (for example by using the Morph Talisman again or after a timer), the mod should delete the shell entity, clear the invisibility, reset any modified abilities (like flight, if you gave it to certain mobs), and clear the internal morphed state so they are fully back to normal. Edit v2: make sure the morphed mob has no hitbox, currently they push the player and make it impossible to stop moving Edit v3: ensure that when the player is not inputting any controls and is staying still, the morphed mob also stays still Edit v4: ensure the player and the morphed mob do not interfere with each other's hitbox by: creating a /team with both the player and morphed mob, then modifying the teams rules so that collisionrule is set to never. once the player unmorphs, disband this team Edit v5: - add cool particle effect and sounds when there is a transformation - use brighter colours in the GUI text - remove ender dragon from list Edit v7: -add the iron_golem mob to the list -use solid colours for the mob names and main title in the GUI Edit v8: - remove all blur from the GUI - ensure that the entity with the entity ID "minecraft:iron_golem" is added to the list, no matter what Edit v9: remove all blur effects from the GUI, i only want clear text Edit v11: add the entity with ID "minecraft:villager" Edit v12: when the player leaves the game while the talisman is in effect and then rejoins, they are permanently invisible and the shell is stuck in place. fix this by despawning the shell and removing invisibility when a player disconnects. Edit v13: ensure that the talisman GUI only opens for the player using it, and nobody else. it currently opens the GUI server-wide when one person uses it. Edit v14: add a "baby" toggle to the GUI. when turned on, the mob selected will morph into its baby form. if the mob selected does not have a baby form, set the scale attribute to 0.5 Edit v15: -after selecting a mob in the gui, replace the "Morph!" button with 2 options named "Morph a mob" and "Morph myself". If the player selects "Morph a mob", the talisman will remember your mob choice, then right click on any mob in the world and it will morph into the mob chosen in the GUI. use the same commands and method used to morph the player but instead with the mob that was right clicked as the subject. "Morph myself" should work the same as the previous "Morph!" button, morphing the player into the selected mob
0
Dec 2, 2025, 03:14 PM
User request: create a mod called “Universal Morph System” built around a single item called “Morph Talisman” that lets the player morph into any mob in the game (vanilla or modded) using the exact same mirroring logic you’d use in vanilla with command blocks and datapacks. when the player right-clicks the Morph Talisman, open a GUI that lists all available entities from the full dynamic entity registry (not hardcoded): think of it as a searchable list of mob ids, exactly like you’d fake with a bunch of scoreboard-based menus in vanilla, but here it should be smooth and instant. once the player picks a mob to morph into and confirms, set an internal flag like morphed = true and remember the chosen mob id for that player. at the moment of morph, do what you’d do with commands: first, make the player invisible with a long, hidden invisibility effect (equivalent to repeatedly running effect give @s invisibility 10 0 true in a tick function / repeating command block). next, summon a “shell” version of the chosen mob at the player’s position that will act only as the visual body, not the real one. in vanilla this would look like /summon <mob_id> ~ ~ ~ {NoAI:1b,NoGravity:1b,Silent:1b,Invulnerable:1b,Tags:["morph_shell"]}, but in the mod you must ensure that: it has no AI, does not move on its own, doesn’t take or deal normal damage, and its hitbox is ignored for gameplay (the player’s hitbox stays the real one). store a link between that shell and the player (like “this player’s shell uuid”), so there is always exactly one shell per morphed player. from that point on, every tick while the player is morphed, run code that is equivalent to a clean repeating-command-block setup in vanilla: for each morphed player, teleport their shell to exactly the player’s position, and copy the player’s rotation directly. in command terms, think: execute as <morphed player> at @s run tp <linked_shell> ~ ~ ~ to hard-sync x/y/z every tick, and then data modify entity <linked_shell> Rotation set from entity @s Rotation so yaw and pitch always match the player’s look direction perfectly. do not use “facing entity” or look-at logic: the shell should not just stare at the player, it should be the player — position and rotation are always identical, as if the mob and the player share the same transform every tick. this is the core rule for every mob morph: regardless of whether the chosen mob is a zombie, enderman, ghast, custom modded boss, etc., the visual mob must be constantly teleported onto the player and must always have its Rotation NBT cloned from the player’s Rotation, every single tick, with no smoothing, no offsets, no easing; it should feel like a perfect 1:1 mirror. any extra per-mob powers you add later (like shooting fireballs, using tridents, roaring, special abilities, etc.) should always be triggered off the player and then visually originate from the shell, but the base system is always: invisibility on the player, one shell mob per player, shell teleported to the player every tick, shell rotation copied from the player every tick, and all old attempts at partial “follow”, velocity nudges, or “facing” behavior removed and replaced by this strict transform mirroring. when the player unmorphs (for example by using the Morph Talisman again or after a timer), the mod should delete the shell entity, clear the invisibility, reset any modified abilities (like flight, if you gave it to certain mobs), and clear the internal morphed state so they are fully back to normal. Edit v2: make sure the morphed mob has no hitbox, currently they push the player and make it impossible to stop moving Edit v3: ensure that when the player is not inputting any controls and is staying still, the morphed mob also stays still Edit v4: ensure the player and the morphed mob do not interfere with each other's hitbox by: creating a /team with both the player and morphed mob, then modifying the teams rules so that collisionrule is set to never. once the player unmorphs, disband this team Edit v5: - add cool particle effect and sounds when there is a transformation - use brighter colours in the GUI text - remove ender dragon from list Edit v7: -add the iron_golem mob to the list -use solid colours for the mob names and main title in the GUI Edit v8: - remove all blur from the GUI - ensure that the entity with the entity ID "minecraft:iron_golem" is added to the list, no matter what Edit v9: remove all blur effects from the GUI, i only want clear text Edit v11: add the entity with ID "minecraft:villager" Edit v12: when the player leaves the game while the talisman is in effect and then rejoins, they are permanently invisible and the shell is stuck in place. fix this by despawning the shell and removing invisibility when a player disconnects. Edit v13: ensure that the talisman GUI only opens for the player using it, and nobody else. it currently opens the GUI server-wide when one person uses it. Edit v14: add a "baby" toggle to the GUI. when turned on, the mob selected will morph into its baby form. if the mob selected does not have a baby form, set the scale attribute to 0.5
36
Nov 25, 2025, 08:00 PM
User request: create a mod called “Universal Morph System” built around a single item called “Morph Talisman” that lets the player morph into any mob in the game (vanilla or modded) using the exact same mirroring logic you’d use in vanilla with command blocks and datapacks. when the player right-clicks the Morph Talisman, open a GUI that lists all available entities from the full dynamic entity registry (not hardcoded): think of it as a searchable list of mob ids, exactly like you’d fake with a bunch of scoreboard-based menus in vanilla, but here it should be smooth and instant. once the player picks a mob to morph into and confirms, set an internal flag like morphed = true and remember the chosen mob id for that player. at the moment of morph, do what you’d do with commands: first, make the player invisible with a long, hidden invisibility effect (equivalent to repeatedly running effect give @s invisibility 10 0 true in a tick function / repeating command block). next, summon a “shell” version of the chosen mob at the player’s position that will act only as the visual body, not the real one. in vanilla this would look like /summon <mob_id> ~ ~ ~ {NoAI:1b,NoGravity:1b,Silent:1b,Invulnerable:1b,Tags:["morph_shell"]}, but in the mod you must ensure that: it has no AI, does not move on its own, doesn’t take or deal normal damage, and its hitbox is ignored for gameplay (the player’s hitbox stays the real one). store a link between that shell and the player (like “this player’s shell uuid”), so there is always exactly one shell per morphed player. from that point on, every tick while the player is morphed, run code that is equivalent to a clean repeating-command-block setup in vanilla: for each morphed player, teleport their shell to exactly the player’s position, and copy the player’s rotation directly. in command terms, think: execute as <morphed player> at @s run tp <linked_shell> ~ ~ ~ to hard-sync x/y/z every tick, and then data modify entity <linked_shell> Rotation set from entity @s Rotation so yaw and pitch always match the player’s look direction perfectly. do not use “facing entity” or look-at logic: the shell should not just stare at the player, it should be the player — position and rotation are always identical, as if the mob and the player share the same transform every tick. this is the core rule for every mob morph: regardless of whether the chosen mob is a zombie, enderman, ghast, custom modded boss, etc., the visual mob must be constantly teleported onto the player and must always have its Rotation NBT cloned from the player’s Rotation, every single tick, with no smoothing, no offsets, no easing; it should feel like a perfect 1:1 mirror. any extra per-mob powers you add later (like shooting fireballs, using tridents, roaring, special abilities, etc.) should always be triggered off the player and then visually originate from the shell, but the base system is always: invisibility on the player, one shell mob per player, shell teleported to the player every tick, shell rotation copied from the player every tick, and all old attempts at partial “follow”, velocity nudges, or “facing” behavior removed and replaced by this strict transform mirroring. when the player unmorphs (for example by using the Morph Talisman again or after a timer), the mod should delete the shell entity, clear the invisibility, reset any modified abilities (like flight, if you gave it to certain mobs), and clear the internal morphed state so they are fully back to normal. Edit v2: make sure the morphed mob has no hitbox, currently they push the player and make it impossible to stop moving Edit v3: ensure that when the player is not inputting any controls and is staying still, the morphed mob also stays still Edit v4: ensure the player and the morphed mob do not interfere with each other's hitbox by: creating a /team with both the player and morphed mob, then modifying the teams rules so that collisionrule is set to never. once the player unmorphs, disband this team Edit v5: - add cool particle effect and sounds when there is a transformation - use brighter colours in the GUI text - remove ender dragon from list Edit v7: -add the iron_golem mob to the list -use solid colours for the mob names and main title in the GUI Edit v8: - remove all blur from the GUI - ensure that the entity with the entity ID "minecraft:iron_golem" is added to the list, no matter what Edit v9: remove all blur effects from the GUI, i only want clear text Edit v11: add the entity with ID "minecraft:villager" Edit v12: when the player leaves the game while the talisman is in effect and then rejoins, they are permanently invisible and the shell is stuck in place. fix this by despawning the shell and removing invisibility when a player disconnects. Edit v13: ensure that the talisman GUI only opens for the player using it, and nobody else. it currently opens the GUI server-wide when one person uses it.
Click here for installation instructions
This mod is licensed under the CreativeMode Mods License.