From 74939083c8e80514ab5702c66991662284309e35 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Sun, 19 Jul 2015 13:36:36 +0100 Subject: [PATCH 1/2] Fix frame mods moving Teleporters with fake worlds If there is no ChunkProvider, the block can't be unloaded. --- src/main/java/mekanism/api/Coord4D.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/api/Coord4D.java b/src/main/java/mekanism/api/Coord4D.java index 1bda3815c..e94f39003 100644 --- a/src/main/java/mekanism/api/Coord4D.java +++ b/src/main/java/mekanism/api/Coord4D.java @@ -216,7 +216,7 @@ public class Coord4D /** * Returns a new Coord4D from a tag compound. - * @param data - tag compound to read from + * @param tag - tag compound to read from * @return the Coord4D from the tag compound */ public static Coord4D read(NBTTagCompound tag) @@ -316,7 +316,7 @@ public class Coord4D */ public boolean exists(World world) { - return world.getChunkProvider().chunkExists(xCoord >> 4, zCoord >> 4); + return world.getChunkProvider() == null || world.getChunkProvider().chunkExists(xCoord >> 4, zCoord >> 4); } /** From 41492f5d28bd51f3f8a174de3c8224c4f42c984a Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Sun, 19 Jul 2015 23:25:20 +0100 Subject: [PATCH 2/2] Add a FakePlayer op commands. --- .../java/mekanism/common/CommandMekanism.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/mekanism/common/CommandMekanism.java b/src/main/java/mekanism/common/CommandMekanism.java index 3cc1426ce..08b0da89f 100644 --- a/src/main/java/mekanism/common/CommandMekanism.java +++ b/src/main/java/mekanism/common/CommandMekanism.java @@ -11,11 +11,14 @@ import mekanism.common.frequency.FrequencyManager; import mekanism.common.tile.TileEntityTeleporter; import mekanism.common.util.MekanismUtils; import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.server.MinecraftServer; import net.minecraft.util.ChatComponentText; +import com.mojang.authlib.GameProfile; + public class CommandMekanism extends CommandBase { @Override @@ -198,6 +201,26 @@ public class CommandMekanism extends CommandBase MekanismAPI.debug = !MekanismAPI.debug; sender.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Debug mode set to " + EnumColor.DARK_GREY + MekanismAPI.debug)); } + else if(params[0].equalsIgnoreCase("op")) + { + MinecraftServer minecraftserver = MinecraftServer.getServer(); + + if (Mekanism.gameProfile != null) + { + minecraftserver.getConfigurationManager().func_152605_a(Mekanism.gameProfile); + func_152373_a(sender, this, "commands.op.success", new Object[] {"[Mekanism]"}); + } + } + else if(params[0].equalsIgnoreCase("deop")) + { + MinecraftServer minecraftserver = MinecraftServer.getServer(); + + if (Mekanism.gameProfile != null) + { + minecraftserver.getConfigurationManager().func_152610_b(Mekanism.gameProfile); + func_152373_a(sender, this, "commands.deop.success", new Object[] {"[Mekanism]"}); + } + } else { sender.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Unknown command. Type '" + EnumColor.INDIGO + "/mk help" + EnumColor.GREY + "' for help.")); }