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

View file

@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.IPacketHandler;
@ -24,20 +25,25 @@ public class AppEngClientPacketHandler extends AppEngPacketHandlerBase implement
{
packetType = stream.readInt();
AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream );
pack.clientPacketData( network, pack, player );
} catch (IOException e)
pack.clientPacketData( network, pack, (EntityPlayer) player );
}
catch (IOException e)
{
e.printStackTrace();
} catch (InstantiationException e)
}
catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
}
catch (IllegalAccessException e)
{
e.printStackTrace();
} catch (IllegalArgumentException e)
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
} catch (InvocationTargetException e)
}
catch (InvocationTargetException e)
{
e.printStackTrace();
}

View file

@ -1,9 +1,9 @@
package appeng.core.sync;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import appeng.core.Configuration;
import cpw.mods.fml.common.network.Player;
public abstract class AppEngPacket
{
@ -18,12 +18,12 @@ public abstract class AppEngPacket
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." );
}
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." );
}

View file

@ -15,6 +15,7 @@ import appeng.core.sync.packets.PacketMatterCannon;
import appeng.core.sync.packets.PacketMockExplosion;
import appeng.core.sync.packets.PacketMultiPart;
import appeng.core.sync.packets.PacketPartPlacement;
import appeng.core.sync.packets.PacketValueConfig;
public class AppEngPacketHandlerBase
{
@ -39,7 +40,9 @@ public class AppEngPacketHandlerBase
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 Constructor con;

View file

@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.IPacketHandler;
@ -24,20 +25,25 @@ public final class AppEngServerPacketHandler extends AppEngPacketHandlerBase imp
{
packetType = stream.readInt();
AppEngPacket pack = PacketTypes.getPacket( packetType ).parsePacket( stream );
pack.serverPacketData( manager, pack, player );
} catch (IOException e)
pack.serverPacketData( manager, pack, (EntityPlayer) player );
}
catch (IOException e)
{
e.printStackTrace();
} catch (InstantiationException e)
}
catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
}
catch (IllegalAccessException e)
{
e.printStackTrace();
} catch (IllegalArgumentException e)
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
} catch (InvocationTargetException e)
}
catch (InvocationTargetException e)
{
e.printStackTrace();
}

View file

@ -9,9 +9,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import appeng.api.exceptions.AppEngException;
import appeng.api.implementations.IBusCommon;
import appeng.api.implementations.IStorageMonitorable;
import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost;
import appeng.api.storage.IStorageMonitorable;
import appeng.client.gui.GuiNull;
import appeng.container.ContainerNull;
import appeng.container.implementations.ContainerBus;
@ -20,11 +20,13 @@ import appeng.container.implementations.ContainerCondenser;
import appeng.container.implementations.ContainerDrive;
import appeng.container.implementations.ContainerGrinder;
import appeng.container.implementations.ContainerInterface;
import appeng.container.implementations.ContainerLevelEmitter;
import appeng.container.implementations.ContainerMEMonitorable;
import appeng.container.implementations.ContainerVibrationChamber;
import appeng.helpers.IInterfaceHost;
import appeng.parts.automation.PartLevelEmitter;
import appeng.tile.grindstone.TileGrinder;
import appeng.tile.misc.TileCondenser;
import appeng.tile.misc.TileInterface;
import appeng.tile.misc.TileVibrationChamber;
import appeng.tile.storage.TileChest;
import appeng.tile.storage.TileDrive;
@ -48,9 +50,12 @@ public enum GuiBridge implements IGuiHandler
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 Gui;

View file

@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager;
import appeng.api.config.Settings;
@ -13,43 +14,45 @@ import appeng.api.util.IConfigureableObject;
import appeng.container.AEBaseContainer;
import appeng.core.sync.AppEngPacket;
import appeng.util.Platform;
import cpw.mods.fml.common.network.Player;
public class PacketConfigButton extends AppEngPacket
{
final public Settings option;
final public boolean rotationDirection;
// automatic.
public PacketConfigButton(DataInputStream stream) throws IOException {
option = Settings.values()[stream.readInt()];
rotationDirection = stream.readBoolean();
}
@Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player)
public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{
EntityPlayerMP sender = (EntityPlayerMP) player;
AEBaseContainer aebc = (AEBaseContainer) sender.openContainer;
if ( aebc.getTarget() instanceof IConfigureableObject )
{
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 );
}
}
// api
public PacketConfigButton(Settings option) throws IOException {
public PacketConfigButton(Settings option, boolean rotationDirection) throws IOException {
this.option = option;
this.rotationDirection = rotationDirection;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
DataOutputStream data = new DataOutputStream( bytes );
data.writeInt( getPacketID() );
data.writeInt( option.ordinal() );
data.writeBoolean( rotationDirection );
isChunkDataPacket = false;
configureWrite( bytes.toByteArray() );
}
}

