diff --git a/src/xyz/soper/arty/item/Mortar.java b/src/xyz/soper/arty/item/Mortar.java index bc63276..c2e7d1b 100644 --- a/src/xyz/soper/arty/item/Mortar.java +++ b/src/xyz/soper/arty/item/Mortar.java @@ -4,7 +4,11 @@ import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.Nameable; import org.bukkit.block.Block; +import org.bukkit.metadata.FixedMetadataValue; +import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.util.Vector; +import xyz.soper.arty.Artillery; + import java.util.Random; /** @@ -196,6 +200,17 @@ public class Mortar { && isStringMortar(((Nameable) block.getState()).getCustomName()); } + public static void setMortarDirection(Block block, Vector direction){ + if(isMortar(block)){ + if(direction.getY() == 0){ + block.setMetadata("direction_x", new FixedMetadataValue(Artillery.getPlugin(Artillery.class), direction.getX())); + block.setMetadata("direction_z", new FixedMetadataValue(Artillery.getPlugin(Artillery.class), direction.getZ())); + } + else block.setMetadata("direction_y", new FixedMetadataValue(Artillery.getPlugin(Artillery.class), direction.getY())); + } + else throw new IllegalArgumentException("Cannot set non-mortar block's directional MetaData"); + } + private static boolean isStringMortar(String string){ if(string == null){ return false; @@ -205,4 +220,5 @@ public class Mortar { || string.equals(REINFORCED_MORTAR_NAME) || string.equals(INCENDIARY_CAPABLE_MORTAR_NAME)); } + }