|
| 1 | +package net.rom.gctweaks.core; |
| 2 | + |
| 3 | +import java.util.List; |
| 4 | + |
| 5 | +import net.minecraft.command.CommandBase; |
| 6 | +import net.minecraft.command.CommandException; |
| 7 | +import net.minecraft.command.ICommandSender; |
| 8 | +import net.minecraft.entity.player.EntityPlayer; |
| 9 | +import net.minecraft.nbt.NBTTagCompound; |
| 10 | +import net.minecraft.server.MinecraftServer; |
| 11 | +import net.minecraft.util.math.BlockPos; |
| 12 | +import net.minecraft.util.text.TextComponentString; |
| 13 | +import net.rom.gctweaks.Ref; |
| 14 | + |
| 15 | +public class CommandOxygenReset extends CommandBase { |
| 16 | + |
| 17 | + @Override |
| 18 | + public String getName () { |
| 19 | + return "oxygenreset"; |
| 20 | + } |
| 21 | + |
| 22 | + @Override |
| 23 | + public String getUsage (ICommandSender sender) { |
| 24 | + return "/" + this.getName() + " <playername>"; |
| 25 | + } |
| 26 | + |
| 27 | + @Override |
| 28 | + public int getRequiredPermissionLevel () { |
| 29 | + return 3; |
| 30 | + } |
| 31 | + |
| 32 | + @Override |
| 33 | + public List<String> getTabCompletions (MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) { |
| 34 | + if (args.length == 1) { |
| 35 | + return getListOfStringsMatchingLastWord(args, server.getOnlinePlayerNames()); |
| 36 | + } |
| 37 | + return null; |
| 38 | + } |
| 39 | + |
| 40 | + @Override |
| 41 | + public void execute (MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { |
| 42 | + if (args.length > 0 && args.length < 2) { |
| 43 | + final EntityPlayer player = server.getPlayerList().getPlayerByUsername(args[0]); |
| 44 | + |
| 45 | + if(player != null) { |
| 46 | + final NBTTagCompound entityData = player.getEntityData(); |
| 47 | + final NBTTagCompound persistedData = entityData.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG); |
| 48 | + entityData.setTag(EntityPlayer.PERSISTED_NBT_TAG, persistedData); |
| 49 | + final String key = Ref.MOD_ID + ":" + "ReceivedOxygen"; |
| 50 | + persistedData.setBoolean(key, false); |
| 51 | + String line = String.format("Sucessfully reset %s's OxygenGear-On-Join setting", player.getName()); |
| 52 | + sender.sendMessage(new TextComponentString(line)); |
| 53 | + } |
| 54 | + } else { |
| 55 | + sender.sendMessage(new TextComponentString(getUsage(sender))); |
| 56 | + } |
| 57 | + } |
| 58 | +} |
0 commit comments