v1.2 - Added Particle trigger, and a lot of fixes

This commit is contained in:
stijnb1234 2020-11-26 10:08:08 +01:00
parent 7dffb45132
commit ac496b7184
13 changed files with 200 additions and 60 deletions

View file

@ -158,6 +158,7 @@ public class Laser {
static int generateEID() {
return lastIssuedEID++;
}
private static String nmsVersion = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3];
private static int version = Integer.parseInt(Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3].substring(1).split("_")[1]);
private static String npack = "net.minecraft.server." + Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3] + ".";
private static String cpack = Bukkit.getServer().getClass().getPackage().getName() + ".";
@ -205,8 +206,13 @@ public class Laser {
watcherName3 = "bA";
squidID = 74;
guardianID = 31;
}else if (version >= 16) {
watcherName1 = "T";
}else if (version == 16) {
if (nmsVersion.equals("v1_16_R3")) {
watcherName1 = "S";
} else {
watcherName1 = "T";
}
watcherName2 = "b";
watcherName3 = "d";
squidID = 74;

View file

@ -1,27 +1,22 @@
package nl.sbdeveloper.showapi.utils;
import com.samjakob.spigui.item.ItemBuilder;
import nl.sbdeveloper.showapi.ShowAPI;
import nl.sbdeveloper.showapi.api.ShowCue;
import nl.sbdeveloper.showapi.api.TriggerData;
import nl.sbdeveloper.showapi.api.TriggerType;
import nl.sbdeveloper.showapi.api.triggers.*;
import org.apache.commons.lang.StringUtils;
import org.bukkit.*;
import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.ArrayUtils;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.ChatPaginator;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainUtil {
public static int pointsToRow(int points) {
return (int) Math.ceil((double) points / 9);
}
public static ItemStack pointToItem(ShowCue point) {
ItemBuilder builder = new ItemBuilder(Material.NOTE_BLOCK);
builder.name(ChatColor.ITALIC + "TimeCode: " + TimeUtil.showTime(point.getTimeSeconds()));
@ -50,19 +45,12 @@ public class MainUtil {
return null;
}
if (type == TriggerType.COMMAND && dataSplitter.length >= 2) {
return new CommandTrigger(dataSplitterNew);
} else if (type == TriggerType.FIREWORK && dataSplitter.length >= 6) {
return new FireworkTrigger(dataSplitterNew);
} else if (type == TriggerType.LASER && dataSplitter.length == 6) {
return new LaserTrigger(dataSplitterNew);
} else if (type == TriggerType.SPOT && dataSplitter.length == 6) {
return new SpotTrigger(dataSplitterNew);
} else if (type == TriggerType.ANIMA && dataSplitter.length == 2) {
return new AnimaTrigger(dataSplitterNew);
try {
Constructor<? extends TriggerData> ctor = type.getTrigger().getConstructor(String[].class);
if (dataSplitter.length < type.getMinArgs()) return null;
return ctor.newInstance(new Object[] { dataSplitterNew });
} catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
return null;
}
Bukkit.getLogger().info("Aan het einde. Incorrecte type of te weinig data!");
return null;
}
}