diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/util/PlayerUtils.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/util/PlayerUtils.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/util/PlayerUtils.java b/src/main/java/darkknight/jewelrycraft/util/PlayerUtils.java new file mode 100644 index 0000000..aa6a12b --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/util/PlayerUtils.java @@ -0,0 +1,57 @@ +package darkknight.jewelrycraft.util; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.integrated.IntegratedServer; +import cpw.mods.fml.common.FMLCommonHandler; + +/** + * Code taken from OpenBlocks + */ +public class PlayerUtils +{ + public static boolean isPlayerOp(String username) + { + username = username.toLowerCase(); + + MinecraftServer server = FMLCommonHandler.instance().getSidedDelegate().getServer(); + + // SP and LAN + if (server.isSinglePlayer()) { + if (server instanceof IntegratedServer) return server.getServerOwner().equals(username); + return server.getConfigurationManager().getOps().contains(username); + } + + // SMP + return server.getConfigurationManager().getOps().contains(username); + } + + public static NBTTagCompound getModPlayerPersistTag(EntityPlayer player, String modName) + { + + NBTTagCompound tag = player.getEntityData(); + + NBTTagCompound persistTag = null; + if (tag.hasKey(EntityPlayer.PERSISTED_NBT_TAG)) + { + persistTag = tag.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG); + } else + { + persistTag = new NBTTagCompound(); + tag.setTag(EntityPlayer.PERSISTED_NBT_TAG, persistTag); + } + + NBTTagCompound modTag = null; + if (persistTag.hasKey(modName)) + { + modTag = persistTag.getCompoundTag(modName); + } else + { + modTag = new NBTTagCompound(); + persistTag.setTag(modName, modTag); + } + + return modTag; + } +}
\ No newline at end of file |
