From 33b4327893205a4f245c73fd0a7767ba07b35bab Mon Sep 17 00:00:00 2001 From: TheComputerGeek2 Date: Tue, 8 May 2018 10:12:19 -0700 Subject: [PATCH] Improve parameters for gate edit --- .../massivegates/GateStructureChange.java | 15 +++++++++++++ .../massivegates/cmd/CmdGateEditThat.java | 21 ++++++++----------- .../cmd/type/TypeGateStructureChange.java | 16 ++++++++++++++ 3 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 src/com/massivecraft/massivegates/GateStructureChange.java create mode 100644 src/com/massivecraft/massivegates/cmd/type/TypeGateStructureChange.java diff --git a/src/com/massivecraft/massivegates/GateStructureChange.java b/src/com/massivecraft/massivegates/GateStructureChange.java new file mode 100644 index 0000000..ebe46f7 --- /dev/null +++ b/src/com/massivecraft/massivegates/GateStructureChange.java @@ -0,0 +1,15 @@ +package com.massivecraft.massivegates; + +public enum GateStructureChange +{ + // -------------------------------------------- // + // 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..9de4708 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.GateStructureChange; import com.massivecraft.massivegates.Perm; +import com.massivecraft.massivegates.cmd.type.TypeGateStructureChange; 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(TypeGateStructureChange.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,32 +55,27 @@ public void perform() Location thatLoc = thatBlock.getLocation(); PS thatCoord = PS.valueOf(thatBlock); - char firstArgChar = this.argAt(0).toLowerCase().charAt(0); + GateStructureChange edit = this.readArg(); // Apply - if (firstArgChar == 'f') + if (edit == GateStructureChange.FRAME) { gate.addFrame(thatCoord); VisualizeUtil.addLocation(me, thatLoc, Const.visFrame); SmokeUtil.spawnCloudSimple(thatLoc); } - else if (firstArgChar == 'c') + else if (edit == GateStructureChange.CONTENT) { gate.addContent(thatCoord); VisualizeUtil.addLocation(me, thatLoc, Const.visContent); SmokeUtil.spawnCloudSimple(thatLoc); } - else if (firstArgChar == 'd') + else if (edit == GateStructureChange.DELETE) { gate.delContent(thatCoord); gate.delFrame(thatCoord); SmokeUtil.spawnCloudSimple(thatLoc); } - else - { - // Inform - this.msg("Arg must be frame|content|del ."); - } } } diff --git a/src/com/massivecraft/massivegates/cmd/type/TypeGateStructureChange.java b/src/com/massivecraft/massivegates/cmd/type/TypeGateStructureChange.java new file mode 100644 index 0000000..354c47d --- /dev/null +++ b/src/com/massivecraft/massivegates/cmd/type/TypeGateStructureChange.java @@ -0,0 +1,16 @@ +package com.massivecraft.massivegates.cmd.type; + +import com.massivecraft.massivecore.command.type.enumeration.TypeEnum; +import com.massivecraft.massivegates.GateStructureChange; + +public class TypeGateStructureChange extends TypeEnum +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static TypeGateStructureChange i = new TypeGateStructureChange(); + public static TypeGateStructureChange get() { return i; } + public TypeGateStructureChange() { super(GateStructureChange.class); } + +}