From 1c17042835b49e089c77c257dd172f9a961b303d Mon Sep 17 00:00:00 2001 From: Esophose Date: Mon, 1 Apr 2019 19:07:02 -0600 Subject: [PATCH] 1.12- compatibility, fix sapling replant bug --- .../CurrentAdapter.java | 17 + .../LegacyAdapter.java | 18 ++ .../adapter/VersionAdapter.java | 28 ++ .../animation/TreeAnimation.java | 16 +- .../animation/TreeAnimationChaos.java | 17 - .../animation/TreeAnimationFancy.java | 2 +- .../manager/SaplingManager.java | 7 +- .../manager/TreeAnimationManager.java | 6 +- .../old_code/TreeFallAnimation.java | 298 ------------------ .../src/main/resources/config-current.yml | 2 +- .../src/main/resources/config-legacy.yml | 2 +- 11 files changed, 79 insertions(+), 334 deletions(-) delete mode 100644 UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationChaos.java delete mode 100644 UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/old_code/TreeFallAnimation.java diff --git a/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java b/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java index a2db9fd..6b65f1d 100644 --- a/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java +++ b/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java @@ -97,6 +97,23 @@ public class CurrentAdapter implements VersionAdapter { player.getInventory().setItemInMainHand(null); } + @Override + public FallingBlock spawnFallingBlock(Location location, Block block) { + return location.getWorld().spawnFallingBlock(location, block.getBlockData()); + } + + @Override + public void configureFallingBlock(FallingBlock fallingBlock) { + this.toggleGravityFallingBlock(fallingBlock, false); + fallingBlock.setDropItem(false); + fallingBlock.setHurtEntities(false); + } + + @Override + public void toggleGravityFallingBlock(FallingBlock fallingBlock, boolean applyGravity) { + fallingBlock.setGravity(applyGravity); + } + @Override public void playFallingParticles(TreeDefinition treeDefinition, ITreeBlock treeBlock) { BlockData blockData; diff --git a/UltimateTimber-Adapter/Legacy/src/main/java/com.songoda.ultimatetimber.adapter.legacy/LegacyAdapter.java b/UltimateTimber-Adapter/Legacy/src/main/java/com.songoda.ultimatetimber.adapter.legacy/LegacyAdapter.java index 363fb54..ee30cb1 100644 --- a/UltimateTimber-Adapter/Legacy/src/main/java/com.songoda.ultimatetimber.adapter.legacy/LegacyAdapter.java +++ b/UltimateTimber-Adapter/Legacy/src/main/java/com.songoda.ultimatetimber.adapter.legacy/LegacyAdapter.java @@ -139,6 +139,24 @@ public class LegacyAdapter implements VersionAdapter { player.setItemInHand(null); } + @Override + public FallingBlock spawnFallingBlock(Location location, Block block) { + return location.getWorld().spawnFallingBlock(location, block.getType(), block.getData()); + } + + @Override + public void configureFallingBlock(FallingBlock fallingBlock) { + this.toggleGravityFallingBlock(fallingBlock, false); + fallingBlock.setDropItem(false); + fallingBlock.setHurtEntities(false); + } + + @Override + public void toggleGravityFallingBlock(FallingBlock fallingBlock, boolean applyGravity) { + if (NMSUtil.getVersionNumber() > 9) + fallingBlock.setGravity(applyGravity); + } + @Override public void playFallingParticles(TreeDefinition treeDefinition, ITreeBlock treeBlock) { Collection blockDrops = this.getBlockDrops(treeDefinition, treeBlock); diff --git a/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/adapter/VersionAdapter.java b/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/adapter/VersionAdapter.java index 265865c..c697509 100644 --- a/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/adapter/VersionAdapter.java +++ b/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/adapter/VersionAdapter.java @@ -2,8 +2,12 @@ package com.songoda.ultimatetimber.adapter; import com.songoda.ultimatetimber.tree.ITreeBlock; import com.songoda.ultimatetimber.tree.TreeDefinition; +import org.bukkit.Location; +import org.bukkit.block.Block; +import org.bukkit.entity.FallingBlock; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +import org.bukkit.util.Vector; import java.util.Collection; @@ -73,6 +77,30 @@ public interface VersionAdapter { */ void removeItemInHand(Player player); + /** + * Spawns a falling block at the given location with the given block data + * + * @param location The location to spawn at + * @param block The block to use block data + * @return A newly spawned FallingBlock entity + */ + FallingBlock spawnFallingBlock(Location location, Block block); + + /** + * Configures a falling block for animating + * + * @param fallingBlock The falling block to configure + */ + void configureFallingBlock(FallingBlock fallingBlock); + + /** + * Enables/Disables gravity for a falling block + * + * @param fallingBlock The falling block to apply gravity settings to + * @param applyGravity Whether or not to apply the gravity + */ + void toggleGravityFallingBlock(FallingBlock fallingBlock, boolean applyGravity); + /** * Plays particles to indicate a tree block has started falling * diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimation.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimation.java index 48c462c..5494384 100644 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimation.java +++ b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimation.java @@ -1,6 +1,7 @@ package com.songoda.ultimatetimber.animation; import com.songoda.ultimatetimber.UltimateTimber; +import com.songoda.ultimatetimber.adapter.VersionAdapter; import com.songoda.ultimatetimber.tree.DetectedTree; import com.songoda.ultimatetimber.tree.FallingTreeBlock; import com.songoda.ultimatetimber.tree.ITreeBlock; @@ -94,18 +95,17 @@ public abstract class TreeAnimation { * @return A FallingTreeBlock that has been converted from a TreeBlock */ protected FallingTreeBlock convertToFallingBlock(TreeBlock treeBlock) { + VersionAdapter versionAdapter = UltimateTimber.getInstance().getVersionAdapter(); Location location = treeBlock.getLocation().clone().add(0.5, 0, 0.5); - World world = location.getWorld(); Block block = treeBlock.getBlock(); - if (block.getType().equals(Material.AIR)) + if (block.getType().equals(Material.AIR)) { + this.replaceBlock(treeBlock); return null; + } - FallingBlock fallingBlock = world.spawnFallingBlock(location, block.getBlockData()); - - fallingBlock.setGravity(false); - fallingBlock.setDropItem(false); - fallingBlock.setHurtEntities(false); + FallingBlock fallingBlock = versionAdapter.spawnFallingBlock(location, block); + UltimateTimber.getInstance().getVersionAdapter().configureFallingBlock(fallingBlock); FallingTreeBlock fallingTreeBlock = new FallingTreeBlock(fallingBlock, treeBlock.getTreeBlockType()); this.replaceBlock(treeBlock); @@ -129,7 +129,7 @@ public abstract class TreeAnimation { */ public void removeFallingBlock(FallingBlock fallingBlock) { for (ITreeBlock fallingTreeBlock : this.fallingTreeBlocks.getAllTreeBlocks()) { - if (fallingTreeBlock.equals(fallingBlock)) { + if (fallingTreeBlock.getBlock().equals(fallingBlock)) { this.fallingTreeBlocks.remove(fallingTreeBlock); return; } diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationChaos.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationChaos.java deleted file mode 100644 index d3f6314..0000000 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationChaos.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.songoda.ultimatetimber.animation; - -import com.songoda.ultimatetimber.tree.DetectedTree; -import org.bukkit.entity.Player; - -public class TreeAnimationChaos extends TreeAnimation { - - public TreeAnimationChaos(DetectedTree detectedTree, Player player) { - super(TreeAnimationType.CHAOS, detectedTree, player); - } - - @Override - public void playAnimation(Runnable whenFinished) { - - } - -} diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationFancy.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationFancy.java index 197ae6e..5cb6430 100644 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationFancy.java +++ b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/animation/TreeAnimationFancy.java @@ -62,7 +62,7 @@ public class TreeAnimationFancy extends TreeAnimation { if (this.timer == 0) { for (ITreeBlock fallingTreeBlock : TreeAnimationFancy.this.fallingTreeBlocks.getAllTreeBlocks()) { FallingBlock fallingBlock = fallingTreeBlock.getBlock(); - fallingBlock.setGravity(true); + versionAdapter.toggleGravityFallingBlock(fallingBlock, true); fallingBlock.setVelocity(fallingBlock.getVelocity().multiply(1.5)); } } diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/SaplingManager.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/SaplingManager.java index 63f2d03..1c9eb19 100644 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/SaplingManager.java +++ b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/SaplingManager.java @@ -47,6 +47,10 @@ public class SaplingManager extends Manager { if (!ConfigurationManager.Setting.REPLANT_SAPLINGS.getBoolean()) return; + Block block = treeBlock.getLocation().getBlock(); + if (!block.getType().equals(Material.AIR) || treeBlock.getTreeBlockType().equals(TreeBlockType.LEAF)) + return; + Bukkit.getScheduler().scheduleSyncDelayedTask(this.ultimateTimber, () -> this.internalReplant(treeDefinition, treeBlock), 1L); } @@ -78,9 +82,6 @@ public class SaplingManager extends Manager { TreeDefinitionManager treeDefinitionManager = this.ultimateTimber.getTreeDefinitionManager(); Block block = treeBlock.getLocation().getBlock(); - if (!block.getType().equals(Material.AIR) || !treeBlock.getTreeBlockType().equals(TreeBlockType.LOG)) - return; - Block blockBelow = block.getRelative(BlockFace.DOWN); boolean isValidSoil = false; for (IBlockData soilBlockData : treeDefinitionManager.getPlantableSoilBlockData(treeDefinition)) { diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeAnimationManager.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeAnimationManager.java index 3c6adc4..deeb8dc 100644 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeAnimationManager.java +++ b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeAnimationManager.java @@ -3,7 +3,6 @@ package com.songoda.ultimatetimber.manager; import com.songoda.ultimatetimber.UltimateTimber; import com.songoda.ultimatetimber.adapter.VersionAdapter; import com.songoda.ultimatetimber.animation.TreeAnimation; -import com.songoda.ultimatetimber.animation.TreeAnimationChaos; import com.songoda.ultimatetimber.animation.TreeAnimationDisintegrate; import com.songoda.ultimatetimber.animation.TreeAnimationFancy; import com.songoda.ultimatetimber.animation.TreeAnimationNone; @@ -80,9 +79,6 @@ public class TreeAnimationManager extends Manager implements Listener, Runnable case "DISINTEGRATE": this.registerTreeAnimation(new TreeAnimationDisintegrate(detectedTree, player)); break; - case "CHAOS": - this.registerTreeAnimation(new TreeAnimationChaos(detectedTree, player)); - break; case "NONE": this.registerTreeAnimation(new TreeAnimationNone(detectedTree, player)); break; @@ -172,7 +168,7 @@ public class TreeAnimationManager extends Manager implements Listener, Runnable int damage = ConfigurationManager.Setting.FALLING_BLOCK_DAMAGE.getInt(); for (Entity entity : fallingBlock.getNearbyEntities(0.5, 0.5, 0.5)) { if (!(entity instanceof LivingEntity)) continue; - ((LivingEntity)entity).damage(damage); + ((LivingEntity)entity).damage(damage, fallingBlock); } } diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/old_code/TreeFallAnimation.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/old_code/TreeFallAnimation.java deleted file mode 100644 index 81a785f..0000000 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/old_code/TreeFallAnimation.java +++ /dev/null @@ -1,298 +0,0 @@ -//package com.songoda.ultimatetimber.old_code; -// -//import com.songoda.ultimatetimber.UltimateTimber; -//import org.bukkit.Bukkit; -//import org.bukkit.Material; -//import org.bukkit.Particle; -//import org.bukkit.block.Block; -//import org.bukkit.configuration.file.FileConfiguration; -//import org.bukkit.enchantments.Enchantment; -//import org.bukkit.entity.FallingBlock; -//import org.bukkit.entity.Player; -//import org.bukkit.event.EventHandler; -//import org.bukkit.event.Listener; -//import org.bukkit.event.entity.EntityChangeBlockEvent; -//import org.bukkit.scheduler.BukkitRunnable; -//import org.bukkit.util.Vector; -// -//import java.util.ArrayList; -//import java.util.HashSet; -//import java.util.Random; -//import java.util.Set; -// -//public class TreeFallAnimation implements Listener, Runnable { -// -// /* -// Register all instances of falling trees. -// */ -// private static ArrayList treeFallAnimationInstances = new ArrayList<>(); -// private static Random random = new Random(); -// /* -// This field gets updated based on player permissions, doubles loot from trees -// */ -// private boolean hasBonusLoot; -// /* -// If a player's tool has the silk touch enchantment, it changes the loot table -// */ -// private boolean hasSilkTouch; -// /* -// This field stores every falling block in this instance of the animation -// This list is also used to identify if a falling block is a part of an animation -// */ -// private ArrayList fallingBlocks = new ArrayList<>(); -// -// /* -// The ID of the task that manages the falling block detection -// */ -// private int fallingBlockTaskId; -// -// private boolean hasBonusLoot() { -// return this.hasBonusLoot; -// } -// -// private void setHasBonusLoot(boolean bool) { -// this.hasBonusLoot = bool; -// } -// -// private boolean hasSilkTouch() { -// return this.hasSilkTouch; -// } -// -// private void setHasSilkTouch(boolean bool) { -// this.hasSilkTouch = bool; -// } -// -// private boolean isFallingTreeBlock(FallingBlock fallingBlock) { -// return this.fallingBlocks.contains(fallingBlock); -// } -// -// private void registerFallingBlock(FallingBlock fallingBlock) { -// this.fallingBlocks.add(fallingBlock); -// } -// -// private void unregisterFallingBlock(FallingBlock fallingBlock) { -// this.fallingBlocks.remove(fallingBlock); -// } -// -// private ArrayList getAllFallingBlocks() { -// return this.fallingBlocks; -// } -// -// private boolean isInTreeFallInstance(FallingBlock fallingBlock) { -// for (TreeFallAnimation treeFallAnimation : treeFallAnimationInstances) -// if (treeFallAnimation.isFallingTreeBlock(fallingBlock)) -// return true; -// return false; -// } -// -// private TreeFallAnimation getTreeFallAnimation(FallingBlock fallingBlock) { -// for (TreeFallAnimation treeFallAnimation : treeFallAnimationInstances) -// if (treeFallAnimation.isFallingTreeBlock(fallingBlock)) -// return treeFallAnimation; -// return null; -// } -// -// private void registerTreeFallInstance() { -// treeFallAnimationInstances.add(this); -// } -// -// private void unregisterTreeFallAnimation() { -// if (this.fallingBlocks.isEmpty()) { -// treeFallAnimationInstances.remove(this); -// Bukkit.getScheduler().cancelTask(this.fallingBlockTaskId); -// } -// } -// -// /* -// This is used to detect after the falling tree blocks have hit the ground -// Using the event was too unreliable since multiple entities could hit the ground at the same time -// */ -// @Override -// public void run() { -// Set groundedBlocks = new HashSet<>(); -// for (FallingBlock fallingBlock : this.fallingBlocks) -// if (fallingBlock.isDead()) -// groundedBlocks.add(fallingBlock); -// for (FallingBlock fallingBlock : groundedBlocks) -// runFallingBlockImpact(fallingBlock); -// } -// -// /* -// This animation has multiple phases. -// Initially, the tree will start slowly toppling over. -// After a short while, it goes over the tipping point and the fall accelerates. -// */ -// void startAnimation(Block originalBlock, HashSet blocks, Player player) { -// /* -// This vector makes sure that the entire tree falls in the same direction from the same reference point -// */ -// Vector velocityVector = originalBlock.getLocation().clone().subtract(player.getLocation().clone()).toVector().normalize().setY(0); -// -// registerTreeFallInstance(); -// setHasBonusLoot(player.hasPermission("ultimatetimber.bonusloot")); -// -// /* -// Register private properties -// */ -// if (player.getInventory().getItemInMainHand().getType().equals(Material.DIAMOND_AXE) || -// player.getInventory().getItemInMainHand().getType().equals(Material.GOLDEN_AXE) || -// player.getInventory().getItemInMainHand().getType().equals(Material.IRON_AXE) || -// 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); -// else -// setHasSilkTouch(false); -// else -// setHasSilkTouch(false); -// -// for (Block block : blocks) { -// -// /* -// Dropping air causes some issues -// */ -// if (block.getType().equals(Material.AIR)) continue; -// -// FallingBlock fallingBlock = block.getWorld().spawnFallingBlock(block.getLocation().clone().add(0.5, 0, 0.5), block.getBlockData()); -// fallingBlock.setDropItem(false); -// registerFallingBlock(fallingBlock); -// -// /* -// Remove original block -// */ -// TreeReplant.replaceOriginalBlock(block); -// -// /* -// Set tipping over effect -// The horizontal velocity going away from the player increases as the Y moves away from the player -// */ -// double multiplier = (block.getLocation().getY() - player.getLocation().getY()) * 0.1; -// -// startPhaseOneAnimation(fallingBlock, velocityVector, multiplier); -// -// } -// -// /* -// Kick off a task for detecting when the falling blocks have hit the ground -// */ -// this.fallingBlockTaskId = Bukkit.getScheduler().scheduleSyncRepeatingTask(UltimateTimber.getInstance(), this, 0, 1); -// -// } -// -// /* -// Phase one of the animation, the tree starts slowly tipping over -// */ -// private void startPhaseOneAnimation(FallingBlock fallingBlock, Vector velocityVector, double multiplier) { -// -// /* -// Vertical offset so top of the tree sways faster than the base -// */ -// fallingBlock.setVelocity(velocityVector.clone().multiply(multiplier)); -// /* -// No gravity helps with the initial surrounding block detection (somehow) and with the initial trunk rigidity aspect -// required for the effect to look convincing -// */ -// fallingBlock.setGravity(false); -// -// fallingBlock.setVelocity(fallingBlock.getVelocity().multiply(0.2)); -// -// new BukkitRunnable() { -// @Override -// public void run() { -// -// fallingBlock.setGravity(true); -// -// /* -// Phase 2 has to be launched from here as to not override effects -// */ -// runPhaseTwoAnimation(fallingBlock); -// -// } -// }.runTaskLater(UltimateTimber.getInstance(), 20); -// -// } -// -// /* -// Phase two of the animation, the tree picks up speed until it is on the ground -// For safety's sake, it disintegrates after a 4 seconds -// */ -// private void runPhaseTwoAnimation(FallingBlock fallingBlock) { -// UltimateTimber plugin = UltimateTimber.getInstance(); -// new BukkitRunnable() { -// int counter = 0; -// -// @Override -// public void run() { -// -// if (!fallingBlock.isValid()) { -// cancel(); -// return; -// } -// -// /* -// Safeguard to prevent errors that come from glitchy Minecraft behavior -// */ -// if (counter > 20 * 3) { -// runFallingBlockImpact(fallingBlock); -// cancel(); -// } -// -// if (counter < 10) -// fallingBlock.setVelocity(fallingBlock.getVelocity().multiply(1.3)); -// -// counter++; -// } -// }.runTaskTimer(plugin, 0, 1); -// -// } -// -// /* -// Catch tree blocks falling down and prevent them from interacting with the ground -// */ -// @EventHandler -// public void blockDrop(EntityChangeBlockEvent event) { -// if (!(event.getEntity() instanceof FallingBlock)) return; -// FallingBlock fallingBlock = (FallingBlock) event.getEntity(); -// if (!isInTreeFallInstance(fallingBlock)) return; -// -// if (UltimateTimber.getInstance().getConfig().getBoolean(DefaultConfig.SCATTER_FALLEN_BLOCKS)) { -// boolean isLeaf = fallingBlock.getBlockData().getMaterial().name().endsWith("LEAVES"); -// if (!isLeaf || (isLeaf && random.nextDouble() > 0.5)) { // Only let about half the leafs turn back into blocks -// getTreeFallAnimation(fallingBlock).unregisterFallingBlock(fallingBlock); -// return; -// } -// } -// -// event.setCancelled(true); -// } -// -// private void runFallingBlockImpact(FallingBlock fallingBlock) { -// -// TreeFallAnimation treeFallAnimation = getTreeFallAnimation(fallingBlock); -// treeFallAnimation.unregisterFallingBlock(fallingBlock); -// if (treeFallAnimation.getAllFallingBlocks().isEmpty()) -// unregisterTreeFallAnimation(); -// -// FileConfiguration fileConfiguration = UltimateTimber.getInstance().getConfig(); -// -// /* -// Run block fall aftermath -// */ -// TreeLoot.dropTreeLoot(fallingBlock.getBlockData(), fallingBlock.getLocation(), treeFallAnimation.hasBonusLoot(), treeFallAnimation.hasSilkTouch()); -// if (UltimateTimber.getInstance().getConfig().getBoolean(DefaultConfig.REPLANT_FROM_LEAVES)) -// TreeReplant.leafFallReplant(fallingBlock); -// if (fileConfiguration.getBoolean(DefaultConfig.DAMAGE_PLAYERS)) -// TreeEntityDamage.runDamage(fallingBlock); -// if (fileConfiguration.getBoolean(DefaultConfig.CUSTOM_AUDIO)) -// TreeSounds.fallNoise(fallingBlock); -// -// fallingBlock.getLocation().getWorld().spawnParticle(Particle.SMOKE_LARGE, fallingBlock.getLocation(), 3, 0.2, 0.2, 0.2, 0.05); -// -// /* -// Make sure the falling block gets culled -// */ -// fallingBlock.remove(); -// -// } -// -//} diff --git a/UltimateTimber/Plugin/src/main/resources/config-current.yml b/UltimateTimber/Plugin/src/main/resources/config-current.yml index f65ce5d..ae61a76 100644 --- a/UltimateTimber/Plugin/src/main/resources/config-current.yml +++ b/UltimateTimber/Plugin/src/main/resources/config-current.yml @@ -113,7 +113,7 @@ use-custom-particles: true bonus-loot-multiplier: 2 # The type of animation to use for tree toppling -# Types: FANCY, DISINTEGRATE, CHAOS, NONE +# Types: FANCY, DISINTEGRATE, NONE tree-animation-type: FANCY # If the tree-animation-type is FANCY, make the blocks stick to the ground diff --git a/UltimateTimber/Plugin/src/main/resources/config-legacy.yml b/UltimateTimber/Plugin/src/main/resources/config-legacy.yml index 5df90af..e3f6849 100644 --- a/UltimateTimber/Plugin/src/main/resources/config-legacy.yml +++ b/UltimateTimber/Plugin/src/main/resources/config-legacy.yml @@ -114,7 +114,7 @@ use-custom-particles: true bonus-loot-multiplier: 2 # The type of animation to use for tree toppling -# Types: FANCY, DISINTEGRATE, CHAOS, NONE +# Types: FANCY, DISINTEGRATE, NONE tree-animation-type: FANCY # If the tree-animation-type uses falling block entities, make the falling blocks stick to the ground