View file

@ -5,6 +5,7 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager;
import appeng.api.storage.data.IAEItemStack;
@ -12,7 +13,6 @@ import appeng.container.AEBaseContainer;
import appeng.core.sync.AppEngPacket;
import appeng.helpers.InventoryAction;
import appeng.util.item.AEItemStack;
import cpw.mods.fml.common.network.Player;
public class PacketInventoryAction extends AppEngPacket
{
@ -33,7 +33,7 @@ public class PacketInventoryAction extends AppEngPacket
}
@Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player)
public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{
EntityPlayerMP sender = (EntityPlayerMP) player;
AEBaseContainer aebc = (AEBaseContainer) sender.openContainer;

View file

@ -7,13 +7,13 @@ import java.io.IOException;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import appeng.client.ClientHelper;
import appeng.client.render.effects.LightningEffect;
import appeng.core.Configuration;
import appeng.core.sync.AppEngPacket;
import appeng.util.Platform;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -33,7 +33,7 @@ public class PacketLightning extends AppEngPacket
@Override
@SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player)
public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{
try
{

View file

@ -9,7 +9,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.util.ChatMessageComponent;
import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -25,7 +24,7 @@ public class PacketLocalizedChatMsg extends AppEngPacket
@Override
@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 ) );
}

View file

@ -9,13 +9,13 @@ import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import appeng.api.storage.data.IAEItemStack;
import appeng.client.gui.implementations.GuiMEMonitorable;
import appeng.core.sync.AppEngPacket;
import appeng.util.item.AEItemStack;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -42,7 +42,7 @@ public class PacketMEInventoryUpdate extends AppEngPacket
@Override
@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;
if ( gs instanceof GuiMEMonitorable )

View file

@ -7,13 +7,13 @@ import java.io.IOException;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.network.INetworkManager;
import net.minecraft.world.World;
import appeng.client.render.effects.MatterCannonEffect;
import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -41,7 +41,7 @@ public class PacketMatterCannon extends AppEngPacket
@Override
@SideOnly(Side.CLIENT)
public void clientPacketData(INetworkManager network, AppEngPacket packet, Player player)
public void clientPacketData(INetworkManager network, AppEngPacket packet, EntityPlayer player)
{
try
{
@ -53,7 +53,8 @@ public class PacketMatterCannon extends AppEngPacket
Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx );
}
} catch (Exception err)
}
catch (Exception err)
{
}
}

View file

@ -5,11 +5,11 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.world.World;
import appeng.core.CommonHelper;
import appeng.core.sync.AppEngPacket;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -22,7 +22,7 @@ public class PacketMockExplosion extends AppEngPacket
@Override
@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.spawnParticle( "largeexplode", this.x, this.y, this.z, 1.0D, 0.0D, 0.0D );

View file

@ -5,12 +5,12 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager;
import net.minecraftforge.common.MinecraftForge;
import appeng.core.sync.AppEngPacket;
import appeng.integration.modules.helpers.FMPPacketEvent;
import cpw.mods.fml.common.network.Player;
public class PacketMultiPart extends AppEngPacket
{
@ -21,7 +21,7 @@ public class PacketMultiPart extends AppEngPacket
}
@Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player)
public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{
EntityPlayerMP sender = (EntityPlayerMP) player;
MinecraftForge.EVENT_BUS.post( new FMPPacketEvent( sender ) );

View file

@ -5,11 +5,11 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.INetworkManager;
import appeng.core.sync.AppEngPacket;
import appeng.helpers.PartPlacement;
import cpw.mods.fml.common.network.Player;
public class PacketPartPlacement extends AppEngPacket
{
@ -25,7 +25,7 @@ public class PacketPartPlacement extends AppEngPacket
}
@Override
public void serverPacketData(INetworkManager manager, AppEngPacket packet, Player player)
public void serverPacketData(INetworkManager manager, AppEngPacket packet, EntityPlayer player)
{
EntityPlayerMP sender = (EntityPlayerMP) player;
PartPlacement.place( sender.getHeldItem(), x, y, z, face, sender, sender.worldObj, PartPlacement.PlaceType.INTERACT_FIRST_PASS, 0 );

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() );
}
}