Posted January 10, 20223 yr I recently started modding, and I've been trying to create a new type of sticky piston that is made of honey. It has the same functionality, but it has a different recipe and texture. First I just registered the block like this: public static final RegistryObject<Block> HONEY_STICKY_PISTON = BLOCKS .register("honey_sticky_piston", () -> new PistonBlock(true, AbstractBlock.Properties.from(Blocks.STICKY_PISTON))); //The boolean determines whether or not the piston is sticky. When I try to use the piston it-game, it functions perfectly. I can extend and retract it, and it sticks to blocks. However, the piston head breaks once extended. I looked through the mess of code that is the piston block, and I can't figure out how to make this work without modifying vanilla code, which I don't know how to do yet. I think the problem is that it only checks to see if it is Blocks.PISTON or Blocks.STICKY_PISTON, which doesn't allow me to make a new, fully-working piston. Is there anything I can do without having to change vanilla code? Edited January 10, 20223 yr by MWR Comment in code was not properly aligned.
January 10, 20223 yr Author 3 minutes ago, diesieben07 said: You'll need a custom PistonHeadBlock and override its validity checks. It has checks that the base fits, etc. Also update to 1.16.5. Would it be correct to create something like HoneyPistonHeadBlock, extend PistonHeadBlock, and override the relevant methods?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.