aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/Util.java4
-rw-r--r--src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java127
-rw-r--r--src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java (renamed from src/main/java/com/github/technus/tectech/chunkData/ChunkMetaDataHandler.java)5
-rw-r--r--src/main/java/com/github/technus/tectech/chunkData/WorldData.java52
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java8
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java131
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipe.java10
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java6
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/ConstructableTriggerItem.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java38
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java24
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_crafting.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java12
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_scanner.java12
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_stabilizer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_wormhole.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IHatchAdder.java (renamed from src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/HatchAdder.java)2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/INameFunction.java (renamed from src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/NameFunction.java)2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/IStatusFunction.java (renamed from src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/StatusFunction.java)2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/Parameters.java20
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Centrifuge.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Electrolyzer.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_ElectromagneticSeparator.java18
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_PrecisionLaser.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Recycler.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/Behaviour_Scanner.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/em_machine/GT_MetaTileEntity_EM_machine.java18
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DataReader.java16
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_GUIContainer_DataReader.java12
44 files changed, 388 insertions, 263 deletions
diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java
index 7746d8dd41..53e9627187 100644
--- a/src/main/java/com/github/technus/tectech/Util.java
+++ b/src/main/java/com/github/technus/tectech/Util.java
@@ -2,7 +2,7 @@ package com.github.technus.tectech;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.thing.metaTileEntity.IFrontRotation;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.HatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -396,7 +396,7 @@ public final class Util {
String[][] structure,//0-9 casing, +- air no air, A... ignore 'A'-CHAR-1 blocks
Block[] blockType,//use numbers 0-9 for casing types
byte[] blockMeta,//use numbers 0-9 for casing types
- HatchAdder[] addingMethods,
+ IHatchAdder[] addingMethods,
short[] casingTextures,
Block[] blockTypeFallback,//use numbers 0-9 for casing types
byte[] blockMetaFallback,//use numbers 0-9 for casing types
diff --git a/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java
index c3818009a4..f7b3895a80 100644
--- a/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java
+++ b/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java
@@ -17,36 +17,27 @@ public class ChunkDataHandler {
private final String BASE_TAG_NAME ="TecTechData";
private final HashMap<Integer,HashMap<ChunkCoordIntPair, NBTChunk>> dimensionWiseChunkData=new HashMap<>();
private final HashMap<String,HashMap<Integer,ChunkHashMap >> dimensionWiseMetaChunkData=new HashMap<>();
- private final HashMap<String,ChunkMetaDataHandler> metaDataHandlerHashMap =new HashMap<>();
- private final ArrayList<ChunkMetaDataHandler> clientSyncHandlers =new ArrayList<>();
- private final ArrayList<ChunkMetaDataHandler> serverHandlers=new ArrayList<>();
- private final ArrayList<ChunkMetaDataHandler> worldHandlers=new ArrayList<>();
- private final ArrayList<ChunkMetaDataHandler> playerHandlers=new ArrayList<>();
- @SideOnly(Side.CLIENT)
- private final ArrayList<ChunkMetaDataHandler> clientHandlers=new ArrayList<>();
- @SideOnly(Side.CLIENT)
- private final ArrayList<ChunkMetaDataHandler> renderHandlers=new ArrayList<>();
+ private final HashMap<String, IChunkMetaDataHandler> metaDataHandlerHashMap =new HashMap<>();
+ private final ArrayList<IChunkMetaDataHandler> clientSyncHandlers =new ArrayList<>();
+ private final ArrayList<IChunkMetaDataHandler> serverHandlers=new ArrayList<>();
+ private final ArrayList<IChunkMetaDataHandler> worldHandlers=new ArrayList<>();
+ private final ArrayList<IChunkMetaDataHandler> playerHandlers=new ArrayList<>();
+ private final ArrayList<IChunkMetaDataHandler> clientHandlers=new ArrayList<>();
+ private final ArrayList<IChunkMetaDataHandler> renderHandlers=new ArrayList<>();
@SubscribeEvent
public void onWorldLoad(WorldEvent.Load event){
int dim=event.world.provider.dimensionId;
dimensionWiseChunkData.computeIfAbsent(dim, m->{
HashMap<ChunkCoordIntPair, NBTChunk> map = new HashMap<>();
- for (String meta : metaDataHandlerHashMap.keySet()) {
- dimensionWiseMetaChunkData.get(meta).put(dim, new ChunkHashMap(meta, map));
+ for (Map.Entry<String,IChunkMetaDataHandler> meta : metaDataHandlerHashMap.entrySet()) {
+ dimensionWiseMetaChunkData.get(meta.getKey()).put(dim, new ChunkHashMap(meta.getValue(), map));
}
return map;
});
}
@SubscribeEvent
- public void onWorldUnload(WorldEvent.Unload event){
- dimensionWiseChunkData.remove(event.world.provider.dimensionId);
- dimensionWiseMetaChunkData.forEach((k,v)->v.remove(event.world.provider.dimensionId));
- }
-
- @SideOnly(Side.SERVER)
- @SubscribeEvent
public void handleChunkSaveEvent(ChunkDataEvent.Save event) {
HashMap<ChunkCoordIntPair, NBTChunk> dimensionData = dimensionWiseChunkData.get(event.world.provider.dimensionId);
NBTChunk chunkData = dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null;
@@ -58,7 +49,6 @@ public class ChunkDataHandler {
}
}
- @SideOnly(Side.SERVER)
@SubscribeEvent
public void handleChunkLoadEvent(ChunkDataEvent.Load event) {
NBTTagCompound loadedTag = event.getData().getCompoundTag(BASE_TAG_NAME);
@@ -140,36 +130,35 @@ public class ChunkDataHandler {
dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent));
}
+ @SideOnly(Side.SERVER)
@SubscribeEvent
public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) {
- if(aEvent.side.isServer()){
- int dim=aEvent.world.provider.dimensionId;
- clientSyncHandlers.forEach(chunkMetaDataHandler -> {
- ChunkHashMap data=dimensionWiseMetaChunkData
- .get(chunkMetaDataHandler.getTagName()).get(dim);
- int cycle=chunkMetaDataHandler.pushPayloadSpreadPeriod();
- int epoch=(int)(aEvent.world.getTotalWorldTime()%cycle);
- ArrayList<ChunkCoordIntPair> work;
- if(epoch==0){
- int per=data.dirtyBoys.size()/cycle;
- int mod=data.dirtyBoys.size()%cycle;
- Iterator<ChunkCoordIntPair> iter=data.dirtyBoys.iterator();
- for (int periodWork = 0; periodWork < cycle; periodWork++) {
- work=data.workLoad.get(periodWork);
- for (int i = 0; i < per; i++) {
- work.add(iter.next());
- }
- if(periodWork<mod){
- work.add(iter.next());
- }
+ int dim=aEvent.world.provider.dimensionId;
+ clientSyncHandlers.forEach(chunkMetaDataHandler -> {
+ ChunkHashMap data=dimensionWiseMetaChunkData
+ .get(chunkMetaDataHandler.getTagName()).get(dim);
+ int cycle=chunkMetaDataHandler.pushPayloadSpreadPeriod();
+ int epoch=(int)(aEvent.world.getTotalWorldTime()%cycle);
+ ArrayList<ChunkCoordIntPair> work;
+ if(epoch==0){
+ int per=data.dirtyBoys.size()/cycle;
+ int mod=data.dirtyBoys.size()%cycle;
+ Iterator<ChunkCoordIntPair> iter=data.dirtyBoys.iterator();
+ for (int periodWork = 0; periodWork < cycle; periodWork++) {
+ work=data.workLoad.get(periodWork);
+ for (int i = 0; i < per; i++) {
+ work.add(iter.next());
+ }
+ if(periodWork<mod){
+ work.add(iter.next());
}
- data.dirtyBoys.clear();
}
- work=data.workLoad.get(epoch);
- chunkMetaDataHandler.pushPayload(dim,work);
- work.clear();
- });
- }
+ data.dirtyBoys.clear();
+ }
+ work=data.workLoad.get(epoch);
+ chunkMetaDataHandler.pushPayload(dim,work);
+ work.clear();
+ });
worldHandlers.forEach(chunkMetaDataHandler ->
chunkMetaDataHandler.tickWorld(
dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent));
@@ -188,36 +177,42 @@ public class ChunkDataHandler {
dimensionWiseMetaChunkData.forEach((k,v)->v.clear());
}
- public ChunkMetaDataHandler getChunkMetaDataHandler(String s){
+ public IChunkMetaDataHandler getChunkMetaDataHandler(String s){
return metaDataHandlerHashMap.get(s);
}
- public void registerChunkMetaDataHandler(ChunkMetaDataHandler handler){
+ public void registerChunkMetaDataHandler(IChunkMetaDataHandler handler){
metaDataHandlerHashMap.put(handler.getTagName(),handler);
dimensionWiseMetaChunkData.put(handler.getTagName(),new HashMap<>());
Class clazz=handler.getClass();
try {
- if(clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class).getDeclaringClass()!=ChunkMetaDataHandler.class){
+ if(clazz.getMethod("tickServer", HashMap.class, TickEvent.ServerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){
serverHandlers.add(handler);
}
- if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!=ChunkMetaDataHandler.class){
- worldHandlers.add(handler);
- }
- if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!=ChunkMetaDataHandler.class){
+ if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){
playerHandlers.add(handler);
}
- if (clazz.getMethod("requestData", ChunkEvent.Load.class).getDeclaringClass() != ChunkMetaDataHandler.class) {
+ if (clazz.getMethod("requestData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) {
clientSyncHandlers.add(handler);
}
} catch (NoSuchMethodException e) {
throw new RuntimeException("Cannot register common event handlers!");
}
+ if(FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ try {
+ if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){
+ worldHandlers.add(handler);
+ }
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException("Cannot register client event handlers!");
+ }
+ }
if(FMLCommonHandler.instance().getEffectiveSide().isClient()) {
try {
- if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class).getDeclaringClass() != ChunkMetaDataHandler.class) {
+ if (clazz.getMethod("tickClient", HashMap.class, TickEvent.ClientTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) {
clientHandlers.add(handler);
}
- if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class).getDeclaringClass() != ChunkMetaDataHandler.class) {
+ if (clazz.getMethod("tickRender", HashMap.class, TickEvent.RenderTickEvent.class).getDeclaringClass() != IChunkMetaDataHandler.class) {
renderHandlers.add(handler);
}
} catch (NoSuchMethodException e) {
@@ -226,23 +221,28 @@ public class ChunkDataHandler {
}
}
- public NBTTagCompound getChunkData(ChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){
+ public NBTTagCompound removeChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){
+ return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).remove(chunk);
+ }
+
+ public NBTTagCompound getChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){
return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).get(chunk);
}
- public NBTTagCompound putChunkData(ChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk,NBTTagCompound data){
+ public NBTTagCompound putChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data){
return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk,data);
}
- public NBTTagCompound createIfAbsentChunkData(ChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){
+
+ public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){
return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world)
.computeIfAbsent(chunk,chunkCoordIntPair -> handler.createData());
}
- public HashMap<Integer,ChunkHashMap> getChunkData(ChunkMetaDataHandler chunkMetaDataHandler){
+ public HashMap<Integer,ChunkHashMap> getChunkData(IChunkMetaDataHandler chunkMetaDataHandler){
return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName());
}
- public ChunkHashMap getChunkData(ChunkMetaDataHandler chunkMetaDataHandler,int world){
+ public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world){
return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()).get(world);
}
@@ -253,9 +253,12 @@ public class ChunkDataHandler {
private final ArrayList<ArrayList<ChunkCoordIntPair>> workLoad=new ArrayList<>();
private final String meta;
- private ChunkHashMap(String meta, HashMap<ChunkCoordIntPair, NBTChunk> storage) {
+ private ChunkHashMap(IChunkMetaDataHandler meta, HashMap<ChunkCoordIntPair, NBTChunk> storage) {
this.storage =storage;
- this.meta=meta;
+ this.meta=meta.getTagName();
+ for (int i = 0; i < meta.pushPayloadSpreadPeriod(); i++) {
+ workLoad.add(new ArrayList<>(128));
+ }
}
public void markForTransmissionToClient(ChunkCoordIntPair chunk){
diff --git a/src/main/java/com/github/technus/tectech/chunkData/ChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java
index 543fb080a5..b904f09f33 100644
--- a/src/main/java/com/github/technus/tectech/chunkData/ChunkMetaDataHandler.java
+++ b/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java
@@ -10,13 +10,15 @@ import net.minecraftforge.event.world.ChunkEvent;
import java.util.ArrayList;
import java.util.HashMap;
-public interface ChunkMetaDataHandler {
+public interface IChunkMetaDataHandler {
String getTagName();
void mergeData(NBTTagCompound target, NBTTagCompound loadedData);
NBTTagCompound createData();
@SideOnly(Side.CLIENT)
default void requestData(ChunkEvent.Load aEvent){}
+ @SideOnly(Side.SERVER)
default void pushData(int world, ChunkCoordIntPair chunk){}
+ @SideOnly(Side.SERVER)
default void pushPayload(int world, ArrayList<ChunkCoordIntPair> chunk){
chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair));
}
@@ -28,6 +30,7 @@ public interface ChunkMetaDataHandler {
@SideOnly(Side.CLIENT)
default void tickClient(HashMap<Integer, ChunkDataHandler.ChunkHashMap> data, TickEvent.ClientTickEvent aEvent){}
default void tickServer(HashMap<Integer, ChunkDataHandler.ChunkHashMap> data, TickEvent.ServerTickEvent event){}
+ @SideOnly(Side.SERVER)
default void tickWorld(HashMap<Integer, ChunkDataHandler.ChunkHashMap> data, TickEvent.WorldTickEvent aEvent){}
default void tickPlayer(HashMap<Integer, ChunkDataHandler.ChunkHashMap> data, TickEvent.PlayerTickEvent aEvent){}
}
diff --git a/src/main/java/com/github/technus/tectech/chunkData/WorldData.java b/src/main/java/com/github/technus/tectech/chunkData/WorldData.java
new file mode 100644
index 0000000000..42641a015e
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/chunkData/WorldData.java
@@ -0,0 +1,52 @@
+package com.github.technus.tectech.chunkData;
+
+import net.minecraft.world.ChunkCoordIntPair;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+
+import java.util.Objects;
+
+public final class WorldData {
+ private final World world;
+ private final Chunk chunk;
+ private final ChunkCoordIntPair coordIntPair;
+
+ public WorldData(World world, Chunk data) {
+ this.world = world;
+ this.chunk = data;
+ coordIntPair=data.getChunkCoordIntPair();
+ }
+
+ public WorldData(World world, ChunkCoordIntPair data) {
+ this.world = world;
+ this.coordIntPair = data;
+ chunk= world.getChunkFromChunkCoords(data.chunkXPos,data.chunkZPos);
+ }
+
+ public World getWorld() {
+ return world;
+ }
+
+ public Chunk getChunk() {
+ return chunk;
+ }
+
+ public ChunkCoordIntPair getCoordIntPair() {
+ return coordIntPair;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ WorldData worldData = (WorldData) o;
+ return world.provider.dimensionId==worldData.world.provider.dimensionId &&
+ coordIntPair.chunkXPos==worldData.coordIntPair.chunkXPos &&
+ coordIntPair.chunkZPos==worldData.coordIntPair.chunkXPos;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(world.provider.dimensionId, coordIntPair);
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
index 6cec48c41f..3d64ceee62 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java
@@ -10,7 +10,7 @@ import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.thing.metaTileEntity.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.HatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -46,7 +46,7 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_
};
private static final Block[] blockType = new Block[]{QuantumGlassBlock.INSTANCE, sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT};
private static final byte[] blockMeta = new byte[]{0,0,4,8};
- private final HatchAdder[] addingMethods = new HatchAdder[]{
+ private final IHatchAdder[] addingMethods = new IHatchAdder[]{
this::addClassicToMachineList,
this::addElementalInputToMachineList,
this::addElementalMufflerToMachineList};
diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
index fd56305d5f..9bd16c959b 100644
--- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
+++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java
@@ -10,7 +10,7 @@ import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.thing.metaTileEntity.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.HatchAdder;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -46,7 +46,7 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu
};
private static final Block[] blockType = new Block[]{QuantumGlassBlock.INSTANCE, sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT};
private static final byte[] blockMeta = new byte[]{0,4,0,8};
- private final HatchAdder[] addingMethods = new HatchAdder[]{
+ private final IHatchAdder[] addingMethods = new IHatchAdder[]{
this::addClassicToMachineList,
this::addElementalOutputToMachineList,
this::addElementalMufflerToMachineList};
diff --git a/src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java b/src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java
index daa6195944..15c936191a 100644
--- a/src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java
+++ b/src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java
@@ -2,7 +2,7 @@ package com.github.technus.tectech.loader.network;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.Util;
-import com.github.technus.tectech.chunkData.ChunkMetaDataHandler;
+import com.github.technus.tectech.chunkData.IChunkMetaDataHandler;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
@@ -19,7 +19,7 @@ public class ChunkDataMessage implements IMessage {
int worldId;
ChunkCoordIntPair chunk;
NBTTagCompound data;
- ChunkMetaDataHandler handler;
+ IChunkMetaDataHandler handler;
public ChunkDataMessage(){}
@@ -53,7 +53,7 @@ public class ChunkDataMessage implements IMessage {
public static class ChunkDataQuery extends ChunkDataMessage {
public ChunkDataQuery() {
}
- public ChunkDataQuery(ChunkEvent.Load aEvent,ChunkMetaDataHandler handler) {
+ public ChunkDataQuery(ChunkEvent.Load aEvent, IChunkMetaDataHandler handler) {
worldId=aEvent.world.provider.dimensionId;
chunk=aEvent.getChunk().getChunkCoordIntPair();
this.handler=handler;
@@ -64,7 +64,7 @@ public class ChunkDataMessage implements IMessage {
public ChunkDataData() {
}
- public ChunkDataData(int worldId,ChunkCoordIntPair chunk,ChunkMetaDataHandler handler){
+ public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler){
this.worldId=worldId;
this.chunk=chunk;
this.handler=handler;
diff --git a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java
index 8ef33e7c3f..f45d3a5df5 100644
--- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java
+++ b/src/main/java/com/github/technus/te