SteamWar/BauSystem2.0
Archiviert
12
0

Finalize ScriptCommand

Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
yoyosource 2021-07-29 15:51:46 +02:00
Ursprung a6775ecff5
Commit a348bcc5c3
30 geänderte Dateien mit 221 neuen und 62 gelöschten Zeilen

Datei anzeigen

@ -1,17 +1,20 @@
package de.steamwar.bausystem.features.script; package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand; import de.steamwar.command.SWCommand;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List; import java.util.List;
import static de.steamwar.bausystem.features.script.ScriptExecutor.SPECIAL_COMMANDS;
@Linked(LinkageType.COMMAND) @Linked(LinkageType.COMMAND)
public class ScriptCommand extends SWCommand { public class ScriptCommand extends SWCommand {
@ -19,49 +22,7 @@ public class ScriptCommand extends SWCommand {
super("script"); super("script");
} }
public static final ItemStack BOOK = new ItemStack(Material.WRITTEN_BOOK, 1); private static List<SWListInv.SWListEntry<Object>> swItems = new ArrayList<>();
static {
List<String> pages = new ArrayList<>();
pages.add("§6Script System§8\n\n- Commands\n- Kommentare\n- Scriptausführung\n- Sleep\n- Variablen\n- Konstanten\n- Abfragen\n- Schleifen\n- \"echo\"\n- \"input\"\n- Arithmetik\n- Logik");
pages.add("§6Commands§8\n\nEin minecraft Befehl wird im Scriptbuch so hingeschrieben. Dabei kann man ein '/' weglassen. Um Befehle zu trennen kommen diese in neue Zeilen.\n\nStatt\n/tnt -> tnt\n//pos1 -> /pos1");
pages.add("§6Kommentare§8\n\nFür ein Kommentar fängt die Zeile mit einem '#' an. Diese Zeilen werden bei dem Ausführen dann ignoriert.\n\nBeispiel:\n§9# TNT an/aus\ntnt");
pages.add("§6Scriptausführung§8\n\nWenn du mit dem Buch in der Hand links klickst wird dieses ausgeführt.");
pages.add("§6Sleep§8\n\nUm Sachen langsamer zu machen kann man ein 'sleep' in sein Script schreiben. Danach kommt eine Zahl mit der Anzahl der GameTicks die zu schlafen sind.\n\nBeispiel:\n§9# 1 Sekunde schlafen\nsleep 20");
pages.add("§6Variablen§8\n\nMit Variablen kann man sich Zahlen speichern. Man definiert diese mit 'var <NAME> <VALUE>'.\n\nBeispiel:\n§9# Setze i zu 0\nvar i 0§8\n\nEs gibt einige spezial values. Dazu zählen");
pages.add("§8'true', 'yes', 'false' und 'no', welche für 1, 1, 0 und 0 stehen.\n\nMan kann eine Variable auch um einen erhöhen oder verkleinern. Hierfür schreibt man statt einer Zahl '++', 'inc' oder '--', 'dec'.\n\nBeispiel:\n§9var i ++");
pages.add("§8Variablen kann man referenzieren\ndurch '<' vor dem Variablennamen und '>' nach diesem. Diese kann man in jedem Befehl verwenden.\n\nBeispiel:\n§9# Stacked um 10\nvar stacks 10\n/stack <stacks>");
pages.add("§8Man kann auch explizit eine globale, locale, oder konstante variable referenzieren, indem 'global.', 'local.' oder 'const.' vor den Namen in die Klammern zu schreiben.");
pages.add("§8Um Variablen über das Script ausführen zu speichern gibt es 'global' und 'unglobal' als Befehle. Der erste speichert eine locale Variable global und das zweite löscht eine globale wieder.");
pages.add("§8Des weiteren kann man Lokale Variablen mit 'unvar' löschen. Nach dem verlassen einer Welt werden alle Globalen Variablen gelöscht. Globale Variablen kann man mit '/scriptvars' einsehen.");
pages.add("§6Konstanten§8\n\nNeben den variablen gibt es noch 5 Konstante Werte, welche nicht mit dem 'var' Befehl verändert werden können.\n\nDiese sind:\n- trace/autotrace\n- tnt\n- freeze\n- fire");
pages.add("§8Des weiteren gibt es 3 weitere Variablen, welche explizit Spieler gebunden sind\n\nDiese sind:\n- x\n- y\n- z");
pages.add("§6Abfragen§8\n\nMit Abfragen kann man nur Gleichheit von 2 Werten überprüft werden. Hierfür verwendet man\n'if <VAL> <VAL>'.\nNach den zwei Werten kann man ein oder 2 Jump-Points schreiben\n'if [...] <JP> (JP)'.");
pages.add("§8Des weiteren kann man überprüfen, ob eine Variable existiert mit 'if <VAL> exists' wonach dann wieder 1 oder 2 Jump-Points sein müssen.");
pages.add("§8Ein Jump-Point ist eine Zeile Script, wohin man springen kann. Dieser wird mit einem '.' am Anfang der Zeile beschrieben und direkt danach der Jump-Point Namen ohne Leerzeichen.\n\nBeispiel:\n§9# Jump-Point X\n.X§8");
pages.add("§8Um zu einem Jump-Point ohne Abfrage zu springen kann man den\n'jump <JP>' Befehl verwenden.");
pages.add("§6Schleifen§8\n\nSchleifen werden mit Jump-Points, if Abfragen und Jumps gebaut.\n\nBeispiel:\n§9var i 0\n.JUMP\nvar i ++\nif i 10 END JUMP\n.END§8");
pages.add("§6\"echo\"§8\n\nDer echo Befehl ist da um Ausgaben zu tätigen. Hier drin kann man sowohl Variablen ausgeben, als auch Farbcodes verwenden. Es wird alles nach dem Befehl ausgegeben.\n\nBeispiel:\n§9echo &eSteam&8war &7war hier!");
pages.add("§6\"input\"§8\n\nDer input Befehl ist eine Aufforderung einer Eingabe des Users. Die Argumente sind eine Variable und ein Text als Nachricht.\n\nBeispiel:\n§9input age &eDein Alter?");
pages.add("§6Arithmetik§8\n\nEs gibt 4 Arithmetische Befehle:\n- add\n- sub\n- mul\n- div\n\nDer erste Parameter ist die Variable welche den ausgerechneten Wert halten soll. Hiernach muss ein");
pages.add("§8Wert oder Variable kommen welcher verrechnet wird. Hierbei wird das erste Argument als ersten Operand genommen.\n\nBeispiel:\n§9var i 2\nvar j 3\nadd i j\necho $i");
pages.add("§8Man kann auch 3 Argumente angeben. Dann wird die arithmetische Operation zwischen den letzten beiden Argumenten berechnet und als Variable des ersten Arguments abgespeichert. \n\nBeispiel auf der nächsten Seite -->");
pages.add("§8Beispiel:\n§9var i 2\nvar j 2\nadd k i j\necho $k");
pages.add("§6Logik§8\n\nEs gibt 3 Vergleichs Befehle:\n- equal\n- less\n- greater\n\nUnd 3 Logik Befehle:\n- and\n- or\n- not");
pages.add("§8Der erste Parameter ist die Variable welche den ausgerechneten Wert halten soll. Hiernach muss ein Wert oder Variable kommen welcher verrechnet wird. Hierbei wird das erste Argument als ersten Operand genommen. Dies gilt nicht für den 'not' Befehl, welcher");
pages.add("§8nur 2 Parameter nimmt. Der erste die Variable und der zweite eine optionale Variable oder ein Wert. Equal vergleicht 2 Werte, less gibt zurück ob der erste kleiner als der zweite Wert ist, greater gibt zurück ob der erste größer als der zweite Wert ist.");
pages.add("§8And vergleicht ob 2 Werte true (1) sind. Or vergleicht ob 1 Wert oder 2 Werte true (1) ist/sind. Not invertiert den Wert von true (1) auf false und anders rum.");
pages.add("§8Beispiel:\n§9var i 1\nvar j 1\n#Ist i und j gleich\nequal k i j\nvar j 0\n#Ist i kleiner j\nless k i j\n#Ist i größer j\ngreater k i j\n#Ist i und j true\nand k i j\n#Beispiel weiter auf nächster Seite");
pages.add("§9#Ist i oder j true\nor k i j\n#Invertiere i\nnot k i");
BookMeta bookMeta = (BookMeta) BOOK.getItemMeta();
bookMeta.setGeneration(BookMeta.Generation.ORIGINAL);
bookMeta.setAuthor("§eSteam§8war");
bookMeta.setTitle("§7Script Buch");
bookMeta.setDisplayName("§7Script Buch");
bookMeta.setPages(pages);
BOOK.setItemMeta(bookMeta);
}
@Register(help = true) @Register(help = true)
public void genericHelp(Player p, String... args) { public void genericHelp(Player p, String... args) {
@ -70,7 +31,41 @@ public class ScriptCommand extends SWCommand {
@Register @Register
public void giveCommand(Player p) { public void giveCommand(Player p) {
SWUtils.giveItemToPlayer(p, BOOK); if (swItems.isEmpty()) {
List<SpecialCommand> specialCommands = new ArrayList<>(SPECIAL_COMMANDS);
specialCommands.sort(Comparator.comparing(specialCommand -> specialCommand.getClass().getTypeName()));
specialCommands.forEach(specialCommand -> {
List<String> strings = new ArrayList<>();
boolean b = false;
for (String s : specialCommand.description()) {
if (s.isEmpty()) {
b = true;
}
while (b && s.length() > 50) {
int index = s.indexOf(' ', 50);
if (index == -1) {
strings.add("§7" + s);
s = null;
break;
} else {
strings.add("§7" + s.substring(0, index));
s = s.substring(index + 1);
}
}
if (s != null) {
strings.add("§7" + s);
}
}
SWItem swItem = new SWItem(specialCommand.material(), "§7Command: §e" + specialCommand.command(), strings, false, clickType -> {
});
swItems.add(new SWListInv.SWListEntry<>(swItem, null));
});
}
SWListInv<Object> swListInv = new SWListInv<>(p, "Script Elements", swItems, (clickType, o) -> {
});
swListInv.open();
} }
} }

Datei anzeigen

@ -30,10 +30,7 @@ public class ScriptListener implements Listener {
@EventHandler(priority = EventPriority.HIGH) @EventHandler(priority = EventPriority.HIGH)
public void onLeftClick(PlayerInteractEvent event) { public void onLeftClick(PlayerInteractEvent event) {
ItemStack item = event.getItem(); ItemStack item = event.getItem();
if (item == null || isNoBook(item) || item.getItemMeta() == null) if (item == null || isNoBook(item) || item.getItemMeta() == null) {
return;
if (ScriptCommand.BOOK.getItemMeta() != null && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals(ScriptCommand.BOOK.getItemMeta().getDisplayName())) {
return; return;
} }

Datei anzeigen

@ -1,11 +1,17 @@
package de.steamwar.bausystem.features.script; package de.steamwar.bausystem.features.script;
import org.bukkit.Material;
public interface SpecialCommand { public interface SpecialCommand {
default String[] description() { default String[] description() {
return new String[0]; return new String[0];
} }
default Material material() {
return Material.PAPER;
}
String command(); String command();
boolean execute(String[] command, ScriptExecutor scriptExecutor); boolean execute(String[] command, ScriptExecutor scriptExecutor);

Datei anzeigen

@ -4,6 +4,7 @@ import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand; import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Exit implements SpecialCommand { public class Exit implements SpecialCommand {
@ -17,6 +18,11 @@ public class Exit implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.BARRIER;
}
@Override @Override
public String command() { public String command() {
return "exit"; return "exit";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class If implements SpecialCommand { public class If implements SpecialCommand {
@ -20,6 +21,11 @@ public class If implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.OBSERVER;
}
@Override @Override
public String command() { public String command() {
return "if"; return "if";

Datei anzeigen

@ -5,6 +5,7 @@ import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand; import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Jump implements SpecialCommand { public class Jump implements SpecialCommand {
@ -18,6 +19,11 @@ public class Jump implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.LEATHER_BOOTS;
}
@Override @Override
public String command() { public String command() {
return "jump"; return "jump";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Sleep implements SpecialCommand { public class Sleep implements SpecialCommand {
@ -13,12 +14,17 @@ public class Sleep implements SpecialCommand {
@Override @Override
public String[] description() { public String[] description() {
return new String[]{ return new String[]{
"§esleep §8<§8Time§8>", "§esleep §8<§7Time§8>",
"", "",
"Pausiert das Ausführen des Scripts. Das erste Argument ist in GameTicks." "Pausiert das Ausführen des Scripts. Das erste Argument ist in GameTicks."
}; };
} }
@Override
public Material material() {
return Material.CLOCK;
}
@Override @Override
public String command() { public String command() {
return "sleep"; return "sleep";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Add implements SpecialCommand { public class Add implements SpecialCommand {
@ -16,10 +17,15 @@ public class Add implements SpecialCommand {
"§eadd §8<§7Variable§8> §8<§7Variable§8>", "§eadd §8<§7Variable§8> §8<§7Variable§8>",
"§eadd §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§eadd §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Addition zwischen den letzten beiden Variablen und schreibe es in die erste." "Addition zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.REDSTONE;
}
@Override @Override
public String command() { public String command() {
return "add"; return "add";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Div implements SpecialCommand { public class Div implements SpecialCommand {
@ -16,10 +17,15 @@ public class Div implements SpecialCommand {
"§ediv §8<§7Variable§8> §8<§7Variable§8>", "§ediv §8<§7Variable§8> §8<§7Variable§8>",
"§ediv §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§ediv §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Division zwischen den letzten beiden Variablen und schreibe es in die erste." "Division zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.REDSTONE;
}
@Override @Override
public String command() { public String command() {
return "div"; return "div";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Mul implements SpecialCommand { public class Mul implements SpecialCommand {
@ -16,10 +17,15 @@ public class Mul implements SpecialCommand {
"§emul §8<§7Variable§8> §8<§7Variable§8>", "§emul §8<§7Variable§8> §8<§7Variable§8>",
"§emul §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§emul §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Multiplikation zwischen den letzten beiden Variablen und schreibe es in die erste." "Multiplikation zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.REDSTONE;
}
@Override @Override
public String command() { public String command() {
return "mul"; return "mul";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Sub implements SpecialCommand { public class Sub implements SpecialCommand {
@ -16,10 +17,15 @@ public class Sub implements SpecialCommand {
"§esub §8<§7Variable§8> §8<§7Variable§8>", "§esub §8<§7Variable§8> §8<§7Variable§8>",
"§esub §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§esub §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Subtraktion zwischen den letzten beiden Variablen und schreibe es in die erste." "Subtraktion zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.REDSTONE;
}
@Override @Override
public String command() { public String command() {
return "sub"; return "sub";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Echo implements SpecialCommand { public class Echo implements SpecialCommand {
@ -19,6 +20,11 @@ public class Echo implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.OAK_SIGN;
}
@Override @Override
public String command() { public String command() {
return "echo"; return "echo";

Datei anzeigen

@ -8,6 +8,7 @@ import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.inventory.SWAnvilInv; import de.steamwar.inventory.SWAnvilInv;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Input implements SpecialCommand { public class Input implements SpecialCommand {
@ -21,6 +22,11 @@ public class Input implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.ANVIL;
}
@Override @Override
public String command() { public String command() {
return "input"; return "input";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class And implements SpecialCommand { public class And implements SpecialCommand {
@ -16,10 +17,15 @@ public class And implements SpecialCommand {
"§eand §8<§7Variable§8> §8<§7Variable§8>", "§eand §8<§7Variable§8> §8<§7Variable§8>",
"§eand §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§eand §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Das logische Und zwischen den letzten beiden Variablen und schreibe es in die erste." "Das logische Und zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "and"; return "and";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Equal implements SpecialCommand { public class Equal implements SpecialCommand {
@ -16,10 +17,15 @@ public class Equal implements SpecialCommand {
"§eequal §8<§7Variable§8> §8<§7Variable§8>", "§eequal §8<§7Variable§8> §8<§7Variable§8>",
"§eequal §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§eequal §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Vergleiche die letzten beiden Variablen und schreibe es in die erste." "Vergleiche die letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "equal"; return "equal";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Greater implements SpecialCommand { public class Greater implements SpecialCommand {
@ -16,10 +17,15 @@ public class Greater implements SpecialCommand {
"§egreater §8<§7Variable§8> §8<§7Variable§8>", "§egreater §8<§7Variable§8> §8<§7Variable§8>",
"§egreater §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§egreater §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Vergleiche die letzten beiden Variablen und schreibe es in die erste." "Vergleiche die letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "greater"; return "greater";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Less implements SpecialCommand { public class Less implements SpecialCommand {
@ -16,10 +17,15 @@ public class Less implements SpecialCommand {
"§eless §8<§7Variable§8> §8<§7Variable§8>", "§eless §8<§7Variable§8> §8<§7Variable§8>",
"§eless §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§eless §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Vergleiche die letzten beiden Variablen und schreibe es in die erste." "Vergleiche die letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "less"; return "less";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Not implements SpecialCommand { public class Not implements SpecialCommand {
@ -16,10 +17,15 @@ public class Not implements SpecialCommand {
"§enot §8<§7Variable§8>", "§enot §8<§7Variable§8>",
"§enot §8<§7Variable§8> §8<§7Variable§8>", "§enot §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Das logische Nicht von der letzten Variable und schreibe es in die erste." "Das logische Nicht von der letzten Variable und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "not"; return "not";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Or implements SpecialCommand { public class Or implements SpecialCommand {
@ -16,10 +17,15 @@ public class Or implements SpecialCommand {
"§eor §8<§7Variable§8> §8<§7Variable§8>", "§eor §8<§7Variable§8> §8<§7Variable§8>",
"§eor §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>", "§eor §8<§7Variable§8> §8<§7Variable§8> §8<§7Variable§8>",
"", "",
"Das logische Oder zwischen den letzten beiden Variablen und schreibe es in die erste." "Das logische Oder zwischen den letzten beiden Variablen und schreibt es in die erste."
}; };
} }
@Override
public Material material() {
return Material.COMPARATOR;
}
@Override @Override
public String command() { public String command() {
return "or"; return "or";

Datei anzeigen

@ -25,6 +25,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Insert implements SpecialCommand { public class Insert implements SpecialCommand {
@ -39,6 +40,11 @@ public class Insert implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.HOPPER;
}
@Override @Override
public String command() { public String command() {
return "insert"; return "insert";

Datei anzeigen

@ -25,6 +25,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Length implements SpecialCommand { public class Length implements SpecialCommand {
@ -39,6 +40,11 @@ public class Length implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.REPEATER;
}
@Override @Override
public String command() { public String command() {
return "length"; return "length";

Datei anzeigen

@ -25,6 +25,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Remove implements SpecialCommand { public class Remove implements SpecialCommand {
@ -39,6 +40,11 @@ public class Remove implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.SHEARS;
}
@Override @Override
public String command() { public String command() {
return "remove"; return "remove";

Datei anzeigen

@ -25,6 +25,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Replace implements SpecialCommand { public class Replace implements SpecialCommand {
@ -39,6 +40,11 @@ public class Replace implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.WOODEN_AXE;
}
@Override @Override
public String command() { public String command() {
return "replace"; return "replace";

Datei anzeigen

@ -25,6 +25,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Substring implements SpecialCommand { public class Substring implements SpecialCommand {
@ -39,6 +40,11 @@ public class Substring implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.STICKY_PISTON;
}
@Override @Override
public String command() { public String command() {
return "substring"; return "substring";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Global implements SpecialCommand { public class Global implements SpecialCommand {
@ -19,6 +20,11 @@ public class Global implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.MAP;
}
@Override @Override
public String command() { public String command() {
return "global"; return "global";

Datei anzeigen

@ -5,6 +5,7 @@ import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand; import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Unglobal implements SpecialCommand { public class Unglobal implements SpecialCommand {
@ -18,6 +19,11 @@ public class Unglobal implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.BEACON;
}
@Override @Override
public String command() { public String command() {
return "unglobal"; return "unglobal";

Datei anzeigen

@ -5,6 +5,7 @@ import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand; import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Unvar implements SpecialCommand { public class Unvar implements SpecialCommand {
@ -18,6 +19,11 @@ public class Unvar implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.STRUCTURE_VOID;
}
@Override @Override
public String command() { public String command() {
return "unvar"; return "unvar";

Datei anzeigen

@ -6,6 +6,7 @@ import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value; import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
public class Var implements SpecialCommand { public class Var implements SpecialCommand {
@ -19,6 +20,11 @@ public class Var implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.STRUCTURE_BLOCK;
}
@Override @Override
public String command() { public String command() {
return "var"; return "var";

Datei anzeigen

@ -26,6 +26,7 @@ import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked; import de.steamwar.bausystem.linkage.Linked;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.World; import org.bukkit.World;
@Linked(LinkageType.SCRIPT_COMMAND) @Linked(LinkageType.SCRIPT_COMMAND)
@ -42,6 +43,11 @@ public class GetMaterial implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.STICKY_PISTON;
}
@Override @Override
public String command() { public String command() {
return "getmaterial"; return "getmaterial";

Datei anzeigen

@ -42,6 +42,11 @@ public class SetMaterial implements SpecialCommand {
}; };
} }
@Override
public Material material() {
return Material.PISTON;
}
@Override @Override
public String command() { public String command() {
return "setmaterial"; return "setmaterial";