Posted February 4, 201510 yr Hello folks, i need disable tree growth for some saplings. I tried to do it using SaplingGrowTreeEvent but encountered with 2 problems. First: it's doesn't called and i can't catch it with event handler (When i grow tree my event method doesn't called), second: i can't get type of tree from this event. All code below. [spoiler=My event] @SubscribeEvent public void onTreeGrow(SaplingGrowTreeEvent e) { Core.instance.logger.log(Level.INFO, "Sapling event fired"); if(e.world.getBiomeGenForCoords(e.x, e.z) == BiomeGenBase.taiga)//Here i need to add conditional if type of tree not equals spruce { e.setResult(Result.DENY); } } [spoiler=Event handler registration] public EventHandler events = new EventHandler(); MinecraftForge.EVENT_BUS.register(this.events); FMLCommonHandler.instance().bus().register(this.events);
February 4, 201510 yr Read the Javadoc of the event, it clearly states that: This event is fired on the MinecraftForge#TERRAIN_GEN_BUS so register it there. To get the sapling type? Just get the block instance from the coords and if it's a sapling, check through its metadata which type it is. Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! | mah twitter This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.
February 4, 201510 yr Wow, didn't know that there different kinds of buses, thanks! Do not worry; it will always tell you which bus to use, in the Javadoc. Maker of the Craft++ mod.
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.