diff --git a/src/de/steamwar/misslewars/scripts/LocationType.java b/src/de/steamwar/misslewars/scripts/LocationType.java
deleted file mode 100644
index 5566c56..0000000
--- a/src/de/steamwar/misslewars/scripts/LocationType.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- This file is a part of the SteamWar software.
-
- Copyright (C) 2020 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package de.steamwar.misslewars.scripts;
-
-public enum LocationType {
- STATIC,
- DYNAMIC,
- DEFAULT,
- CUSTOM
-}
diff --git a/src/de/steamwar/misslewars/scripts/RunnableScript.java b/src/de/steamwar/misslewars/scripts/RunnableScript.java
index df046b7..a5d784d 100644
--- a/src/de/steamwar/misslewars/scripts/RunnableScript.java
+++ b/src/de/steamwar/misslewars/scripts/RunnableScript.java
@@ -19,6 +19,6 @@
package de.steamwar.misslewars.scripts;
-public abstract class RunnableScript {
- public abstract boolean execute(RunnableScriptEvent runnableScriptEvent);
+public interface RunnableScript {
+ boolean execute(RunnableScriptEvent runnableScriptEvent);
}
diff --git a/src/de/steamwar/misslewars/scripts/RunnableScriptEvent.java b/src/de/steamwar/misslewars/scripts/RunnableScriptEvent.java
index d303d77..38d1bd4 100644
--- a/src/de/steamwar/misslewars/scripts/RunnableScriptEvent.java
+++ b/src/de/steamwar/misslewars/scripts/RunnableScriptEvent.java
@@ -25,6 +25,13 @@ import org.bukkit.entity.Player;
public class RunnableScriptEvent {
+ public enum LocationType {
+ STATIC,
+ DYNAMIC,
+ DEFAULT,
+ CUSTOM
+ }
+
public final ScriptedItem.EventType eventType;
public final Entity entity;
private final Location location;
@@ -61,10 +68,6 @@ public class RunnableScriptEvent {
this.locationType = locationType;
}
- public void setCustomLocation(double x, double y, double z) {
- setCustomLocation(x, y, z, 0, 0);
- }
-
public void setCustomLocation(double x, double y, double z, float pitch, float yaw) {
this.customLocation = new Location(location.getWorld(), x, y, z, yaw, pitch);
}
diff --git a/src/de/steamwar/misslewars/scripts/Script.java b/src/de/steamwar/misslewars/scripts/Script.java
index 73e4b67..0887c54 100644
--- a/src/de/steamwar/misslewars/scripts/Script.java
+++ b/src/de/steamwar/misslewars/scripts/Script.java
@@ -62,16 +62,12 @@ public class Script {
new ScriptExecutor(runnableScriptEvent);
}
- private void add(RunnableScript runnableScript) {
- runnableScriptList.add(runnableScript);
- }
-
public static Script parseScript(JsonArray jsonArray) {
Script script = new Script();
jsonArray.forEach(jsonElement -> {
RunnableScript runnableScript = parseScriptSnippet((JsonObject) jsonElement);
if (runnableScript == null) return;
- script.add(runnableScript);
+ script.runnableScriptList.add(runnableScript);
});
return script;
}
diff --git a/src/de/steamwar/misslewars/scripts/ScriptFunction.java b/src/de/steamwar/misslewars/scripts/ScriptFunction.java
new file mode 100644
index 0000000..18685f8
--- /dev/null
+++ b/src/de/steamwar/misslewars/scripts/ScriptFunction.java
@@ -0,0 +1,26 @@
+/*
+ *
+ * This file is a part of the SteamWar software.
+ *
+ * Copyright (C) 2020 SteamWar.de-Serverteam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ * /
+ */
+
+package de.steamwar.misslewars.scripts;
+
+public interface ScriptFunction {
+ boolean execute(RunnableScriptEvent runnableScriptEvent, double... doubles);
+}
diff --git a/src/de/steamwar/misslewars/scripts/ScriptedItem.java b/src/de/steamwar/misslewars/scripts/ScriptedItem.java
index de7bf3d..8f6aa75 100644
--- a/src/de/steamwar/misslewars/scripts/ScriptedItem.java
+++ b/src/de/steamwar/misslewars/scripts/ScriptedItem.java
@@ -20,6 +20,7 @@
package de.steamwar.misslewars.scripts;
import com.google.gson.JsonObject;
+import de.steamwar.misslewars.scripts.utils.JsonUtils;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Entity;
@@ -31,6 +32,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static de.steamwar.misslewars.scripts.utils.JsonUtils.getString;
+
public class ScriptedItem {
// "type": Material name (STRING)
@@ -43,27 +46,20 @@ public class ScriptedItem {
// - onThrow
public enum EventType {
- onHit("onHit"),
- onThrow("onThrow"),
- onClick("onClick");
-
- String name;
-
- EventType(String name) {
- this.name = name;
- }
+ onHit,
+ onThrow,
+ onClick
}
private Map scriptMap = new HashMap<>();
- private String entityName = "---";
+ private String entityName = "";
private ItemStack itemStack;
public ScriptedItem(JsonObject jsonObject) {
itemStack = createItemStack(jsonObject);
- if (jsonObject.has("entityName"))
- entityName = jsonObject.get("entityName").getAsString();
+ getString(jsonObject, "entityName", string -> entityName = string);
for (EventType eventType : EventType.values()) {
String eventString = "EVENT." + eventType.name();
@@ -72,11 +68,11 @@ public class ScriptedItem {
}
}
- private ItemStack createItemStack(JsonObject jsonObject) {
- ItemStack itemStack = new ItemStack(Material.valueOf(jsonObject.getAsJsonPrimitive("type").getAsString()), jsonObject.getAsJsonPrimitive("amount").getAsInt());
+ private static ItemStack createItemStack(JsonObject jsonObject) {
+ ItemStack itemStack = new ItemStack(Material.valueOf(getString(jsonObject, "type", "")), JsonUtils.getInt(jsonObject, "amount", 1));
ItemMeta itemMeta = itemStack.getItemMeta();
if (itemMeta == null) return itemStack;
- itemMeta.setDisplayName(jsonObject.getAsJsonPrimitive("name").getAsString());
+ getString(jsonObject, "name", itemMeta::setDisplayName);
if (jsonObject.has("lore")) {
List lore = new ArrayList<>();
diff --git a/src/de/steamwar/misslewars/scripts/function/ScriptDoubleFunction.java b/src/de/steamwar/misslewars/scripts/function/ScriptDoubleFunction.java
deleted file mode 100644
index abafda1..0000000
--- a/src/de/steamwar/misslewars/scripts/function/ScriptDoubleFunction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- This file is a part of the SteamWar software.
-
- Copyright (C) 2020 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package de.steamwar.misslewars.scripts.function;
-
-import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-
-public interface ScriptDoubleFunction {
- boolean execute(RunnableScriptEvent runnableScriptEvent, double... doubles);
-}
diff --git a/src/de/steamwar/misslewars/scripts/function/ScriptFunction.java b/src/de/steamwar/misslewars/scripts/function/ScriptFunction.java
deleted file mode 100644
index 9874e01..0000000
--- a/src/de/steamwar/misslewars/scripts/function/ScriptFunction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- This file is a part of the SteamWar software.
-
- Copyright (C) 2020 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package de.steamwar.misslewars.scripts.function;
-
-import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-
-public interface ScriptFunction {
- boolean execute(RunnableScriptEvent runnableScriptEvent);
-}
diff --git a/src/de/steamwar/misslewars/scripts/implemented/DelayScript.java b/src/de/steamwar/misslewars/scripts/implemented/DelayScript.java
index 744f616..4ba8c25 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/DelayScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/DelayScript.java
@@ -28,7 +28,7 @@ import de.steamwar.misslewars.scripts.RunnableScriptEvent;
import java.util.HashMap;
import java.util.Map;
-public class DelayScript extends RunnableScript {
+public class DelayScript implements RunnableScript {
private static final Map delayMap = new HashMap<>();
diff --git a/src/de/steamwar/misslewars/scripts/implemented/FilterScript.java b/src/de/steamwar/misslewars/scripts/implemented/FilterScript.java
index e89899d..a65ba13 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/FilterScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/FilterScript.java
@@ -23,8 +23,7 @@ import com.google.gson.JsonObject;
import de.steamwar.misslewars.MissileWars;
import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-import de.steamwar.misslewars.scripts.function.ScriptFunction;
-import de.steamwar.misslewars.scripts.utils.JsonUtils;
+import de.steamwar.misslewars.scripts.ScriptFunction;
import org.bukkit.Location;
import java.util.HashMap;
@@ -33,12 +32,12 @@ import java.util.Map;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getBoolean;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getString;
-public class FilterScript extends RunnableScript {
+public class FilterScript implements RunnableScript {
private static final Map filterMap = new HashMap<>();
static {
- filterMap.put("nearportal", runnableScriptEvent -> {
+ filterMap.put("nearportal", (runnableScriptEvent, doubles) -> {
Location location = runnableScriptEvent.getLocation();
int bz = MissileWars.getBlueTeam().getPortalZ();
int rz = MissileWars.getRedTeam().getPortalZ();
@@ -48,7 +47,7 @@ public class FilterScript extends RunnableScript {
if (offset > 0) return (blockZ > bz - offset) || (blockZ < rz + offset);
else return (blockZ < bz - offset) || (blockZ > rz + offset);
});
- filterMap.put("nearspawn", runnableScriptEvent -> {
+ filterMap.put("nearspawn", (runnableScriptEvent, doubles) -> {
Location location = runnableScriptEvent.getLocation();
return MissileWars.getBlueTeam().getSpawn().distance(location) < 3 || MissileWars.getRedTeam().getSpawn().distance(location) < 3;
});
@@ -65,8 +64,7 @@ public class FilterScript extends RunnableScript {
@Override
public boolean execute(RunnableScriptEvent runnableScriptEvent) {
if (filter == null) return true;
- if (inverted) return !filter.execute(runnableScriptEvent);
- else return filter.execute(runnableScriptEvent);
+ return filter.execute(runnableScriptEvent) ^ inverted;
}
}
diff --git a/src/de/steamwar/misslewars/scripts/implemented/LaunchScript.java b/src/de/steamwar/misslewars/scripts/implemented/LaunchScript.java
index 550ef70..6e29ad1 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/LaunchScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/LaunchScript.java
@@ -23,12 +23,12 @@ import com.google.gson.JsonObject;
import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent;
import de.steamwar.misslewars.scripts.ScriptedItem;
-import de.steamwar.misslewars.scripts.function.ScriptFunction;
+import de.steamwar.misslewars.scripts.ScriptFunction;
import de.steamwar.misslewars.scripts.utils.EntityUtils;
-import de.steamwar.misslewars.scripts.utils.ScriptShortcut;
+import de.steamwar.misslewars.scripts.utils.EntityUtils.ScriptShortcut;
import org.bukkit.entity.Projectile;
-public class LaunchScript extends RunnableScript {
+public class LaunchScript implements RunnableScript {
private ScriptFunction launch = null;
@@ -36,7 +36,7 @@ public class LaunchScript extends RunnableScript {
ScriptShortcut scriptShortcut = EntityUtils.getEntity(launch.getAsJsonPrimitive("entity").getAsString(), EntityUtils.EntityType.Projectile);
if (scriptShortcut == null) return;
- this.launch = runnableScriptEvent -> {
+ this.launch = (runnableScriptEvent, doubles) -> {
Projectile projectile = runnableScriptEvent.getPlayer().launchProjectile(scriptShortcut.entityClass);
scriptShortcut.consumer.accept(launch, projectile, runnableScriptEvent);
return false;
diff --git a/src/de/steamwar/misslewars/scripts/implemented/LocationScript.java b/src/de/steamwar/misslewars/scripts/implemented/LocationScript.java
index 5fa280a..aad7ea5 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/LocationScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/LocationScript.java
@@ -20,11 +20,10 @@
package de.steamwar.misslewars.scripts.implemented;
import com.google.gson.JsonObject;
-import de.steamwar.misslewars.scripts.LocationType;
import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-import de.steamwar.misslewars.scripts.function.ScriptDoubleFunction;
-import de.steamwar.misslewars.scripts.utils.JsonUtils;
+import de.steamwar.misslewars.scripts.RunnableScriptEvent.LocationType;
+import de.steamwar.misslewars.scripts.ScriptFunction;
import org.bukkit.Location;
import java.util.HashMap;
@@ -33,10 +32,10 @@ import java.util.Map;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getDouble;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getString;
-public class LocationScript extends RunnableScript {
+public class LocationScript implements RunnableScript {
private static final Map locationTypeMap = new HashMap<>();
- private static final Map locationMap = new HashMap<>();
+ private static final Map locationMap = new HashMap<>();
static {
locationTypeMap.put("static", LocationType.STATIC);
@@ -47,16 +46,16 @@ public class LocationScript extends RunnableScript {
locationMap.put("offsetentity", (runnableScriptEvent, doubles) -> {
if (runnableScriptEvent.entity == null) return false;
Location location1 = runnableScriptEvent.entity.getLocation();
- runnableScriptEvent.setCustomLocation(location1.getX() + doubles[0], location1.getY() + doubles[1], location1.getZ() + doubles[2]);
+ runnableScriptEvent.setCustomLocation(location1.getX() + doubles[0], location1.getY() + doubles[1], location1.getZ() + doubles[2], 0, 0);
return false;
});
locationMap.put("offsetlocation", (runnableScriptEvent, doubles) -> {
Location location1 = runnableScriptEvent.getLocation();
- runnableScriptEvent.setCustomLocation(location1.getX() + doubles[0], location1.getY() + doubles[1], location1.getZ() + doubles[2]);
+ runnableScriptEvent.setCustomLocation(location1.getX() + doubles[0], location1.getY() + doubles[1], location1.getZ() + doubles[2], 0, 0);
return false;
});
- ScriptDoubleFunction absoluteLocation = (runnableScriptEvent, doubles) -> {
- runnableScriptEvent.setCustomLocation(doubles[0], doubles[1], doubles[2]);
+ ScriptFunction absoluteLocation = (runnableScriptEvent, doubles) -> {
+ runnableScriptEvent.setCustomLocation(doubles[0], doubles[1], doubles[2], 0, 0);
return false;
};
locationMap.put("absolute", absoluteLocation);
@@ -65,7 +64,7 @@ public class LocationScript extends RunnableScript {
}
private LocationType locationType = null;
- private ScriptDoubleFunction locationExecutor = null;
+ private ScriptFunction locationExecutor = null;
private double x, y, z = 0;
diff --git a/src/de/steamwar/misslewars/scripts/implemented/PasteScript.java b/src/de/steamwar/misslewars/scripts/implemented/PasteScript.java
index e4c81ba..db1b2cb 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/PasteScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/PasteScript.java
@@ -43,7 +43,7 @@ import java.util.Objects;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getBoolean;
-public class PasteScript extends RunnableScript {
+public class PasteScript implements RunnableScript {
private static final World world = new BukkitWorld(Bukkit.getWorlds().get(0));
diff --git a/src/de/steamwar/misslewars/scripts/implemented/PotionScript.java b/src/de/steamwar/misslewars/scripts/implemented/PotionScript.java
index b8de2b3..34777dc 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/PotionScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/PotionScript.java
@@ -29,7 +29,7 @@ import org.bukkit.potion.PotionEffectType;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getBoolean;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.getInt;
-public class PotionScript extends RunnableScript {
+public class PotionScript implements RunnableScript {
private PotionEffect potionEffect = null;
diff --git a/src/de/steamwar/misslewars/scripts/implemented/RemoveScript.java b/src/de/steamwar/misslewars/scripts/implemented/RemoveScript.java
index 6f2f3f1..ede587e 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/RemoveScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/RemoveScript.java
@@ -24,7 +24,7 @@ import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent;
import org.bukkit.entity.Player;
-public class RemoveScript extends RunnableScript {
+public class RemoveScript implements RunnableScript {
public RemoveScript(JsonObject jsonObject) {}
diff --git a/src/de/steamwar/misslewars/scripts/implemented/SoundScript.java b/src/de/steamwar/misslewars/scripts/implemented/SoundScript.java
index fd30196..f7f9455 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/SoundScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/SoundScript.java
@@ -27,7 +27,7 @@ import de.steamwar.misslewars.scripts.utils.JsonUtils;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
-public class SoundScript extends RunnableScript {
+public class SoundScript implements RunnableScript {
private Sound sound;
private float volume;
diff --git a/src/de/steamwar/misslewars/scripts/implemented/SummonScript.java b/src/de/steamwar/misslewars/scripts/implemented/SummonScript.java
index bc9cba4..f2db2be 100644
--- a/src/de/steamwar/misslewars/scripts/implemented/SummonScript.java
+++ b/src/de/steamwar/misslewars/scripts/implemented/SummonScript.java
@@ -22,12 +22,12 @@ package de.steamwar.misslewars.scripts.implemented;
import com.google.gson.JsonObject;
import de.steamwar.misslewars.scripts.RunnableScript;
import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-import de.steamwar.misslewars.scripts.function.ScriptFunction;
+import de.steamwar.misslewars.scripts.ScriptFunction;
import de.steamwar.misslewars.scripts.utils.EntityUtils;
-import de.steamwar.misslewars.scripts.utils.ScriptShortcut;
+import de.steamwar.misslewars.scripts.utils.EntityUtils.ScriptShortcut;
import org.bukkit.entity.Entity;
-public class SummonScript extends RunnableScript {
+public class SummonScript implements RunnableScript {
private ScriptFunction summon = null;
@@ -35,7 +35,7 @@ public class SummonScript extends RunnableScript {
ScriptShortcut scriptShortcut = EntityUtils.getEntity(summon.getAsJsonPrimitive("entity").getAsString(), EntityUtils.EntityType.Normal);
if (scriptShortcut == null) return;
- this.summon = runnableScriptEvent -> {
+ this.summon = (runnableScriptEvent, doubles) -> {
Entity entity = runnableScriptEvent.entity.getWorld().spawn(runnableScriptEvent.getLocation(), scriptShortcut.entityClass);
scriptShortcut.consumer.accept(summon, entity, runnableScriptEvent);
return false;
diff --git a/src/de/steamwar/misslewars/scripts/utils/EntityUtils.java b/src/de/steamwar/misslewars/scripts/utils/EntityUtils.java
index af70bda..823751e 100644
--- a/src/de/steamwar/misslewars/scripts/utils/EntityUtils.java
+++ b/src/de/steamwar/misslewars/scripts/utils/EntityUtils.java
@@ -20,6 +20,7 @@
package de.steamwar.misslewars.scripts.utils;
import com.google.gson.JsonObject;
+import de.steamwar.misslewars.scripts.RunnableScriptEvent;
import org.bukkit.entity.*;
import static de.steamwar.misslewars.scripts.utils.JsonUtils.*;
@@ -79,4 +80,20 @@ public class EntityUtils {
return null;
}
+ public static class ScriptShortcut {
+
+ public Class entityClass;
+ public TriConsumer consumer;
+
+ public ScriptShortcut(Class entityClass, TriConsumer consumer) {
+ this.entityClass = entityClass;
+ this.consumer = consumer;
+ }
+
+ }
+
+ public interface TriConsumer {
+ void accept(T t, R r, K k);
+ }
+
}
diff --git a/src/de/steamwar/misslewars/scripts/utils/JsonUtils.java b/src/de/steamwar/misslewars/scripts/utils/JsonUtils.java
index 1f9b8c1..f0a703a 100644
--- a/src/de/steamwar/misslewars/scripts/utils/JsonUtils.java
+++ b/src/de/steamwar/misslewars/scripts/utils/JsonUtils.java
@@ -13,23 +13,19 @@ public class JsonUtils {
}
public static boolean getBoolean(JsonObject jsonObject, String key, boolean defaultValue) {
- if (jsonObject.has(key)) return jsonObject.getAsJsonPrimitive(key).getAsBoolean();
- return defaultValue;
+ return jsonObject.has(key) ? jsonObject.getAsJsonPrimitive(key).getAsBoolean() : defaultValue;
}
public static int getInt(JsonObject jsonObject, String key, int defaultValue) {
- if (jsonObject.has(key)) return jsonObject.getAsJsonPrimitive(key).getAsInt();
- return defaultValue;
+ return jsonObject.has(key) ? jsonObject.getAsJsonPrimitive(key).getAsInt() : defaultValue;
}
public static float getFloat(JsonObject jsonObject, String key, float defaultValue) {
- if (jsonObject.has(key)) return jsonObject.getAsJsonPrimitive(key).getAsFloat();
- return defaultValue;
+ return jsonObject.has(key) ? jsonObject.getAsJsonPrimitive(key).getAsFloat() : defaultValue;
}
public static String getString(JsonObject jsonObject, String key, String defaultValue) {
- if (jsonObject.has(key)) return jsonObject.getAsJsonPrimitive(key).getAsString();
- return defaultValue;
+ return jsonObject.has(key) ? jsonObject.getAsJsonPrimitive(key).getAsString() : defaultValue;
}
public static void getBoolean(JsonObject jsonObject, String key, Consumer booleanConsumer) {
diff --git a/src/de/steamwar/misslewars/scripts/utils/ScriptShortcut.java b/src/de/steamwar/misslewars/scripts/utils/ScriptShortcut.java
deleted file mode 100644
index 1dfcd4e..0000000
--- a/src/de/steamwar/misslewars/scripts/utils/ScriptShortcut.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- This file is a part of the SteamWar software.
-
- Copyright (C) 2020 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package de.steamwar.misslewars.scripts.utils;
-
-import com.google.gson.JsonObject;
-import de.steamwar.misslewars.scripts.RunnableScriptEvent;
-
-public class ScriptShortcut {
- public Class entityClass;
- public TriConsumer consumer;
-
- public ScriptShortcut(Class entityClass, TriConsumer consumer) {
- this.entityClass = entityClass;
- this.consumer = consumer;
- }
-}
diff --git a/src/de/steamwar/misslewars/scripts/utils/TriConsumer.java b/src/de/steamwar/misslewars/scripts/utils/TriConsumer.java
deleted file mode 100644
index 7cc9718..0000000
--- a/src/de/steamwar/misslewars/scripts/utils/TriConsumer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- This file is a part of the SteamWar software.
-
- Copyright (C) 2020 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package de.steamwar.misslewars.scripts.utils;
-
-public interface TriConsumer {
- void accept(T t, R r, K k);
-}