items = new ArrayList<>();
@@ -335,19 +322,11 @@ public class Slimefun {
addWikiPage(id, "https://github.com/TheBusyBiscuit/Slimefun4/wiki/" + page);
}
- /**
- * Returns whether EmeraldEnchants is enabled or not.
- *
- * It can be directly accessed by {@link #emeraldenchants}.
- *
- * @return true
if EmeraldEnchants is enabled,
- * false
otherwise.
- */
- public static boolean isEmeraldEnchantsInstalled() {
- return emeraldenchants;
+ public static List getGuideHandlers(int tier) {
+ return SlimefunPlugin.getUtilities().guideHandlers.getOrDefault(tier, new ArrayList<>());
}
- public static List getGuideHandlers(int tier) {
- return guide_handlers.containsKey(tier) ? guide_handlers.get(tier): new ArrayList<>();
+ public static String getVersion() {
+ return SlimefunPlugin.instance.getDescription().getVersion();
}
}
\ No newline at end of file
diff --git a/src/me/mrCookieSlime/Slimefun/api/SlimefunBackup.java b/src/me/mrCookieSlime/Slimefun/api/SlimefunBackup.java
index c8da97b26..7193ba6d6 100644
--- a/src/me/mrCookieSlime/Slimefun/api/SlimefunBackup.java
+++ b/src/me/mrCookieSlime/Slimefun/api/SlimefunBackup.java
@@ -10,13 +10,16 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
+import java.util.logging.Level;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import me.mrCookieSlime.CSCoreLibPlugin.general.Clock;
-public class SlimefunBackup {
+public final class SlimefunBackup {
+ private SlimefunBackup() {}
+
public static void start() {
File folder = new File("data-storage/Slimefun/block-backups");
List backups = Arrays.asList(folder.listFiles());
@@ -31,85 +34,88 @@ public class SlimefunBackup {
});
for (int i = backups.size() - 20; i > 0; i--) {
- backups.get(i).delete();
+ if (!backups.get(i).delete()) {
+ Slimefun.getLogger().log(Level.WARNING, "Could not delete Backup: " + backups.get(i).getName());
+ }
}
}
File file = new File("data-storage/Slimefun/block-backups/" + Clock.format(new Date()) + ".zip");
byte[] buffer = new byte[1024];
- if (file.exists()) {
- file.delete();
- }
+ if (!file.exists() || file.delete()) {
+ try {
+ if (file.createNewFile()) {
+ try (ZipOutputStream output = new ZipOutputStream(new FileOutputStream(file))) {
+ for (File f1: new File("data-storage/Slimefun/stored-blocks/").listFiles()) {
+ for (File f: f1.listFiles()) {
+ ZipEntry entry = new ZipEntry("stored-blocks/" + f1.getName() + "/" + f.getName());
+ output.putNextEntry(entry);
- try {
- file.createNewFile();
+ try (FileInputStream input = new FileInputStream(f)) {
+ int length;
+ while ((length = input.read(buffer)) > 0) {
+ output.write(buffer, 0, length);
+ }
+ }
- try (ZipOutputStream output = new ZipOutputStream(new FileOutputStream(file))) {
- for (File f1: new File("data-storage/Slimefun/stored-blocks/").listFiles()) {
- for (File f: f1.listFiles()) {
- ZipEntry entry = new ZipEntry("stored-blocks/" + f1.getName() + "/" + f.getName());
- output.putNextEntry(entry);
-
- try (FileInputStream input = new FileInputStream(f)) {
- int length;
- while ((length = input.read(buffer)) > 0) {
- output.write(buffer, 0, length);
+ output.closeEntry();
}
}
- output.closeEntry();
- }
- }
+ for (File f: new File("data-storage/Slimefun/universal-inventories/").listFiles()) {
+ ZipEntry entry = new ZipEntry("universal-inventories/" + f.getName());
+ output.putNextEntry(entry);
- for (File f: new File("data-storage/Slimefun/universal-inventories/").listFiles()) {
- ZipEntry entry = new ZipEntry("universal-inventories/" + f.getName());
- output.putNextEntry(entry);
+ try (FileInputStream input = new FileInputStream(f)) {
+ int length;
+ while ((length = input.read(buffer)) > 0) {
+ output.write(buffer, 0, length);
+ }
+ }
- try (FileInputStream input = new FileInputStream(f)) {
- int length;
- while ((length = input.read(buffer)) > 0) {
- output.write(buffer, 0, length);
+ output.closeEntry();
+ }
+
+ for (File f: new File("data-storage/Slimefun/stored-inventories/").listFiles()) {
+ ZipEntry entry = new ZipEntry("stored-inventories/" + f.getName());
+ output.putNextEntry(entry);
+
+ try (FileInputStream input = new FileInputStream(f)) {
+ int length;
+ while ((length = input.read(buffer)) > 0) {
+ output.write(buffer, 0, length);
+ }
+ }
+
+ output.closeEntry();
+ }
+
+ File chunks = new File("data-storage/Slimefun/stored-chunks/chunks.sfc");
+
+ if (chunks.exists()) {
+ ZipEntry entry = new ZipEntry("stored-chunks/chunks.sfc");
+ output.putNextEntry(entry);
+
+ try (FileInputStream input = new FileInputStream(chunks)) {
+ int length;
+ while ((length = input.read(buffer)) > 0) {
+ output.write(buffer, 0, length);
+ }
+ }
+
+ output.closeEntry();
}
}
- output.closeEntry();
+ Slimefun.getLogger().log(Level.INFO, "Backed up Data to: " + file.getName());
}
-
- for (File f: new File("data-storage/Slimefun/stored-inventories/").listFiles()) {
- ZipEntry entry = new ZipEntry("stored-inventories/" + f.getName());
- output.putNextEntry(entry);
-
- try (FileInputStream input = new FileInputStream(f)) {
- int length;
- while ((length = input.read(buffer)) > 0) {
- output.write(buffer, 0, length);
- }
- }
-
- output.closeEntry();
- }
-
- File chunks = new File("data-storage/Slimefun/stored-chunks/chunks.sfc");
-
- if (chunks.exists()) {
- ZipEntry entry = new ZipEntry("stored-chunks/chunks.sfc");
- output.putNextEntry(entry);
-
- try (FileInputStream input = new FileInputStream(chunks)) {
- int length;
- while ((length = input.read(buffer)) > 0) {
- output.write(buffer, 0, length);
- }
- }
-
- output.closeEntry();
+ else {
+ Slimefun.getLogger().log(Level.WARNING, "Could not create backup-file: " + file.getName());
}
+ } catch(IOException x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while creating a World-Backup for Slimefun " + Slimefun.getVersion(), x);
}
-
- System.out.println("[Slimefun] Backed up Blocks to " + file.getName());
- } catch(IOException e) {
- e.printStackTrace();
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/api/SlimefunGuideLayout.java b/src/me/mrCookieSlime/Slimefun/api/SlimefunGuideLayout.java
new file mode 100644
index 000000000..d46fea780
--- /dev/null
+++ b/src/me/mrCookieSlime/Slimefun/api/SlimefunGuideLayout.java
@@ -0,0 +1,9 @@
+package me.mrCookieSlime.Slimefun.api;
+
+public enum SlimefunGuideLayout {
+
+ BOOK,
+ CHEST,
+ CHEAT_SHEET;
+
+}
diff --git a/src/me/mrCookieSlime/Slimefun/api/SlimefunRecipes.java b/src/me/mrCookieSlime/Slimefun/api/SlimefunRecipes.java
index f2d9a056d..a14229ac2 100644
--- a/src/me/mrCookieSlime/Slimefun/api/SlimefunRecipes.java
+++ b/src/me/mrCookieSlime/Slimefun/api/SlimefunRecipes.java
@@ -5,8 +5,10 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
import org.bukkit.inventory.ItemStack;
-public class SlimefunRecipes {
+public final class SlimefunRecipes {
+ private SlimefunRecipes() {}
+
public static void registerMachineRecipe(String machine, int seconds, ItemStack[] input, ItemStack[] output) {
for (SlimefunItem item: SlimefunItem.all) {
if (item instanceof AContainer && ((AContainer) item).getMachineIdentifier().equals(machine)) {
diff --git a/src/me/mrCookieSlime/Slimefun/api/Soul.java b/src/me/mrCookieSlime/Slimefun/api/Soul.java
index f6aa9b44a..a516a216e 100644
--- a/src/me/mrCookieSlime/Slimefun/api/Soul.java
+++ b/src/me/mrCookieSlime/Slimefun/api/Soul.java
@@ -7,25 +7,25 @@ import java.util.UUID;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
public final class Soul {
private Soul() {}
public static void storeItem(UUID uuid, int slot, ItemStack item) {
- Map items = SlimefunStartup.instance.getUtilities().soulbound.get(uuid);
+ Map items = SlimefunPlugin.getUtilities().soulbound.get(uuid);
if (items == null) {
items = new HashMap<>();
- SlimefunStartup.instance.getUtilities().soulbound.put(uuid, items);
+ SlimefunPlugin.getUtilities().soulbound.put(uuid, items);
}
items.put(slot, item);
}
public static void retrieveItems(Player p) {
- Map items = SlimefunStartup.instance.getUtilities().soulbound.get(p.getUniqueId());
+ Map items = SlimefunPlugin.getUtilities().soulbound.get(p.getUniqueId());
if (items != null) {
for (Map.Entry entry: items.entrySet()) {
@@ -33,7 +33,7 @@ public final class Soul {
}
}
- SlimefunStartup.instance.getUtilities().soulbound.remove(p.getUniqueId());
+ SlimefunPlugin.getUtilities().soulbound.remove(p.getUniqueId());
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java
index 1c45e5ba0..92b46b256 100644
--- a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java
+++ b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java
@@ -5,6 +5,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -17,7 +18,7 @@ import org.bukkit.entity.Player;
import me.mrCookieSlime.CSCoreLibPlugin.general.Chat.TellRawMessage;
import me.mrCookieSlime.CSCoreLibPlugin.general.Chat.TellRawMessage.HoverAction;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
@@ -27,6 +28,7 @@ public class TickerTask implements Runnable {
public Map move = new HashMap<>();
public Map delete = new HashMap<>();
+ public Map blockTimings = new HashMap<>();
private Set tickers = new HashSet<>();
@@ -41,7 +43,6 @@ public class TickerTask implements Runnable {
private Map chunkTimings = new HashMap<>();
private Set chunksSkipped = new HashSet<>();
private Map buggedBlocks = new HashMap<>();
- public Map blockTimings = new HashMap<>();
@Override
public void run() {
@@ -85,7 +86,7 @@ public class TickerTask implements Runnable {
item.getBlockTicker().update();
if (item.getBlockTicker().isSynchronized()) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
try {
long timestamp3 = System.currentTimeMillis();
item.getBlockTicker().tick(b, item, BlockStorage.getLocationInfo(l));
@@ -107,22 +108,17 @@ public class TickerTask implements Runnable {
// Generate a new Error-Report
new ErrorReport(x, this, l, item);
- System.err.println("[Slimefun] Exception caught while ticking a Block:" + x.getClass().getName());
- System.err.println("[Slimefun] X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ());
-
buggedBlocks.put(l, errors);
}
else if (errors == 4) {
- System.err.println("[Slimefun] X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ() + "(" + item.getID() + ")");
- System.err.println("[Slimefun] has thrown 4 Exceptions in the last 4 Ticks, the Block has been terminated.");
- System.err.println("[Slimefun] Check your /plugins/Slimefun/error-reports/ folder for details.");
- System.err.println("[Slimefun] ");
+ Slimefun.getLogger().log(Level.SEVERE, "X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ() + "(" + item.getID() + ")");
+ Slimefun.getLogger().log(Level.SEVERE, "has thrown 4 Exceptions in the last 4 Ticks, the Block has been terminated.");
+ Slimefun.getLogger().log(Level.SEVERE, "Check your /plugins/Slimefun/error-reports/ folder for details.");
+ Slimefun.getLogger().log(Level.SEVERE, " ");
BlockStorage._integrated_removeBlockInfo(l, true);
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
- l.getBlock().setType(Material.AIR);
- });
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> l.getBlock().setType(Material.AIR));
}
else {
buggedBlocks.put(l, errors);
@@ -148,23 +144,17 @@ public class TickerTask implements Runnable {
if (errors == 1) {
// Generate a new Error-Report
new ErrorReport(x, this, l, item);
-
- System.err.println("[Slimefun] Exception caught while ticking a Block:" + x.getClass().getName());
- System.err.println("[Slimefun] X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ());
-
buggedBlocks.put(l, errors);
}
else if (errors == 4) {
- System.err.println("[Slimefun] X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ() + "(" + item.getID() + ")");
- System.err.println("[Slimefun] has thrown 4 Exceptions in the last 4 Ticks, the Block has been terminated.");
- System.err.println("[Slimefun] Check your /plugins/Slimefun/error-reports/ folder for details.");
- System.err.println("[Slimefun] ");
+ Slimefun.getLogger().log(Level.SEVERE, "X: " + l.getBlockX() + " Y: " + l.getBlockY() + " Z: " + l.getBlockZ() + "(" + item.getID() + ")");
+ Slimefun.getLogger().log(Level.SEVERE, "has thrown 4 Exceptions in the last 4 Ticks, the Block has been terminated.");
+ Slimefun.getLogger().log(Level.SEVERE, "Check your /plugins/Slimefun/error-reports/ folder for details.");
+ Slimefun.getLogger().log(Level.SEVERE, " ");
BlockStorage._integrated_removeBlockInfo(l, true);
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
- l.getBlock().setType(Material.AIR);
- });
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> l.getBlock().setType(Material.AIR));
}
else {
buggedBlocks.put(l, errors);
@@ -231,8 +221,8 @@ public class TickerTask implements Runnable {
try {
tellraw.send((Player) sender);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (Exception x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x);
}
}
else {
@@ -268,8 +258,8 @@ public class TickerTask implements Runnable {
try {
tellraw.send((Player) sender);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (Exception x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x);
}
}
else {
diff --git a/src/me/mrCookieSlime/Slimefun/api/energy/ChargableBlock.java b/src/me/mrCookieSlime/Slimefun/api/energy/ChargableBlock.java
index 6bff96a18..2d63552ce 100644
--- a/src/me/mrCookieSlime/Slimefun/api/energy/ChargableBlock.java
+++ b/src/me/mrCookieSlime/Slimefun/api/energy/ChargableBlock.java
@@ -4,31 +4,35 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.block.Skull;
-public class ChargableBlock {
+public final class ChargableBlock {
- public static Map max_charges = new HashMap<>();
+ private ChargableBlock() {}
+
+ public static Map maxCharges = new HashMap<>();
public static Set rechargeable = new HashSet<>();
public static Set capacitors = new HashSet<>();
public static void registerChargableBlock(String id, int capacity, boolean recharge) {
- max_charges.put(id, capacity);
+ maxCharges.put(id, capacity);
if (recharge) rechargeable.add(id);
}
public static void registerCapacitor(String id, int capacity) {
- max_charges.put(id, capacity);
+ maxCharges.put(id, capacity);
rechargeable.add(id);
capacitors.add(id);
}
@@ -39,13 +43,13 @@ public class ChargableBlock {
public static boolean isChargable(Location l) {
if (!BlockStorage.hasBlockInfo(l)) return false;
- return max_charges.containsKey(BlockStorage.checkID(l));
+ return maxCharges.containsKey(BlockStorage.checkID(l));
}
public static boolean isRechargable(Block b) {
if (!BlockStorage.hasBlockInfo(b)) return false;
String id = BlockStorage.checkID(b);
- return max_charges.containsKey(id) && rechargeable.contains(id);
+ return maxCharges.containsKey(id) && rechargeable.contains(id);
}
public static boolean isCapacitor(Block b) {
@@ -63,7 +67,7 @@ public class ChargableBlock {
public static int getDefaultCapacity(Location l) {
String id = BlockStorage.checkID(l);
- return id == null ? 0: max_charges.get(id);
+ return id == null ? 0: maxCharges.get(id);
}
public static int getCharge(Block b) {
@@ -96,17 +100,13 @@ public class ChargableBlock {
if (charge != getCharge(l)) {
BlockStorage.addBlockInfo(l, "energy-charge", String.valueOf(charge), false);
if (updateTexture) {
- try {
- updateTexture(l);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ updateTexture(l);
}
}
}
- private static void updateTexture(final Location l) throws Exception {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ private static void updateTexture(final Location l) {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
try {
Block b = l.getBlock();
int charge = getCharge(b);
@@ -117,8 +117,8 @@ public class ChargableBlock {
else if (charge < (int) (capacity * 0.75D)) CustomSkull.setSkull(b, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTU4NDQzMmFmNmYzODIxNjcxMjAyNThkMWVlZThjODdjNmU3NWQ5ZTQ3OWU3YjBkNGM3YjZhZDQ4Y2ZlZWYifX19");
else CustomSkull.setSkull(b, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2EyNTY5NDE1YzE0ZTMxYzk4ZWM5OTNhMmY5OWU2ZDY0ODQ2ZGIzNjdhMTNiMTk5OTY1YWQ5OWM0MzhjODZjIn19fQ==");
}
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (Exception x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while updating a Capacitor Texture for Slimefun " + Slimefun.getVersion(), x);
}
});
}
@@ -145,21 +145,14 @@ public class ChargableBlock {
setCharge(l, getMaxCharge(l));
}
if (capacitors.contains(BlockStorage.checkID(l))) {
- try {
- updateTexture(l);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ updateTexture(l);
}
}
else if (charge < 0 && energy >= -charge) {
setCharge(l, energy + charge);
+
if (capacitors.contains(BlockStorage.checkID(l))) {
- try {
- updateTexture(l);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ updateTexture(l);
}
}
return rest;
diff --git a/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java
index 6912116f2..c8e585566 100644
--- a/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java
+++ b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java
@@ -9,57 +9,51 @@ import org.bukkit.Material;
import org.bukkit.block.Block;
import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.network.Network;
+import me.mrCookieSlime.Slimefun.api.network.NetworkComponent;
import me.mrCookieSlime.Slimefun.holograms.EnergyHologram;
public class EnergyNet extends Network {
-
- public static enum NetworkComponent {
- SOURCE,
- DISTRIBUTOR,
- CONSUMER,
- NONE;
- }
private static final int RANGE = 6;
- public static Set machines_input = new HashSet<>();
- public static Set machines_storage = new HashSet<>();
- public static Set machines_output = new HashSet<>();
+ public static Set machinesInput = new HashSet<>();
+ public static Set machinesStorage = new HashSet<>();
+ public static Set machinesOutput = new HashSet<>();
- public static NetworkComponent getComponent(Block b) {
+ public static EnergyNetComponent getComponent(Block b) {
return getComponent(b.getLocation());
}
- public static NetworkComponent getComponent(String id) {
- if (machines_input.contains(id)) return NetworkComponent.SOURCE;
- if (machines_storage.contains(id)) return NetworkComponent.DISTRIBUTOR;
- if (machines_output.contains(id)) return NetworkComponent.CONSUMER;
- return NetworkComponent.NONE;
+ public static EnergyNetComponent getComponent(String id) {
+ if (machinesInput.contains(id)) return EnergyNetComponent.SOURCE;
+ if (machinesStorage.contains(id)) return EnergyNetComponent.DISTRIBUTOR;
+ if (machinesOutput.contains(id)) return EnergyNetComponent.CONSUMER;
+ return EnergyNetComponent.NONE;
}
- public static NetworkComponent getComponent(Location l) {
- if (!BlockStorage.hasBlockInfo(l)) return NetworkComponent.NONE;
+ public static EnergyNetComponent getComponent(Location l) {
+ if (!BlockStorage.hasBlockInfo(l)) return EnergyNetComponent.NONE;
String id = BlockStorage.checkID(l);
- if (machines_input.contains(id)) return NetworkComponent.SOURCE;
- if (machines_storage.contains(id)) return NetworkComponent.DISTRIBUTOR;
- if (machines_output.contains(id)) return NetworkComponent.CONSUMER;
- return NetworkComponent.NONE;
+ if (machinesInput.contains(id)) return EnergyNetComponent.SOURCE;
+ if (machinesStorage.contains(id)) return EnergyNetComponent.DISTRIBUTOR;
+ if (machinesOutput.contains(id)) return EnergyNetComponent.CONSUMER;
+ return EnergyNetComponent.NONE;
}
- public static void registerComponent(String id, NetworkComponent component) {
+ public static void registerComponent(String id, EnergyNetComponent component) {
switch (component) {
case CONSUMER:
- machines_output.add(id);
+ machinesOutput.add(id);
break;
case DISTRIBUTOR:
- machines_storage.add(id);
+ machinesStorage.add(id);
break;
case SOURCE:
- machines_input.add(id);
+ machinesInput.add(id);
break;
default:
break;
@@ -71,12 +65,12 @@ public class EnergyNet extends Network {
}
public static EnergyNet getNetworkFromLocationOrCreate(Location l) {
- EnergyNet energy_network = getNetworkFromLocation(l);
- if (energy_network == null) {
- energy_network = new EnergyNet(l);
- registerNetwork(energy_network);
+ EnergyNet energyNetwork = getNetworkFromLocation(l);
+ if (energyNetwork == null) {
+ energyNetwork = new EnergyNet(l);
+ registerNetwork(energyNetwork);
}
- return energy_network;
+ return energyNetwork;
}
private Set input = new HashSet<>();
@@ -91,24 +85,25 @@ public class EnergyNet extends Network {
return RANGE;
}
- public Network.Component classifyLocation(Location l) {
- if (regulator.equals(l)) return Network.Component.REGULATOR;
+ public NetworkComponent classifyLocation(Location l) {
+ if (regulator.equals(l)) return NetworkComponent.REGULATOR;
switch (getComponent(l)) {
case DISTRIBUTOR:
- return Network.Component.CONNECTOR;
+ return NetworkComponent.CONNECTOR;
case CONSUMER:
case SOURCE:
- return Network.Component.TERMINUS;
+ return NetworkComponent.TERMINUS;
default:
return null;
}
}
- public void locationClassificationChange(Location l, Network.Component from, Network.Component to) {
- if (from == Network.Component.TERMINUS) {
+ public void locationClassificationChange(Location l, NetworkComponent from, NetworkComponent to) {
+ if (from == NetworkComponent.TERMINUS) {
input.remove(l);
output.remove(l);
}
+
switch (getComponent(l)) {
case DISTRIBUTOR:
if (ChargableBlock.isCapacitor(l)) storage.add(l);
@@ -146,7 +141,7 @@ public class EnergyNet extends Network {
if (item.getEnergyTicker().explode(source)) {
exploded.add(source);
BlockStorage.clearBlockInfo(source);
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
source.getBlock().setType(Material.LAVA);
source.getWorld().createExplosion(source, 0F, false);
});
@@ -154,7 +149,7 @@ public class EnergyNet extends Network {
else {
supply = supply + energy;
}
- SlimefunStartup.ticker.blockTimings.put(source, System.currentTimeMillis() - timestamp);
+ SlimefunPlugin.getTicker().blockTimings.put(source, System.currentTimeMillis() - timestamp);
}
input.removeAll(exploded);
diff --git a/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNetComponent.java b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNetComponent.java
new file mode 100644
index 000000000..76bfe8714
--- /dev/null
+++ b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNetComponent.java
@@ -0,0 +1,10 @@
+package me.mrCookieSlime.Slimefun.api.energy;
+
+public enum EnergyNetComponent {
+
+ SOURCE,
+ DISTRIBUTOR,
+ CONSUMER,
+ NONE;
+
+}
\ No newline at end of file
diff --git a/src/me/mrCookieSlime/Slimefun/api/energy/ItemEnergy.java b/src/me/mrCookieSlime/Slimefun/api/energy/ItemEnergy.java
index 55eceabc5..1cc902279 100644
--- a/src/me/mrCookieSlime/Slimefun/api/energy/ItemEnergy.java
+++ b/src/me/mrCookieSlime/Slimefun/api/energy/ItemEnergy.java
@@ -11,9 +11,11 @@ import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.general.Player.PlayerInventory;
-public class ItemEnergy {
+public final class ItemEnergy {
-// "&c&o&8\u21E8 &e\u26A1 &70 / 50 J"
+ private ItemEnergy() {}
+
+ // "&c&o&8\u21E8 &e\u26A1 &70 / 50 J"
public static float getStoredEnergy(ItemStack item) {
if (item == null || item.getType() == null || item.getType() == Material.AIR) return 0F;
diff --git a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java
index 255e4523b..b96ab9ee7 100644
--- a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java
+++ b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java
@@ -2,6 +2,7 @@ package me.mrCookieSlime.Slimefun.api.inventory;
import java.io.File;
import java.util.ArrayList;
+import java.util.logging.Level;
import org.bukkit.Location;
import org.bukkit.block.Block;
@@ -10,6 +11,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public class BlockMenu extends DirtyChestMenu {
@@ -93,7 +95,13 @@ public class BlockMenu extends DirtyChestMenu {
}
public void delete(Location l) {
- new File("data-storage/Slimefun/stored-inventories/" + serializeLocation(l) + ".sfi").delete();
+ File file = new File("data-storage/Slimefun/stored-inventories/" + serializeLocation(l) + ".sfi");
+
+ if (file.exists()) {
+ if (!file.delete()) {
+ Slimefun.getLogger().log(Level.WARNING, "Could not delete File: " + file.getName());
+ }
+ }
}
public BlockMenuPreset getPreset() {
diff --git a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenuPreset.java b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenuPreset.java
index 4e1da54a6..0bbe6985a 100644
--- a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenuPreset.java
+++ b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenuPreset.java
@@ -12,7 +12,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow;
public abstract class BlockMenuPreset extends ChestMenu {
@@ -50,10 +50,14 @@ public abstract class BlockMenuPreset extends ChestMenu {
}
public abstract void init();
- public abstract void newInstance(BlockMenu menu, Block b);
public abstract boolean canOpen(Block b, Player p);
public abstract int[] getSlotsAccessedByItemTransport(ItemTransportFlow flow);
+
+ public void newInstance(BlockMenu menu, Block b) {
+ // This method can optionally be overridden by implementations
+ }
+
public int[] getSlotsAccessedByItemTransport(BlockMenu menu, ItemTransportFlow flow, ItemStack item) {
return this.getSlotsAccessedByItemTransport(flow);
}
@@ -101,7 +105,7 @@ public abstract class BlockMenuPreset extends ChestMenu {
}
public static BlockMenuPreset getPreset(String id) {
- return presets.get(id);
+ return id == null ? null: presets.get(id);
}
public static boolean isInventory(String id) {
@@ -157,9 +161,7 @@ public abstract class BlockMenuPreset extends ChestMenu {
}
public void newInstance(final BlockMenu menu, final Location l) {
- Bukkit.getScheduler().runTask(SlimefunStartup.instance, () -> {
- newInstance(menu, l.getBlock());
- });
+ Bukkit.getScheduler().runTask(SlimefunPlugin.instance, () -> newInstance(menu, l.getBlock()));
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java
index 90292c647..748fd3e08 100644
--- a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java
+++ b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java
@@ -15,7 +15,9 @@ import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
-public class CargoManager {
+public final class CargoManager {
+
+ private CargoManager() {}
public static ItemStack withdraw(Block node, BlockStorage storage, Block target, ItemStack template) {
if (storage.hasUniversalInventory(target)) {
diff --git a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java
index cfd2daecf..66c2063f0 100644
--- a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java
+++ b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java
@@ -24,21 +24,22 @@ import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.MenuClickHandler;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
import me.mrCookieSlime.Slimefun.api.network.Network;
+import me.mrCookieSlime.Slimefun.api.network.NetworkComponent;
import me.mrCookieSlime.Slimefun.holograms.CargoHologram;
public class CargoNet extends Network {
- public static boolean EXTRA_CHANNELS = false;
+ public static boolean extraChannels = false;
private static final int RANGE = 5;
public static List faces = Arrays.asList(BlockFace.NORTH, BlockFace.EAST, BlockFace.SOUTH, BlockFace.WEST);
- public static Map round_robin = new HashMap<>();
+ public static Map roundRobin = new HashMap<>();
public static Set requests = new HashSet<>();
private static int[] slots = new int[] {19, 20, 21, 28, 29, 30, 37, 38, 39};
@@ -55,12 +56,12 @@ public class CargoNet extends Network {
}
public static CargoNet getNetworkFromLocationOrCreate(Location l) {
- CargoNet cargo_network = getNetworkFromLocation(l);
- if (cargo_network == null) {
- cargo_network = new CargoNet(l);
- registerNetwork(cargo_network);
+ CargoNet cargoNetwork = getNetworkFromLocation(l);
+ if (cargoNetwork == null) {
+ cargoNetwork = new CargoNet(l);
+ registerNetwork(cargoNetwork);
}
- return cargo_network;
+ return cargoNetwork;
}
@Deprecated
@@ -86,28 +87,28 @@ public class CargoNet extends Network {
return RANGE;
}
- public Network.Component classifyLocation(Location l) {
+ public NetworkComponent classifyLocation(Location l) {
String id = BlockStorage.checkID(l);
if (id == null) return null;
switch(id) {
case "CARGO_MANAGER":
- return Component.REGULATOR;
+ return NetworkComponent.REGULATOR;
case "CARGO_NODE":
- return Component.CONNECTOR;
+ return NetworkComponent.CONNECTOR;
case "CARGO_NODE_INPUT":
case "CARGO_NODE_OUTPUT":
case "CARGO_NODE_OUTPUT_ADVANCED":
case "CT_IMPORT_BUS":
case "CT_EXPORT_BUS":
case "CHEST_TERMINAL":
- return Component.TERMINUS;
+ return NetworkComponent.TERMINUS;
default:
return null;
}
}
- public void locationClassificationChange(Location l, Component from, Component to) {
- if (from == Component.TERMINUS) {
+ public void locationClassificationChange(Location l, NetworkComponent from, NetworkComponent to) {
+ if (from == NetworkComponent.TERMINUS) {
inputNodes.remove(l);
outputNodes.remove(l);
advancedOutputNodes.remove(l);
@@ -115,7 +116,7 @@ public class CargoNet extends Network {
imports.remove(l);
exports.remove(l);
}
- if (to == Component.TERMINUS) {
+ if (to == NetworkComponent.TERMINUS) {
switch(BlockStorage.checkID(l)) {
case "CARGO_NODE_INPUT":
inputNodes.add(l);
@@ -187,12 +188,12 @@ public class CargoNet extends Network {
CargoNet self = this;
final BlockStorage storage = BlockStorage.getStorage(b.getWorld());
- SlimefunStartup.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ SlimefunPlugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
if (BlockStorage.getLocationInfo(b.getLocation(), "visualizer") == null) {
self.display();
}
//Chest Terminal Code
- if (EXTRA_CHANNELS) {
+ if (extraChannels) {
for (Location bus : imports) {
BlockMenu menu = BlockStorage.getInventory(bus);
@@ -242,9 +243,9 @@ public class CargoNet extends Network {
for (final Location terminal : terminals) {
BlockMenu menu = BlockStorage.getInventory(terminal);
- ItemStack sending_item = menu.getItemInSlot(TERMINAL_OUT_SLOT);
- if (sending_item != null) {
- requests.add(new ItemRequest(terminal, TERMINAL_OUT_SLOT, sending_item, ItemTransportFlow.INSERT));
+ ItemStack sendingItem = menu.getItemInSlot(TERMINAL_OUT_SLOT);
+ if (sendingItem != null) {
+ requests.add(new ItemRequest(terminal, TERMINAL_OUT_SLOT, sendingItem, ItemTransportFlow.INSERT));
}
}
@@ -345,23 +346,23 @@ public class CargoNet extends Network {
List outputlist = new ArrayList<>(output.get(frequency));
if (roundrobin) {
- if (!round_robin.containsKey(input)) {
- round_robin.put(input, 0);
+ if (!roundRobin.containsKey(input)) {
+ roundRobin.put(input, 0);
}
- int c_index = round_robin.get(input);
+ int cIndex = roundRobin.get(input);
- if (c_index < outputlist.size()) {
- for (int i = 0; i < c_index; i++) {
+ if (cIndex < outputlist.size()) {
+ for (int i = 0; i < cIndex; i++) {
final Location temp = outputlist.get(0);
outputlist.remove(temp);
outputlist.add(temp);
}
- c_index++;
+ cIndex++;
}
- else c_index = 1;
+ else cIndex = 1;
- round_robin.put(input, c_index);
+ roundRobin.put(input, cIndex);
}
for (Location out : outputlist) {
@@ -389,7 +390,7 @@ public class CargoNet extends Network {
}
}
//Chest Terminal Code
- if (EXTRA_CHANNELS) {
+ if (extraChannels) {
List items = new ArrayList<>();
for (Location l: providers) {
Block target = getAttachedBlock(l.getBlock());
diff --git a/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java b/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java
index a97d8f244..a562c90d3 100644
--- a/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java
+++ b/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java
@@ -3,18 +3,18 @@ package me.mrCookieSlime.Slimefun.api.item_transport;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
public final class ChestManipulator {
private ChestManipulator() {}
public static void registerListener(CargoTransportEvent listener) {
- SlimefunStartup.instance.getUtilities().cargoTransportEvents.add(listener);
+ SlimefunPlugin.getUtilities().cargoTransportEvents.add(listener);
}
public static ItemStack trigger(Block b, int slot, ItemStack prev, ItemStack next) {
- for (CargoTransportEvent listener: SlimefunStartup.instance.getUtilities().cargoTransportEvents) {
+ for (CargoTransportEvent listener: SlimefunPlugin.getUtilities().cargoTransportEvents) {
next = listener.onEvent(b, slot, prev, next);
}
diff --git a/src/me/mrCookieSlime/Slimefun/api/network/Network.java b/src/me/mrCookieSlime/Slimefun/api/network/Network.java
index 1f5dd3e72..c51fdc1ea 100644
--- a/src/me/mrCookieSlime/Slimefun/api/network/Network.java
+++ b/src/me/mrCookieSlime/Slimefun/api/network/Network.java
@@ -1,6 +1,7 @@
package me.mrCookieSlime.Slimefun.api.network;
import java.util.Set;
+import java.util.logging.Level;
import java.util.List;
import java.util.Queue;
import java.util.HashSet;
@@ -10,14 +11,15 @@ import java.util.ArrayList;
import org.bukkit.Location;
import me.mrCookieSlime.CSCoreLibPlugin.general.Particles.MC_1_13.ParticleEffect;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public abstract class Network {
- private static List NETWORK_LIST = new ArrayList<>();
+ private static List networkList = new ArrayList<>();
public static T getNetworkFromLocation(Location l, Class type) {
- for(Network n: NETWORK_LIST) {
+ for(Network n: networkList) {
if(type.isInstance(n) && n.connectsTo(l)) {
return type.cast(n);
}
@@ -27,7 +29,7 @@ public abstract class Network {
public static List getNetworksFromLocation(Location l, Class type) {
List ret = new ArrayList<>();
- for(Network n: NETWORK_LIST) {
+ for(Network n: networkList) {
if(type.isInstance(n) && n.connectsTo(l)) {
ret.add(type.cast(n));
}
@@ -36,11 +38,11 @@ public abstract class Network {
}
public static void registerNetwork(Network n) {
- NETWORK_LIST.add(n);
+ networkList.add(n);
}
public static void unregisterNetwork(Network n) {
- NETWORK_LIST.remove(n);
+ networkList.remove(n);
}
public static void handleAllNetworkLocationUpdate(Location l) {
@@ -49,16 +51,9 @@ public abstract class Network {
}
}
- public static enum Component {
- CONNECTOR,
- REGULATOR,
- TERMINUS;
- }
-
-
public abstract int getRange();
- public abstract Component classifyLocation(Location l);
- public abstract void locationClassificationChange(Location l, Component from, Component to);
+ public abstract NetworkComponent classifyLocation(Location l);
+ public abstract void locationClassificationChange(Location l, NetworkComponent from, NetworkComponent to);
protected Location regulator;
private Queue nodeQueue = new ArrayDeque<>();
@@ -94,15 +89,15 @@ public abstract class Network {
return connectedLocations.contains(l);
}
- private Component getCurrentClassification(Location l) {
+ private NetworkComponent getCurrentClassification(Location l) {
if(regulatorNodes.contains(l)) {
- return Component.REGULATOR;
+ return NetworkComponent.REGULATOR;
}
else if(connectorNodes.contains(l)) {
- return Component.CONNECTOR;
+ return NetworkComponent.CONNECTOR;
}
else if(terminusNodes.contains(l)) {
- return Component.TERMINUS;
+ return NetworkComponent.TERMINUS;
}
return null;
}
@@ -111,28 +106,28 @@ public abstract class Network {
int steps = 0;
while (nodeQueue.peek() != null) {
Location l = nodeQueue.poll();
- Component currentAssignment = getCurrentClassification(l);
- Component classification = classifyLocation(l);
+ NetworkComponent currentAssignment = getCurrentClassification(l);
+ NetworkComponent classification = classifyLocation(l);
if (classification != currentAssignment) {
- if (currentAssignment == Component.REGULATOR || currentAssignment == Component.CONNECTOR) {
+ if (currentAssignment == NetworkComponent.REGULATOR || currentAssignment == NetworkComponent.CONNECTOR) {
// Requires a complete rebuild of the network, so we just throw the current one away.
unregisterNetwork(this);
return;
}
- else if (currentAssignment == Component.TERMINUS) {
+ else if (currentAssignment == NetworkComponent.TERMINUS) {
terminusNodes.remove(l);
}
- if (classification == Component.REGULATOR) {
+ if (classification == NetworkComponent.REGULATOR) {
regulatorNodes.add(l);
discoverNeighbors(l);
}
- else if(classification == Component.CONNECTOR) {
+ else if(classification == NetworkComponent.CONNECTOR) {
connectorNodes.add(l);
discoverNeighbors(l);
}
- else if(classification == Component.TERMINUS) {
+ else if(classification == NetworkComponent.TERMINUS) {
terminusNodes.add(l);
}
@@ -147,8 +142,8 @@ public abstract class Network {
private void discoverNeighbors(Location l, double xDiff, double yDiff, double zDiff) {
for(int i = getRange() + 1; i > 0; i --) {
- Location new_location = l.clone().add(i * xDiff, i * yDiff, i * zDiff);
- addLocationToNetwork(new_location);
+ Location newLocation = l.clone().add(i * xDiff, i * yDiff, i * zDiff);
+ addLocationToNetwork(newLocation);
}
}
@@ -162,12 +157,12 @@ public abstract class Network {
}
public void display() {
- SlimefunStartup.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ SlimefunPlugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
for(Location l: connectedLocations) {
try {
ParticleEffect.REDSTONE.display(l.clone().add(0.5, 0.5, 0.5), 0, 0, 0, 1, 1);
- } catch(Exception e) {
- e.printStackTrace();
+ } catch(Exception x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while playing Network Animation for Slimefun " + Slimefun.getVersion(), x);
}
}
});
diff --git a/src/me/mrCookieSlime/Slimefun/api/network/NetworkComponent.java b/src/me/mrCookieSlime/Slimefun/api/network/NetworkComponent.java
new file mode 100644
index 000000000..dd8bc53c7
--- /dev/null
+++ b/src/me/mrCookieSlime/Slimefun/api/network/NetworkComponent.java
@@ -0,0 +1,7 @@
+package me.mrCookieSlime.Slimefun.api.network;
+
+public enum NetworkComponent {
+ CONNECTOR,
+ REGULATOR,
+ TERMINUS;
+}
\ No newline at end of file
diff --git a/src/me/mrCookieSlime/Slimefun/autosave/BlockAutoSaver.java b/src/me/mrCookieSlime/Slimefun/autosave/BlockAutoSaver.java
index db39f8bbf..e46224fe4 100644
--- a/src/me/mrCookieSlime/Slimefun/autosave/BlockAutoSaver.java
+++ b/src/me/mrCookieSlime/Slimefun/autosave/BlockAutoSaver.java
@@ -2,12 +2,14 @@ package me.mrCookieSlime.Slimefun.autosave;
import java.util.HashSet;
import java.util.Set;
+import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.World;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public class BlockAutoSaver implements Runnable {
@@ -27,7 +29,7 @@ public class BlockAutoSaver implements Runnable {
}
if (!worlds.isEmpty()) {
- System.out.println("[Slimefun] Auto-Saving Block Data... (Next Auto-Save: " + SlimefunStartup.getCfg().getInt("options.auto-save-delay-in-minutes") + "m)");
+ Slimefun.getLogger().log(Level.INFO, "Auto-Saving Block Data... (Next Auto-Save: " + SlimefunPlugin.getCfg().getInt("options.auto-save-delay-in-minutes") + "m)");
for (BlockStorage storage: worlds) {
storage.save(false);
diff --git a/src/me/mrCookieSlime/Slimefun/autosave/PlayerAutoSaver.java b/src/me/mrCookieSlime/Slimefun/autosave/PlayerAutoSaver.java
index 3ccc999e6..bd359328b 100644
--- a/src/me/mrCookieSlime/Slimefun/autosave/PlayerAutoSaver.java
+++ b/src/me/mrCookieSlime/Slimefun/autosave/PlayerAutoSaver.java
@@ -1,8 +1,10 @@
package me.mrCookieSlime.Slimefun.autosave;
import java.util.Iterator;
+import java.util.logging.Level;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public class PlayerAutoSaver implements Runnable {
@@ -23,7 +25,7 @@ public class PlayerAutoSaver implements Runnable {
}
if (players > 0) {
- System.out.println("[Slimefun] Auto-Saved Player Data for " + players + " Player(s)!");
+ Slimefun.getLogger().log(Level.INFO, "Auto-Saved Player Data for " + players + " Player(s)!");
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/commands/SlimefunCommand.java b/src/me/mrCookieSlime/Slimefun/commands/SlimefunCommand.java
index 5a9efbfd0..a5da3a818 100644
--- a/src/me/mrCookieSlime/Slimefun/commands/SlimefunCommand.java
+++ b/src/me/mrCookieSlime/Slimefun/commands/SlimefunCommand.java
@@ -2,6 +2,7 @@ package me.mrCookieSlime.Slimefun.commands;
import java.util.ArrayList;
import java.util.List;
+import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -27,26 +28,26 @@ import me.mrCookieSlime.CSCoreLibPlugin.general.Reflection.ReflectionUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.TitleBuilder;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.TitleBuilder.TitleType;
import me.mrCookieSlime.Slimefun.SlimefunGuide;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.GPS.GPSNetwork;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
-import me.mrCookieSlime.Slimefun.Misc.BookDesign;
import me.mrCookieSlime.Slimefun.Objects.Research;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Setup.Messages;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
import me.mrCookieSlime.Slimefun.api.Slimefun;
public class SlimefunCommand implements CommandExecutor, Listener {
- public SlimefunStartup plugin;
+ public SlimefunPlugin plugin;
public static List arguments = new ArrayList<>();
public static List descriptions = new ArrayList<>();
public static List tabs = new ArrayList<>();
- public SlimefunCommand(SlimefunStartup plugin) {
+ public SlimefunCommand(SlimefunPlugin plugin) {
this.plugin = plugin;
arguments.add("/sf help");
@@ -107,14 +108,14 @@ public class SlimefunCommand implements CommandExecutor, Listener {
}
else if (args[0].equalsIgnoreCase("guide")) {
if (sender instanceof Player) {
- if (sender.hasPermission("slimefun.command.guide")) ((Player) sender).getInventory().addItem(SlimefunGuide.getItem(SlimefunStartup.getCfg().getBoolean("guide.default-view-book") ? BookDesign.BOOK : BookDesign.CHEST));
+ if (sender.hasPermission("slimefun.command.guide")) ((Player) sender).getInventory().addItem(SlimefunGuide.getItem(SlimefunPlugin.getCfg().getBoolean("guide.default-view-book") ? SlimefunGuideLayout.BOOK : SlimefunGuideLayout.CHEST));
else Messages.local.sendTranslation(sender, "messages.no-permission", true);
}
else Messages.local.sendTranslation(sender, "messages.only-players", true);
}
else if (args[0].equalsIgnoreCase("open_guide")) {
if (sender instanceof Player) {
- if (sender.hasPermission("slimefun.command.open_guide")) SlimefunGuide.openGuide((Player) sender, SlimefunStartup.getCfg().getBoolean("guide.default-view-book"));
+ if (sender.hasPermission("slimefun.command.open_guide")) SlimefunGuide.openGuide((Player) sender, SlimefunPlugin.getCfg().getBoolean("guide.default-view-book"));
else Messages.local.sendTranslation(sender, "messages.no-permission", true);
}
else Messages.local.sendTranslation(sender, "messages.only-players", true);
@@ -143,7 +144,7 @@ public class SlimefunCommand implements CommandExecutor, Listener {
double z = Integer.parseInt(args[3]) + 0.5D;
if (BlockStorage.getLocationInfo(((Player) sender).getWorld().getBlockAt(Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3])).getLocation(), "floor") != null) {
- plugin.getUtilities().elevatorUsers.add(((Player) sender).getUniqueId());
+ SlimefunPlugin.getUtilities().elevatorUsers.add(((Player) sender).getUniqueId());
float yaw = ((Player) sender).getEyeLocation().getYaw() + 180;
if (yaw > 180) yaw = -180 + (yaw - 180);
((Player) sender).teleport(new Location(((Player) sender).getWorld(), x, y, z, yaw, ((Player) sender).getEyeLocation().getPitch()));
@@ -153,15 +154,15 @@ public class SlimefunCommand implements CommandExecutor, Listener {
title.send(TitleType.TITLE, ((Player) sender));
subtitle.send(TitleType.SUBTITLE, ((Player) sender));
- } catch (Exception x1) {
- x1.printStackTrace();
+ } catch (Exception e) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while a Player used an Elevator in Slimefun " + Slimefun.getVersion(), e);
}
}
}
}
else if (args[0].equalsIgnoreCase("timings")) {
if (sender.hasPermission("slimefun.command.timings")|| sender instanceof ConsoleCommandSender) {
- SlimefunStartup.ticker.info(sender);
+ SlimefunPlugin.getTicker().info(sender);
}
else Messages.local.sendTranslation(sender, "messages.no-permission", true);
}
@@ -239,11 +240,7 @@ public class SlimefunCommand implements CommandExecutor, Listener {
if (sender.hasPermission("slimefun.command.teleporter") && sender instanceof Player) {
OfflinePlayer player = Bukkit.getOfflinePlayer(args[1]);
if (player.getName() != null) {
- try {
- GPSNetwork.openTeleporterGUI((Player) sender, player.getUniqueId(), ((Player) sender).getLocation().getBlock().getRelative(BlockFace.DOWN), 999999999);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ GPSNetwork.openTeleporterGUI((Player) sender, player.getUniqueId(), ((Player) sender).getLocation().getBlock().getRelative(BlockFace.DOWN), 999999999);
}
else sender.sendMessage("&4Unknown Player: &c" + args[1]);
}
diff --git a/src/me/mrCookieSlime/Slimefun/holograms/CargoHologram.java b/src/me/mrCookieSlime/Slimefun/holograms/CargoHologram.java
index e34b796de..c1db9d860 100644
--- a/src/me/mrCookieSlime/Slimefun/holograms/CargoHologram.java
+++ b/src/me/mrCookieSlime/Slimefun/holograms/CargoHologram.java
@@ -8,14 +8,14 @@ import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Entity;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.ArmorStandFactory;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
public final class CargoHologram {
private CargoHologram() {}
public static void update(final Block b, final String name) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
ArmorStand hologram = getArmorStand(b, true);
hologram.setCustomName(ChatColor.translateAlternateColorCodes('&', name));
});
diff --git a/src/me/mrCookieSlime/Slimefun/holograms/EnergyHologram.java b/src/me/mrCookieSlime/Slimefun/holograms/EnergyHologram.java
index 583d4cb30..5625467e9 100644
--- a/src/me/mrCookieSlime/Slimefun/holograms/EnergyHologram.java
+++ b/src/me/mrCookieSlime/Slimefun/holograms/EnergyHologram.java
@@ -9,7 +9,7 @@ import org.bukkit.entity.Entity;
import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.ArmorStandFactory;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
public final class EnergyHologram {
@@ -20,14 +20,14 @@ public final class EnergyHologram {
}
public static void update(final Block b, final String name) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
ArmorStand hologram = getArmorStand(b, true);
hologram.setCustomName(ChatColor.translateAlternateColorCodes('&', name));
});
}
public static void remove(final Block b) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
ArmorStand hologram = getArmorStand(b, false);
if (hologram != null) hologram.remove();
});
diff --git a/src/me/mrCookieSlime/Slimefun/holograms/InfusedHopperHologram.java b/src/me/mrCookieSlime/Slimefun/holograms/InfusedHopperHologram.java
index 9594a8ec1..cf72d9769 100644
--- a/src/me/mrCookieSlime/Slimefun/holograms/InfusedHopperHologram.java
+++ b/src/me/mrCookieSlime/Slimefun/holograms/InfusedHopperHologram.java
@@ -7,7 +7,9 @@ import org.bukkit.entity.Entity;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.ArmorStandFactory;
-public class InfusedHopperHologram {
+public final class InfusedHopperHologram {
+
+ private InfusedHopperHologram() {}
private static final double offset = 1.2;
diff --git a/src/me/mrCookieSlime/Slimefun/holograms/ReactorHologram.java b/src/me/mrCookieSlime/Slimefun/holograms/ReactorHologram.java
index 51a6ad6b9..f05dc9921 100644
--- a/src/me/mrCookieSlime/Slimefun/holograms/ReactorHologram.java
+++ b/src/me/mrCookieSlime/Slimefun/holograms/ReactorHologram.java
@@ -7,7 +7,7 @@ import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Entity;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.ArmorStandFactory;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
public final class ReactorHologram {
@@ -29,7 +29,7 @@ public final class ReactorHologram {
}
public static void update(final Location l, final String name) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
ArmorStand hologram = getArmorStand(l, true);
if (!hologram.isCustomNameVisible()) hologram.setCustomNameVisible(true);
hologram.setCustomName(ChatColor.translateAlternateColorCodes('&', name));
@@ -37,7 +37,7 @@ public final class ReactorHologram {
}
public static void remove(Location l) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
ArmorStand hologram = getArmorStand(l, false);
if (hologram != null) hologram.remove();
});
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/ClearLagHook.java b/src/me/mrCookieSlime/Slimefun/hooks/ClearLagHook.java
index a09402f5a..170e1c27b 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/ClearLagHook.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/ClearLagHook.java
@@ -3,7 +3,7 @@ package me.mrCookieSlime.Slimefun.hooks;
import java.util.Iterator;
import me.minebuilders.clearlag.events.EntityRemoveEvent;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Item;
@@ -12,7 +12,7 @@ import org.bukkit.event.Listener;
public class ClearLagHook implements Listener {
- public ClearLagHook(SlimefunStartup plugin) {
+ public ClearLagHook(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java b/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java
index 8013f0475..f8bf8b952 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java
@@ -6,7 +6,7 @@ import java.util.stream.Stream;
import org.bukkit.OfflinePlayer;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.Research;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
import me.mrCookieSlime.Slimefun.api.Slimefun;
@@ -15,7 +15,7 @@ public class PlaceholderAPIHook extends PlaceholderExpansion {
@Override
public String getAuthor() {
- return SlimefunStartup.instance.getDescription().getAuthors().toString();
+ return SlimefunPlugin.instance.getDescription().getAuthors().toString();
}
@Override
@@ -25,7 +25,7 @@ public class PlaceholderAPIHook extends PlaceholderExpansion {
@Override
public String getVersion() {
- return SlimefunStartup.instance.getDescription().getVersion();
+ return SlimefunPlugin.instance.getDescription().getVersion();
}
@Override
@@ -68,7 +68,7 @@ public class PlaceholderAPIHook extends PlaceholderExpansion {
}
if (params.equals("timings_lag")) {
- return SlimefunStartup.ticker.getTime() + "ms";
+ return SlimefunPlugin.getTicker().getTime() + "ms";
}
return null;
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java b/src/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java
index b3147e044..0f074b8ba 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java
@@ -1,12 +1,18 @@
package me.mrCookieSlime.Slimefun.hooks;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import java.util.logging.Level;
+
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
import net.coreprotect.CoreProtect;
import net.coreprotect.CoreProtectAPI;
public final class SlimefunHooks {
+ private SlimefunPlugin plugin;
+
private boolean exoticGarden = false;
+ private boolean emeraldEnchants = false;
private boolean coreProtect = false;
private boolean clearLag = false;
private boolean worldEdit = false;
@@ -14,42 +20,63 @@ public final class SlimefunHooks {
private CoreProtectAPI coreProtectAPI;
- public SlimefunHooks(SlimefunStartup plugin) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
+ public SlimefunHooks(SlimefunPlugin plugin) {
+ this.plugin = plugin;
+
+ if (isPluginInstalled("PlaceholderAPI")) {
placeHolderAPI = true;
new PlaceholderAPIHook().register();
}
+ /*
+ * These Items are not marked as soft-dependencies and
+ * therefore need to be loaded after the Server has finished
+ * loading all plugins
+ */
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- if (plugin.getServer().getPluginManager().isPluginEnabled("ClearLag")) {
+ if (isPluginInstalled("ClearLag")) {
clearLag = true;
new ClearLagHook(plugin);
}
- exoticGarden = plugin.getServer().getPluginManager().isPluginEnabled("ExoticGarden"); // Had to do it this way, otherwise it seems disabled.
+ exoticGarden = isPluginInstalled("ExoticGarden");
+ emeraldEnchants = isPluginInstalled("EmeraldEnchants");
- if (plugin.getServer().getPluginManager().isPluginEnabled("CoreProtect")) {
+ if (isPluginInstalled("CoreProtect")) {
coreProtectAPI = ((CoreProtect) plugin.getServer().getPluginManager().getPlugin("CoreProtect")).getAPI();
}
// WorldEdit Hook to clear Slimefun Data upon //set 0 //cut or any other equivalent
- if (plugin.getServer().getPluginManager().isPluginEnabled("WorldEdit")) {
+ if (isPluginInstalled("WorldEdit")) {
try {
Class.forName("com.sk89q.worldedit.extent.Extent");
worldEdit = true;
new WorldEditHook();
- System.out.println("[Slimefun] Successfully hooked into WorldEdit!");
} catch (Exception x) {
- System.err.println("[Slimefun] Failed to hook into WorldEdit!");
- System.err.println("[Slimefun] Maybe consider updating WorldEdit or Slimefun?");
+ Slimefun.getLogger().log(Level.WARNING, "Failed to hook into WorldEdit!");
+ Slimefun.getLogger().log(Level.WARNING, "Maybe consider updating WorldEdit or Slimefun?");
}
}
});
}
+ private boolean isPluginInstalled(String hook) {
+ if (plugin.getServer().getPluginManager().isPluginEnabled(hook)) {
+ Slimefun.getLogger().log(Level.INFO, "Hooked into Plugin: " + hook);
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+
public boolean isExoticGardenInstalled() {
return exoticGarden;
}
+
+ public boolean isEmeraldEnchantsInstalled() {
+ return emeraldEnchants;
+ }
public boolean isCoreProtectInstalled() {
return coreProtect;
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java b/src/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java
index 11538074b..c165ce4eb 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java
@@ -1,6 +1,6 @@
package me.mrCookieSlime.Slimefun.hooks.github;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
/**
* Represents a contributor on Slimefun4's GitHub repository.
@@ -69,6 +69,6 @@ public class Contributor {
* @return A Base64-Head Texture
*/
public String getTexture() {
- return SlimefunStartup.instance.getUtilities().contributorHeads.get(name);
+ return SlimefunPlugin.getUtilities().contributorHeads.get(name);
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java b/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java
index 0cc5f1bee..98924dd27 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java
@@ -9,11 +9,13 @@ import java.net.URL;
import java.net.URLConnection;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
+import java.util.logging.Level;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public abstract class GitHubConnector {
@@ -21,7 +23,7 @@ public abstract class GitHubConnector {
public GitHubConnector() {
this.file = new File("plugins/Slimefun/cache/github/" + this.getFileName() + ".json");
- SlimefunStartup.instance.getUtilities().connectors.add(this);
+ SlimefunPlugin.getUtilities().connectors.add(this);
}
public abstract String getFileName();
@@ -31,8 +33,10 @@ public abstract class GitHubConnector {
public abstract void onFailure();
public void pullFile() {
- if (SlimefunStartup.getCfg().getBoolean("options.print-out-github-data-retrieving")) System.out.println("[Slimefun - GitHub] Retrieving '" + this.getFileName() + ".json' from GitHub...");
-
+ if (SlimefunPlugin.getCfg().getBoolean("options.print-out-github-data-retrieving")) {
+ Slimefun.getLogger().log(Level.INFO, "Retrieving '" + this.getFileName() + ".json' from GitHub...");
+ }
+
try {
URL website = new URL("https://api.github.com/repos/" + this.getRepository() + this.getURLSuffix());
@@ -48,7 +52,9 @@ public abstract class GitHubConnector {
}
}
} catch (IOException e) {
- if (SlimefunStartup.getCfg().getBoolean("options.print-out-github-data-retrieving")) System.err.println("[Slimefun - GitHub] ERROR - Could not connect to GitHub in time.");
+ if (SlimefunPlugin.getCfg().getBoolean("options.print-out-github-data-retrieving")) {
+ Slimefun.getLogger().log(Level.WARNING, "Could not connect to GitHub in time.");
+ }
if (hasData()) {
this.parseData();
@@ -79,8 +85,8 @@ public abstract class GitHubConnector {
JsonElement element = new JsonParser().parse(full);
this.onSuccess(element);
}
- catch (IOException e) {
- e.printStackTrace();
+ catch (IOException x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while parsing GitHub-Data for Slimefun " + Slimefun.getVersion(), x);
this.onFailure();
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java b/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java
index e31557de3..23613a607 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java
@@ -3,14 +3,15 @@ package me.mrCookieSlime.Slimefun.hooks.github;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
+import java.util.logging.Level;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.mrCookieSlime.Slimefun.SlimefunGuide;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public final class GitHubSetup {
@@ -21,7 +22,7 @@ public final class GitHubSetup {
@Override
public void onSuccess(JsonElement element) {
- SlimefunStartup.instance.getUtilities().contributors.clear();
+ SlimefunPlugin.getUtilities().contributors.clear();
JsonArray array = element.getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
@@ -35,52 +36,52 @@ public final class GitHubSetup {
if (!name.equals("invalid-email-address")) {
Contributor contributor = new Contributor(name, job, commits);
contributor.setProfile(profile);
- SlimefunStartup.instance.getUtilities().contributors.add(contributor);
+ SlimefunPlugin.getUtilities().contributors.add(contributor);
}
}
- SlimefunStartup.instance.getUtilities().contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
+ SlimefunPlugin.getUtilities().contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
- SlimefunStartup.instance.getServer().getScheduler().runTaskAsynchronously(SlimefunStartup.instance, () -> {
+ SlimefunPlugin.instance.getServer().getScheduler().runTaskAsynchronously(SlimefunPlugin.instance, () -> {
for (JsonElement e: array) {
String name = e.getAsJsonObject().get("login").getAsString();
- if (SlimefunStartup.instance.getUtilities().contributorHeads.containsKey(name)) {
+ if (SlimefunPlugin.getUtilities().contributorHeads.containsKey(name)) {
continue;
}
- InputStreamReader profile_reader = null;
- InputStreamReader session_reader = null;
+ InputStreamReader profileReader = null;
+ InputStreamReader sessionReader = null;
try {
URL profile = new URL("https://api.mojang.com/users/profiles/minecraft/" + name);
- profile_reader = new InputStreamReader(profile.openStream());
- String uuid = new JsonParser().parse(profile_reader).getAsJsonObject().get("id").getAsString();
+ profileReader = new InputStreamReader(profile.openStream());
+ String uuid = new JsonParser().parse(profileReader).getAsJsonObject().get("id").getAsString();
URL session = new URL("https://sessionserver.mojang.com/session/minecraft/profile/" + uuid + "?unsigned=false");
- session_reader = new InputStreamReader(session.openStream());
- JsonArray properties = new JsonParser().parse(session_reader).getAsJsonObject().get("properties").getAsJsonArray();
+ sessionReader = new InputStreamReader(session.openStream());
+ JsonArray properties = new JsonParser().parse(sessionReader).getAsJsonObject().get("properties").getAsJsonArray();
for (JsonElement el: properties) {
if (el.isJsonObject() && el.getAsJsonObject().get("name").getAsString().equals("textures")) {
- SlimefunStartup.instance.getUtilities().contributorHeads.put(name, el.getAsJsonObject().get("value").getAsString());
+ SlimefunPlugin.getUtilities().contributorHeads.put(name, el.getAsJsonObject().get("value").getAsString());
break;
}
}
} catch (Exception x) {
- SlimefunStartup.instance.getUtilities().contributorHeads.put(name, null);
+ if (SlimefunPlugin.isActive()) SlimefunPlugin.getUtilities().contributorHeads.put(name, null);
} finally {
- if (profile_reader != null) {
+ if (profileReader != null) {
try {
- profile_reader.close();
+ profileReader.close();
} catch (IOException x) {
- x.printStackTrace();
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while closing GitHub-Stream for Slimefun " + Slimefun.getVersion(), x);
}
}
- if (session_reader != null) {
+ if (sessionReader != null) {
try {
- session_reader.close();
+ sessionReader.close();
} catch (IOException x) {
- x.printStackTrace();
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while closing GitHub-Stream for Slimefun " + Slimefun.getVersion(), x);
}
}
}
@@ -90,10 +91,10 @@ public final class GitHubSetup {
@Override
public void onFailure() {
- SlimefunStartup.instance.getUtilities().contributors.clear();
- SlimefunStartup.instance.getUtilities().contributors.add(new Contributor("TheBusyBiscuit", "&cAuthor", 3));
- SlimefunStartup.instance.getUtilities().contributors.add(new Contributor("John000708", "&cAuthor", 2));
- SlimefunStartup.instance.getUtilities().contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
+ SlimefunPlugin.getUtilities().contributors.clear();
+ SlimefunPlugin.getUtilities().contributors.add(new Contributor("TheBusyBiscuit", "&cAuthor", 3));
+ SlimefunPlugin.getUtilities().contributors.add(new Contributor("John000708", "&cAuthor", 2));
+ SlimefunPlugin.getUtilities().contributors.add(new Contributor("AquaLazuryt", "&6Lead Head Artist", 0));
}
@Override
@@ -117,14 +118,15 @@ public final class GitHubSetup {
@Override
public void onSuccess(JsonElement element) {
JsonObject object = element.getAsJsonObject();
- SlimefunGuide.issues = object.get("open_issues_count").getAsInt();
- SlimefunGuide.forks = object.get("forks").getAsInt();
- SlimefunGuide.stars = object.get("stargazers_count").getAsInt();
- SlimefunGuide.last_update = IntegerFormat.parseGitHubDate(object.get("pushed_at").getAsString());
+ SlimefunPlugin.getUtilities().issues = object.get("open_issues_count").getAsInt();
+ SlimefunPlugin.getUtilities().forks = object.get("forks").getAsInt();
+ SlimefunPlugin.getUtilities().stars = object.get("stargazers_count").getAsInt();
+ SlimefunPlugin.getUtilities().lastUpdate = IntegerFormat.parseGitHubDate(object.get("pushed_at").getAsString());
}
@Override
public void onFailure() {
+ // We don't have to do anything on failure
}
@Override
@@ -148,11 +150,12 @@ public final class GitHubSetup {
@Override
public void onSuccess(JsonElement element) {
JsonObject object = element.getAsJsonObject();
- SlimefunGuide.code_bytes = object.get("Java").getAsInt();
+ SlimefunPlugin.getUtilities().codeBytes = object.get("Java").getAsInt();
}
@Override
public void onFailure() {
+ // We don't have to do anything on failure
}
@Override
diff --git a/src/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java b/src/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java
index 0579716af..794a5f1bf 100644
--- a/src/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java
+++ b/src/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java
@@ -5,6 +5,9 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
+import java.util.logging.Level;
+
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public final class IntegerFormat {
@@ -17,8 +20,8 @@ public final class IntegerFormat {
public static Date parseGitHubDate(String str) {
try {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str.replace("T", " ").replace("Z", ""));
- } catch (ParseException e) {
- e.printStackTrace();
+ } catch (ParseException x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while parsing a GitHub-Date for Slimefun " + Slimefun.getVersion(), x);
return null;
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/AndroidKillingListener.java b/src/me/mrCookieSlime/Slimefun/listeners/AndroidKillingListener.java
index 77444e6dc..36d33a926 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/AndroidKillingListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/AndroidKillingListener.java
@@ -16,12 +16,12 @@ import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.androids.AndroidObject;
public class AndroidKillingListener implements Listener {
- public AndroidKillingListener(SlimefunStartup plugin) {
+ public AndroidKillingListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -30,7 +30,7 @@ public class AndroidKillingListener implements Listener {
if (e.getEntity().hasMetadata("android_killer")) {
final AndroidObject obj = (AndroidObject) e.getEntity().getMetadata("android_killer").get(0).value();
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
List items = new ArrayList<>();
for (Entity n : e.getEntity().getNearbyEntities(0.5D, 0.5D, 0.5D)) {
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java
index f6092db7b..14eea8608 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java
@@ -1,6 +1,6 @@
package me.mrCookieSlime.Slimefun.listeners;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
@@ -28,7 +28,7 @@ import org.bukkit.util.Vector;
public class ArmorListener implements Listener {
- public ArmorListener(SlimefunStartup plugin) {
+ public ArmorListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/AutonomousToolsListener.java b/src/me/mrCookieSlime/Slimefun/listeners/AutonomousToolsListener.java
index b821f28ae..41ccc545a 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/AutonomousToolsListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/AutonomousToolsListener.java
@@ -9,7 +9,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockDispenseEvent;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.handlers.AutonomousMachineHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
@@ -17,7 +17,7 @@ import me.mrCookieSlime.Slimefun.api.BlockStorage;
public class AutonomousToolsListener implements Listener {
- public AutonomousToolsListener(SlimefunStartup plugin) {
+ public AutonomousToolsListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java
index a3b7bf598..bfcba58bb 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java
@@ -17,7 +17,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunBackpack;
@@ -33,9 +33,9 @@ public class BackpackListener implements Listener {
private Utilities utilities;
- public BackpackListener(SlimefunStartup plugin) {
+ public BackpackListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
- utilities = plugin.getUtilities();
+ utilities = SlimefunPlugin.getUtilities();
}
@EventHandler
@@ -65,14 +65,18 @@ public class BackpackListener implements Listener {
if (e.getClick() == ClickType.NUMBER_KEY) {
ItemStack hotbarItem = e.getWhoClicked().getInventory().getItem(e.getHotbarButton());
SlimefunItem sfItem = SlimefunItem.getByItem(hotbarItem);
- if (hotbarItem != null && hotbarItem.getType().toString().contains("SHULKER_BOX")) e.setCancelled(true);
- else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true);
+ if ((hotbarItem != null && hotbarItem.getType().toString().contains("SHULKER_BOX")) ||
+ sfItem instanceof SlimefunBackpack)
+
+ e.setCancelled(true);
}
else if (e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR) {
SlimefunItem sfItem = SlimefunItem.getByItem(e.getCurrentItem());
- if (SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("COOLER"), false) && !(sfItem instanceof Juice)) e.setCancelled(true);
- else if (e.getCurrentItem().getType().toString().contains("SHULKER_BOX")) e.setCancelled(true);
- else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true);
+ if ((SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("COOLER"), false) && !(sfItem instanceof Juice)) ||
+ e.getCurrentItem().getType().toString().contains("SHULKER_BOX") ||
+ sfItem instanceof SlimefunBackpack)
+
+ e.setCancelled(true);
}
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/BlockListener.java b/src/me/mrCookieSlime/Slimefun/listeners/BlockListener.java
index 31c740f13..3da3d870c 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/BlockListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/BlockListener.java
@@ -1,18 +1,8 @@
package me.mrCookieSlime.Slimefun.listeners;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
-import me.mrCookieSlime.CSCoreLibPlugin.general.Block.BlockAdjacents;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
-import me.mrCookieSlime.Slimefun.Events.MultiBlockInteractEvent;
-import me.mrCookieSlime.Slimefun.Objects.MultiBlock;
-import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
-import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
-import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
-import me.mrCookieSlime.Slimefun.api.BlockStorage;
-
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -29,9 +19,18 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
+import me.mrCookieSlime.CSCoreLibPlugin.general.Block.BlockAdjacents;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.Events.MultiBlockInteractEvent;
+import me.mrCookieSlime.Slimefun.Objects.MultiBlock;
+import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
+import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
+import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
+import me.mrCookieSlime.Slimefun.api.BlockStorage;
+
public class BlockListener implements Listener {
- public BlockListener(SlimefunStartup plugin) {
+ public BlockListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -49,13 +48,11 @@ public class BlockListener implements Listener {
@EventHandler
public void onPistonExtend(BlockPistonExtendEvent e) {
for (Block b : e.getBlocks()) {
- if (BlockStorage.hasBlockInfo(b)) {
- e.setCancelled(true);
- return;
- }
- else if (b.getRelative(e.getDirection()).getType() == Material.AIR && BlockStorage.hasBlockInfo(b.getRelative(e.getDirection()))) {
- e.setCancelled(true);
- return;
+ if (BlockStorage.hasBlockInfo(b) ||
+ b.getRelative(e.getDirection()).getType() == Material.AIR && BlockStorage.hasBlockInfo(b.getRelative(e.getDirection()))) {
+
+ e.setCancelled(true);
+ return;
}
}
}
@@ -64,13 +61,11 @@ public class BlockListener implements Listener {
public void onPistonRetract(BlockPistonRetractEvent e) {
if (e.isSticky()) {
for (Block b : e.getBlocks()) {
- if (BlockStorage.hasBlockInfo(b)) {
- e.setCancelled(true);
- return;
- }
- else if (b.getRelative(e.getDirection()).getType() == Material.AIR && BlockStorage.hasBlockInfo(b.getRelative(e.getDirection()))) {
- e.setCancelled(true);
- return;
+ if (BlockStorage.hasBlockInfo(b) ||
+ b.getRelative(e.getDirection()).getType() == Material.AIR && BlockStorage.hasBlockInfo(b.getRelative(e.getDirection()))) {
+
+ e.setCancelled(true);
+ return;
}
}
}
@@ -139,7 +134,7 @@ public class BlockListener implements Listener {
if (!multiblocks.isEmpty()) {
e.setCancelled(true);
- System.out.println(Arrays.toString(multiblocks.get(multiblocks.size() - 1).getBuild()));
+
for (ItemHandler handler: SlimefunItem.getHandlers("MultiBlockInteractionHandler")) {
if (((MultiBlockInteractionHandler) handler).onInteract(p, multiblocks.get(multiblocks.size() - 1), b)) continue;
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/BowListener.java b/src/me/mrCookieSlime/Slimefun/listeners/BowListener.java
index 5f62f26db..96509a083 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/BowListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/BowListener.java
@@ -14,7 +14,7 @@ import org.bukkit.event.entity.EntityShootBowEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.util.Vector;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.handlers.BowShootHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
@@ -24,9 +24,9 @@ public class BowListener implements Listener {
private Utilities utilities;
- public BowListener(SlimefunStartup plugin) {
+ public BowListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
- utilities = plugin.getUtilities();
+ utilities = SlimefunPlugin.getUtilities();
}
@EventHandler
@@ -37,7 +37,7 @@ public class BowListener implements Listener {
@EventHandler
public void onArrowHit(final ProjectileHitEvent e) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
if (!e.getEntity().isValid()) return;
if (utilities.arrows.containsKey(e.getEntity().getUniqueId())) utilities.arrows.remove(e.getEntity().getUniqueId());
if (e.getEntity() instanceof Arrow) handleGrapplingHook((Arrow) e.getEntity());
@@ -58,7 +58,7 @@ public class BowListener implements Listener {
n.remove();
}
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
utilities.jumpState.remove(p.getUniqueId());
utilities.remove.remove(p.getUniqueId());
}, 20L);
@@ -71,15 +71,15 @@ public class BowListener implements Listener {
double g = -0.08D;
double d = arrow.getLocation().distance(l);
double t = d;
- double v_x = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getX() - l.getX()) / t;
- double v_y = (1.0D + 0.04D * t) * (arrow.getLocation().getY() - l.getY()) / t - 0.5D * g * t;
- double v_z = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getZ() - l.getZ()) / t;
+ double vX = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getX() - l.getX()) / t;
+ double vY = (1.0D + 0.04D * t) * (arrow.getLocation().getY() - l.getY()) / t - 0.5D * g * t;
+ double vZ = (1.0D + 0.08000000000000001D * t) * (arrow.getLocation().getZ() - l.getZ()) / t;
Vector v = p.getVelocity();
- v.setX(v_x);
- v.setY(v_y);
- v.setZ(v_z);
+ v.setX(vX);
+ v.setY(vY);
+ v.setZ(vZ);
p.setVelocity(v);
@@ -87,7 +87,7 @@ public class BowListener implements Listener {
n.remove();
}
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
utilities.jumpState.remove(p.getUniqueId());
utilities.remove.remove(p.getUniqueId());
}, 20L);
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java b/src/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java
index 81e3cf788..2f86191e3 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java
@@ -11,7 +11,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffect;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
@@ -19,7 +19,7 @@ import me.mrCookieSlime.Slimefun.api.inventory.BackpackInventory;
public class CoolerListener implements Listener {
- public CoolerListener(SlimefunStartup plugin) {
+ public CoolerListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/DamageListener.java b/src/me/mrCookieSlime/Slimefun/listeners/DamageListener.java
index 4bad8a871..8b7b58396 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/DamageListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/DamageListener.java
@@ -27,7 +27,7 @@ import org.bukkit.inventory.meta.SkullMeta;
import me.mrCookieSlime.EmeraldEnchants.EmeraldEnchants;
import me.mrCookieSlime.EmeraldEnchants.ItemEnchantment;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SoulboundItem;
@@ -43,9 +43,9 @@ public class DamageListener implements Listener {
private Utilities utilities;
private Random random = new Random();
- public DamageListener(SlimefunStartup plugin) {
+ public DamageListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
- utilities = plugin.getUtilities();
+ utilities = SlimefunPlugin.getUtilities();
}
@EventHandler
@@ -75,8 +75,8 @@ public class DamageListener implements Listener {
Player p = (Player) e.getEntity().getKiller();
ItemStack item = p.getInventory().getItemInMainHand();
- if (SlimefunManager.drops.containsKey(e.getEntity().getType())) {
- for (ItemStack drop : SlimefunManager.drops.get(e.getEntity().getType())) {
+ if (SlimefunPlugin.getUtilities().drops.containsKey(e.getEntity().getType())) {
+ for (ItemStack drop : SlimefunPlugin.getUtilities().drops.get(e.getEntity().getType())) {
if (Slimefun.hasUnlocked(p, item, true)) {
e.getDrops().add(drop);
}
@@ -159,7 +159,7 @@ public class DamageListener implements Listener {
strippedItem.removeEnchantment(enchantment);
}
- if (Slimefun.isEmeraldEnchantsInstalled()) {
+ if (SlimefunPlugin.getHooks().isEmeraldEnchantsInstalled()) {
for(ItemEnchantment enchantment : EmeraldEnchants.getInstance().getRegistry().getEnchantments(itemStack)){
EmeraldEnchants.getInstance().getRegistry().applyEnchantment(strippedItem, enchantment.getEnchantment(), 0);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java
index 691e9995d..829fd1d14 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java
@@ -10,14 +10,14 @@ import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
import me.mrCookieSlime.CSCoreLibPlugin.general.Recipe.RecipeCalculator;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.EnhancedFurnace;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
public class FurnaceListener implements Listener {
- public FurnaceListener(SlimefunStartup plugin) {
+ public FurnaceListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/GearListener.java b/src/me/mrCookieSlime/Slimefun/listeners/GearListener.java
index 438982cd8..cc197b9ec 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/GearListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/GearListener.java
@@ -1,6 +1,6 @@
package me.mrCookieSlime.Slimefun.listeners;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.JetBoots;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Jetpack;
@@ -19,7 +19,7 @@ import org.bukkit.event.player.PlayerToggleSneakEvent;
public class GearListener implements Listener {
- public GearListener(SlimefunStartup plugin) {
+ public GearListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -37,13 +37,13 @@ public class GearListener implements Listener {
if (thrust > 0.2) {
JetpackTask task = new JetpackTask(p, thrust);
- task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunStartup.instance, task, 0L, 3L));
+ task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunPlugin.instance, task, 0L, 3L));
}
}
}
else if (item.isItem(SlimefunItems.PARACHUTE) && Slimefun.hasUnlocked(p, SlimefunItems.PARACHUTE, true)) {
ParachuteTask task = new ParachuteTask(p);
- task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunStartup.instance, task, 0L, 3L));
+ task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunPlugin.instance, task, 0L, 3L));
}
}
if (SlimefunItem.getByItem(p.getInventory().getBoots()) != null) {
@@ -53,13 +53,13 @@ public class GearListener implements Listener {
double speed = ((JetBoots) item).getSpeed();
if (speed > 0.2) {
JetBootsTask task = new JetBootsTask(p, speed);
- task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunStartup.instance, task, 0L, 2L));
+ task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunPlugin.instance, task, 0L, 2L));
}
}
}
if (p.getInventory().containsAtLeast(SlimefunItems.INFUSED_MAGNET, 1)) {
MagnetTask task = new MagnetTask(p);
- task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunStartup.instance, task, 0L, 8L));
+ task.setID(Bukkit.getScheduler().scheduleSyncRepeatingTask(SlimefunPlugin.instance, task, 0L, 8L));
}
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/GuideOnJoinListener.java b/src/me/mrCookieSlime/Slimefun/listeners/GuideOnJoinListener.java
index aa526499e..0dc47e2a6 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/GuideOnJoinListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/GuideOnJoinListener.java
@@ -6,12 +6,12 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import me.mrCookieSlime.Slimefun.SlimefunGuide;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
-import me.mrCookieSlime.Slimefun.Misc.BookDesign;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
+import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
public class GuideOnJoinListener implements Listener {
- public GuideOnJoinListener(SlimefunStartup plugin) {
+ public GuideOnJoinListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -19,10 +19,10 @@ public class GuideOnJoinListener implements Listener {
public void onJoin(PlayerJoinEvent e) {
if (!e.getPlayer().hasPlayedBefore()) {
Player p = e.getPlayer();
- if (!SlimefunStartup.getWhitelist().getBoolean(p.getWorld().getName() + ".enabled")) return;
- if (!SlimefunStartup.getWhitelist().getBoolean(p.getWorld().getName() + ".enabled-items.SLIMEFUN_GUIDE")) return;
+ if (!SlimefunPlugin.getWhitelist().getBoolean(p.getWorld().getName() + ".enabled")) return;
+ if (!SlimefunPlugin.getWhitelist().getBoolean(p.getWorld().getName() + ".enabled-items.SLIMEFUN_GUIDE")) return;
- BookDesign type = SlimefunStartup.getCfg().getBoolean("guide.default-view-book") ? BookDesign.BOOK : BookDesign.CHEST;
+ SlimefunGuideLayout type = SlimefunPlugin.getCfg().getBoolean("guide.default-view-book") ? SlimefunGuideLayout.BOOK : SlimefunGuideLayout.CHEST;
p.getInventory().addItem(SlimefunGuide.getItem(type));
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java
index c1b162fcc..002ca8a4c 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java
@@ -1,6 +1,7 @@
package me.mrCookieSlime.Slimefun.listeners;
import java.util.List;
+import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -41,9 +42,8 @@ import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Player.PlayerInventory;
import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull;
import me.mrCookieSlime.Slimefun.SlimefunGuide;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
-import me.mrCookieSlime.Slimefun.Misc.BookDesign;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.MultiTool;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
@@ -52,6 +52,7 @@ import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler;
import me.mrCookieSlime.Slimefun.Setup.Messages;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
import me.mrCookieSlime.Slimefun.api.Slimefun;
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
@@ -64,9 +65,9 @@ public class ItemListener implements Listener {
private Utilities utilities;
- public ItemListener(SlimefunStartup plugin) {
+ public ItemListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
- utilities = plugin.getUtilities();
+ utilities = SlimefunPlugin.getUtilities();
}
@EventHandler
@@ -87,14 +88,14 @@ public class ItemListener implements Listener {
e.setCancelled(true);
- if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.BOOK), true))
+ if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true))
e.setCancelled(true);
- else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.CHEST), true))
+ else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true))
e.setCancelled(true);
- if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.BOOK), true))
+ if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true))
e.setCancelled(true);
- else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.CHEST), true))
+ else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true))
e.setCancelled(true);
}
}
@@ -137,8 +138,8 @@ public class ItemListener implements Listener {
b.setType(Material.PLAYER_HEAD);
try {
CustomSkull.setSkull(b, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTllYjlkYTI2Y2YyZDMzNDEzOTdhN2Y0OTEzYmEzZDM3ZDFhZDEwZWFlMzBhYjI1ZmEzOWNlYjg0YmMifX19");
- } catch (Exception e1) {
- e1.printStackTrace();
+ } catch (Exception x) {
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while using the Debug-Fish for Slimefun " + Slimefun.getVersion(), x);
}
}
else if (BlockStorage.hasBlockInfo(e.getClickedBlock())) {
@@ -158,14 +159,14 @@ public class ItemListener implements Listener {
if (BlockStorage.check(e.getClickedBlock()).isTicking()) {
p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&dTicking: " + "&2\u2714"));
p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dAsync: &e" + (BlockStorage.check(e.getClickedBlock()).getBlockTicker().isSynchronized() ? "&4\u2718": "&2\u2714")));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTimings: &e" + SlimefunStartup.ticker.getTimings(e.getClickedBlock()) + "ms"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTotal Timings: &e" + SlimefunStartup.ticker.getTimings(BlockStorage.checkID(e.getClickedBlock())) + "ms"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dChunk Timings: &e" + SlimefunStartup.ticker.getTimings(e.getClickedBlock().getChunk()) + "ms"));
+ p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTimings: &e" + SlimefunPlugin.getTicker().getTimings(e.getClickedBlock()) + "ms"));
+ p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTotal Timings: &e" + SlimefunPlugin.getTicker().getTimings(BlockStorage.checkID(e.getClickedBlock())) + "ms"));
+ p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dChunk Timings: &e" + SlimefunPlugin.getTicker().getTimings(e.getClickedBlock().getChunk()) + "ms"));
}
else if (BlockStorage.check(e.getClickedBlock()).getEnergyTicker() != null) {
p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&dTicking: " + "&b~ &3(Indirect)"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTimings: &e" + SlimefunStartup.ticker.getTimings(e.getClickedBlock()) + "ms"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dChunk Timings: &e" + SlimefunStartup.ticker.getTimings(e.getClickedBlock().getChunk()) + "ms"));
+ p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dTimings: &e" + SlimefunPlugin.getTicker().getTimings(e.getClickedBlock()) + "ms"));
+ p.sendMessage(ChatColor.translateAlternateColorCodes('&', " &dChunk Timings: &e" + SlimefunPlugin.getTicker().getTimings(e.getClickedBlock().getChunk()) + "ms"));
}
else {
p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&dTicking: " + "&4\u2718"));
@@ -209,15 +210,15 @@ public class ItemListener implements Listener {
}
}
- if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
+ if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) {
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
else SlimefunGuide.openGuide(p, true);
}
- else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(BookDesign.CHEST), true)) {
+ else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) {
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
else SlimefunGuide.openGuide(p, false);
}
- else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(BookDesign.CHEAT_SHEET), true)) {
+ else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) {
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
else p.chat("/sf cheat");
}
@@ -361,7 +362,7 @@ public class ItemListener implements Listener {
// Remove the glass bottle once drunk
final int m = mode;
- Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
+ Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> {
if (m == 0) p.getEquipment().setItemInMainHand(null);
else if (m == 1) p.getEquipment().setItemInOffHand(null);
else if (m == 2) p.getInventory().removeItem(new ItemStack(Material.GLASS_BOTTLE, 1));
@@ -418,32 +419,17 @@ public class ItemListener implements Listener {
if (SlimefunManager.isItemSimiliar(slot0, SlimefunItems.ELYTRA, true)) return;
- if (SlimefunItem.getByItem(slot0) != null && !SlimefunItem.isDisabled(slot0)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
- }
- else if (SlimefunItem.getByItem(slot1) != null && !SlimefunItem.isDisabled(slot1)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
- }
+ if (SlimefunItem.getByItem(slot0) != null && !SlimefunItem.isDisabled(slot0) ||
+ SlimefunItem.getByItem(slot1) != null && !SlimefunItem.isDisabled(slot1) ||
+ SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) ||
+ SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)||
- if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
- }
- else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.CHEST), true)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
- }
+ SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) ||
+ SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) {
- if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
- }
- else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.CHEST), true)) {
- e.setCancelled(true);
- Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
+ e.setCancelled(true);
+ Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
}
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ItemPickupListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ItemPickupListener.java
index 356b22159..e4cbc1882 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/ItemPickupListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/ItemPickupListener.java
@@ -1,6 +1,6 @@
package me.mrCookieSlime.Slimefun.listeners;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
@@ -17,7 +17,7 @@ import org.bukkit.event.inventory.InventoryPickupItemEvent;
*/
public class ItemPickupListener implements Listener {
- public ItemPickupListener(SlimefunStartup plugin) {
+ public ItemPickupListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/NetworkListener.java b/src/me/mrCookieSlime/Slimefun/listeners/NetworkListener.java
index 292a6fabe..5ea8b9556 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/NetworkListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/NetworkListener.java
@@ -1,6 +1,6 @@
package me.mrCookieSlime.Slimefun.listeners;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.network.Network;
import org.bukkit.event.EventHandler;
@@ -11,7 +11,7 @@ import org.bukkit.event.block.BlockPlaceEvent;
public class NetworkListener implements Listener {
- public NetworkListener(SlimefunStartup plugin) {
+ public NetworkListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/PlayerQuitListener.java b/src/me/mrCookieSlime/Slimefun/listeners/PlayerQuitListener.java
index 6c8971653..f06f18fc9 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/PlayerQuitListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/PlayerQuitListener.java
@@ -4,18 +4,18 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
public class PlayerQuitListener implements Listener {
- public PlayerQuitListener(SlimefunStartup plugin) {
+ public PlayerQuitListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler
public void onDisconnect(PlayerQuitEvent e) {
- SlimefunStartup.instance.getUtilities().guideHistory.remove(e.getPlayer().getUniqueId());
+ SlimefunPlugin.getUtilities().guideHistory.remove(e.getPlayer().getUniqueId());
if (PlayerProfile.isLoaded(e.getPlayer().getUniqueId())) {
PlayerProfile.fromUUID(e.getPlayer().getUniqueId()).markForDeletion();
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java b/src/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java
index 015acfe20..5e0b4ea45 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java
@@ -31,7 +31,7 @@ import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Talisman;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
@@ -41,7 +41,7 @@ public class TalismanListener implements Listener {
private Random random = new Random();
- public TalismanListener(SlimefunStartup plugin) {
+ public TalismanListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -98,9 +98,7 @@ public class TalismanListener implements Listener {
item.setItemMeta(meta);
final int itemSlot = slot;
- SlimefunStartup.instance.getServer().getScheduler().runTaskLater(SlimefunStartup.instance, () -> {
- inv.setItem(itemSlot, item);
- }, 1L);
+ SlimefunPlugin.instance.getServer().getScheduler().runTaskLater(SlimefunPlugin.instance, () -> inv.setItem(itemSlot, item), 1L);
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/TeleporterListener.java b/src/me/mrCookieSlime/Slimefun/listeners/TeleporterListener.java
index b71114d5d..8791d446b 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/TeleporterListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/TeleporterListener.java
@@ -1,10 +1,13 @@
package me.mrCookieSlime.Slimefun.listeners;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.GPS.Elevator;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.Teleporter;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
+
+import java.util.logging.Level;
import org.bukkit.block.BlockFace;
import org.bukkit.event.EventHandler;
@@ -17,19 +20,18 @@ public class TeleporterListener implements Listener {
private final BlockFace[] faces = {BlockFace.NORTH, BlockFace.NORTH_EAST, BlockFace.EAST, BlockFace.SOUTH_EAST, BlockFace.SOUTH, BlockFace.SOUTH_WEST, BlockFace.WEST, BlockFace.NORTH_WEST};
- public TeleporterListener(SlimefunStartup plugin) {
+ public TeleporterListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler(priority=EventPriority.HIGHEST,ignoreCancelled=true)
public void onStarve(PlayerInteractEvent e) {
- if (e.getAction() != Action.PHYSICAL) return;
+ if (e.getAction() != Action.PHYSICAL || e.getClickedBlock() == null) return;
- if (e.getClickedBlock() == null) return;
- SlimefunItem item = BlockStorage.check(e.getClickedBlock());
- if (item == null) return;
+ String id = BlockStorage.checkID(e.getClickedBlock());
+ if (id == null) return;
- if (item.getID().equals("GPS_ACTIVATION_DEVICE_SHARED")) {
+ if (id.equals("GPS_ACTIVATION_DEVICE_SHARED") || (id.equals("GPS_ACTIVATION_DEVICE_PERSONAL") && BlockStorage.getLocationInfo(e.getClickedBlock().getLocation(), "owner").equals(e.getPlayer().getUniqueId().toString()))) {
SlimefunItem teleporter = BlockStorage.check(e.getClickedBlock().getRelative(BlockFace.DOWN));
if (teleporter instanceof Teleporter) {
@@ -40,29 +42,11 @@ public class TeleporterListener implements Listener {
try {
((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
} catch (Exception x) {
- x.printStackTrace();
+ Slimefun.getLogger().log(Level.SEVERE, "An Error occured while interacting with a Teleporter", x);
}
}
}
- else if (item.getID().equals("GPS_ACTIVATION_DEVICE_PERSONAL")) {
- if (BlockStorage.getLocationInfo(e.getClickedBlock().getLocation(), "owner").equals(e.getPlayer().getUniqueId().toString())) {
- SlimefunItem teleporter = BlockStorage.check(e.getClickedBlock().getRelative(BlockFace.DOWN));
-
- if (teleporter instanceof Teleporter) {
- for (BlockFace face: faces) {
- if (!BlockStorage.check(e.getClickedBlock().getRelative(BlockFace.DOWN).getRelative(face), "GPS_TELEPORTER_PYLON")) return;
- }
-
- try {
- ((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
- } catch (Exception x) {
- x.printStackTrace();
- }
- }
- }
- else e.setCancelled(true);
- }
- else if (item.getID().equals("ELEVATOR_PLATE")) {
+ else if (id.equals("ELEVATOR_PLATE")) {
Elevator.openDialogue(e.getPlayer(), e.getClickedBlock());
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java
index 1a44ac18a..0d608b19c 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java
@@ -24,7 +24,7 @@ import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
import me.mrCookieSlime.CSCoreLibPlugin.general.Particles.FireworkShow;
import me.mrCookieSlime.CSCoreLibPlugin.general.Player.PlayerInventory;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.HandledBlock;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
@@ -46,9 +46,9 @@ public class ToolListener implements Listener {
private Random random = new Random();
private Utilities utilities;
- public ToolListener(SlimefunStartup plugin) {
+ public ToolListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
- utilities = plugin.getUtilities();
+ utilities = SlimefunPlugin.getUtilities();
sensitiveMaterials.add(Material.STONE_PRESSURE_PLATE);
sensitiveMaterials.add(Material.LIGHT_WEIGHTED_PRESSURE_PLATE);
diff --git a/src/me/mrCookieSlime/Slimefun/listeners/WorldListener.java b/src/me/mrCookieSlime/Slimefun/listeners/WorldListener.java
index 0e1be152b..4b2cc295c 100644
--- a/src/me/mrCookieSlime/Slimefun/listeners/WorldListener.java
+++ b/src/me/mrCookieSlime/Slimefun/listeners/WorldListener.java
@@ -1,16 +1,19 @@
package me.mrCookieSlime.Slimefun.listeners;
+import java.util.logging.Level;
+
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.event.world.WorldUnloadEvent;
-import me.mrCookieSlime.Slimefun.SlimefunStartup;
+import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.Slimefun;
public class WorldListener implements Listener {
- public WorldListener(SlimefunStartup plugin) {
+ public WorldListener(SlimefunPlugin plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@@ -18,16 +21,20 @@ public class WorldListener implements Listener {
public void onWorldLoad(WorldLoadEvent e) {
BlockStorage.getForcedStorage(e.getWorld());
- SlimefunStartup.getWhitelist().setDefaultValue(e.getWorld().getName() + ".enabled", true);
- SlimefunStartup.getWhitelist().setDefaultValue(e.getWorld().getName() + ".enabled-items.SLIMEFUN_GUIDE", true);
- SlimefunStartup.getWhitelist().save();
+ SlimefunPlugin.getWhitelist().setDefaultValue(e.getWorld().getName() + ".enabled", true);
+ SlimefunPlugin.getWhitelist().setDefaultValue(e.getWorld().getName() + ".enabled-items.SLIMEFUN_GUIDE", true);
+ SlimefunPlugin.getWhitelist().save();
}
@EventHandler
public void onWorldUnload(WorldUnloadEvent e) {
BlockStorage storage = BlockStorage.getStorage(e.getWorld());
- if (storage != null) storage.save(true);
- else System.err.println("[Slimefun] Could not save Slimefun Blocks for World \"" + e.getWorld().getName() + "\"");
+ if (storage != null) {
+ storage.save(true);
+ }
+ else {
+ Slimefun.getLogger().log(Level.SEVERE, "Could not save Slimefun Blocks for World \"" + e.getWorld().getName() + "\"");
+ }
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/utils/Settings.java b/src/me/mrCookieSlime/Slimefun/utils/Settings.java
index 76081b083..07246ffcf 100644
--- a/src/me/mrCookieSlime/Slimefun/utils/Settings.java
+++ b/src/me/mrCookieSlime/Slimefun/utils/Settings.java
@@ -6,37 +6,41 @@ import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
public final class Settings {
- public boolean RESEARCHES_ENABLED;
- public boolean RESEARCHES_FREE_IN_CREATIVE;
- public List RESEARCHES_TITLES;
+ public boolean printOutLoading;
- public int BLOCK_LOADING_INFO_DELAY;
- public int BLOCK_AUTO_SAVE_DELAY;
+ public boolean researchesEnabled;
+ public boolean researchesFreeInCreative;
+ public List researchesTitles;
- public boolean GUIDE_SHOW_VANILLA_RECIPES;
+ public int blocksInfoLoadingDelay;
+ public int blocksAutoSaveDelay;
- public int EMERALD_ENCHANTS_LIMIT;
+ public boolean guideShowVanillaRecipes;
- public boolean DUST_WASHER_LEGACY;
- public boolean ORE_GRINDER_LEGACY;
- public boolean ORE_WASHER_LEGACY;
+ public int emeraldEnchantsLimit;
- public int SMELTERY_FIRE_BREAK_CHANCE;
+ public boolean legacyDustWasher;
+ public boolean legacyOreGrinder;
+ public boolean legacyOreWasher;
+
+ public int smelteryFireBreakChance;
public Settings(Config cfg) {
- RESEARCHES_FREE_IN_CREATIVE = cfg.getBoolean("options.allow-free-creative-research");
- RESEARCHES_TITLES = cfg.getStringList("research-ranks");
+ printOutLoading = cfg.getBoolean("options.print-out-loading");
- BLOCK_LOADING_INFO_DELAY = cfg.getInt("URID.info-delay");
- BLOCK_AUTO_SAVE_DELAY = cfg.getInt("options.auto-save-delay-in-minutes");
+ researchesFreeInCreative = cfg.getBoolean("options.allow-free-creative-research");
+ researchesTitles = cfg.getStringList("research-ranks");
- GUIDE_SHOW_VANILLA_RECIPES = cfg.getBoolean("options.show-vanilla-recipes-in-guide");
+ blocksInfoLoadingDelay = cfg.getInt("URID.info-delay");
+ blocksAutoSaveDelay = cfg.getInt("options.auto-save-delay-in-minutes");
- EMERALD_ENCHANTS_LIMIT = cfg.getInt("options.emerald-enchantment-limit");
+ guideShowVanillaRecipes = cfg.getBoolean("options.show-vanilla-recipes-in-guide");
- DUST_WASHER_LEGACY = cfg.getBoolean("options.legacy-dust-washer");
- ORE_WASHER_LEGACY = cfg.getBoolean("options.legacy-ore-washer");
- ORE_GRINDER_LEGACY = cfg.getBoolean("options.legacy-ore-grinder");
+ emeraldEnchantsLimit = cfg.getInt("options.emerald-enchantment-limit");
+
+ legacyDustWasher = cfg.getBoolean("options.legacy-dust-washer");
+ legacyOreWasher = cfg.getBoolean("options.legacy-ore-washer");
+ legacyOreGrinder = cfg.getBoolean("options.legacy-ore-grinder");
}
}
diff --git a/src/me/mrCookieSlime/Slimefun/utils/Utilities.java b/src/me/mrCookieSlime/Slimefun/utils/Utilities.java
index 937d26451..c6c9487ab 100644
--- a/src/me/mrCookieSlime/Slimefun/utils/Utilities.java
+++ b/src/me/mrCookieSlime/Slimefun/utils/Utilities.java
@@ -1,6 +1,8 @@
package me.mrCookieSlime.Slimefun.utils;
import java.util.ArrayList;
+import java.util.Date;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -10,10 +12,17 @@ import java.util.UUID;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.Slimefun.GEO.OreGenResource;
+import me.mrCookieSlime.Slimefun.Objects.Category;
+import me.mrCookieSlime.Slimefun.Setup.PostSlimefunLoadingHandler;
import me.mrCookieSlime.Slimefun.ancient_altar.AltarRecipe;
+import me.mrCookieSlime.Slimefun.api.BlockStorage;
+import me.mrCookieSlime.Slimefun.api.GuideHandler;
+import me.mrCookieSlime.Slimefun.api.PlayerProfile;
+import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
import me.mrCookieSlime.Slimefun.api.item_transport.CargoTransportEvent;
import me.mrCookieSlime.Slimefun.hooks.github.Contributor;
import me.mrCookieSlime.Slimefun.hooks.github.GitHubConnector;
@@ -30,6 +39,22 @@ public final class Utilities {
public int vanillaItems = 0;
+ public List currentlyEnabledCategories = new ArrayList<>();
+
+ public Map worlds = new HashMap<>();
+ public Set loadedTickers = new HashSet<>();
+
+ public Map mapChunks = new HashMap<>();
+ public Map> tickingChunks = new HashMap<>();
+ public Map universalInventories = new HashMap<>();
+
+ public Map profiles = new HashMap<>();
+
+ public Map> guideHandlers = new HashMap<>();
+ public List postHandlers = new ArrayList<>();
+
+ public Map> drops = new EnumMap<>(EntityType.class);
+
public Map jumpState = new HashMap<>();
public Set damage = new HashSet<>();
public Map remove = new HashMap<>();
@@ -64,5 +89,31 @@ public final class Utilities {
* @since 4.0
*/
public Set researching = new HashSet<>();
+
+ /**
+ * Represents the current month of the year
+ */
+ public int month = 0;
+
+ /**
+ * Represents the number of unresolved Issues on the Slimefun4 GitHub repository.
+ * @since 4.1.13
+ */
+ public int issues = 0;
+
+ /**
+ * Represents the number of Forks of the Slimefun4 GitHub repository.
+ * @since 4.1.13
+ */
+ public int forks = 0;
+
+ /**
+ * Represents the number of stars on the Slimefun4 GitHub repository.
+ * @since 4.1.13
+ */
+ public int stars = 0;
+
+ public int codeBytes = 0;
+ public Date lastUpdate = new Date();
}
diff --git a/src/plugin.yml b/src/plugin.yml
index 7509adc2c..3381857ba 100644
--- a/src/plugin.yml
+++ b/src/plugin.yml
@@ -4,7 +4,7 @@ author: The Slimefun 4 Community
description: Slimefun basically turns your entire Server into a FTB modpack without installing a single mod
website: http://TheBusyBiscuit.github.io/
-main: me.mrCookieSlime.Slimefun.SlimefunStartup
+main: me.mrCookieSlime.Slimefun.SlimefunPlugin
softdepend: [CS-CoreLib, PlaceholderAPI]
api-version: 1.14