More work on networking system, unstable

This commit is contained in:
Aidan Brady 2013-12-09 17:34:53 -05:00
parent 26f0f83574
commit ac31fc2b4e
5 changed files with 60 additions and 72 deletions

View file

@ -269,47 +269,53 @@ public class ClientTickHandler implements ITickHandler
}
}
if(Mekanism.jetpackOn.contains(mc.thePlayer) != isJetpackOn(mc.thePlayer))
if(Mekanism.jetpackOn.contains(mc.thePlayer.username) != isJetpackOn(mc.thePlayer))
{
if(isJetpackOn(mc.thePlayer))
{
Mekanism.jetpackOn.add(mc.thePlayer);
Mekanism.jetpackOn.add(mc.thePlayer.username);
}
else {
Mekanism.jetpackOn.remove(mc.thePlayer);
Mekanism.jetpackOn.remove(mc.thePlayer.username);
}
PacketHandler.sendPacket(Transmission.SERVER, new PacketJetpackData().setParams(JetpackPacket.UPDATE, mc.thePlayer, isJetpackOn(mc.thePlayer)));
PacketHandler.sendPacket(Transmission.SERVER, new PacketJetpackData().setParams(JetpackPacket.UPDATE, mc.thePlayer.username, isJetpackOn(mc.thePlayer)));
}
if(Mekanism.gasmaskOn.contains(mc.thePlayer) != isGasMaskOn(mc.thePlayer))
if(Mekanism.gasmaskOn.contains(mc.thePlayer.username) != isGasMaskOn(mc.thePlayer))
{
if(isGasMaskOn(mc.thePlayer) && mc.currentScreen == null)
{
Mekanism.gasmaskOn.add(mc.thePlayer);
Mekanism.gasmaskOn.add(mc.thePlayer.username);
}
else {
Mekanism.gasmaskOn.remove(mc.thePlayer);
Mekanism.gasmaskOn.remove(mc.thePlayer.username);
}
PacketHandler.sendPacket(Transmission.SERVER, new PacketScubaTankData().setParams(JetpackPacket.UPDATE, mc.thePlayer, isGasMaskOn(mc.thePlayer)));
PacketHandler.sendPacket(Transmission.SERVER, new PacketScubaTankData().setParams(JetpackPacket.UPDATE, mc.thePlayer.username, isGasMaskOn(mc.thePlayer)));
}
if(MekanismClient.audioHandler != null)
{
for(EntityPlayer entry : Mekanism.jetpackOn)
for(String username : Mekanism.jetpackOn)
{
if(MekanismClient.audioHandler.getFrom(entry) == null)
if(mc.theWorld.getPlayerEntityByName(username) != null)
{
new JetpackSound(MekanismClient.audioHandler.getIdentifier(), entry);
if(MekanismClient.audioHandler.getFrom(mc.theWorld.getPlayerEntityByName(username)) == null)
{
new JetpackSound(MekanismClient.audioHandler.getIdentifier(), mc.theWorld.getPlayerEntityByName(username));
}
}
}
for(EntityPlayer entry : Mekanism.gasmaskOn)
for(String username : Mekanism.gasmaskOn)
{
if(MekanismClient.audioHandler.getFrom(entry) == null)
if(mc.theWorld.getPlayerEntityByName(username) != null)
{
new GasMaskSound(MekanismClient.audioHandler.getIdentifier(), entry);
if(MekanismClient.audioHandler.getFrom(mc.theWorld.getPlayerEntityByName(username)) == null)
{
new GasMaskSound(MekanismClient.audioHandler.getIdentifier(), mc.theWorld.getPlayerEntityByName(username));
}
}
}
}
@ -374,7 +380,7 @@ public class ClientTickHandler implements ITickHandler
{
if(player != mc.thePlayer)
{
return Mekanism.jetpackOn.contains(player);
return Mekanism.jetpackOn.contains(player.username);
}
ItemStack stack = player.inventory.armorInventory[2];
@ -406,7 +412,7 @@ public class ClientTickHandler implements ITickHandler
{
if(player != mc.thePlayer)
{
return Mekanism.gasmaskOn.contains(player);
return Mekanism.gasmaskOn.contains(player.username);
}
ItemStack tank = player.inventory.armorInventory[2];

View file

@ -102,9 +102,11 @@ public class RenderTickHandler implements ITickHandler
}
}
for(EntityPlayer p : Mekanism.jetpackOn)
for(String s : Mekanism.jetpackOn)
{
if(p.getDistance(player.posX, player.posY, player.posZ) > 40)
EntityPlayer p = mc.theWorld.getPlayerEntityByName(s);
if(p == null)
{
continue;
}

View file

@ -184,8 +184,8 @@ public class Mekanism
public static KeySync keyMap = new KeySync();
public static Set<EntityPlayer> jetpackOn = new HashSet<EntityPlayer>();
public static Set<EntityPlayer> gasmaskOn = new HashSet<EntityPlayer>();
public static Set<String> jetpackOn = new HashSet<String>();
public static Set<String> gasmaskOn = new HashSet<String>();
public static Set<Object3D> ic2Registered = new HashSet<Object3D>();

View file

@ -16,7 +16,7 @@ public class PacketJetpackData implements IMekanismPacket
{
public JetpackPacket packetType;
public EntityPlayer updatePlayer;
public String username;
public boolean value;
@Override
@ -32,7 +32,7 @@ public class PacketJetpackData implements IMekanismPacket
if(packetType == JetpackPacket.UPDATE)
{
updatePlayer = (EntityPlayer)data[1];
username = (String)data[1];
value = (Boolean)data[2];
}
@ -52,12 +52,7 @@ public class PacketJetpackData implements IMekanismPacket
for(int i = 0; i < amount; i++)
{
EntityPlayer p = world.getPlayerEntityByName(dataStream.readUTF());
if(p != null)
{
Mekanism.jetpackOn.add(p);
}
Mekanism.jetpackOn.add(dataStream.readUTF());
}
}
else if(packetType == JetpackPacket.UPDATE)
@ -65,22 +60,17 @@ public class PacketJetpackData implements IMekanismPacket
String username = dataStream.readUTF();
boolean value = dataStream.readBoolean();
EntityPlayer p = world.getPlayerEntityByName(username);
if(p != null)
if(value)
{
if(value)
{
Mekanism.jetpackOn.add(p);
}
else {
Mekanism.jetpackOn.remove(p);
}
if(!world.isRemote)
{
PacketHandler.sendPacket(Transmission.CLIENTS_DIM, new PacketJetpackData().setParams(JetpackPacket.UPDATE, p, value), world.provider.dimensionId);
}
Mekanism.jetpackOn.add(username);
}
else {
Mekanism.jetpackOn.remove(username);
}
if(!world.isRemote)
{
PacketHandler.sendPacket(Transmission.CLIENTS_DIM, new PacketJetpackData().setParams(JetpackPacket.UPDATE, username, value), world.provider.dimensionId);
}
}
else if(packetType == JetpackPacket.MODE)
@ -101,16 +91,16 @@ public class PacketJetpackData implements IMekanismPacket
if(packetType == JetpackPacket.UPDATE)
{
dataStream.writeUTF(updatePlayer.username);
dataStream.writeUTF(username);
dataStream.writeBoolean(value);
}
else if(packetType == JetpackPacket.FULL)
{
dataStream.writeInt(Mekanism.jetpackOn.size());
for(EntityPlayer player : Mekanism.jetpackOn)
for(String username : Mekanism.jetpackOn)
{
dataStream.writeUTF(player.username);
dataStream.writeUTF(username);
}
}
}

