Block'oMorph

Published by 151chit on
Share this on:
Downloads:
101
Upvotes: 13
Category
Project status
Alpha
License
MIT License
Project members
Developer
Modification type
Supported Minecraft versions
1.20.1

Jump to downloads

Usage:

COMMAND

/blockmorph <blockstate> (<player(s)>)

In detail:

/blockmorph modid:blockid[properties=if need be, example=true]{nbt:"for blockentity", if:"need"} player124 or @a[tag=admin]

Examples:

/blockmorph redstone_lamp[lit=true] @s

/blockmorph somemod:cool_block{working_state:" active"}

/blockmorph superorepack:energy_ruby_block[active=true]{energy:9999} @a[distance==..29]

The command works the same as the blocks argument as in /setblock and the same as the players argument as in /gamemode

GUI

The configuration GUI opens with the U button
The GUI for selecting a block opens with the Y button

 

Tired of writing complex commands when you want to morph into a block? 

Then there is a multifunctional GUI for this, it collects all the creative tabs from all mods and displays them on the side of the GUI, showing all the blocks from this tab, in the search tab you can find all the blocks registered in the game, and in the operator tab there are not only operator blocks but also all unsortable blocks, such as the portal block in the nether, petrified oak slab, etc.

block select gui

On the "My Block" tab, you can configure all block properties if the block has them:

  • A logical property can be switched by clicking
  • A numeric property changes its value when scrolling with the mouse wheel
  • For a string property, you need to select a value from the drop-down list

If the block has a block entity for rendering, then the GUI will offer to configure the ready-made nbt-tag only by changing the key values:

Conf gui

 

Always wanted a morph to block on new versions, but couldn't find a suitable mod? 

Morph mods only supported living creatures, but not falling blocks, and datapacks and plugins don't change the hitbox and so on? 

This mod will solve all these problems, and will work even better than a simple transformation into a falling block and even more so a cyclic command block with /summon falling_block, and here's why:

RENDERING BLOCK ENTITIES

Are you familiar with the problem when you wanted to turn into, for example, a sign with text, an enchantment table or even a simple chest, but nothing was displayed on the falling block? This mod will add full support for block entities with their nbt tag. 

They will work if the block entity does not check the state of blocks in the world.

block entity render 1block entity render 2block entity render 3

FULL COLLISIONS

Wanted to hide in a block-stairs so that players could walk on you or maybe an iron trap door to block the way? 

Thanks to full-fledged collisions like real blocks, you can do this.
This will work if Steve jumps on the block player and not the block player on Steve.

collisions

BLOCK BREAKING SYSTEM

With this mod you can literally break the player like a block with a pickaxe with the appearance of cracks and the original breaking time, particles and other effects.

Also, since you are a block, you have 10 "shards" with the texture of a particle of your block instead of hearts, and you cannot drown, when you resolve you will see cracks spreading across the screen. 

Now the player is not saved by creative mode and a totem, but the player can withstand, for example, fire and lava, allowed types of damage:


GENERIC_KILL (command /kill and other technical damage)
FELL_OUT_OF_WORLD (drop under bedrock)
EXPLOSION
PLAYER_DESTROYED (when you are destroyed by a tool or without it (custom damage))

reworked combat systembrake 1brake 2brake 3

other features

  1. This mod can work with other transformation mods (the morph from another mod must be disabled, that is, you must be Steve before the transformation, otherwise it will lead to unpredictable behavior) (there is no protection mechanism yet)

    other mod left

  2. Full calculation of light based on the player's blockpos prevents the player from being revealed if the client brightness or player position is set incorrectly (full light is not yet integrated and light will pass through the player block, but it will not stand out against the background of other blocks)

    Do you see the player here? He is here!

    Grass block player

  3. This mod is built on mixins, so it does not need an external api to render and work.

    No api

  4. The mod does not render shadows and hitboxes of the player and does not show it in the F3 menu when hovering over the player.
  5. And also hitResult will take into account the complex shape of VoxelShape, for example, when you hover over a player-half-block in the upper part, and the player hid with the lower half-block, then Minecraft will not show that you hovered over the player despite the fact that the player actually has a cubic hitbox 1x1x1, it will do this only when you hover over the part of the block itself.

*The preview does not show players but special debug mobs with a name tag, their functionality is cut, they do not participate in the mod in any way and were coded only for the picture, their summoning egg is in the tab with spawn eggs with a broken texture, do not summon them, they will be deleted when all the functions are debugged.

Other versions except 1.20.1 are in the GitHub repository releases:

https://github.com/151chit/BlockoMorph/releases

Modification files
blockomorph-1.0.1-forge-1.20.1.jar - Block'oMorph Mod 1.0.1Uploaded on: 09/06/2024 - 08:01   File size: 217.56 KB
Changelog

1.0.1 :

  • Added menu for selecting a block
  • Changed java package structure (does not affect mod operation)

ImSeyo, I used the "mixin" mod element from the Nerdy mixin plugin, which contains the user code, most of the "procedures" with "global triggers" are in the MorphUtils class, it's like if there were 20 initial blocks in one "procedure" mod element, it doesn't have a single procedure in the form of a mod element, if I did this on procedures, it would overload the PC resources, make the mod heavier, and for example, you can't change the player's hitbox on procedures, etc., you would need an external API, and this is not convenient, but it was still created on mcreator and its basic templates, because I didn't study java and made the user code by trial and error compilation

I never knew about the existence of mixins in my life. I read about it and was completely shocked. This is such a useful feature. Thank you for telling me about the specifics of your mod!

If you did this without using custom codes, then I will die of shock. Such complex processes clearly require custom codes. Amazing mod

Congratulations for winning Mod of the Week :)

Your mod was also promoted on our official subreddit (https://www.reddit.com/r/MCreator/) and Twitter page (https://twitter.com/PyloDEV).

This is such a cool concept, I love this!

We can finally have Prop Hunt in Minecraft.