From 705429bc1ded71e87334429dab74fea727b885ad Mon Sep 17 00:00:00 2001 From: Aztlon Date: Thu, 22 Dec 2022 14:38:01 -0500 Subject: [PATCH] 2.12.0 - Added death messages for all abilities - Made all combos configurable with configurable instructions as well - Updated MagnetShield metal list - Fixed bending board not supporting the easy hex color format - Fixed LavaFlux making permanent stone, duplicating earth block items, and destroying plants - Fixed LavaFlux not working outside of old world height bounds - Fixed Backstab not dealing "bending" damage - Fixed rainbow FireBreath message - Fixed AirBreath not extinguishing soul fire - Fixed some newer signs not being supported in sign checking - Fixed NPE in ESEarth#getLocation - Added Aztl to the JedCore dev list - Removed pointless imports - Replaced a lot of deprecated methods with the non-deprecated versions - Optimized a few minor things Big thanks to StrangeOne101 for authoring most of these changes! --- README.md | 18 ++++++++++++++++++ pom.xml | 2 +- .../ability/airbending/combo/AirSlam.java | 9 +++------ .../ability/airbending/combo/SwiftStream.java | 9 +++------ .../ability/avatar/elementsphere/ESEarth.java | 2 +- .../ability/earthbending/EarthSurf.java | 5 ++--- .../ability/earthbending/LavaDisc.java | 4 ++-- .../ability/earthbending/LavaFlux.java | 8 +++----- .../ability/earthbending/combo/Crevice.java | 10 +++------- .../earthbending/combo/MagmaBlast.java | 10 +++------- .../ability/waterbending/combo/Maelstrom.java | 9 +++------ .../ability/waterbending/combo/WaterFlow.java | 12 +++--------- .../waterbending/combo/WaterGimbal.java | 11 +++-------- .../jedcore/configuration/JedCoreConfig.java | 19 +++++++++++++++++-- 14 files changed, 65 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 07ec01a..a539b25 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,24 @@ Join our [Discord](https://discord.gg/gh9MfDmwZm) to discuss the plugin, suggest ## Changelog +### 2.12.0 +- Added death messages for all abilities +- Made all combos configurable with configurable instructions as well +- Updated MagnetShield metal list +- Fixed bending board not supporting the easy hex color format +- Fixed LavaFlux making permanent stone, duplicating earth block items, and destroying plants +- Fixed LavaFlux not working outside of old world height bounds +- Fixed Backstab not dealing "bending" damage +- Fixed rainbow FireBreath message +- Fixed AirBreath not extinguishing soul fire +- Fixed some newer signs not being supported in sign checking +- Fixed NPE in ESEarth#getLocation +- Added Aztl to the JedCore dev list +- Removed pointless imports +- Replaced a lot of deprecated methods with the non-deprecated versions +- Optimized a few minor things + + ### 2.11.0 - Updated ProjectKorra dependency to 1.10.2 - Converted to PK's TempFallingBlock class diff --git a/pom.xml b/pom.xml index be0d8a3..a343a41 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.jedk1 jedcore - 2.11.0-Spigot1.18-PK1.10.0 + 2.12.0-Spigot1.18-PK1.10.2 jar JedCore diff --git a/src/com/jedk1/jedcore/ability/airbending/combo/AirSlam.java b/src/com/jedk1/jedcore/ability/airbending/combo/AirSlam.java index 223e7a6..c9ba59f 100644 --- a/src/com/jedk1/jedcore/ability/airbending/combo/AirSlam.java +++ b/src/com/jedk1/jedcore/ability/airbending/combo/AirSlam.java @@ -8,6 +8,7 @@ import com.projectkorra.projectkorra.ability.AirAbility; import com.projectkorra.projectkorra.ability.ComboAbility; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.command.Commands; import com.projectkorra.projectkorra.object.HorizontalVelocityTracker; @@ -122,16 +123,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("AirSwipe", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("AirBlast", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("AirBlast", ClickType.SHIFT_DOWN)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Air.AirCombo.AirSlam.Combination")); } @Override public String getInstructions() { - return "AirSwipe (Hold Shift) > AirBlast (Release Shift) > AirBlast (Hold Shift)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Air.AirCombo.SwiftStream.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/airbending/combo/SwiftStream.java b/src/com/jedk1/jedcore/ability/airbending/combo/SwiftStream.java index 154fd23..f5ce42c 100644 --- a/src/com/jedk1/jedcore/ability/airbending/combo/SwiftStream.java +++ b/src/com/jedk1/jedcore/ability/airbending/combo/SwiftStream.java @@ -7,6 +7,7 @@ import com.projectkorra.projectkorra.ability.ComboAbility; import com.projectkorra.projectkorra.ability.FlightAbility; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.object.HorizontalVelocityTracker; import com.projectkorra.projectkorra.util.ClickType; @@ -138,16 +139,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("Flight", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("Flight", ClickType.LEFT_CLICK)); - combination.add(new AbilityInformation("Flight", ClickType.LEFT_CLICK)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Air.AirCombo.SwiftStream.Combination")); } @Override public String getInstructions() { - return "Flight (Start Flying) " + "> Flight (Release Shift) > Flight (Left Click) " + "> Flight (Left Click)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Air.AirCombo.SwiftStream.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/avatar/elementsphere/ESEarth.java b/src/com/jedk1/jedcore/ability/avatar/elementsphere/ESEarth.java index 29f5214..9113ecf 100644 --- a/src/com/jedk1/jedcore/ability/avatar/elementsphere/ESEarth.java +++ b/src/com/jedk1/jedcore/ability/avatar/elementsphere/ESEarth.java @@ -144,7 +144,7 @@ public long getCooldown() { @Override public Location getLocation() { - return tfb.getLocation(); + return tfb != null ? tfb.getLocation() : null; } @Override diff --git a/src/com/jedk1/jedcore/ability/earthbending/EarthSurf.java b/src/com/jedk1/jedcore/ability/earthbending/EarthSurf.java index 2a2240f..83df672 100644 --- a/src/com/jedk1/jedcore/ability/earthbending/EarthSurf.java +++ b/src/com/jedk1/jedcore/ability/earthbending/EarthSurf.java @@ -174,8 +174,7 @@ private double getMaxHeight() { private double getPlayerDistance() { Location l = player.getLocation().clone(); while (true) { - if (l.getBlock() == null) break; - if (l.getBlockY() <= 1) break; + if (l.getBlockY() <= l.getWorld().getMinHeight()) break; if (ElementalAbility.isAir(l.getBlock().getType()) && ridingBlocks.contains(l.getBlock())) break; if (GeneralMethods.isSolid(l.getBlock())) break; @@ -185,7 +184,7 @@ private double getPlayerDistance() { } private Block getBlockBeneath(Location l) { - while (l.getBlock() != null && l.getBlockY() > 1 && MaterialUtil.isTransparent(l.getBlock())) { + while (l.getBlockY() > l.getWorld().getMinHeight() && MaterialUtil.isTransparent(l.getBlock())) { l.add(0, -0.5, 0); } return l.getBlock(); diff --git a/src/com/jedk1/jedcore/ability/earthbending/LavaDisc.java b/src/com/jedk1/jedcore/ability/earthbending/LavaDisc.java index 682eb97..65cdf08 100644 --- a/src/com/jedk1/jedcore/ability/earthbending/LavaDisc.java +++ b/src/com/jedk1/jedcore/ability/earthbending/LavaDisc.java @@ -172,11 +172,11 @@ private boolean isLocationSafe() { } private boolean isLocationSafe(Location location) { - if (location == null) { + if (location == null || location.getWorld() == null) { return false; } - return location.getY() >= 2 && location.getY() <= (location.getWorld().getMaxHeight() - 1); + return location.getY() >= location.getWorld().getMinHeight() && location.getY() <= (location.getWorld().getMaxHeight() - 1); } private void doDamage(Entity entity) { diff --git a/src/com/jedk1/jedcore/ability/earthbending/LavaFlux.java b/src/com/jedk1/jedcore/ability/earthbending/LavaFlux.java index 357fe08..0609338 100644 --- a/src/com/jedk1/jedcore/ability/earthbending/LavaFlux.java +++ b/src/com/jedk1/jedcore/ability/earthbending/LavaFlux.java @@ -228,7 +228,7 @@ private void applyDamageFromWave(Location location) { } private void expand(Block block) { - if (block != null && block.getY() > 1 && block.getY() < 255 && !RegionProtection.isRegionProtected(this, block.getLocation())) { + if (block != null && block.getY() > block.getWorld().getMinHeight() && block.getY() < block.getWorld().getMaxHeight() && !RegionProtection.isRegionProtected(this, block.getLocation())) { if (EarthAbility.getMovedEarth().containsKey(block)){ Information info = EarthAbility.getMovedEarth().get(block); if(!info.getBlock().equals(block)) { @@ -239,7 +239,7 @@ private void expand(Block block) { if (isWater(block)) return; while (!isEarthbendable(block)) { block = block.getRelative(BlockFace.DOWN); - if (block.getY() < 1 || block.getY() > 255) { + if (block.getY() < block.getWorld().getMinHeight() || block.getY() > block.getWorld().getMaxHeight()) { break; } if (isEarthbendable(block)) { @@ -249,7 +249,7 @@ private void expand(Block block) { while (!isTransparent(block.getRelative(BlockFace.UP))) { block = block.getRelative(BlockFace.UP); - if (block.getY() < 1 || block.getY() > 255) { + if (block.getY() < block.getWorld().getMinHeight() || block.getY() > block.getWorld().getMaxHeight()) { break; } if (isEarthbendable(block.getRelative(BlockFace.UP))) { @@ -271,8 +271,6 @@ public BlockFace getLeftBlockFace(BlockFace forward) { return BlockFace.EAST; case WEST: return BlockFace.SOUTH; - case EAST: - return BlockFace.NORTH; case NORTH_WEST: return BlockFace.SOUTH_WEST; case NORTH_EAST: diff --git a/src/com/jedk1/jedcore/ability/earthbending/combo/Crevice.java b/src/com/jedk1/jedcore/ability/earthbending/combo/Crevice.java index 5900b0f..f4e22c4 100644 --- a/src/com/jedk1/jedcore/ability/earthbending/combo/Crevice.java +++ b/src/com/jedk1/jedcore/ability/earthbending/combo/Crevice.java @@ -8,6 +8,7 @@ import com.projectkorra.projectkorra.ability.ComboAbility; import com.projectkorra.projectkorra.ability.EarthAbility; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.region.RegionProtection; import com.projectkorra.projectkorra.util.ClickType; @@ -271,17 +272,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("Collapse", ClickType.RIGHT_CLICK_BLOCK)); - combination.add(new AbilityInformation("Shockwave", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("Shockwave", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("Shockwave", ClickType.SHIFT_DOWN)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Earth.EarthCombo.Crevice.Combination")); } @Override public String getInstructions() { - return "Collapse (Right Click a block) > Shockwave (Tap Shift) > Shockwave (Tap Shift)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Earth.EarthCombo.Crevice.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/earthbending/combo/MagmaBlast.java b/src/com/jedk1/jedcore/ability/earthbending/combo/MagmaBlast.java index 7b37efe..55426ba 100644 --- a/src/com/jedk1/jedcore/ability/earthbending/combo/MagmaBlast.java +++ b/src/com/jedk1/jedcore/ability/earthbending/combo/MagmaBlast.java @@ -4,6 +4,7 @@ import com.jedk1.jedcore.configuration.JedCoreConfig; import com.jedk1.jedcore.util.MaterialUtil; import com.projectkorra.projectkorra.ability.ElementalAbility; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.earthbending.lava.LavaFlow; @@ -433,17 +434,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("EarthBlast", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("LavaFlow", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("LavaFlow", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("LavaFlow", ClickType.RIGHT_CLICK_BLOCK)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Earth.EarthCombo.MagmaBlast.Combination")); } @Override public String getInstructions() { - return "EarthBlast (Hold Shift) > LavaFlow (Release Shift) > LavaFlow (Hold Shift) > LavaFlow (Right Click a block) > LavaFlow (Left Click Multiple times)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Earth.EarthCombo.MagmaBlast.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/waterbending/combo/Maelstrom.java b/src/com/jedk1/jedcore/ability/waterbending/combo/Maelstrom.java index 439cf9f..ec02664 100644 --- a/src/com/jedk1/jedcore/ability/waterbending/combo/Maelstrom.java +++ b/src/com/jedk1/jedcore/ability/waterbending/combo/Maelstrom.java @@ -8,6 +8,7 @@ import com.projectkorra.projectkorra.ability.ComboAbility; import com.projectkorra.projectkorra.ability.WaterAbility; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.util.BlockSource; import com.projectkorra.projectkorra.util.ClickType; @@ -250,16 +251,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("PhaseChange", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("Torrent", ClickType.LEFT_CLICK)); - combination.add(new AbilityInformation("Torrent", ClickType.LEFT_CLICK)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Water.WaterCombo.Maelstrom.Combination")); } @Override public String getInstructions() { - return "PhaseChange (Hold Shift) > Torrent (Left Click) > Torrent (Left Click)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Water.WaterCombo.Maelstrom.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/waterbending/combo/WaterFlow.java b/src/com/jedk1/jedcore/ability/waterbending/combo/WaterFlow.java index 5a38122..0360945 100644 --- a/src/com/jedk1/jedcore/ability/waterbending/combo/WaterFlow.java +++ b/src/com/jedk1/jedcore/ability/waterbending/combo/WaterFlow.java @@ -8,6 +8,7 @@ import com.projectkorra.projectkorra.GeneralMethods; import com.projectkorra.projectkorra.ability.*; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.airbending.AirSpout; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.command.Commands; @@ -437,19 +438,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("WaterManipulation", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("WaterManipulation", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("WaterManipulation", ClickType.SHIFT_UP)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Water.WaterCombo.WaterFlow.Combination")); } @Override public String getInstructions() { - return "WaterManipulation (Tap Shift) > Torrent (Tap Shift) > Torrent (Hold Shift) > WaterManipulation (Release Shift)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Water.WaterCombo.WaterGimbal.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/ability/waterbending/combo/WaterGimbal.java b/src/com/jedk1/jedcore/ability/waterbending/combo/WaterGimbal.java index 2d6a545..4382858 100644 --- a/src/com/jedk1/jedcore/ability/waterbending/combo/WaterGimbal.java +++ b/src/com/jedk1/jedcore/ability/waterbending/combo/WaterGimbal.java @@ -12,6 +12,7 @@ import com.projectkorra.projectkorra.ability.ElementalAbility; import com.projectkorra.projectkorra.ability.WaterAbility; import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation; +import com.projectkorra.projectkorra.ability.util.ComboUtil; import com.projectkorra.projectkorra.attribute.Attribute; import com.projectkorra.projectkorra.util.BlockSource; import com.projectkorra.projectkorra.util.ClickType; @@ -422,18 +423,12 @@ public Object createNewComboInstance(Player player) { @Override public ArrayList getCombination() { - ArrayList combination = new ArrayList<>(); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_DOWN)); - combination.add(new AbilityInformation("Torrent", ClickType.SHIFT_UP)); - combination.add(new AbilityInformation("WaterManipulation", ClickType.SHIFT_DOWN)); - return combination; + return ComboUtil.generateCombinationFromList(this, JedCoreConfig.getConfig(player).getStringList("Abilities.Water.WaterCombo.WaterGimbal.Combination")); } @Override public String getInstructions() { - return "Torrent (Tap Shift) > Torrent (Tap Shift) > WaterManipulation (Hold Shift) > WaterManipulation (Left-click multiple times)"; + return JedCoreConfig.getConfig(player).getString("Abilities.Water.WaterCombo.WaterGimbal.Instructions"); } @Override diff --git a/src/com/jedk1/jedcore/configuration/JedCoreConfig.java b/src/com/jedk1/jedcore/configuration/JedCoreConfig.java index 9f2ed81..dc007f7 100644 --- a/src/com/jedk1/jedcore/configuration/JedCoreConfig.java +++ b/src/com/jedk1/jedcore/configuration/JedCoreConfig.java @@ -11,6 +11,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.Arrays; public class JedCoreConfig { @@ -233,6 +234,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Air.AirCombo.AirSlam.Cooldown", 8000); config.addDefault("Abilities.Air.AirCombo.AirSlam.Power", 5.0); config.addDefault("Abilities.Air.AirCombo.AirSlam.Range", 8); + config.addDefault("Abilities.Air.AirCombo.AirSlam.Combination", Arrays.asList("AirSwipe:SHIFT_DOWN", "AirBlast:SHIFT_UP", "AirBlast:SHIFT_DOWN")); + config.addDefault("Abilities.Air.AirCombo.AirSlam.Instructions", "AirSwipe (Hold sneak) > AirBlast (Release sneak) > AirBlast (Hold sneak)"); config.addDefault("Abilities.Air.AirCombo.SwiftStream.Enabled", true); config.addDefault("Abilities.Air.AirCombo.SwiftStream.Description", "Create a stream of air as you fly which causes nearby " @@ -240,6 +243,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Air.AirCombo.SwiftStream.DragFactor", 1.5); config.addDefault("Abilities.Air.AirCombo.SwiftStream.Duration", 2000); config.addDefault("Abilities.Air.AirCombo.SwiftStream.Cooldown", 6000); + config.addDefault("Abilities.Air.AirCombo.SwiftStream.Combination", Arrays.asList("Flight:SHIFT_DOWN", "Flight:SHIFT_UP", "Flight:SHIFT_DOWN", "Flight:SHIFT_UP")); + config.addDefault("Abilities.Air.AirCombo.SwiftStream.Instructions", "Flight (Double tap sneak)"); config.addDefault("Abilities.Earth.EarthArmor.Enabled", true); config.addDefault("Abilities.Earth.EarthArmor.Description", "If the block is metal, then you will get metal armor!"); @@ -494,7 +499,9 @@ private void loadConfigCore() { config.addDefault("Abilities.Earth.EarthCombo.Crevice.Depth", 5); config.addDefault("Abilities.Earth.EarthCombo.Crevice.AvatarStateDepth", 8); config.addDefault("Abilities.Earth.EarthCombo.Crevice.Cooldown", 10000); - + config.addDefault("Abilities.Earth.EarthCombo.Crevice.Combination", Arrays.asList("Collapse:RIGHT_CLICK_BLOCK", "Shockwave:SHIFT_DOWN", "Shockwave:SHIFT_UP", "Shockwave:SHIFT_DOWN")); + config.addDefault("Abilities.Earth.EarthCombo.Crevice.Instructions", "Collapse (Right-click a block) > Shockwave (Tap sneak) > Shockwave (Tap sneak)"); + config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.Enabled", true); config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.Description", "Fire balls of magma at your enemy!"); config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.MaxShots", 3); @@ -510,6 +517,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.FireSpeed", 1.5); config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.MaxDuration", 15000); config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.MaxDistanceFromSources", 15); + config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.Combination", Arrays.asList("EarthBlast:SHIFT_DOWN", "LavaFlow:SHIFT_UP", "LavaFlow:SHIFT_DOWN", "LavaFlow:RIGHT_CLICK_BLOCK")); + config.addDefault("Abilities.Earth.EarthCombo.MagmaBlast.Instructions", "EarthBlast (Hold sneak) > LavaFlow (Release sneak) > LavaFlow (Hold sneak) > LavaFlow (Right-click a block) > LavaFlow (Left-click multiple times)"); config.addDefault("Abilities.Fire.Combustion.Enabled", true); config.addDefault("Abilities.Fire.Combustion.Description", "Hold Shift to focus large amounts of energy into your body, " @@ -782,7 +791,7 @@ private void loadConfigCore() { config.addDefault("Abilities.Water.IceWall.WallDamage.AirBlast", 2); config.addDefault("Abilities.Water.WakeFishing.Enabled", true); - config.addDefault("Abilities.Water.WakeFishing.Description", "With this ability bound, hold Shift (Default: Sneak) at a water block and " + config.addDefault("Abilities.Water.WakeFishing.Description", "With this ability bound, hold Sneak (Default: Shift) at a water block and " + "don't lose focus of that block. Eventually some fish will investigate " + "the wake and swim out at you!"); config.addDefault("Abilities.Water.WakeFishing.Cooldown", 10000); @@ -796,6 +805,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Water.WaterCombo.Maelstrom.Duration", 15000); config.addDefault("Abilities.Water.WaterCombo.Maelstrom.MaxDepth", 5); config.addDefault("Abilities.Water.WaterCombo.Maelstrom.Range", 10); + config.addDefault("Abilities.Water.WaterCombo.Maelstrom.Combination", Arrays.asList("PhaseChange:SHIFT_DOWN", "Torrent:LEFT_CLICK", "Torrent:LEFT_CLICK")); + config.addDefault("Abilities.Water.WaterCombo.Maelstrom.Instructions", "PhaseChange (Hold sneak) > Torrent (Left-click) > Torrent (Left-click)"); config.addDefault("Abilities.Water.WaterCombo.WaterFlow.Enabled", true); config.addDefault("Abilities.Water.WaterCombo.WaterFlow.Description", "Some Waterbenders have managed to create torrents of water much stronger than a regular torrent, " @@ -823,6 +834,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Water.WaterCombo.WaterFlow.FullMoon.Modifier.Cooldown", 3); config.addDefault("Abilities.Water.WaterCombo.WaterFlow.FullMoon.Modifier.Duration", 2); config.addDefault("Abilities.Water.WaterCombo.WaterFlow.PlayerRideOwnFlow", true); + config.addDefault("Abilities.Water.WaterCombo.WaterFlow.Combination", Arrays.asList("WaterManipulation:SHIFT_DOWN", "WaterManipulation:SHIFT_UP", "Torrent:SHIFT_DOWN", "Torrent:SHIFT_UP", "Torrent:SHIFT_DOWN", "WaterManipulation:SHIFT_UP")); + config.addDefault("Abilities.Water.WaterCombo.WaterFlow.Instructions", "WaterManipulation (Tap sneak) > Torrent (Tap sneak) > Torrent (Hold sneak) > WaterManipulation (Release sneak)"); config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Enabled", true); config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Description", "Skilled Waterbenders are able to create two spinning rings of water around their bodies, " @@ -843,6 +856,8 @@ private void loadConfigCore() { config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Collisions.FireShield.Enabled", false); config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Collisions.FireShield.RemoveFirst", true); config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Collisions.FireShield.RemoveSecond", false); + config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Combination", Arrays.asList("Torrent:SHIFT_DOWN", "Torrent:SHIFT_UP", "Torrent:SHIFT_DOWN", "Torrent:SHIFT_UP", "WaterManipulation:SHIFT_DOWN")); + config.addDefault("Abilities.Water.WaterCombo.WaterGimbal.Instructions", "Torrent (Tap sneak) > Torrent (Tap sneak) > WaterManipulation (Hold sneak) > WaterManipulation (Left-click multiple times)"); config.addDefault("Abilities.Water.Ice.Passive.Skate.Enabled", true); config.addDefault("Abilities.Water.Ice.Passive.Skate.SpeedFactor", 4);