diff --git a/src/com/massivecraft/massivecore/MassiveCoreMConf.java b/src/com/massivecraft/massivecore/MassiveCoreMConf.java index b64f01e6..e69a2cf4 100644 --- a/src/com/massivecraft/massivecore/MassiveCoreMConf.java +++ b/src/com/massivecraft/massivecore/MassiveCoreMConf.java @@ -6,6 +6,7 @@ import java.util.Map; import org.bukkit.permissions.Permissible; +import com.massivecraft.massivecore.command.editor.annotation.EditorNullable; import com.massivecraft.massivecore.command.editor.annotation.EditorType; import com.massivecraft.massivecore.store.Entity; import com.massivecraft.massivecore.util.MUtil; @@ -27,10 +28,15 @@ public class MassiveCoreMConf extends Entity // -------------------------------------------- // // Base command aliases. + @EditorNullable(false) public List aliasesMcore = MUtil.list("massivecore", "mcore"); + @EditorNullable(false) public List aliasesUsys = MUtil.list("usys"); + @EditorNullable(false) public List aliasesMstore = MUtil.list("massivestore", "mstore"); + @EditorNullable(false) public List aliasesBuffer = MUtil.list("buffer"); + @EditorNullable(false) public List aliasesCmdurl = MUtil.list("cmdurl"); // -------------------------------------------- // @@ -48,6 +54,7 @@ public class MassiveCoreMConf extends Entity // -------------------------------------------- // // Permission denied formatting. + @EditorNullable(false) public Map permissionDeniedFormats = MUtil.map( "some.awesome.permission.node", "You must be awesome to %s.", "some.derp.permission.node.1", "derp", @@ -70,6 +77,7 @@ public class MassiveCoreMConf extends Entity // -------------------------------------------- // // Teleportation delay permissions. + @EditorNullable(false) public Map permissionToTpdelay = MUtil.map( "massivecore.notpdelay", 0, "default", 10 diff --git a/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java b/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java index 77534cd3..4d300676 100644 --- a/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java +++ b/src/com/massivecraft/massivecore/command/editor/CommandEditAbstract.java @@ -9,6 +9,7 @@ import org.bukkit.command.CommandSender; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.command.MassiveCommand; +import com.massivecraft.massivecore.command.Visibility; import com.massivecraft.massivecore.command.requirement.RequirementEditorUse; import com.massivecraft.massivecore.command.type.Type; import com.massivecraft.massivecore.event.EventMassiveCoreEditorEdit; @@ -58,6 +59,13 @@ public class CommandEditAbstract extends MassiveCommand // OVERRIDE // -------------------------------------------- // + @Override + public Visibility getVisibility() + { + if ( ! this.getProperty().isVisible()) return Visibility.INVISIBLE; + return super.getVisibility(); + } + @Override public void perform() throws MassiveException { diff --git a/src/com/massivecraft/massivecore/command/editor/Property.java b/src/com/massivecraft/massivecore/command/editor/Property.java index 1335bf57..960510a8 100644 --- a/src/com/massivecraft/massivecore/command/editor/Property.java +++ b/src/com/massivecraft/massivecore/command/editor/Property.java @@ -37,6 +37,10 @@ public abstract class Property implements Named // SETTINGS // -------------------------------------------- // + protected boolean visible = true; + public boolean isVisible() { return this.visible; } + public void setVisible(boolean visible) { this.visible = visible; } + protected boolean inheritable = true; public boolean isInheritable() { return this.inheritable; } public void setInheritable(boolean inheritable) { this.inheritable = inheritable; } @@ -233,6 +237,7 @@ public abstract class Property implements Named // Fill for (Property property : properties) { + if ( ! property.isVisible()) continue; ret.addAll(property.getShowLines(object, sender)); } diff --git a/src/com/massivecraft/massivecore/command/editor/PropertyReflection.java b/src/com/massivecraft/massivecore/command/editor/PropertyReflection.java index 24e77911..19a9e704 100644 --- a/src/com/massivecraft/massivecore/command/editor/PropertyReflection.java +++ b/src/com/massivecraft/massivecore/command/editor/PropertyReflection.java @@ -43,6 +43,7 @@ public class PropertyReflection extends Property ReflectionUtil.makeAccessible(field); this.field = field; + this.setVisible(isVisible(field)); this.setInheritable(isInheritable(field)); this.setEditable(isEditable(field)); this.setNullable(isNullable(field)); @@ -106,7 +107,7 @@ public class PropertyReflection extends Property // Fill > Standard int modifiers = field.getModifiers(); - if (Modifier.isFinal(modifiers)) ret = false; + if (Modifier.isStatic(modifiers) || Modifier.isTransient(modifiers) || Modifier.isFinal(modifiers)) ret = false; // Fill > Annotation EditorEditable annotation = field.getAnnotation(EditorEditable.class);