diff --git a/src/main/java/com/songoda/ultimatetimber/UltimateTimber.java b/src/main/java/com/songoda/ultimatetimber/UltimateTimber.java index af8fb82..e47436b 100644 --- a/src/main/java/com/songoda/ultimatetimber/UltimateTimber.java +++ b/src/main/java/com/songoda/ultimatetimber/UltimateTimber.java @@ -7,6 +7,7 @@ import com.songoda.ultimatetimber.treefall.TreeFallAnimation; import com.songoda.ultimatetimber.treefall.TreeFallEvent; import com.songoda.ultimatetimber.utils.Methods; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; @@ -31,7 +32,11 @@ public class UltimateTimber extends JavaPlugin { @Override public void onEnable() { + + if (!checkVersion()) return; + INSTANCE = this; + console.sendMessage(Methods.formatText("&a=============================")); console.sendMessage(Methods.formatText("&7" + this.getDescription().getName() + " " + this.getDescription().getVersion() + " by &5Brianna <3&7!")); console.sendMessage(Methods.formatText("&7Action: &aEnabling&7...")); @@ -82,4 +87,20 @@ public class UltimateTimber extends JavaPlugin { public String getPrefix() { return prefix; } + private boolean checkVersion() { + int workingVersion = 13; + int currentVersion = Integer.parseInt(Bukkit.getServer().getClass() + .getPackage().getName().split("\\.")[3].split("_")[1]); + + if (currentVersion < workingVersion) { + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> { + Bukkit.getConsoleSender().sendMessage(""); + Bukkit.getConsoleSender().sendMessage(String.format("%sYou installed the 1.%s only version of %s on a 1.%s server. Since you are on the wrong version we disabled the plugin for you. Please install correct version to continue using %s.", ChatColor.RED, workingVersion, this.getDescription().getName(), currentVersion, this.getDescription().getName())); + Bukkit.getConsoleSender().sendMessage(""); + }, 20L); + return false; + } + return true; + } + } diff --git a/src/main/java/com/songoda/ultimatetimber/treefall/NoAnimationTreeDestroyer.java b/src/main/java/com/songoda/ultimatetimber/treefall/NoAnimationTreeDestroyer.java index c4315b6..74213e1 100644 --- a/src/main/java/com/songoda/ultimatetimber/treefall/NoAnimationTreeDestroyer.java +++ b/src/main/java/com/songoda/ultimatetimber/treefall/NoAnimationTreeDestroyer.java @@ -17,7 +17,7 @@ public class NoAnimationTreeDestroyer { /* Only ever triggers when people have tree falling animations off in the config */ - public static void destroyTree(HashSet blocks, boolean hasBonusLoot, boolean hasSilkTouch, Block minedLog) { + public static void destroyTree(HashSet blocks, boolean hasBonusLoot, boolean hasSilkTouch) { Material leavesType = null; @@ -27,17 +27,10 @@ public class NoAnimationTreeDestroyer { } else if(!blocks.stream().filter(b -> b.getType() == Material.RED_MUSHROOM_BLOCK).collect(Collectors.toList()).isEmpty()){ leavesType = Material.RED_MUSHROOM_BLOCK; - } else { } for (Block block : blocks) { - if(leavesType != null){ - TreeReplant.replaceOriginalBlock(block, leavesType); - } else{ - TreeReplant.replaceOriginalBlock(block); - } - Material material = LeafToSaplingConverter.convertLeaves(block.getType()); if (material.equals(Material.AIR)) continue; @@ -45,15 +38,6 @@ public class NoAnimationTreeDestroyer { ItemStack toDrop = getItem(material); - if (hasSilkTouch) { - if (hasBonusLoot) - block.getWorld().dropItem(block.getLocation(), toDrop.clone()); - block.getWorld().dropItem(block.getLocation(), toDrop.clone()); - CustomLoot.doCustomItemDrop(block.getLocation()); - block.setType(Material.AIR); - continue; - } - if (material.equals(Material.ACACIA_SAPLING) || material.equals(Material.BIRCH_SAPLING) || material.equals(Material.DARK_OAK_SAPLING) || @@ -77,6 +61,15 @@ public class NoAnimationTreeDestroyer { } + if (hasSilkTouch) { + if (hasBonusLoot) + block.getWorld().dropItem(block.getLocation(), toDrop.clone()); + block.getWorld().dropItem(block.getLocation(), toDrop.clone()); + CustomLoot.doCustomItemDrop(block.getLocation()); + block.setType(Material.AIR); + continue; + } + if (hasBonusLoot) block.getWorld().dropItem(block.getLocation(), toDrop.clone()); block.getWorld().dropItem(block.getLocation(), toDrop.clone()); @@ -85,38 +78,14 @@ public class NoAnimationTreeDestroyer { block.setType(Material.AIR); CustomLoot.doCustomItemDrop(block.getLocation()); - } - - - } - - static Block getMainLog(Location loc){ - - int maxHeight = 7; - - Location clonedLocation = loc.getBlock().getLocation(); - Block toReturn = null; - - Location check1 = clonedLocation.clone(); - - if(check1.add(0,-1,0).getBlock().getType() != loc.getBlock().getType()){ - return clonedLocation.getBlock(); - } - - for(int i = 0; i < maxHeight;i++){ - - if(clonedLocation.add(0,-1,0).getBlock().getType() == loc.getBlock().getType()){ - - Location secondClone = clonedLocation.clone(); - - if(secondClone.add(0,-1,0).getBlock().getType() != loc.getBlock().getType()){ - toReturn = clonedLocation.getBlock(); - } - + if(leavesType != null){ + TreeReplant.replaceOriginalBlock(block, leavesType); + } else{ + TreeReplant.replaceOriginalBlock(block); } } - return toReturn; + } diff --git a/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallEvent.java b/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallEvent.java index 75db0ad..4c5201a 100644 --- a/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallEvent.java +++ b/src/main/java/com/songoda/ultimatetimber/treefall/TreeFallEvent.java @@ -53,7 +53,7 @@ public class TreeFallEvent implements Listener { treeFallAnimation.startAnimation(event.getBlock(), blocks, event.getPlayer()); } else { NoAnimationTreeDestroyer.destroyTree(blocks, event.getPlayer().hasPermission("ultimatetimber.bonusloot"), - event.getPlayer().getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH), event.getBlock()); + event.getPlayer().getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH)); } }