Posted November 2, 201213 yr Hi folks. I'm a relative forge newbie but done a couple of complex bukkit server plugins and am looking for some guidance from more experienced forge moders. I've had a good look through the source but can't find a handy way to intercept (and possibly cancel) what bukkit would call block break, block place and craft item events. I cobbled together some block place and break control using PlayerInteractEvent and BreakSpeed but my attempts were a little clumsy. I found lots of cool hooks for controlling this on new blocks I've created, but I'd like to be able to manage any in-game block too (without changing net.minecraft). My gut tells me most things should be possible with the level of server and client control in minecraftforge. I even thought about splitting the mod into two sections, one Forge and one Bukkit and sharing the server side data somehow. That has to be mad, right? @ForgeSubscribe public void onBreakSpeed(BreakSpeed event) { if(event.block.blockID == Block.torchWood.blockID) { if(event.isCancelable()) { event.setCanceled(true); } } } @ForgeSubscribe public void onPlayerInteract(PlayerInteractEvent event) { EntityPlayer p = event.entityPlayer; if(event.action != Action.LEFT_CLICK_BLOCK) { ItemStack s = p.inventory.getCurrentItem(); if(s.itemID == Block.torchWood.blockID) { // Difficult to get the coordinates for where the new block would have // been placed. if(event.isCancelable()) { event.setCanceled(true); } } } }
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.