From 6fcaed6253cd685b7aa6f926bdfd03be07008d8e Mon Sep 17 00:00:00 2001 From: JeromSar Date: Tue, 13 Aug 2013 17:16:33 +0200 Subject: [PATCH] Finished Jumppads --- appinfo.properties | 6 +- buildnumber.properties | 4 +- .../Commands/Command_jumppads.java | 96 +++++++++++++++++++ .../TotalFreedomMod/TFM_Jumppads.java | 10 +- 4 files changed, 106 insertions(+), 10 deletions(-) create mode 100644 src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java diff --git a/appinfo.properties b/appinfo.properties index e179e395..dac8b6c7 100644 --- a/appinfo.properties +++ b/appinfo.properties @@ -1,5 +1,5 @@ -#Tue, 13 Aug 2013 15:59:09 +0200 +#Tue, 13 Aug 2013 17:15:05 +0200 program.VERSION=2.22 -program.BUILDNUM=437 -program.BUILDDATE=08/13/2013 03\:59 PM +program.BUILDNUM=445 +program.BUILDDATE=08/13/2013 05\:15 PM diff --git a/buildnumber.properties b/buildnumber.properties index ef21413e..b7650839 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Tue Aug 13 15:59:09 CEST 2013 -build.number=438 +#Tue Aug 13 17:15:05 CEST 2013 +build.number=446 diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java new file mode 100644 index 00000000..6f5038aa --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java @@ -0,0 +1,96 @@ +package me.StevenLawson.TotalFreedomMod.Commands; + +import me.StevenLawson.TotalFreedomMod.TFM_Jumppads; +import me.StevenLawson.TotalFreedomMod.TFM_Jumppads.Mode; +import me.StevenLawson.TotalFreedomMod.TFM_Util; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH) +@CommandParameters(description = "Manage jumppads", usage = "/ | strength >", aliases = "launchpads,jp") +public class Command_jumppads extends TFM_Command +{ + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length == 0 || args.length > 2) + { + return false; + } + + if (args.length == 1) + { + if (args[0].equalsIgnoreCase("info")) + { + playerMsg("Jumppads: " + (TFM_Jumppads.getInstance().mode.isOn() ? "Enabled" : "Disabled"), ChatColor.BLUE); + playerMsg("Sideways: " + (TFM_Jumppads.getInstance().mode == Mode.NORMAL_AND_SIDEWAYS ? "Enabled" : "Disabled"), ChatColor.BLUE); + playerMsg("Strength: " + TFM_Jumppads.getInstance().strength * 10, ChatColor.BLUE); + return true; + } + + if (TFM_Util.isStopCommand(args[0])) + { + TFM_Util.adminAction(sender.getName(), "Disabling Jumppads", false); + TFM_Jumppads.getInstance().mode = Mode.OFF; + } + else + { + TFM_Util.adminAction(sender.getName(), "Enabling Jumppads", false); + TFM_Jumppads.getInstance().mode = Mode.NORMAL; + } + } + else + { + if (TFM_Jumppads.getInstance().mode == Mode.OFF) + { + playerMsg("Jumppads are currently disabled, please enable them before changing jumppads settings."); + return true; + } + + if (args[0].equalsIgnoreCase("sideways")) + { + + if (TFM_Util.isStopCommand(args[1])) + { + TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Normal", false); + TFM_Jumppads.getInstance().mode = Mode.NORMAL; + } + else + { + TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Normal and Sideways", false); + TFM_Jumppads.getInstance().mode = Mode.NORMAL_AND_SIDEWAYS; + } + } + else if (args[0].equalsIgnoreCase("strength")) + { + final float strength; + try + { + strength = Float.parseFloat(args[1]); + } + catch (NumberFormatException ex) + { + playerMsg("Invalid Strength"); + return true; + } + + if (strength > 10 || strength < 1) + { + playerMsg("Invalid Strength: The strength may be 1 through 10."); + return true; + } + + TFM_Util.adminAction(sender.getName(), "Setting Jumppads hight to: " + String.valueOf(strength), false); + TFM_Jumppads.getInstance().strength = (strength / 10) + 0.1F; + } + else + { + return false; + } + } + + return true; + } +} diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java index 7d2638f8..c3560d41 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java @@ -9,7 +9,7 @@ import org.bukkit.util.Vector; public class TFM_Jumppads { final int blockId = Material.WOOL.getId(); - public Mode mode = Mode.NORMAL_AND_SIDEWAYS; + public Mode mode = Mode.OFF; public float strength = 0.4F; public void PlayerMoveEvent(PlayerMoveEvent event) @@ -32,22 +32,22 @@ public class TFM_Jumppads { if (b.getRelative(1, 0, 0).getTypeId() == blockId) { - velocity.add(new Vector(-0.2F, 0F, 0F)); + velocity.add(new Vector(-0.8F * strength, 0F, 0F)); } if (b.getRelative(-1, 0, 0).getTypeId() == blockId) { - velocity.add(new Vector(0.2F, 0F, 0F)); + velocity.add(new Vector(0.8F * strength, 0F, 0F)); } if (b.getRelative(0, 0, 1).getTypeId() == blockId) { - velocity.add(new Vector(0F, 0F, -0.2F)); + velocity.add(new Vector(0F, 0F, -0.8F * strength)); } if (b.getRelative(0, 0, -1).getTypeId() == blockId) { - velocity.add(new Vector(0F, 0F, 0.2F)); + velocity.add(new Vector(0F, 0F, 0.8F * strength)); } }