From 31e950033986c856c82f520713d8c301b2f57471 Mon Sep 17 00:00:00 2001 From: TheComputerGeek2 Date: Mon, 7 May 2018 16:56:14 -0700 Subject: [PATCH] Improve parameters for gate edit --- src/com/massivecraft/massivegates/GateEdit.java | 15 +++++++++++++++ .../massivegates/cmd/CmdGateEditThat.java | 16 +++++++++------- .../massivegates/cmd/type/TypeGateEdit.java | 16 ++++++++++++++++ 3 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 src/com/massivecraft/massivegates/GateEdit.java create mode 100644 src/com/massivecraft/massivegates/cmd/type/TypeGateEdit.java diff --git a/src/com/massivecraft/massivegates/GateEdit.java b/src/com/massivecraft/massivegates/GateEdit.java new file mode 100644 index 0000000..1d82b0f --- /dev/null +++ b/src/com/massivecraft/massivegates/GateEdit.java @@ -0,0 +1,15 @@ +package com.massivecraft.massivegates; + +public enum GateEdit +{ + // -------------------------------------------- // + // ENUM + // -------------------------------------------- // + + CONTENT, + FRAME, + DELETE + + // END OF LIST + +} diff --git a/src/com/massivecraft/massivegates/cmd/CmdGateEditThat.java b/src/com/massivecraft/massivegates/cmd/CmdGateEditThat.java index bc57e24..4f4f27d 100644 --- a/src/com/massivecraft/massivegates/cmd/CmdGateEditThat.java +++ b/src/com/massivecraft/massivegates/cmd/CmdGateEditThat.java @@ -1,12 +1,14 @@ package com.massivecraft.massivegates.cmd; +import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.requirement.RequirementHasPerm; import com.massivecraft.massivecore.command.requirement.RequirementIsPlayer; -import com.massivecraft.massivecore.command.type.primitive.TypeString; import com.massivecraft.massivecore.ps.PS; import com.massivecraft.massivecore.util.SmokeUtil; import com.massivecraft.massivegates.Const; +import com.massivecraft.massivegates.GateEdit; import com.massivecraft.massivegates.Perm; +import com.massivecraft.massivegates.cmd.type.TypeGateEdit; import com.massivecraft.massivegates.cmdreq.ReqGateSelected; import com.massivecraft.massivegates.entity.Gate; import com.massivecraft.massivegates.entity.MConf; @@ -25,7 +27,7 @@ public class CmdGateEditThat extends GateCommand public CmdGateEditThat() { // Parameters - this.addParameter(TypeString.get(), "frame|content|del"); + this.addParameter(TypeGateEdit.get(), "frame|content|del"); // Requirements this.addRequirements(RequirementIsPlayer.get(), ReqGateSelected.get()); @@ -43,7 +45,7 @@ public List getAliases() } @Override - public void perform() + public void perform() throws MassiveException { // Args Gate gate = gsender.getSelectedGate(); @@ -53,22 +55,22 @@ public void perform() Location thatLoc = thatBlock.getLocation(); PS thatCoord = PS.valueOf(thatBlock); - char firstArgChar = this.argAt(0).toLowerCase().charAt(0); + GateEdit edit = this.readArg(); // Apply - if (firstArgChar == 'f') + if (edit == GateEdit.FRAME) { gate.addFrame(thatCoord); VisualizeUtil.addLocation(me, thatLoc, Const.visFrame); SmokeUtil.spawnCloudSimple(thatLoc); } - else if (firstArgChar == 'c') + else if (edit == GateEdit.CONTENT) { gate.addContent(thatCoord); VisualizeUtil.addLocation(me, thatLoc, Const.visContent); SmokeUtil.spawnCloudSimple(thatLoc); } - else if (firstArgChar == 'd') + else if (edit == GateEdit.DELETE) { gate.delContent(thatCoord); gate.delFrame(thatCoord); diff --git a/src/com/massivecraft/massivegates/cmd/type/TypeGateEdit.java b/src/com/massivecraft/massivegates/cmd/type/TypeGateEdit.java new file mode 100644 index 0000000..2401152 --- /dev/null +++ b/src/com/massivecraft/massivegates/cmd/type/TypeGateEdit.java @@ -0,0 +1,16 @@ +package com.massivecraft.massivegates.cmd.type; + +import com.massivecraft.massivecore.command.type.enumeration.TypeEnum; +import com.massivecraft.massivegates.GateEdit; + +public class TypeGateEdit extends TypeEnum +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static TypeGateEdit i = new TypeGateEdit(); + public static TypeGateEdit get() { return i; } + public TypeGateEdit() { super(GateEdit.class); } + +}