Posted July 29, 20196 yr I'm trying to replace a preexisting dispenser behavior with my own, but just registering a new behavior in post init doesn't seem to override the vanilla one. Everything I've read seems to indicate that there is a way to remove behaviors, but no one ever mentions what it is.
July 29, 20196 yr Author That's what I tried, but the dispenser still behaves as normal. Specifically, I'm trying to replace the behavior of placing skulls, so that it can't be used to automatically make withers. In post init, did this: public static void postInit(FMLPostInitializationEvent event) { BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(Items.SKULL, new BehaviorDefaultDispenseItem()); } I assumed this would make it just spit the skull out, but it seems i was mistaken. Did I do something wrong here, or was my assumption incorrect?
July 29, 20196 yr Author You were right, its not being called at all. And I think I know why, I forgot the event handler annotation.
July 29, 20196 yr Author That did the trick! Thanks a lot! For anyone who has this problem in the future, here's my final code: @EventHandler public static void postInit(FMLPostInitializationEvent event) { BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(Items.SKULL, new BehaviorDefaultDispenseItem()); System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } The println is just so i see it in the log.
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.