diff --git a/src/main/java/kamkeel/developer/Developer.java b/src/main/java/kamkeel/developer/Developer.java index 85373abd6..d801cda4a 100644 --- a/src/main/java/kamkeel/developer/Developer.java +++ b/src/main/java/kamkeel/developer/Developer.java @@ -1,14 +1,16 @@ package kamkeel.developer; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import java.util.UUID; public class Developer { - public static ArrayList Universal = new ArrayList<>(); - public static ArrayList ScriptUser = new ArrayList<>(); - public static ArrayList WandUser = new ArrayList<>(); - public static ArrayList QuestMaker = new ArrayList<>(); + public static HashSet Universal = new HashSet<>(); + public static HashSet ScriptUser = new HashSet<>(); + public static HashSet WandUser = new HashSet<>(); + public static HashSet QuestMaker = new HashSet<>(); public static Developer instance; public Developer(){ @@ -18,10 +20,16 @@ public class Developer { } public boolean hasUniversal(UUID uuid){ + if(Universal == null){ + Universal = new HashSet<>(); + } return Universal.contains(uuid); } public boolean hasScriptUser(UUID uuid){ + if(ScriptUser == null){ + ScriptUser = new HashSet<>(); + } return ScriptUser.contains(uuid); } diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index 8c48dc196..417e40675 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -10,6 +10,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import foxz.command.CommandNoppes; import kamkeel.command.CommandKamkeel; +import kamkeel.developer.Developer; import net.minecraft.block.Block; import net.minecraft.block.BlockIce; import net.minecraft.block.BlockLeavesBase; @@ -166,6 +167,7 @@ public class CustomNpcs { ForgeChunkManager.setForcedChunkLoadingCallback(this, new ChunkController()); new CustomNpcsPermissions(); + new Developer(); PixelmonHelper.load(); } diff --git a/src/main/java/noppes/npcs/CustomNpcsPermissions.java b/src/main/java/noppes/npcs/CustomNpcsPermissions.java index a0ef3d022..f96480cff 100644 --- a/src/main/java/noppes/npcs/CustomNpcsPermissions.java +++ b/src/main/java/noppes/npcs/CustomNpcsPermissions.java @@ -75,11 +75,15 @@ public class CustomNpcsPermissions{ } public static boolean hasPermission(EntityPlayer player, Permission permission){ - if(Developer.instance.hasUniversal(player.getUniqueID())){ - return true; - } - if(Instance.bukkit != null){ - return Instance.bukkitPermission(player.getCommandSenderName(), permission.name); + if(player != null){ + if(Developer.instance.hasUniversal(player.getUniqueID())){ + return true; + } + if(permission != null){ + if(Instance.bukkit != null){ + return Instance.bukkitPermission(player.getCommandSenderName(), permission.name); + } + } } return true; } diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabFactions.java b/src/main/java/tconstruct/client/tabs/InventoryTabFactions.java index 8797fa588..815d27e00 100644 --- a/src/main/java/tconstruct/client/tabs/InventoryTabFactions.java +++ b/src/main/java/tconstruct/client/tabs/InventoryTabFactions.java @@ -5,6 +5,7 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import noppes.npcs.CustomItems; import noppes.npcs.client.gui.player.GuiFaction; +import noppes.npcs.client.gui.player.GuiQuestLog; import noppes.npcs.util.CustomNPCsScheduler; public class InventoryTabFactions extends AbstractTab { @@ -16,10 +17,19 @@ public class InventoryTabFactions extends AbstractTab { @Override public void onTabClicked() { - CustomNPCsScheduler.runTack(() -> { - Minecraft mc = Minecraft.getMinecraft(); - mc.displayGuiScreen(new GuiFaction()); - }, 100); + Thread t = new Thread(){ + @Override + public void run(){ + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + Minecraft mc = Minecraft.getMinecraft(); + mc.displayGuiScreen(new GuiFaction()); + } + }; + t.start(); } @Override diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabQuests.java b/src/main/java/tconstruct/client/tabs/InventoryTabQuests.java index b877855ee..c3cb49dcb 100644 --- a/src/main/java/tconstruct/client/tabs/InventoryTabQuests.java +++ b/src/main/java/tconstruct/client/tabs/InventoryTabQuests.java @@ -19,10 +19,19 @@ public class InventoryTabQuests extends AbstractTab { @Override public void onTabClicked() { - CustomNPCsScheduler.runTack(() -> { - Minecraft mc = Minecraft.getMinecraft(); - mc.displayGuiScreen(new GuiQuestLog(mc.thePlayer)); - }, 100); + Thread t = new Thread(){ + @Override + public void run(){ + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + Minecraft mc = Minecraft.getMinecraft(); + mc.displayGuiScreen(new GuiQuestLog(mc.thePlayer)); + } + }; + t.start(); } @Override