diff --git a/plugin/src/main/java/com/alttd/cometskyblock/island/oregenerator/GeneratorHandler.java b/plugin/src/main/java/com/alttd/cometskyblock/island/oregenerator/GeneratorHandler.java index 0a514f0..4969de8 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/island/oregenerator/GeneratorHandler.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/island/oregenerator/GeneratorHandler.java @@ -26,19 +26,14 @@ public class GeneratorHandler { return generatorLevels.getInt(tier); } - public Material generateOre(Island island, boolean cobblestone, int depth) { - boolean deepslate = depth <= 16 && cobblestone; - Material ore = rollGenerator(island, cobblestone); - return deepslate ? deepslateVariant(ore) : ore; - } - public Material generateOre(Island island, Material material) { boolean deepslate = material == Material.DEEPSLATE; - Material ore = rollGenerator(island, material == Material.STONE || material == Material.COBBLESTONE || deepslate); + Material ore = rollGenerator(island, material); return deepslate ? deepslateVariant(ore) : ore; } - private Material rollGenerator(Island island, boolean cobblestone) { + private Material rollGenerator(Island island, Material material) { + boolean cobblestone = material == Material.STONE || material == Material.COBBLESTONE || material == Material.DEEPSLATE; double random = Math.random() * 100; double checkedChance = 0; @@ -58,12 +53,15 @@ public class GeneratorHandler { } } - return cobblestone ? Material.COBBLESTONE : Material.BASALT; + return material; } public Material deepslateVariant(Material material) { switch (material) { case COBBLESTONE -> { + return Material.COBBLED_DEEPSLATE; + } + case STONE -> { return Material.DEEPSLATE; } case COAL_ORE -> { diff --git a/plugin/src/main/java/com/alttd/cometskyblock/listeners/cobblestoneGeneratorListener.java b/plugin/src/main/java/com/alttd/cometskyblock/listeners/cobblestoneGeneratorListener.java index 1144924..8170b54 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/listeners/cobblestoneGeneratorListener.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/listeners/cobblestoneGeneratorListener.java @@ -27,7 +27,7 @@ public class cobblestoneGeneratorListener extends EventListener { @EventHandler(ignoreCancelled = true) public void onBockForm(BlockFormEvent blockFormEvent) { Block block = blockFormEvent.getBlock(); - if (block.getType() == Material.OBSIDIAN) + if (!isFromGenerator(blockFormEvent.getNewState().getType())) return; Island island = Island.getIsland(block.getWorld().getUID()); @@ -46,7 +46,7 @@ public class cobblestoneGeneratorListener extends EventListener { if(!block.hasMetadata(GENERATOR_METADATA_KEY)) return; - if (block.getType() == Material.OBSIDIAN) + if (!isFromGenerator(block.getType())) return; Island island = Island.getIsland(block.getWorld().getUID()); @@ -70,22 +70,29 @@ public class cobblestoneGeneratorListener extends EventListener { } } - @EventHandler(ignoreCancelled = true) - public void onBlockPistonExtend(BlockPistonExtendEvent event) { - cleanPistonBlocks(event.getBlocks()); - } +// @EventHandler(ignoreCancelled = true) +// public void onBlockPistonExtend(BlockPistonExtendEvent event) { +// cleanPistonBlocks(event.getBlocks()); +// } +// +// @EventHandler(ignoreCancelled = true) +// public void onBlockPistonRetract(BlockPistonRetractEvent event) { +// cleanPistonBlocks(event.getBlocks()); +// } +// +// private void cleanPistonBlocks(List blocks) { +// for (Block block : blocks) { +// if(block.hasMetadata(GENERATOR_METADATA_KEY)) { +// block.removeMetadata(GENERATOR_METADATA_KEY, plugin); +// } +// } +// } - @EventHandler(ignoreCancelled = true) - public void onBlockPistonRetract(BlockPistonRetractEvent event) { - cleanPistonBlocks(event.getBlocks()); - } - - private void cleanPistonBlocks(List blocks) { - for (Block block : blocks) { - if(block.hasMetadata(GENERATOR_METADATA_KEY)) { - block.removeMetadata(GENERATOR_METADATA_KEY, plugin); - } - } + private boolean isFromGenerator(Material material) { + return switch (material) { + case STONE, COBBLESTONE, DEEPSLATE, BASALT -> true; + default -> false; + }; } public class CometMeta extends FixedMetadataValue {