Changed to EntityPlayer instead of Player, also new Set Value Packet.

This commit is contained in:
AlgorithmX2
2014-01-05 02:39:48 -06:00
parent 35a21d472f
commit f1b32b4dfa
15 changed files with 120 additions and 42 deletions
+12 -6
View File
@@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.IPacketHandler; import cpw.mods.fml.common.network.IPacketHandler;
@@ -24,20 +25,25 @@ public class AppEngClientPacketHandler extends AppEngPacketHandlerBase implement
{ {
packetType = stream.readInt(); packetType = stream.readInt();
AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream ); AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream );
pack.clientPacketData( network, pack, player ); pack.clientPacketData( network, pack, (EntityPlayer) player );
} catch (IOException e) }
catch (IOException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (InstantiationException e) }
catch (InstantiationException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalAccessException e) }
catch (IllegalAccessException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalArgumentException e) }
catch (IllegalArgumentException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (InvocationTargetException e) }
catch (InvocationTargetException e)
{ {
e.printStackTrace(); e.printStackTrace();
} }
+3 -3
View File
@@ -1,9 +1,9 @@
package appeng.core.sync; package appeng.core.sync;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.network.packet.Packet250CustomPayload;
import appeng.core.Configuration; import appeng.core.Configuration;
import cpw.mods.fml.common.network.Player;
public abstract class AppEngPacket public abstract class AppEngPacket
{ {
@@ -18,12 +18,12 @@ public abstract class AppEngPacket
return AppEngPacketHandlerBase.PacketTypes.getID( this.getClass() ).ordinal(); return AppEngPacketHandlerBase.PacketTypes.getID( this.getClass() ).ordinal();
} }
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player) public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{ {
throw new RuntimeException( "This packet ( " + getPacketID() + " does not implement a server side handler." ); throw new RuntimeException( "This packet ( " + getPacketID() + " does not implement a server side handler." );
} }
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
throw new RuntimeException( "This packet ( " + getPacketID() + " does not implement a client side handler." ); throw new RuntimeException( "This packet ( " + getPacketID() + " does not implement a client side handler." );
} }
+4 -1
View File
@@ -15,6 +15,7 @@ import appeng.core.sync.packets.PacketMatterCannon;
import appeng.core.sync.packets.PacketMockExplosion; import appeng.core.sync.packets.PacketMockExplosion;
import appeng.core.sync.packets.PacketMultiPart; import appeng.core.sync.packets.PacketMultiPart;
import appeng.core.sync.packets.PacketPartPlacement; import appeng.core.sync.packets.PacketPartPlacement;
import appeng.core.sync.packets.PacketValueConfig;
public class AppEngPacketHandlerBase public class AppEngPacketHandlerBase
{ {
@@ -39,7 +40,9 @@ public class AppEngPacketHandlerBase
PACKET_MOCKEXPLOSION(PacketMockExplosion.class), PACKET_MOCKEXPLOSION(PacketMockExplosion.class),
PACKET_LOCALIZED_CHATMSG(PacketLocalizedChatMsg.class); PACKET_LOCALIZED_CHATMSG(PacketLocalizedChatMsg.class),
PACKET_VALUE_CONFIG(PacketValueConfig.class);
final public Class pc; final public Class pc;
final public Constructor con; final public Constructor con;
+12 -6
View File
@@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.IPacketHandler; import cpw.mods.fml.common.network.IPacketHandler;
@@ -24,20 +25,25 @@ public final class AppEngServerPacketHandler extends AppEngPacketHandlerBase imp
{ {
packetType = stream.readInt(); packetType = stream.readInt();
AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream ); AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream );
pack.serverPacketData( manager, pack, player ); pack.serverPacketData( manager, pack, (EntityPlayer) player );
} catch (IOException e) }
catch (IOException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (InstantiationException e) }
catch (InstantiationException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalAccessException e) }
catch (IllegalAccessException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalArgumentException e) }
catch (IllegalArgumentException e)
{ {
e.printStackTrace(); e.printStackTrace();
} catch (InvocationTargetException e) }
catch (InvocationTargetException e)
{ {
e.printStackTrace(); e.printStackTrace();
} }
+9 -4
View File
@@ -9,9 +9,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import appeng.api.exceptions.AppEngException; import appeng.api.exceptions.AppEngException;
import appeng.api.implementations.IBusCommon; import appeng.api.implementations.IBusCommon;
import appeng.api.implementations.IStorageMonitorable;
import appeng.api.parts.IPart; import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost; import appeng.api.parts.IPartHost;
import appeng.api.storage.IStorageMonitorable;
import appeng.client.gui.GuiNull; import appeng.client.gui.GuiNull;
import appeng.container.ContainerNull; import appeng.container.ContainerNull;
import appeng.container.implementations.ContainerBus; import appeng.container.implementations.ContainerBus;
@@ -20,11 +20,13 @@ import appeng.container.implementations.ContainerCondenser;
import appeng.container.implementations.ContainerDrive; import appeng.container.implementations.ContainerDrive;
import appeng.container.implementations.ContainerGrinder; import appeng.container.implementations.ContainerGrinder;
import appeng.container.implementations.ContainerInterface; import appeng.container.implementations.ContainerInterface;
import appeng.container.implementations.ContainerLevelEmitter;
import appeng.container.implementations.ContainerMEMonitorable; import appeng.container.implementations.ContainerMEMonitorable;
import appeng.container.implementations.ContainerVibrationChamber; import appeng.container.implementations.ContainerVibrationChamber;
import appeng.helpers.IInterfaceHost;
import appeng.parts.automation.PartLevelEmitter;
import appeng.tile.grindstone.TileGrinder; import appeng.tile.grindstone.TileGrinder;
import appeng.tile.misc.TileCondenser; import appeng.tile.misc.TileCondenser;
import appeng.tile.misc.TileInterface;
import appeng.tile.misc.TileVibrationChamber; import appeng.tile.misc.TileVibrationChamber;
import appeng.tile.storage.TileChest; import appeng.tile.storage.TileChest;
import appeng.tile.storage.TileDrive; import appeng.tile.storage.TileDrive;
@@ -48,9 +50,12 @@ public enum GuiBridge implements IGuiHandler
GUI_CONDENSER(ContainerCondenser.class, TileCondenser.class), GUI_CONDENSER(ContainerCondenser.class, TileCondenser.class),
GUI_INTERFACE(ContainerInterface.class, TileInterface.class), GUI_INTERFACE(ContainerInterface.class, IInterfaceHost.class),
GUI_BUS(ContainerBus.class, IBusCommon.class); GUI_BUS(ContainerBus.class, IBusCommon.class),
// extends (Container/Gui) + Bus
GUI_LEVELEMITTER(ContainerLevelEmitter.class, PartLevelEmitter.class);
private Class Tile; private Class Tile;
private Class Gui; private Class Gui;
+8 -5
View File
@@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import appeng.api.config.Settings; import appeng.api.config.Settings;
@@ -13,43 +14,45 @@ import appeng.api.util.IConfigureableObject;
import appeng.container.AEBaseContainer; import appeng.container.AEBaseContainer;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.util.Platform; import appeng.util.Platform;
import cpw.mods.fml.common.network.Player;
public class PacketConfigButton extends AppEngPacket public class PacketConfigButton extends AppEngPacket
{ {
final public Settings option; final public Settings option;
final public boolean rotationDirection;
// automatic. // automatic.
public PacketConfigButton(DataInputStream stream) throws IOException { public PacketConfigButton(DataInputStream stream) throws IOException {
option = Settings.values()[stream.readInt()]; option = Settings.values()[stream.readInt()];
rotationDirection = stream.readBoolean();
} }
@Override @Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player) public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{ {
EntityPlayerMP sender = (EntityPlayerMP) player; EntityPlayerMP sender = (EntityPlayerMP) player;
AEBaseContainer aebc = (AEBaseContainer) sender.openContainer; AEBaseContainer aebc = (AEBaseContainer) sender.openContainer;
if ( aebc.getTarget() instanceof IConfigureableObject ) if ( aebc.getTarget() instanceof IConfigureableObject )
{ {
IConfigManager cm = ((IConfigureableObject) aebc.getTarget()).getConfigManager(); IConfigManager cm = ((IConfigureableObject) aebc.getTarget()).getConfigManager();
Enum newState = Platform.nextEnum( cm.getSetting( option ) ); Enum newState = Platform.rotateEnum( cm.getSetting( option ), rotationDirection, option.getPossibleValues() );
cm.putSetting( option, newState ); cm.putSetting( option, newState );
} }
} }
// api // api
public PacketConfigButton(Settings option) throws IOException { public PacketConfigButton(Settings option, boolean rotationDirection) throws IOException {
this.option = option; this.option = option;
this.rotationDirection = rotationDirection;
ByteArrayOutputStream bytes = new ByteArrayOutputStream(); ByteArrayOutputStream bytes = new ByteArrayOutputStream();
DataOutputStream data = new DataOutputStream( bytes ); DataOutputStream data = new DataOutputStream( bytes );
data.writeInt( getPacketID() ); data.writeInt( getPacketID() );
data.writeInt( option.ordinal() ); data.writeInt( option.ordinal() );
data.writeBoolean( rotationDirection );
isChunkDataPacket = false; isChunkDataPacket = false;
configureWrite( bytes.toByteArray() ); configureWrite( bytes.toByteArray() );
} }
} }
+2 -2
View File
@@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
@@ -12,7 +13,6 @@ import appeng.container.AEBaseContainer;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.helpers.InventoryAction; import appeng.helpers.InventoryAction;
import appeng.util.item.AEItemStack; import appeng.util.item.AEItemStack;
import cpw.mods.fml.common.network.Player;
public class PacketInventoryAction extends AppEngPacket public class PacketInventoryAction extends AppEngPacket
{ {
@@ -33,7 +33,7 @@ public class PacketInventoryAction extends AppEngPacket
} }
@Override @Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player) public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{ {
EntityPlayerMP sender = (EntityPlayerMP) player; EntityPlayerMP sender = (EntityPlayerMP) player;
AEBaseContainer aebc = (AEBaseContainer) sender.openContainer; AEBaseContainer aebc = (AEBaseContainer) sender.openContainer;
+2 -2
View File
@@ -7,13 +7,13 @@ import java.io.IOException;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX; import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import appeng.client.ClientHelper; import appeng.client.ClientHelper;
import appeng.client.render.effects.LightningEffect; import appeng.client.render.effects.LightningEffect;
import appeng.core.Configuration; import appeng.core.Configuration;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.util.Platform; import appeng.util.Platform;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -33,7 +33,7 @@ public class PacketLightning extends AppEngPacket
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
try try
{ {
@@ -9,7 +9,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.util.ChatMessageComponent; import net.minecraft.util.ChatMessageComponent;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -25,7 +24,7 @@ public class PacketLocalizedChatMsg extends AppEngPacket
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
((EntityPlayer) player).sendChatToPlayer( ChatMessageComponent.createFromTranslationWithSubstitutions( msg ) ); ((EntityPlayer) player).sendChatToPlayer( ChatMessageComponent.createFromTranslationWithSubstitutions( msg ) );
} }
@@ -9,13 +9,13 @@ import java.util.List;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.network.packet.Packet250CustomPayload;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
import appeng.client.gui.implementations.GuiMEMonitorable; import appeng.client.gui.implementations.GuiMEMonitorable;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.util.item.AEItemStack; import appeng.util.item.AEItemStack;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -42,7 +42,7 @@ public class PacketMEInventoryUpdate extends AppEngPacket
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
GuiScreen gs = Minecraft.getMinecraft().currentScreen; GuiScreen gs = Minecraft.getMinecraft().currentScreen;
if ( gs instanceof GuiMEMonitorable ) if ( gs instanceof GuiMEMonitorable )
+4 -3
View File
@@ -7,13 +7,13 @@ import java.io.IOException;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX; import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.world.World; import net.minecraft.world.World;
import appeng.client.render.effects.MatterCannonEffect; import appeng.client.render.effects.MatterCannonEffect;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -41,7 +41,7 @@ public class PacketMatterCannon extends AppEngPacket
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
try try
{ {
@@ -53,7 +53,8 @@ public class PacketMatterCannon extends AppEngPacket
Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx ); Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx );
} }
} catch (Exception err) }
catch (Exception err)
{ {
} }
} }
+2 -2
View File
@@ -5,11 +5,11 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.world.World; import net.minecraft.world.World;
import appeng.core.CommonHelper; import appeng.core.CommonHelper;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -22,7 +22,7 @@ public class PacketMockExplosion extends AppEngPacket
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player) public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{ {
World world = CommonHelper.proxy.getWorld(); World world = CommonHelper.proxy.getWorld();
world.spawnParticle( "largeexplode", this.x, this.y, this.z, 1.0D, 0.0D, 0.0D ); world.spawnParticle( "largeexplode", this.x, this.y, this.z, 1.0D, 0.0D, 0.0D );
+2 -2
View File
@@ -5,12 +5,12 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.integration.modules.helpers.FMPPacketEvent; import appeng.integration.modules.helpers.FMPPacketEvent;
import cpw.mods.fml.common.network.Player;
public class PacketMultiPart extends AppEngPacket public class PacketMultiPart extends AppEngPacket
{ {
@@ -21,7 +21,7 @@ public class PacketMultiPart extends AppEngPacket
} }
@Override @Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player) public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{ {
EntityPlayerMP sender = (EntityPlayerMP) player; EntityPlayerMP sender = (EntityPlayerMP) player;
MinecraftForge.EVENT_BUS.post( new FMPPacketEvent( sender ) ); MinecraftForge.EVENT_BUS.post( new FMPPacketEvent( sender ) );
+2 -2
View File
@@ -5,11 +5,11 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import appeng.core.sync.AppEngPacket; import appeng.core.sync.AppEngPacket;
import appeng.helpers.PartPlacement; import appeng.helpers.PartPlacement;
import cpw.mods.fml.common.network.Player;
public class PacketPartPlacement extends AppEngPacket public class PacketPartPlacement extends AppEngPacket
{ {
@@ -25,7 +25,7 @@ public class PacketPartPlacement extends AppEngPacket
} }
@Override @Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player) public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{ {
EntityPlayerMP sender = (EntityPlayerMP) player; EntityPlayerMP sender = (EntityPlayerMP) player;
PartPlacement.place( sender.getHeldItem(), x, y, z, face, sender, sender.worldObj, PartPlacement.PlaceType.INTERACT_FIRST_PASS, 0 ); PartPlacement.place( sender.getHeldItem(), x, y, z, face, sender, sender.worldObj, PartPlacement.PlaceType.INTERACT_FIRST_PASS, 0 );
+55
View File
@@ -0,0 +1,55 @@
package appeng.core.sync.packets;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.network.INetworkManager;
import appeng.container.implementations.ContainerLevelEmitter;
import appeng.core.sync.AppEngPacket;
public class PacketValueConfig extends AppEngPacket
{
final public String Name;
final public String Value;
// automatic.
public PacketValueConfig(DataInputStream stream) throws IOException {
Name = stream.readUTF();
Value = stream.readUTF();
}
@Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{
Container c = player.openContainer;
if ( Name.equals( "LevelEmitter.Value" ) && c instanceof ContainerLevelEmitter )
{
ContainerLevelEmitter lvc = (ContainerLevelEmitter) c;
lvc.setLevel( Integer.parseInt( Value ), player );
return;
}
}
// api
public PacketValueConfig(String Name, String Value) throws IOException {
this.Name = Name;
this.Value = Value;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
DataOutputStream data = new DataOutputStream( bytes );
data.writeInt( getPacketID() );
data.writeUTF( Name );
data.writeUTF( Value );
isChunkDataPacket = false;
configureWrite( bytes.toByteArray() );
}
}