diff --git a/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java b/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java index ca8c8a22..a9a7608a 100644 --- a/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java +++ b/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java @@ -329,8 +329,6 @@ public class CommandEditAbstract extends MassiveCommand // Others else { - - message(Mson.prepondfix( title.add(mson(":").color(ChatColor.GRAY)), show, diff --git a/src/com/massivecraft/massivecore/command/editor/EditSettings.java b/src/com/massivecraft/massivecore/command/editor/EditSettings.java index b711c7d9..c784ee8a 100644 --- a/src/com/massivecraft/massivecore/command/editor/EditSettings.java +++ b/src/com/massivecraft/massivecore/command/editor/EditSettings.java @@ -89,14 +89,29 @@ public class EditSettings } // -------------------------------------------- // - // USED COMMAND + // COMMAND CREATION // -------------------------------------------- // - public CommandEditUsed createCommandEditUsed() + public CommandEditUsed createCommandUsed() { return new CommandEditUsed(this); } + public CommandEditShow createCommandShow() + { + return new CommandEditShow(this, new PropertyThis<>(this.getObjectType())); + } + + public CommandEditAbstract createCommandEdit() + { + // TODO: Where does command creation belong? Inside the type or the edit settings. + // TODO: Resolve and research asymmetry between createCommandShow() and createCommandEdit(). + // TODO: Where should the permission nodes and requirements be set? + CommandEditAbstract ret = this.getObjectType().createEditCommand(this, new PropertyThis<>(this.getObjectType())); + ret.setAliases("edit"); + return ret; + } + // -------------------------------------------- // // TYPE READ UTILITY // -------------------------------------------- // diff --git a/src/com/massivecraft/massivecore/command/type/TypeAbstract.java b/src/com/massivecraft/massivecore/command/type/TypeAbstract.java index 581f1b60..008c2b16 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeAbstract.java +++ b/src/com/massivecraft/massivecore/command/type/TypeAbstract.java @@ -150,8 +150,8 @@ public abstract class TypeAbstract implements Type public > I getInnerProperty(int index) { return (I) this.getInnerProperties().get(index); } public > void setInnerProperties(Collection innerProperties) { this.innerProperties = new MassiveList>(innerProperties); } - @SuppressWarnings("unchecked") - public > void setInnerProperties(I... innerProperties) { this.setInnerProperties(Arrays.asList(innerProperties)); } + @SafeVarargs + public final > void setInnerProperties(I... innerProperties) { this.setInnerProperties(Arrays.asList(innerProperties)); } public void setInnerProperties(Class clazz) { this.setInnerProperties(PropertyReflection.getAll(clazz, this)); } // -------------------------------------------- // @@ -652,7 +652,7 @@ public abstract class TypeAbstract implements Type { if (this.hasInnerProperties()) { - return new CommandEditProperties(settings, property, null); + return new CommandEditProperties(settings, property, null); } else {