Add custom usercontent loading from json and javascript files alongside bugfixes for page list, refactorings and documentation
This commit is contained in:
@@ -8,14 +8,14 @@ import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.WorldHandler;
|
||||
import exopandora.worldhandler.builder.Syntax.SyntaxEntry;
|
||||
import exopandora.worldhandler.builder.CommandSyntax.Argument;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.builder.types.BlockResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.CoordinateDouble;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.GreedyString;
|
||||
import exopandora.worldhandler.builder.types.ItemResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.TargetSelector;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -24,7 +24,7 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
{
|
||||
private List<Entry<SyntaxEntry, String>> command;
|
||||
private List<Entry<Argument, String>> command;
|
||||
|
||||
public CommandBuilder()
|
||||
{
|
||||
@@ -33,93 +33,98 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
|
||||
protected void setNode(int index, String node)
|
||||
{
|
||||
this.set(index, node != null ? (node.isEmpty() ? null : node) : null, Type.STRING);
|
||||
this.set(index, node != null ? (node.isEmpty() ? null : node) : null, ArgumentType.STRING);
|
||||
}
|
||||
|
||||
protected void setNode(int index, GreedyString node)
|
||||
{
|
||||
this.set(index, node != null ? (node.isEmpty() ? null : node) : null, Type.GREEDY_STRING);
|
||||
this.set(index, node != null ? (node.isEmpty() ? null : node) : null, ArgumentType.GREEDY_STRING);
|
||||
}
|
||||
|
||||
protected void setNode(int index, boolean node)
|
||||
{
|
||||
this.set(index, node, Type.BOOLEAN);
|
||||
this.set(index, node, ArgumentType.BOOLEAN);
|
||||
}
|
||||
|
||||
protected void setNode(int index, short node)
|
||||
{
|
||||
this.set(index, node, Type.SHORT);
|
||||
this.set(index, node, ArgumentType.SHORT);
|
||||
}
|
||||
|
||||
protected void setNode(int index, byte node)
|
||||
{
|
||||
this.set(index, node, Type.BYTE);
|
||||
this.set(index, node, ArgumentType.BYTE);
|
||||
}
|
||||
|
||||
protected void setNode(int index, int node)
|
||||
{
|
||||
this.set(index, node, Type.INT);
|
||||
this.set(index, node, ArgumentType.INT);
|
||||
}
|
||||
|
||||
protected void setNode(int index, float node)
|
||||
{
|
||||
this.set(index, node, Type.FLOAT);
|
||||
this.set(index, node, ArgumentType.FLOAT);
|
||||
}
|
||||
|
||||
protected void setNode(int index, double node)
|
||||
{
|
||||
this.set(index, node, Type.DOUBLE);
|
||||
this.set(index, node, ArgumentType.DOUBLE);
|
||||
}
|
||||
|
||||
protected void setNode(int index, long node)
|
||||
{
|
||||
this.set(index, node, Type.LONG);
|
||||
this.set(index, node, ArgumentType.LONG);
|
||||
}
|
||||
|
||||
protected void setNode(int index, ResourceLocation node)
|
||||
{
|
||||
this.set(index, node, Type.RESOURCE_LOCATION);
|
||||
this.set(index, node, ArgumentType.RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
protected void setNode(int index, CoordinateInt coordinate)
|
||||
{
|
||||
this.set(index, coordinate, Type.COORDINATE_INT);
|
||||
this.set(index, coordinate, ArgumentType.COORDINATE_INT);
|
||||
}
|
||||
|
||||
protected void setNode(int index, CoordinateDouble coordinate)
|
||||
{
|
||||
this.set(index, coordinate, Type.COORDINATE_DOUBLE);
|
||||
this.set(index, coordinate, ArgumentType.COORDINATE_DOUBLE);
|
||||
}
|
||||
|
||||
protected void setNode(int index, TargetSelector target)
|
||||
{
|
||||
this.set(index, target, Type.TARGET_SELECTOR);
|
||||
this.set(index, target, ArgumentType.TARGET_SELECTOR);
|
||||
}
|
||||
|
||||
protected void setNode(int index, ItemResourceLocation resource)
|
||||
{
|
||||
this.set(index, resource != null ? resource.get() : null, Type.ITEM_RESOURCE_LOCATION);
|
||||
this.set(index, resource != null ? resource.get() : null, ArgumentType.ITEM_RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
protected void setNode(int index, BlockResourceLocation resource)
|
||||
{
|
||||
this.set(index, resource != null ? resource.get() : null, Type.BLOCK_RESOURCE_LOCATION);
|
||||
this.set(index, resource != null ? resource.get() : null, ArgumentType.BLOCK_RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
protected void setNode(int index, CompoundNBT nbt)
|
||||
{
|
||||
this.set(index, nbt, Type.NBT);
|
||||
this.set(index, nbt, ArgumentType.NBT);
|
||||
}
|
||||
|
||||
private void set(int index, Object value, Type type)
|
||||
protected void setPlayerName(int index, String username)
|
||||
{
|
||||
this.set(index, username, ArgumentType.PLAYER);
|
||||
}
|
||||
|
||||
private void set(int index, Object value, ArgumentType type)
|
||||
{
|
||||
if(index < this.command.size())
|
||||
{
|
||||
SyntaxEntry entry = this.command.get(index).getKey();
|
||||
Type expected = entry.getType();
|
||||
boolean flag = expected.equals(type);
|
||||
Argument entry = this.command.get(index).getKey();
|
||||
ArgumentType expectedType = entry.getType();
|
||||
boolean typeMatch = expectedType.equals(type);
|
||||
|
||||
if(value != null && flag)
|
||||
if(value != null && typeMatch)
|
||||
{
|
||||
this.command.get(index).setValue(value.toString());
|
||||
}
|
||||
@@ -127,9 +132,9 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
{
|
||||
this.command.get(index).setValue(entry.toString());
|
||||
|
||||
if(!flag)
|
||||
if(!typeMatch)
|
||||
{
|
||||
this.warn("set", expected, type, index);
|
||||
this.warn("set", expectedType, type, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -142,96 +147,96 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
@Nullable
|
||||
protected String getNodeAsString(int index)
|
||||
{
|
||||
return this.get(index, Type.STRING);
|
||||
return this.get(index, ArgumentType.STRING);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected String getNodeAsGreedyString(int index)
|
||||
{
|
||||
return this.get(index, Type.GREEDY_STRING);
|
||||
return this.get(index, ArgumentType.GREEDY_STRING);
|
||||
}
|
||||
|
||||
protected boolean getNodeAsBoolean(int index)
|
||||
{
|
||||
return this.get(index, Type.BOOLEAN);
|
||||
return this.get(index, ArgumentType.BOOLEAN);
|
||||
}
|
||||
|
||||
protected short getNodeAsShort(int index)
|
||||
{
|
||||
return this.get(index, Type.SHORT);
|
||||
return this.get(index, ArgumentType.SHORT);
|
||||
}
|
||||
|
||||
protected byte getNodeAsByte(int index)
|
||||
{
|
||||
return this.get(index, Type.BYTE);
|
||||
return this.get(index, ArgumentType.BYTE);
|
||||
}
|
||||
|
||||
protected int getNodeAsInt(int index)
|
||||
{
|
||||
return this.get(index, Type.INT);
|
||||
return this.get(index, ArgumentType.INT);
|
||||
}
|
||||
|
||||
protected float getNodeAsFloat(int index)
|
||||
{
|
||||
return this.get(index, Type.FLOAT);
|
||||
return this.get(index, ArgumentType.FLOAT);
|
||||
}
|
||||
|
||||
protected double getNodeAsDouble(int index)
|
||||
{
|
||||
return this.get(index, Type.DOUBLE);
|
||||
return this.get(index, ArgumentType.DOUBLE);
|
||||
}
|
||||
|
||||
protected long getNodeAsLong(int index)
|
||||
{
|
||||
return this.get(index, Type.LONG);
|
||||
return this.get(index, ArgumentType.LONG);
|
||||
}
|
||||
|
||||
protected CoordinateInt getNodeAsCoordinateInt(int index)
|
||||
{
|
||||
return this.get(index, Type.COORDINATE_INT);
|
||||
return this.get(index, ArgumentType.COORDINATE_INT);
|
||||
}
|
||||
|
||||
protected CoordinateDouble getNodeAsCoordinateDouble(int index)
|
||||
{
|
||||
return this.get(index, Type.COORDINATE_DOUBLE);
|
||||
return this.get(index, ArgumentType.COORDINATE_DOUBLE);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected ResourceLocation getNodeAsResourceLocation(int index)
|
||||
{
|
||||
return this.get(index, Type.RESOURCE_LOCATION);
|
||||
return this.get(index, ArgumentType.RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
protected TargetSelector getNodeAsTargetSelector(int index)
|
||||
{
|
||||
return this.get(index, Type.TARGET_SELECTOR);
|
||||
return this.get(index, ArgumentType.TARGET_SELECTOR);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected ItemResourceLocation getNodeAsItemResourceLocation(int index)
|
||||
{
|
||||
return this.get(index, Type.ITEM_RESOURCE_LOCATION);
|
||||
return this.get(index, ArgumentType.ITEM_RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected BlockResourceLocation getNodeAsBlockResourceLocation(int index)
|
||||
{
|
||||
return this.get(index, Type.BLOCK_RESOURCE_LOCATION);
|
||||
return this.get(index, ArgumentType.BLOCK_RESOURCE_LOCATION);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected CompoundNBT getNodeAsNBT(int index)
|
||||
{
|
||||
return this.get(index, Type.NBT);
|
||||
return this.get(index, ArgumentType.NBT);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private <T> T get(int index, Type type)
|
||||
private <T> T get(int index, ArgumentType type)
|
||||
{
|
||||
if(index < this.command.size())
|
||||
{
|
||||
Entry<SyntaxEntry, String> entry = this.command.get(index);
|
||||
Type expected = entry.getKey().getType();
|
||||
Entry<Argument, String> entry = this.command.get(index);
|
||||
ArgumentType expected = entry.getKey().getType();
|
||||
String value = entry.getValue();
|
||||
|
||||
if(expected.equals(type))
|
||||
@@ -252,21 +257,21 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
return null;
|
||||
}
|
||||
|
||||
private void warn(String function, Type expected, Type type, int index)
|
||||
private void warn(String function, ArgumentType expected, ArgumentType type, int index)
|
||||
{
|
||||
WorldHandler.LOGGER.warn("[" + function.toUpperCase() + "] Expected \"" + expected + "\" instead of \"" + type + "\" at index \"" + index + "\" for command \"" + this.getCommandName() + "\"");
|
||||
}
|
||||
|
||||
private boolean isDefaultEntry(Entry<SyntaxEntry, String> entry)
|
||||
private boolean isDefaultEntry(Entry<Argument, String> entry)
|
||||
{
|
||||
return entry.getKey().getDefault() != null ? entry.getValue().equals(entry.getKey().getDefault().toString()) : false;
|
||||
}
|
||||
|
||||
protected void updateSyntax(Syntax syntax)
|
||||
protected void updateSyntax(CommandSyntax syntax)
|
||||
{
|
||||
if(syntax != null)
|
||||
{
|
||||
this.command = syntax.getSyntaxEntries().stream().map(entry -> new SimpleEntry<SyntaxEntry, String>(entry, entry.toString())).collect(Collectors.toList());
|
||||
this.command = syntax.getArguments().stream().map(entry -> new SimpleEntry<Argument, String>(entry, entry.toString())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +280,7 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
{
|
||||
CommandString command = new CommandString(this.getCommandName());
|
||||
|
||||
for(Entry<SyntaxEntry, String> entry : this.command)
|
||||
for(Entry<Argument, String> entry : this.command)
|
||||
{
|
||||
if(this.isDefaultEntry(entry))
|
||||
{
|
||||
@@ -295,14 +300,21 @@ public abstract class CommandBuilder implements ICommandBuilderSyntax
|
||||
{
|
||||
CommandString command = new CommandString(this.getCommandName());
|
||||
|
||||
for(Entry<SyntaxEntry, String> entry : this.command)
|
||||
for(Entry<Argument, String> entry : this.command)
|
||||
{
|
||||
if(!entry.getKey().isRequired() && (entry.getKey().toString().equals(entry.getValue()) || this.isDefaultEntry(entry)))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
command.append(entry.getValue());
|
||||
if(entry.getKey().isRequired() && entry.getKey().toString().equals(entry.getValue()) && entry.getKey().getDefault() != null)
|
||||
{
|
||||
command.append(entry.getKey().getDefault().toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
command.append(entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
return command.toString();
|
||||
|
||||
112
src/main/java/exopandora/worldhandler/builder/CommandSyntax.java
Normal file
112
src/main/java/exopandora/worldhandler/builder/CommandSyntax.java
Normal file
@@ -0,0 +1,112 @@
|
||||
package exopandora.worldhandler.builder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class CommandSyntax
|
||||
{
|
||||
private List<Argument> syntax = new ArrayList<Argument>();
|
||||
|
||||
public CommandSyntax()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public CommandSyntax(List<Argument> syntax)
|
||||
{
|
||||
this.syntax = syntax;
|
||||
}
|
||||
|
||||
public CommandSyntax addRequired(String key, ArgumentType type)
|
||||
{
|
||||
this.syntax.add(new Argument(key, type, true, null));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CommandSyntax addRequired(String key, ArgumentType type, Object def)
|
||||
{
|
||||
this.syntax.add(new Argument(key, type, true, def));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CommandSyntax addOptional(String key, ArgumentType type)
|
||||
{
|
||||
this.syntax.add(new Argument(key, type, false, null));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CommandSyntax addOptional(String key, ArgumentType type, Object def)
|
||||
{
|
||||
this.syntax.add(new Argument(key, type, false, def));
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<Argument> getArguments()
|
||||
{
|
||||
return this.syntax;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public static class Argument
|
||||
{
|
||||
@SerializedName("name")
|
||||
private final String key;
|
||||
|
||||
@SerializedName("type")
|
||||
private final ArgumentType type;
|
||||
|
||||
@SerializedName("required")
|
||||
private final boolean required;
|
||||
|
||||
@SerializedName("default")
|
||||
private final Object def;
|
||||
|
||||
public Argument(String key, ArgumentType type, boolean required, Object def)
|
||||
{
|
||||
this.key = key;
|
||||
this.type = type;
|
||||
this.required = required;
|
||||
this.def = def;
|
||||
}
|
||||
|
||||
public String getKey()
|
||||
{
|
||||
return this.key;
|
||||
}
|
||||
|
||||
public ArgumentType getType()
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public boolean isRequired()
|
||||
{
|
||||
return this.required;
|
||||
}
|
||||
|
||||
public Object getDefault()
|
||||
{
|
||||
return this.def;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
if(this.required)
|
||||
{
|
||||
return "<" + this.key + ">";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "[" + this.key + "]";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ public interface ICommandBuilderSyntax extends ICommandBuilder
|
||||
{
|
||||
String getCommandName();
|
||||
String toActualCommand();
|
||||
Syntax getSyntax();
|
||||
CommandSyntax getSyntax();
|
||||
|
||||
@Override
|
||||
default boolean needsCommandBlock()
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
package exopandora.worldhandler.builder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class Syntax
|
||||
{
|
||||
private List<SyntaxEntry> syntax = new ArrayList<SyntaxEntry>();
|
||||
|
||||
public Syntax addRequired(String key, Type type)
|
||||
{
|
||||
this.syntax.add(new SyntaxEntry(key, type, true, null));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Syntax addRequired(String key, Type type, Object def)
|
||||
{
|
||||
this.syntax.add(new SyntaxEntry(key, type, true, def));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Syntax addOptional(String key, Type type)
|
||||
{
|
||||
this.syntax.add(new SyntaxEntry(key, type, false, null));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Syntax addOptional(String key, Type type, Object def)
|
||||
{
|
||||
this.syntax.add(new SyntaxEntry(key, type, false, def));
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<SyntaxEntry> getSyntaxEntries()
|
||||
{
|
||||
return this.syntax;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public static class SyntaxEntry
|
||||
{
|
||||
private final String key;
|
||||
private final Type type;
|
||||
private final boolean required;
|
||||
private final Object def;
|
||||
|
||||
public SyntaxEntry(String key, Type type, boolean required, Object def)
|
||||
{
|
||||
this.key = key;
|
||||
this.type = type;
|
||||
this.required = required;
|
||||
this.def = def;
|
||||
}
|
||||
|
||||
public String getKey()
|
||||
{
|
||||
return this.key;
|
||||
}
|
||||
|
||||
public Type getType()
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public boolean isRequired()
|
||||
{
|
||||
return this.required;
|
||||
}
|
||||
|
||||
public Object getDefault()
|
||||
{
|
||||
return this.def;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
if(this.required)
|
||||
{
|
||||
return "<" + this.key + ">";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "[" + this.key + "]";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.component.abstr;
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -6,7 +6,7 @@ import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
|
||||
import exopandora.worldhandler.builder.component.IBuilderComponent;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes;
|
||||
import exopandora.worldhandler.builder.impl.EnumAttributes;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -6,8 +6,7 @@ import java.util.function.Function;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.component.abstr.ComponentAttribute;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes;
|
||||
import exopandora.worldhandler.builder.impl.EnumAttributes;
|
||||
import net.minecraft.nbt.INBT;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.ListNBT;
|
||||
|
||||
@@ -5,8 +5,7 @@ import java.util.function.Function;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.component.abstr.ComponentAttribute;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes;
|
||||
import exopandora.worldhandler.builder.impl.EnumAttributes;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.INBT;
|
||||
import net.minecraft.nbt.ListNBT;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.component.IBuilderComponent;
|
||||
import exopandora.worldhandler.text.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.util.MutableStringTextComponent;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.INBT;
|
||||
import net.minecraft.nbt.ListNBT;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.component.abstr;
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -1,6 +1,5 @@
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.component.abstr.ComponentPotion;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.component.abstr.ComponentPotion;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.component.abstr;
|
||||
package exopandora.worldhandler.builder.component.impl;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -3,8 +3,8 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -87,14 +87,14 @@ public class BuilderAdvancement extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("grant|revoke|test", Type.STRING);
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("only|until|from|through|everything", Type.STRING);
|
||||
syntax.addOptional("advancement", Type.RESOURCE_LOCATION);
|
||||
syntax.addRequired("grant|revoke|test", ArgumentType.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("only|until|from|through|everything", ArgumentType.STRING);
|
||||
syntax.addOptional("advancement", ArgumentType.RESOURCE_LOCATION);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.impl.abstr;
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilderNBT;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
@@ -3,9 +3,9 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.TargetSelector;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -70,11 +70,11 @@ public class BuilderButcher extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("entity_name", Type.TARGET_SELECTOR);
|
||||
syntax.addRequired("entity_name", ArgumentType.TARGET_SELECTOR);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -2,11 +2,10 @@ package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderDoubleBlockPos;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.Coordinate.CoordinateType;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -133,21 +132,21 @@ public class BuilderClone extends BuilderDoubleBlockPos
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("x1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("x2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("x", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z", Type.COORDINATE_INT);
|
||||
syntax.addOptional("mask", Type.STRING);
|
||||
syntax.addOptional("filter", Type.STRING);
|
||||
syntax.addRequired("x1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("x2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("x", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z", ArgumentType.COORDINATE_INT);
|
||||
syntax.addOptional("mask", ArgumentType.STRING);
|
||||
syntax.addOptional("filter", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -5,9 +5,8 @@ import java.util.Set;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentAttributeItem;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentDisplay;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentEnchantment;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes.Applyable;
|
||||
import exopandora.worldhandler.text.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.builder.impl.EnumAttributes.Applyable;
|
||||
import exopandora.worldhandler.util.MutableStringTextComponent;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
|
||||
@@ -3,11 +3,10 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderBlockPos;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.TargetSelector;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@@ -180,24 +179,24 @@ public class BuilderData extends BuilderBlockPos
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private final Syntax getSyntax(EnumMode mode, EnumTarget target)
|
||||
private final CommandSyntax getSyntax(EnumMode mode, EnumTarget target)
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired(mode != null ? mode.toString() : "mode", Type.STRING);
|
||||
syntax.addRequired(target != null ? target.toString() : "target", Type.STRING);
|
||||
syntax.addRequired(mode != null ? mode.toString() : "mode", ArgumentType.STRING);
|
||||
syntax.addRequired(target != null ? target.toString() : "target", ArgumentType.STRING);
|
||||
|
||||
if(target != null)
|
||||
{
|
||||
switch(target)
|
||||
{
|
||||
case BLOCK:
|
||||
syntax.addRequired("x", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z", Type.COORDINATE_INT);
|
||||
syntax.addRequired("x", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z", ArgumentType.COORDINATE_INT);
|
||||
break;
|
||||
case ENTITY:
|
||||
syntax.addRequired("entity", Type.TARGET_SELECTOR);
|
||||
syntax.addRequired("entity", ArgumentType.TARGET_SELECTOR);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -208,10 +207,10 @@ public class BuilderData extends BuilderBlockPos
|
||||
case GET:
|
||||
break;
|
||||
case MERGE:
|
||||
syntax.addRequired("nbt", Type.NBT);
|
||||
syntax.addRequired("nbt", ArgumentType.NBT);
|
||||
break;
|
||||
case REMOVE:
|
||||
syntax.addRequired("path", Type.STRING);
|
||||
syntax.addRequired("path", ArgumentType.STRING);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -219,7 +218,7 @@ public class BuilderData extends BuilderBlockPos
|
||||
}
|
||||
else
|
||||
{
|
||||
syntax.addOptional("...", Type.STRING);
|
||||
syntax.addOptional("...", ArgumentType.STRING);
|
||||
}
|
||||
|
||||
return syntax;
|
||||
@@ -283,13 +282,13 @@ public class BuilderData extends BuilderBlockPos
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("get|merge|remove", Type.STRING);
|
||||
syntax.addRequired("block|entity", Type.STRING);
|
||||
syntax.addOptional("...", Type.STRING);
|
||||
syntax.addRequired("get|merge|remove", ArgumentType.STRING);
|
||||
syntax.addRequired("block|entity", ArgumentType.STRING);
|
||||
syntax.addOptional("...", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.world.Difficulty;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -35,11 +35,11 @@ public class BuilderDifficulty extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("peaceful|easy|normal|hard", Type.STRING);
|
||||
syntax.addRequired("peaceful|easy|normal|hard", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.impl.abstr;
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -53,13 +53,13 @@ public class BuilderEnchantment extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("enchantment", Type.RESOURCE_LOCATION);
|
||||
syntax.addOptional("level", Type.INT, 1);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("enchantment", ArgumentType.RESOURCE_LOCATION);
|
||||
syntax.addOptional("level", ArgumentType.INT, 1);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -74,14 +74,14 @@ public class BuilderExperience extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("add|set|query", Type.STRING);
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("amount", Type.INT);
|
||||
syntax.addOptional("levels|points", Type.STRING);
|
||||
syntax.addRequired("add|set|query", ArgumentType.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("amount", ArgumentType.INT);
|
||||
syntax.addOptional("levels|points", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -2,11 +2,10 @@ package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderDoubleBlockPos;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.BlockResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.BlockHelper;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@@ -106,19 +105,19 @@ public class BuilderFill extends BuilderDoubleBlockPos
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("x1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z1", Type.COORDINATE_INT);
|
||||
syntax.addRequired("x2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z2", Type.COORDINATE_INT);
|
||||
syntax.addRequired("block", Type.BLOCK_RESOURCE_LOCATION);
|
||||
syntax.addOptional("filter", Type.STRING);
|
||||
syntax.addOptional("block", Type.BLOCK_RESOURCE_LOCATION, "block");
|
||||
syntax.addRequired("x1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z1", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("x2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z2", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("block", ArgumentType.BLOCK_RESOURCE_LOCATION);
|
||||
syntax.addOptional("filter", ArgumentType.STRING);
|
||||
syntax.addOptional("block", ArgumentType.BLOCK_RESOURCE_LOCATION, "block");
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -42,12 +42,12 @@ public class BuilderGamemode extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("mode", Type.STRING);
|
||||
syntax.addOptional("player", Type.STRING);
|
||||
syntax.addRequired("mode", ArgumentType.STRING);
|
||||
syntax.addOptional("player", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -52,12 +52,12 @@ public class BuilderGamerule extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addOptional("rule", Type.STRING);
|
||||
syntax.addOptional("true|false|value", Type.STRING);
|
||||
syntax.addOptional("rule", ArgumentType.STRING);
|
||||
syntax.addOptional("true|false|value", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilderNBT;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ItemResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.ResourceHelper;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@@ -86,13 +86,13 @@ public class BuilderGive extends CommandBuilderNBT
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("item", Type.ITEM_RESOURCE_LOCATION);
|
||||
syntax.addRequired("count", Type.INT);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("item", ArgumentType.ITEM_RESOURCE_LOCATION);
|
||||
syntax.addRequired("count", ArgumentType.INT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -11,9 +11,9 @@ public class BuilderMultiCommand implements ICommandBuilder
|
||||
{
|
||||
private final ICommandBuilder[] builders;
|
||||
|
||||
public BuilderMultiCommand(ICommandBuilder... builder)
|
||||
public BuilderMultiCommand(ICommandBuilder... builders)
|
||||
{
|
||||
this.builders = builder;
|
||||
this.builders = builders;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -33,11 +33,11 @@ public class BuilderPlayer extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -43,12 +43,12 @@ public class BuilderPlayerReason extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addOptional("reason", Type.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addOptional("reason", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.component.abstr.EffectData;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.component.impl.EffectData;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.potion.Effect;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -170,16 +170,16 @@ public class BuilderPotionEffect extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("give|clear", Type.STRING);
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("effect", Type.RESOURCE_LOCATION);
|
||||
syntax.addOptional("seconds", Type.INT, 0);
|
||||
syntax.addOptional("amplifier", Type.BYTE, (byte) -1);
|
||||
syntax.addOptional("hideParticles", Type.BOOLEAN, false);
|
||||
syntax.addRequired("give|clear", ArgumentType.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("effect", ArgumentType.RESOURCE_LOCATION);
|
||||
syntax.addOptional("seconds", ArgumentType.INT, 0);
|
||||
syntax.addOptional("amplifier", ArgumentType.BYTE, (byte) -1);
|
||||
syntax.addOptional("hideParticles", ArgumentType.BOOLEAN, false);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@@ -76,13 +76,13 @@ public class BuilderRecipe extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("give|take", Type.STRING);
|
||||
syntax.addOptional("player", Type.STRING);
|
||||
syntax.addOptional("recipe", Type.RESOURCE_LOCATION);
|
||||
syntax.addRequired("give|take", ArgumentType.STRING);
|
||||
syntax.addOptional("player", ArgumentType.STRING);
|
||||
syntax.addOptional("recipe", ArgumentType.RESOURCE_LOCATION);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.impl.abstr;
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -2,10 +2,9 @@ package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderScoreboard;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.GreedyString;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -120,29 +119,29 @@ public class BuilderScoreboardObjectives extends BuilderScoreboard
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Syntax getSyntax(EnumMode mode)
|
||||
private CommandSyntax getSyntax(EnumMode mode)
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
switch(mode)
|
||||
{
|
||||
case ADD:
|
||||
syntax.addRequired("objectives", Type.STRING);
|
||||
syntax.addRequired("add", Type.STRING);
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addRequired("criteria_type", Type.STRING);
|
||||
syntax.addOptional("display_name...", Type.GREEDY_STRING);
|
||||
syntax.addRequired("objectives", ArgumentType.STRING);
|
||||
syntax.addRequired("add", ArgumentType.STRING);
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
syntax.addRequired("criteria_type", ArgumentType.STRING);
|
||||
syntax.addOptional("display_name...", ArgumentType.GREEDY_STRING);
|
||||
return syntax;
|
||||
case REMOVE:
|
||||
syntax.addRequired("objectives", Type.STRING);
|
||||
syntax.addRequired("remove", Type.STRING);
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addRequired("objectives", ArgumentType.STRING);
|
||||
syntax.addRequired("remove", ArgumentType.STRING);
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
return syntax;
|
||||
case SETDISPLAY:
|
||||
syntax.addRequired("objectives", Type.STRING);
|
||||
syntax.addRequired("setdisplay", Type.STRING);
|
||||
syntax.addRequired("slot", Type.STRING);
|
||||
syntax.addOptional("objective", Type.STRING);
|
||||
syntax.addRequired("objectives", ArgumentType.STRING);
|
||||
syntax.addRequired("setdisplay", ArgumentType.STRING);
|
||||
syntax.addRequired("slot", ArgumentType.STRING);
|
||||
syntax.addOptional("objective", ArgumentType.STRING);
|
||||
return syntax;
|
||||
default:
|
||||
return null;
|
||||
@@ -150,13 +149,13 @@ public class BuilderScoreboardObjectives extends BuilderScoreboard
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("objectives", Type.STRING);
|
||||
syntax.addRequired("list|add|remove|setdisplay", Type.STRING);
|
||||
syntax.addOptional("...", Type.STRING);
|
||||
syntax.addRequired("objectives", ArgumentType.STRING);
|
||||
syntax.addRequired("list|add|remove|setdisplay", ArgumentType.STRING);
|
||||
syntax.addOptional("...", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderScoreboard;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -91,25 +90,25 @@ public class BuilderScoreboardPlayers extends BuilderScoreboard
|
||||
return 0;
|
||||
}
|
||||
|
||||
private Syntax getSyntax(String mode)
|
||||
private CommandSyntax getSyntax(String mode)
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
if(mode.equals("enable"))
|
||||
{
|
||||
syntax.addRequired("players", Type.STRING);
|
||||
syntax.addRequired("enable", Type.STRING);
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("objective", Type.STRING);
|
||||
syntax.addRequired("players", ArgumentType.STRING);
|
||||
syntax.addRequired("enable", ArgumentType.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("objective", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
syntax.addRequired("players", Type.STRING);
|
||||
syntax.addRequired("add|set|remove", Type.STRING, "add|set|remove");
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("objective", Type.STRING);
|
||||
syntax.addRequired("score", Type.INT, 0);
|
||||
syntax.addRequired("players", ArgumentType.STRING);
|
||||
syntax.addRequired("add|set|remove", ArgumentType.STRING, "add|set|remove");
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("objective", ArgumentType.STRING);
|
||||
syntax.addRequired("score", ArgumentType.INT, 0);
|
||||
|
||||
return syntax;
|
||||
|
||||
@@ -144,13 +143,13 @@ public class BuilderScoreboardPlayers extends BuilderScoreboard
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("players", Type.STRING);
|
||||
syntax.addRequired("add|enable|get|list|operation|remove|reset|set", Type.STRING);
|
||||
syntax.addOptional("...", Type.STRING);
|
||||
syntax.addRequired("players", ArgumentType.STRING);
|
||||
syntax.addRequired("add|enable|get|list|operation|remove|reset|set", ArgumentType.STRING);
|
||||
syntax.addOptional("...", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.impl.abstr.BuilderBlockPos;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.BlockResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.state.IProperty;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@@ -71,15 +70,15 @@ public class BuilderSetBlock extends BuilderBlockPos
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("x", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z", Type.COORDINATE_INT);
|
||||
syntax.addRequired("block", Type.BLOCK_RESOURCE_LOCATION);
|
||||
syntax.addOptional("mode", Type.STRING);
|
||||
syntax.addRequired("x", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("block", ArgumentType.BLOCK_RESOURCE_LOCATION);
|
||||
syntax.addOptional("mode", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentTag;
|
||||
import exopandora.worldhandler.text.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.text.SignText;
|
||||
import exopandora.worldhandler.util.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.util.SignText;
|
||||
import net.minecraft.nbt.StringNBT;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.Coordinate.CoordinateType;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -45,14 +45,14 @@ public class BuilderSpawnpoint extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("x", Type.COORDINATE_INT);
|
||||
syntax.addRequired("y", Type.COORDINATE_INT);
|
||||
syntax.addRequired("z", Type.COORDINATE_INT);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("x", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("y", ArgumentType.COORDINATE_INT);
|
||||
syntax.addRequired("z", ArgumentType.COORDINATE_INT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -7,17 +7,16 @@ import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilderNBT;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentAttributeMob;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentPotionMob;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentSummon;
|
||||
import exopandora.worldhandler.builder.component.impl.ComponentTag;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes;
|
||||
import exopandora.worldhandler.builder.impl.abstr.EnumAttributes.Applyable;
|
||||
import exopandora.worldhandler.builder.impl.EnumAttributes.Applyable;
|
||||
import exopandora.worldhandler.builder.types.Coordinate.CoordinateType;
|
||||
import exopandora.worldhandler.text.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.util.MutableStringTextComponent;
|
||||
import exopandora.worldhandler.builder.types.CoordinateDouble;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -369,15 +368,15 @@ public class BuilderSummon extends CommandBuilderNBT
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("entity_name", Type.RESOURCE_LOCATION);
|
||||
syntax.addOptional("x", Type.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("y", Type.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("z", Type.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("nbt", Type.NBT);
|
||||
syntax.addRequired("entity_name", ArgumentType.RESOURCE_LOCATION);
|
||||
syntax.addOptional("x", ArgumentType.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("y", ArgumentType.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("z", ArgumentType.COORDINATE_DOUBLE);
|
||||
syntax.addOptional("nbt", ArgumentType.NBT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -56,13 +56,13 @@ public class BuilderTag extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("player", Type.STRING);
|
||||
syntax.addRequired("add|list|remove", Type.STRING);
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addRequired("player", ArgumentType.STRING);
|
||||
syntax.addRequired("add|list|remove", ArgumentType.STRING);
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.GreedyString;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -131,45 +131,45 @@ public class BuilderTeams extends CommandBuilder
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Syntax getSyntax(String mode)
|
||||
private CommandSyntax getSyntax(String mode)
|
||||
{
|
||||
if(mode.equals("add"))
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("add", Type.STRING);
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addOptional("display_name...", Type.GREEDY_STRING);
|
||||
syntax.addRequired("add", ArgumentType.STRING);
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
syntax.addOptional("display_name...", ArgumentType.GREEDY_STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
else if(mode.equals("remove|empty"))
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("remove|empty", Type.STRING, "remove|empty");
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addRequired("remove|empty", ArgumentType.STRING, "remove|empty");
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
else if(mode.equals("join|leave"))
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("join|leave", Type.STRING, "join|leave");
|
||||
syntax.addRequired("name", Type.STRING);
|
||||
syntax.addOptional("player", Type.STRING);
|
||||
syntax.addRequired("join|leave", ArgumentType.STRING, "join|leave");
|
||||
syntax.addRequired("name", ArgumentType.STRING);
|
||||
syntax.addOptional("player", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
else if(mode.equals("modify"))
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("modify", Type.STRING);
|
||||
syntax.addRequired("team", Type.STRING);
|
||||
syntax.addRequired("friendlyfire|color|seeFriendlyInvisibles|nametagVisibility|deathMessageVisibility|collisionRule", Type.STRING);
|
||||
syntax.addRequired("value", Type.STRING);
|
||||
syntax.addRequired("modify", ArgumentType.STRING);
|
||||
syntax.addRequired("team", ArgumentType.STRING);
|
||||
syntax.addRequired("friendlyfire|color|seeFriendlyInvisibles|nametagVisibility|deathMessageVisibility|collisionRule", ArgumentType.STRING);
|
||||
syntax.addRequired("value", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
@@ -212,12 +212,12 @@ public class BuilderTeams extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("list|add|remove|empty|join|leave|modify", Type.STRING);
|
||||
syntax.addOptional("...", Type.STRING);
|
||||
syntax.addRequired("list|add|remove|empty|join|leave|modify", ArgumentType.STRING);
|
||||
syntax.addOptional("...", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -42,12 +42,12 @@ public class BuilderTime extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("set|add|query", Type.STRING);
|
||||
syntax.addOptional("value", Type.INT);
|
||||
syntax.addRequired("set|add|query", ArgumentType.STRING);
|
||||
syntax.addOptional("value", ArgumentType.INT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.helper.EnumHelper;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
@@ -62,13 +62,13 @@ public class BuilderTrigger extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("objective", Type.STRING);
|
||||
syntax.addRequired("add|set", Type.STRING);
|
||||
syntax.addRequired("value", Type.INT);
|
||||
syntax.addRequired("objective", ArgumentType.STRING);
|
||||
syntax.addRequired("add|set", ArgumentType.STRING);
|
||||
syntax.addRequired("value", ArgumentType.INT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.CommandSyntax.Argument;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import exopandora.worldhandler.builder.types.BlockResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.CoordinateDouble;
|
||||
import exopandora.worldhandler.builder.types.CoordinateInt;
|
||||
import exopandora.worldhandler.builder.types.GreedyString;
|
||||
import exopandora.worldhandler.builder.types.ItemResourceLocation;
|
||||
import exopandora.worldhandler.builder.types.TargetSelector;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class BuilderUsercontent extends CommandBuilder
|
||||
{
|
||||
private final String name;
|
||||
private final CommandSyntax syntax;
|
||||
|
||||
public BuilderUsercontent(String name, CommandSyntax syntax)
|
||||
{
|
||||
this.name = name;
|
||||
this.syntax = syntax;
|
||||
this.updateSyntax(this.syntax);
|
||||
}
|
||||
|
||||
public void set(int index, String object)
|
||||
{
|
||||
if(index < this.syntax.getArguments().size() && index >= 0)
|
||||
{
|
||||
Argument argument = this.syntax.getArguments().get(index);
|
||||
ArgumentType type = argument.getType();
|
||||
|
||||
switch(type)
|
||||
{
|
||||
case STRING:
|
||||
this.setNode(index, type.<String>parseOfDefault(object, (String) argument.getDefault()));
|
||||
break;
|
||||
case BLOCK_RESOURCE_LOCATION:
|
||||
this.setNode(index, type.<BlockResourceLocation>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case BOOLEAN:
|
||||
this.setNode(index, type.<Boolean>parseOfDefault(object, (Boolean) argument.getDefault()));
|
||||
break;
|
||||
case BYTE:
|
||||
this.setNode(index, type.<Byte>parseOfDefault(object, ((Double) argument.getDefault()).byteValue()));
|
||||
break;
|
||||
case COORDINATE_DOUBLE:
|
||||
this.setNode(index, type.<CoordinateDouble>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case COORDINATE_INT:
|
||||
this.setNode(index, type.<CoordinateInt>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case DOUBLE:
|
||||
this.setNode(index, type.<Double>parseOfDefault(object, (Double) argument.getDefault()));
|
||||
break;
|
||||
case FLOAT:
|
||||
this.setNode(index, type.<Float>parseOfDefault(object, ((Double) argument.getDefault()).floatValue()));
|
||||
break;
|
||||
case GREEDY_STRING:
|
||||
this.setNode(index, type.<GreedyString>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case INT:
|
||||
this.setNode(index, type.<Integer>parseOfDefault(object, ((Double) argument.getDefault()).intValue()));
|
||||
break;
|
||||
case ITEM_RESOURCE_LOCATION:
|
||||
this.setNode(index, type.<ItemResourceLocation>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case LONG:
|
||||
this.setNode(index, type.<Long>parseOfDefault(object, ((Double) argument.getDefault()).longValue()));
|
||||
break;
|
||||
case NBT:
|
||||
this.setNode(index, type.<CompoundNBT>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case RESOURCE_LOCATION:
|
||||
this.setNode(index, type.<ResourceLocation>parseOfDefault(object, type.parse((String) argument.getDefault())));
|
||||
break;
|
||||
case SHORT:
|
||||
this.setNode(index, type.<Short>parseOfDefault(object, ((Double) argument.getDefault()).shortValue()));
|
||||
break;
|
||||
case TARGET_SELECTOR:
|
||||
this.setNode(index, type.<TargetSelector>parseOfDefault(object, type.<TargetSelector>parse((String) argument.getDefault())));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String get(int index)
|
||||
{
|
||||
if(index < this.syntax.getArguments().size() && index >= 0)
|
||||
{
|
||||
Argument argument = this.syntax.getArguments().get(index);
|
||||
|
||||
switch(argument.getType())
|
||||
{
|
||||
case BLOCK_RESOURCE_LOCATION:
|
||||
return this.getNodeAsBlockResourceLocation(index).toString();
|
||||
case BOOLEAN:
|
||||
return String.valueOf(this.getNodeAsBoolean(index));
|
||||
case BYTE:
|
||||
return String.valueOf(this.getNodeAsByte(index));
|
||||
case COORDINATE_DOUBLE:
|
||||
return this.getNodeAsCoordinateDouble(index).toString();
|
||||
case COORDINATE_INT:
|
||||
return this.getNodeAsCoordinateInt(index).toString();
|
||||
case DOUBLE:
|
||||
return String.valueOf(this.getNodeAsDouble(index));
|
||||
case FLOAT:
|
||||
return String.valueOf(this.getNodeAsFloat(index));
|
||||
case GREEDY_STRING:
|
||||
return this.getNodeAsGreedyString(index);
|
||||
case INT:
|
||||
return String.valueOf(this.getNodeAsInt(index));
|
||||
case ITEM_RESOURCE_LOCATION:
|
||||
return this.getNodeAsItemResourceLocation(index).toString();
|
||||
case LONG:
|
||||
return String.valueOf(this.getNodeAsLong(index));
|
||||
case NBT:
|
||||
return this.getNodeAsNBT(index).toString();
|
||||
case RESOURCE_LOCATION:
|
||||
return this.getNodeAsResourceLocation(index).toString();
|
||||
case SHORT:
|
||||
return String.valueOf(this.getNodeAsShort(index));
|
||||
case STRING:
|
||||
return this.getNodeAsString(index);
|
||||
case TARGET_SELECTOR:
|
||||
return this.getNodeAsTargetSelector(index).toString();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setPlayerName(String username)
|
||||
{
|
||||
for(int x = 0; x < this.syntax.getArguments().size(); x++)
|
||||
{
|
||||
if(ArgumentType.PLAYER.equals(this.syntax.getArguments().get(x).getType()))
|
||||
{
|
||||
this.setPlayerName(x, username);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCommandName()
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
return this.syntax;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -16,11 +16,11 @@ public class BuilderWH extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public Syntax getSyntax()
|
||||
public CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("pos1|pos2|fill|replace", Type.STRING);
|
||||
syntax.addRequired("pos1|pos2|fill|replace", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -42,12 +42,12 @@ public class BuilderWeather extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("clear|rain|thunde", Type.STRING);
|
||||
syntax.addOptional("duration", Type.INT);
|
||||
syntax.addRequired("clear|rain|thunde", ArgumentType.STRING);
|
||||
syntax.addOptional("duration", ArgumentType.INT);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package exopandora.worldhandler.builder.impl;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -66,12 +66,12 @@ public class BuilderWhitelist extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("add|remove|reload|on|off", Type.STRING);
|
||||
syntax.addOptional("player", Type.STRING);
|
||||
syntax.addRequired("add|remove|reload|on|off", ArgumentType.STRING);
|
||||
syntax.addOptional("player", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.Syntax;
|
||||
import exopandora.worldhandler.builder.types.Type;
|
||||
import exopandora.worldhandler.builder.CommandSyntax;
|
||||
import exopandora.worldhandler.builder.types.ArgumentType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@@ -16,11 +16,11 @@ public class BuilderWorldHandler extends CommandBuilder
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Syntax getSyntax()
|
||||
public final CommandSyntax getSyntax()
|
||||
{
|
||||
Syntax syntax = new Syntax();
|
||||
CommandSyntax syntax = new CommandSyntax();
|
||||
|
||||
syntax.addRequired("help|display|version", Type.STRING);
|
||||
syntax.addRequired("help|display|version", ArgumentType.STRING);
|
||||
|
||||
return syntax;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package exopandora.worldhandler.builder.impl.abstr;
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -2,6 +2,7 @@ package exopandora.worldhandler.builder.types;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
@@ -13,7 +14,7 @@ import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public enum Type
|
||||
public enum ArgumentType
|
||||
{
|
||||
SHORT(Short::valueOf),
|
||||
BYTE(Byte::valueOf),
|
||||
@@ -24,17 +25,18 @@ public enum Type
|
||||
BOOLEAN(Boolean::valueOf),
|
||||
STRING(String::valueOf),
|
||||
GREEDY_STRING(GreedyString::valueOf),
|
||||
RESOURCE_LOCATION(Type::parseResourceLocation),
|
||||
RESOURCE_LOCATION(ArgumentType::parseResourceLocation),
|
||||
ITEM_RESOURCE_LOCATION(ItemResourceLocation::valueOf),
|
||||
BLOCK_RESOURCE_LOCATION(BlockResourceLocation::valueOf),
|
||||
NBT(Type::parseCompoundNBT),
|
||||
NBT(ArgumentType::parseCompoundNBT),
|
||||
COORDINATE_INT(CoordinateInt::valueOf),
|
||||
COORDINATE_DOUBLE(CoordinateDouble::valueOf),
|
||||
TARGET_SELECTOR(TargetSelector::valueOf);
|
||||
TARGET_SELECTOR(TargetSelector::valueOf),
|
||||
PLAYER(String::valueOf);
|
||||
|
||||
private final Function<String, Object> parser;
|
||||
|
||||
private Type(Function<String, Object> parser)
|
||||
private ArgumentType(Function<String, Object> parser)
|
||||
{
|
||||
this.parser = parser;
|
||||
}
|
||||
@@ -46,10 +48,23 @@ public enum Type
|
||||
return (T) this.parser.apply(object);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public <T> T parseOfDefault(String object, T def)
|
||||
{
|
||||
try
|
||||
{
|
||||
return this.<T>parse(object);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return def;
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static ResourceLocation parseResourceLocation(String value)
|
||||
{
|
||||
return value != null ? new ResourceLocation(value) : null;
|
||||
return value != null && !value.isEmpty() ? new ResourceLocation(value) : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
Reference in New Issue
Block a user