From e349e54a03540f67e5d09a62f56e41905c54b36d Mon Sep 17 00:00:00 2001 From: MagmaGuy Date: Tue, 6 Nov 2018 22:08:46 +0000 Subject: [PATCH] Version 0.0.5 - Made the plugin compatible with mushrooms - Added a little leeway to allow for 1-2 blocks of dirt/coarse dirt/grass (in height) to be placed adjacent to the trees (covers vanilla world generation for the most part) --- pom.xml | 2 +- .../ultimatetimber/treefall/TreeChecker.java | 26 ++++++++++++++++--- .../treefall/TreeFallAnimation.java | 11 +++----- src/main/resources/plugin.yml | 2 +- target/classes/plugin.yml | 26 +++++++++++++++++++ 5 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 target/classes/plugin.yml diff --git a/pom.xml b/pom.xml index f129a16..0ba87b3 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ultimatetimber UltimateTimber - 0.0.4 + 0.0.5 UTF-8 diff --git a/src/main/java/com/songoda/ultimatetimber/treefall/TreeChecker.java b/src/main/java/com/songoda/ultimatetimber/treefall/TreeChecker.java index ff6f32d..ecb7a8f 100644 --- a/src/main/java/com/songoda/ultimatetimber/treefall/TreeChecker.java +++ b/src/main/java/com/songoda/ultimatetimber/treefall/TreeChecker.java @@ -25,7 +25,8 @@ public class TreeChecker { Material.OAK_LOG, Material.STRIPPED_OAK_LOG, Material.SPRUCE_LOG, - Material.STRIPPED_SPRUCE_LOG + Material.STRIPPED_SPRUCE_LOG, + Material.MUSHROOM_STEM )); /* @@ -38,7 +39,9 @@ public class TreeChecker { Material.JUNGLE_LEAVES, Material.OAK_LEAVES, Material.SPRUCE_LEAVES, - Material.COCOA_BEANS + Material.COCOA_BEANS, + Material.BROWN_MUSHROOM_BLOCK, + Material.RED_MUSHROOM_BLOCK )); public static ArrayList parseTree(Block block) { @@ -90,6 +93,14 @@ public class TreeChecker { !thisBlock.getType().equals(Material.RED_TULIP) && !thisBlock.getType().equals(Material.POPPY) && !thisBlock.getType().equals(Material.WHITE_TULIP) && + !thisBlock.getType().equals(Material.OXEYE_DAISY) && + !thisBlock.getType().equals(Material.AZURE_BLUET) && + !thisBlock.getType().equals(Material.BLUE_ORCHID) && + !thisBlock.getType().equals(Material.ALLIUM) && + !thisBlock.getType().equals(Material.DANDELION) && + !thisBlock.getType().equals(Material.DANDELION_YELLOW) && + !thisBlock.getType().equals(Material.LILAC) && + !thisBlock.getType().equals(Material.PEONY) && !thisBlock.getType().equals(Material.TALL_GRASS) && !thisBlock.getType().equals(Material.FERN) && !thisBlock.getType().equals(Material.LARGE_FERN) && @@ -104,13 +115,20 @@ public class TreeChecker { !thisBlock.getType().equals(Material.BIRCH_SAPLING) && !thisBlock.getType().equals(Material.DARK_OAK_SAPLING) && !thisBlock.getType().equals(Material.VOID_AIR) && - !thisBlock.getType().equals(Material.CAVE_AIR)) + !thisBlock.getType().equals(Material.CAVE_AIR) && + (!thisBlock.getType().equals(Material.DIRT) && + !thisBlock.getType().equals(Material.COARSE_DIRT) && + !thisBlock.getType().equals(Material.GRASS_BLOCK) && + (i == 0 || i == 1))) return null; if (validSurroundingMaterials.contains(thisBlock.getType())) containsSecondaryBlock = true; - if (!thisBlock.getType().equals(Material.AIR)) + if (!thisBlock.getType().equals(Material.AIR) && + !thisBlock.getType().equals(Material.DIRT) && + !thisBlock.getType().equals(Material.COARSE_DIRT) && + !thisBlock.getType().equals(Material.GRASS_BLOCK)) blocks.add(thisBlock); zOffset++; diff --git a/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallAnimation.java b/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallAnimation.java index 73ae95b..94fa6f6 100644 --- a/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallAnimation.java +++ b/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallAnimation.java @@ -2,7 +2,6 @@ package com.songoda.ultimatetimber.treefall; import com.songoda.ultimatetimber.UltimateTimber; import com.songoda.ultimatetimber.configurations.DefaultConfig; -import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Particle; import org.bukkit.block.Block; @@ -119,10 +118,7 @@ public class TreeFallAnimation implements Listener { player.getInventory().getItemInMainHand().getType().equals(Material.STONE_AXE) || player.getInventory().getItemInMainHand().getType().equals(Material.WOODEN_AXE)) if (player.getInventory().getItemInMainHand().getEnchantments().containsKey(Enchantment.SILK_TOUCH)) - { setHasSilkTouch(true); - Bukkit.getLogger().warning("test"); - } else setHasSilkTouch(false); else @@ -198,10 +194,11 @@ public class TreeFallAnimation implements Listener { UltimateTimber plugin = UltimateTimber.getInstance(); new BukkitRunnable() { int counter = 0; + @Override public void run() { - if (!fallingBlock.isValid()){ + if (!fallingBlock.isValid()) { cancel(); return; } @@ -209,7 +206,7 @@ public class TreeFallAnimation implements Listener { /* Safeguard to prevent errors that come from glitchy Minecraft behavior */ - if (counter > 20 * 3 ) { + if (counter > 20 * 3) { runFallingBlockImpact(fallingBlock); cancel(); } @@ -240,7 +237,7 @@ public class TreeFallAnimation implements Listener { } - private void runFallingBlockImpact(FallingBlock fallingBlock){ + private void runFallingBlockImpact(FallingBlock fallingBlock) { TreeFallAnimation treeFallAnimation = getTreeFallAnimation(fallingBlock); treeFallAnimation.unregisterFallingBlock(fallingBlock); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 7326cc5..99bd4e2 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: UltimateTimber -version: 0.0.4 +version: 0.0.5 author: Songoda main: com.songoda.ultimatetimber.UltimateTimber api-version: 1.13 diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..7326cc5 --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,26 @@ +name: UltimateTimber +version: 0.0.4 +author: Songoda +main: com.songoda.ultimatetimber.UltimateTimber +api-version: 1.13 +commands: + ultimatetimber: + description: Reloads the configuration file + usage: /ultimatetimber reload + aliases: [ut] +permissions: + ultimatetimber.*: + description: Inherits all plugin permissions + children: + ultimatetimber.chop: true + ultimatetimber.bonusloot: true + ultimatetimber.reload: true + ultimatetimber.chop: + description: Allows players to trigger the trees toppling down effect + default: op + ultimatetimber.bonusloot: + description: Doubles the loot obtained from trees + default: op + ultimatetimber.reload: + description: Reloads the configuration file + default: op \ No newline at end of file