From d8285bc9a7063c1c6f9445c3ae4d1749e7c549fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB?= Date: Tue, 12 Jul 2022 13:04:07 -0700 Subject: [PATCH] make bukkit growing better --- .../dfsek/terra/bukkit/TerraBukkitPlugin.java | 2 -- .../bukkit/nms/v1_19_R1/NMSInjectListener.java | 17 ++++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java index b3d8c1d36..320102b9c 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java @@ -37,7 +37,6 @@ import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent; import com.dfsek.terra.api.event.events.platform.PlatformInitializationEvent; import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper; -import com.dfsek.terra.bukkit.listeners.CommonListener; import com.dfsek.terra.bukkit.nms.Initializer; import com.dfsek.terra.bukkit.util.PaperUtil; import com.dfsek.terra.bukkit.util.VersionUtil; @@ -91,7 +90,6 @@ public class TerraBukkitPlugin extends JavaPlugin { return; } - Bukkit.getPluginManager().registerEvents(new CommonListener(), this); // Register master event listener PaperUtil.checkPaper(this); } diff --git a/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/NMSInjectListener.java b/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/NMSInjectListener.java index f22430a84..1c8bf5170 100644 --- a/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/NMSInjectListener.java +++ b/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/NMSInjectListener.java @@ -9,6 +9,8 @@ import org.bukkit.craftbukkit.v1_19_R1.CraftWorld; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockEvent; +import org.bukkit.event.block.BlockFertilizeEvent; import org.bukkit.event.block.BlockGrowEvent; import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.WorldInitEvent; @@ -61,17 +63,18 @@ public class NMSInjectListener implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void onBlockGrow(BlockGrowEvent event) { - Block block = event.getBlock(); - Vector3Int pos = Vector3Int.of(block.getX(), block.getY(), block.getZ()); - ServerWorld world = BukkitAdapter.adapt(block.getWorld()); - event.setCancelled(FertilizableUtil.grow(world, new Random(), pos, ResourceLocation.tryParse(block.getType().getKey().asString()))); + event.setCancelled(onGrow(event)); } @EventHandler(priority = EventPriority.HIGHEST) - public void onStructureGow(StructureGrowEvent event) { - Block block = event.getLocation().getBlock(); + public void onBlockFertilize(BlockFertilizeEvent event) { + event.setCancelled(onGrow(event)); + } + + public boolean onGrow(BlockEvent event) { + Block block = event.getBlock(); Vector3Int pos = Vector3Int.of(block.getX(), block.getY(), block.getZ()); ServerWorld world = BukkitAdapter.adapt(block.getWorld()); - event.setCancelled(FertilizableUtil.grow(world, new Random(), pos, ResourceLocation.tryParse(block.getType().getKey().asString()))); + return FertilizableUtil.grow(world, new Random(), pos, ResourceLocation.tryParse(block.getType().getKey().asString())); } }