001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 import net.minecraft.server.MinecraftServer; 006 007 public class TileEntityCommandBlock extends TileEntity implements ICommandSender 008 { 009 private String field_82354_a = ""; 010 011 public void func_82352_b(String par1Str) 012 { 013 this.field_82354_a = par1Str; 014 this.onInventoryChanged(); 015 } 016 017 @SideOnly(Side.CLIENT) 018 public String func_82353_c() 019 { 020 return this.field_82354_a; 021 } 022 023 public void func_82351_a(World par1World) 024 { 025 if (!par1World.isRemote) 026 { 027 MinecraftServer var2 = MinecraftServer.getServer(); 028 029 if (var2 != null && var2.func_82356_Z()) 030 { 031 ICommandManager var3 = var2.getCommandManager(); 032 var3.executeCommand(this, this.field_82354_a); 033 } 034 } 035 } 036 037 /** 038 * Gets the name of this command sender (usually username, but possibly "Rcon") 039 */ 040 public String getCommandSenderName() 041 { 042 return "@"; 043 } 044 045 public void sendChatToPlayer(String par1Str) {} 046 047 /** 048 * Returns true if the command sender is allowed to use the given command. 049 */ 050 public boolean canCommandSenderUseCommand(int par1, String par2Str) 051 { 052 return par1 <= 2; 053 } 054 055 /** 056 * Translates and formats the given string key with the given arguments. 057 */ 058 public String translateString(String par1Str, Object ... par2ArrayOfObj) 059 { 060 return par1Str; 061 } 062 063 /** 064 * Writes a tile entity to NBT. 065 */ 066 public void writeToNBT(NBTTagCompound par1NBTTagCompound) 067 { 068 super.writeToNBT(par1NBTTagCompound); 069 par1NBTTagCompound.setString("Command", this.field_82354_a); 070 } 071 072 /** 073 * Reads a tile entity from NBT. 074 */ 075 public void readFromNBT(NBTTagCompound par1NBTTagCompound) 076 { 077 super.readFromNBT(par1NBTTagCompound); 078 this.field_82354_a = par1NBTTagCompound.getString("Command"); 079 } 080 081 public ChunkCoordinates func_82114_b() 082 { 083 return new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord); 084 } 085 086 /** 087 * Overriden in a sign to provide the text. 088 */ 089 public Packet getDescriptionPacket() 090 { 091 NBTTagCompound var1 = new NBTTagCompound(); 092 this.writeToNBT(var1); 093 return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 2, var1); 094 } 095 }