Added name for bins, fixed IC2 bug, hopefully fixed ConcurrentModificationException

This commit is contained in:
Aidan Brady 2013-11-11 17:23:14 -05:00
parent 9c53f1be66
commit f6704dc5ea
9 changed files with 8 additions and 55 deletions

View file

@ -3,6 +3,7 @@ package mekanism.api.transmitters;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@ -19,8 +20,8 @@ public abstract class DynamicNetwork<A, N> implements ITransmitterNetwork<A, N>
{
public HashSet<ITransmitter<N>> transmitters = new HashSet<ITransmitter<N>>();
public Set<A> possibleAcceptors = new HashSet<A>();
public Map<A, ForgeDirection> acceptorDirections = new HashMap<A, ForgeDirection>();
public Set<A> possibleAcceptors = Collections.synchronizedSet(new HashSet<A>());
public Map<A, ForgeDirection> acceptorDirections = Collections.synchronizedMap(new HashMap<A, ForgeDirection>());
protected int ticksSinceCreate = 0;

View file

@ -40,24 +40,6 @@ public class ClientPlayerTickHandler implements ITickHandler
{
EntityPlayer entityPlayer = (EntityPlayer)tickData[0];
Set<UpdateQueueData> toRemove = new HashSet<UpdateQueueData>();
for(UpdateQueueData data : MekanismClient.cableUpdateQueue)
{
TileEntity tile = data.object3D.getTileEntity(entityPlayer.worldObj);
if(tile instanceof TileEntityUniversalCable)
{
new EnergyClientUpdate(tile, data.energy).clientUpdate();
toRemove.add(data);
}
}
for(UpdateQueueData rem : toRemove)
{
MekanismClient.cableUpdateQueue.remove(rem);
}
if(entityPlayer.getCurrentEquippedItem() != null)
{
ItemStack stack = entityPlayer.getCurrentEquippedItem();
@ -135,16 +117,4 @@ public class ClientPlayerTickHandler implements ITickHandler
{
return "MekanismClientPlayer";
}
public static class UpdateQueueData
{
public Object3D object3D;
public double energy;
public UpdateQueueData(Object3D obj, double d)
{
object3D = obj;
energy = d;
}
}
}

View file

@ -1,9 +1,5 @@
package mekanism.client;
import java.util.ArrayList;
import java.util.List;
import mekanism.client.ClientPlayerTickHandler.UpdateQueueData;
import mekanism.client.sound.SoundHandler;
import mekanism.common.Mekanism;
import cpw.mods.fml.relauncher.Side;
@ -15,8 +11,6 @@ public class MekanismClient extends Mekanism
/** The main SoundHandler instance that is used by all audio sources */
public static SoundHandler audioHandler;
public static List<UpdateQueueData> cableUpdateQueue = new ArrayList<UpdateQueueData>();
//General Configuration
public static boolean enableSounds = true;
public static boolean fancyUniversalCableRender = true;

View file

@ -1032,6 +1032,7 @@ public class Mekanism
teleporters.clear();
dynamicInventories.clear();
ic2Registered.clear();
}
@EventHandler

View file

@ -2,13 +2,10 @@ package mekanism.common.network;
import java.io.DataOutputStream;
import mekanism.api.Object3D;
import mekanism.api.gas.EnumGas;
import mekanism.client.ClientPlayerTickHandler.UpdateQueueData;
import mekanism.client.EnergyClientUpdate;
import mekanism.client.FluidClientUpdate;
import mekanism.client.GasClientUpdate;
import mekanism.client.MekanismClient;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@ -16,9 +13,6 @@ import net.minecraftforge.fluids.FluidStack;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketTransmitterTransferUpdate implements IMekanismPacket
{
public TransmitterTransferType activeType;
@ -78,11 +72,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket
{
new EnergyClientUpdate(tileEntity, powerLevel).clientUpdate();
}
else {
try {
appendToQueue(Object3D.get(tileEntity), powerLevel);
} catch(Exception e) {}
}
}
else if(transmitterType == 1)
{
@ -106,12 +95,6 @@ public class PacketTransmitterTransferUpdate implements IMekanismPacket
}
}
}
@SideOnly(Side.CLIENT)
public void appendToQueue(Object3D obj, double energy) throws Exception
{
MekanismClient.cableUpdateQueue.add(new UpdateQueueData(obj, energy));
}
@Override
public void write(DataOutputStream dataStream) throws Exception

View file

@ -32,6 +32,7 @@ tile.BasicBlock.RefinedObsidian.name=Raffiniertes Obsidian
tile.BasicBlock.CoalBlock.name=Kohleblock
tile.BasicBlock.RefinedGlowstone.name=Raffiniertes Glowstone
tile.BasicBlock.SteelBlock.name=Stahlblock
tile.BasicBlock.Bin.name=Bin
tile.BasicBlock.TeleporterFrame.name=Teleporter-Rahmen
tile.BasicBlock.SteelCasing.name=Stahlhülle
tile.BasicBlock.DynamicTank.name=Dynamischer Tank

View file

@ -32,6 +32,7 @@ tile.BasicBlock.RefinedObsidian.name=Refined Obsidian
tile.BasicBlock.CoalBlock.name=Coal Block
tile.BasicBlock.RefinedGlowstone.name=Refined Glowstone
tile.BasicBlock.SteelBlock.name=Steel Block
tile.BasicBlock.Bin.name=Bin
tile.BasicBlock.TeleporterFrame.name=Teleporter Frame
tile.BasicBlock.SteelCasing.name=Steel Casing
tile.BasicBlock.DynamicTank.name=Dynamic Tank

View file

@ -32,6 +32,7 @@ tile.BasicBlock.RefinedObsidian.name=Rafinowany Obsydian
tile.BasicBlock.CoalBlock.name=Blok Węgla
tile.BasicBlock.RefinedGlowstone.name=Rafinowany Jasnogłaz
tile.BasicBlock.SteelBlock.name=Blok Stali
tile.BasicBlock.Bin.name=Bin
tile.BasicBlock.TeleporterFrame.name=Ramka Teleportera
tile.BasicBlock.SteelCasing.name=Stalowa Obudowa
tile.BasicBlock.DynamicTank.name=Dynamiczny Zbiornik

View file

@ -32,6 +32,7 @@ tile.BasicBlock.RefinedObsidian.name=强化黑曜石
tile.BasicBlock.CoalBlock.name=煤炭方块
tile.BasicBlock.RefinedGlowstone.name=强化荧石
tile.BasicBlock.SteelBlock.name=钢方块
tile.BasicBlock.Bin.name=Bin
tile.BasicBlock.TeleporterFrame.name=传送框架
tile.BasicBlock.SteelCasing.name=钢质机壳
tile.BasicBlock.DynamicTank.name=动态储罐