From 656dbf88675b967ca35ec13ee6a8251dc8831f46 Mon Sep 17 00:00:00 2001 From: JeromSar Date: Tue, 13 Aug 2013 16:05:37 +0200 Subject: [PATCH 1/3] Started work on Jumppads --- appinfo.properties | 6 +- buildnumber.properties | 4 +- .../Listener/TFM_PlayerListener.java | 6 ++ .../TotalFreedomMod/TFM_Jumppads.java | 86 +++++++++++++++++++ 4 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java diff --git a/appinfo.properties b/appinfo.properties index ee824bfa..e179e395 100644 --- a/appinfo.properties +++ b/appinfo.properties @@ -1,5 +1,5 @@ -#Mon, 12 Aug 2013 22:00:24 -0400 +#Tue, 13 Aug 2013 15:59:09 +0200 program.VERSION=2.22 -program.BUILDNUM=428 -program.BUILDDATE=08/12/2013 10\:00 PM +program.BUILDNUM=437 +program.BUILDDATE=08/13/2013 03\:59 PM diff --git a/buildnumber.properties b/buildnumber.properties index 78266cbf..ef21413e 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Mon Aug 12 22:00:24 EDT 2013 -build.number=429 +#Tue Aug 13 15:59:09 CEST 2013 +build.number=438 diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 43df1c50..5fa37f7b 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -322,6 +322,11 @@ public class TFM_PlayerListener implements Listener } } + if (TFM_Jumppads.getInstance().mode.isOn()) + { + TFM_Jumppads.getInstance().PlayerMoveEvent(event); + } + if (TotalFreedomMod.landminesEnabled && TotalFreedomMod.allowExplosions) { Iterator landmines = TFM_LandmineData.landmines.iterator(); @@ -359,6 +364,7 @@ public class TFM_PlayerListener implements Listener } } } + } @EventHandler(priority = EventPriority.NORMAL) diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java new file mode 100644 index 00000000..7d2638f8 --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Jumppads.java @@ -0,0 +1,86 @@ +package me.StevenLawson.TotalFreedomMod; + +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.util.Vector; + +public class TFM_Jumppads +{ + final int blockId = Material.WOOL.getId(); + public Mode mode = Mode.NORMAL_AND_SIDEWAYS; + public float strength = 0.4F; + + public void PlayerMoveEvent(PlayerMoveEvent event) + { + if (mode == Mode.OFF) + { + return; + } + + final Player p = event.getPlayer(); + final Block b = event.getTo().getBlock(); + Vector velocity = p.getVelocity().clone(); + + if (b.getRelative(0, -1, 0).getTypeId() == blockId) + { + velocity.add(new Vector(0, strength, 0)); + } + + if (mode == Mode.NORMAL_AND_SIDEWAYS) + { + if (b.getRelative(1, 0, 0).getTypeId() == blockId) + { + velocity.add(new Vector(-0.2F, 0F, 0F)); + } + + if (b.getRelative(-1, 0, 0).getTypeId() == blockId) + { + velocity.add(new Vector(0.2F, 0F, 0F)); + } + + if (b.getRelative(0, 0, 1).getTypeId() == blockId) + { + velocity.add(new Vector(0F, 0F, -0.2F)); + } + + if (b.getRelative(0, 0, -1).getTypeId() == blockId) + { + velocity.add(new Vector(0F, 0F, 0.2F)); + } + } + + if (!p.getVelocity().equals(velocity)) + { + p.setFallDistance(0F); + p.setVelocity(velocity); + } + } + + public static enum Mode + { + OFF(false), NORMAL(true), NORMAL_AND_SIDEWAYS(true); + private boolean on; + + Mode(boolean on) + { + this.on = on; + } + + public boolean isOn() + { + return on; + } + } + + public static TFM_Jumppads getInstance() + { + return TFM_JumpadsHolder.INSTANCE; + } + + private static class TFM_JumpadsHolder + { + private static final TFM_Jumppads INSTANCE = new TFM_Jumppads(); + } +} From 6fcaed6253cd685b7aa6f926bdfd03be07008d8e Mon Sep 17 00:00:00 2001 From: JeromSar Date: Tue, 13 Aug 2013 17:16:33 +0200 Subject: [PATCH 2/3] 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)); } } From 7879fa24e4a3ceaf1502406159bc3dc98c63e85d Mon Sep 17 00:00:00 2001 From: JeromSar Date: Tue, 13 Aug 2013 18:21:37 +0200 Subject: [PATCH 3/3] Minor changes to JumpPads --- appinfo.properties | 6 +++--- buildnumber.properties | 4 ++-- .../TotalFreedomMod/Commands/Command_jumppads.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/appinfo.properties b/appinfo.properties index dac8b6c7..27ab6101 100644 --- a/appinfo.properties +++ b/appinfo.properties @@ -1,5 +1,5 @@ -#Tue, 13 Aug 2013 17:15:05 +0200 +#Tue, 13 Aug 2013 18:21:17 +0200 program.VERSION=2.22 -program.BUILDNUM=445 -program.BUILDDATE=08/13/2013 05\:15 PM +program.BUILDNUM=446 +program.BUILDDATE=08/13/2013 06\:21 PM diff --git a/buildnumber.properties b/buildnumber.properties index b7650839..56ced461 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Tue Aug 13 17:15:05 CEST 2013 -build.number=446 +#Tue Aug 13 18:21:17 CEST 2013 +build.number=447 diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java index 6f5038aa..61faec95 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_jumppads.java @@ -26,7 +26,7 @@ public class Command_jumppads extends TFM_Command { 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); + playerMsg("Strength: " + (TFM_Jumppads.getInstance().strength * 10 - 1), ChatColor.BLUE); return true; } @@ -82,7 +82,7 @@ public class Command_jumppads extends TFM_Command return true; } - TFM_Util.adminAction(sender.getName(), "Setting Jumppads hight to: " + String.valueOf(strength), false); + TFM_Util.adminAction(sender.getName(), "Setting Jumppads strength to: " + String.valueOf(strength), false); TFM_Jumppads.getInstance().strength = (strength / 10) + 0.1F; } else