Jump to content

peekachew

Members
  • Posts

    3
  • Joined

  • Last visited

    Never

About peekachew

  • Birthday 01/01/1900

peekachew's Achievements

Dirt

Dirt (1/9)

0

Reputation

  1. I'm not trying to be a jerk but, I'm going to say this SLOWLY so you understand perhaps and stop posting the same thing. 1. TEKKIT altered (broke) a small part of BUKKIT. 2. Any plugin that uses Bukkit (most of them) WILL NOT DETECT BLOCK PLACEMENT. 3. There is NO WAY the PLUGIN AUTHOR could fix this. :'( I feel your pain.
  2. The reason for this being, as I stated before, bukkit not sending BlockPlaceEvent. Unless there is a plugin that circumvents bukkits block events, and finds its own, there should be no way any plugins properly stop block placement. That means any plugin using bukkit will not receive BlockPlaceEvent, (such as here (worldguard) : https://github.com/sk89q/worldguard/blob/master/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java#L476) so the plugins cannot stop or even know that blocks are being placed. I'm not aware of any open source code for tekkit, thus I can only speculate , but this probably stems from tekkit fiddling with some part of bukkit, and forgetting/stopping BlockPlaceEvent. I would start by finding how bukkit stores the events internally, here (https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/plugin/SimplePluginManager.java#L466) , debugging by printing off all events directly from bukkits registerEventListeners, seeing if bukkit is grabbing them but not sending them, and if it isn't grabbing them checking to make sure the mc class files within tekkit have not been modified to stop bukkit from recognizing BlockPlaceEvents. I notice packet61 "World Events" has been changed somehow between tekkit and bukkit, for example. Perhaps thats just a version difference though. Tekkit certainly does have a customEventListener class, so perhaps that is the reason. Who really knows though?
  3. This specific reason why block placement isn't caught , is because Bukkits onBlockPlace isn't returning anything. Try the following for example: import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.*;; public class BlockListener implements Listener { public BlockListener(Quick plugin) { plugin.getServer().getPluginManager().registerEvents(this, plugin); } @EventHandler(priority = EventPriority.NORMAL) public void onBlockPlace(BlockPlaceEvent event) { System.out.println("Block Placed."); } @EventHandler(priority = EventPriority.NORMAL) public void onBlockBreak(BlockBreakEvent event) { System.out.println("Block Broken."); } } On a vanilla server, the console will print out both "Block Placed" and "Block Broken"; however on the Tekkit server it will just print out "Block Broken".
×
×
  • Create New...