View file

@ -16,7 +16,7 @@ public class PacketScubaTankData implements IMekanismPacket
{
public ScubaTankPacket packetType;
public EntityPlayer updatePlayer;
public String username;
public boolean value;
@Override
@ -32,7 +32,7 @@ public class PacketScubaTankData implements IMekanismPacket
if(packetType == ScubaTankPacket.UPDATE)
{
updatePlayer = (EntityPlayer)data[1];
username = (String)data[1];
value = (Boolean)data[2];
}
@ -52,12 +52,7 @@ public class PacketScubaTankData implements IMekanismPacket
for(int i = 0; i < amount; i++)
{
EntityPlayer p = world.getPlayerEntityByName(dataStream.readUTF());
if(p != null)
{
Mekanism.gasmaskOn.add(p);
}
Mekanism.gasmaskOn.add(dataStream.readUTF());
}
}
else if(packetType == ScubaTankPacket.UPDATE)
@ -65,22 +60,17 @@ public class PacketScubaTankData implements IMekanismPacket
String username = dataStream.readUTF();
boolean value = dataStream.readBoolean();
EntityPlayer p = world.getPlayerEntityByName(username);
if(p != null)
if(value)
{
if(value)
{
Mekanism.gasmaskOn.add(p);
}
else {
Mekanism.gasmaskOn.remove(p);
}
if(!world.isRemote)
{
PacketHandler.sendPacket(Transmission.CLIENTS_DIM, new PacketScubaTankData().setParams(ScubaTankPacket.UPDATE, p, value), world.provider.dimensionId);
}
Mekanism.gasmaskOn.add(username);
}
else {
Mekanism.gasmaskOn.remove(username);
}
if(!world.isRemote)
{
PacketHandler.sendPacket(Transmission.CLIENTS_DIM, new PacketScubaTankData().setParams(ScubaTankPacket.UPDATE, username, value), world.provider.dimensionId);
}
}
else if(packetType == ScubaTankPacket.MODE)
@ -101,16 +91,16 @@ public class PacketScubaTankData implements IMekanismPacket
if(packetType == ScubaTankPacket.UPDATE)
{
dataStream.writeUTF(updatePlayer.username);
dataStream.writeUTF(username);
dataStream.writeBoolean(value);
}
else if(packetType == ScubaTankPacket.FULL)
{
dataStream.writeInt(Mekanism.gasmaskOn.size());
for(EntityPlayer player : Mekanism.gasmaskOn)
for(String username : Mekanism.gasmaskOn)
{
dataStream.writeUTF(player.username);
dataStream.writeUTF(username);
}
}
}