From 0f367b0d1d46c93ea39ae191d37d2359a6dc2d4c Mon Sep 17 00:00:00 2001 From: Tec Date: Mon, 15 Jul 2019 17:37:19 +0200 Subject: refactor classes --- .../java/com/github/technus/tectech/TecTech.java | 8 +- .../tectech/chunkData/ChunkDataHandler.java | 363 --------------------- .../tectech/chunkData/IChunkMetaDataHandler.java | 34 -- .../technus/tectech/chunkData/WorldData.java | 52 --- .../technus/tectech/loader/ElementalLoader.java | 40 +++ .../technus/tectech/loader/EntityLoader.java | 18 + .../github/technus/tectech/loader/MainLoader.java | 3 - .../technus/tectech/loader/NetworkDispatcher.java | 30 ++ .../tectech/loader/entity/EntityLoader.java | 18 - .../tectech/loader/mechanics/ElementalLoader.java | 40 --- .../tectech/loader/network/ChunkDataMessage.java | 101 ------ .../tectech/loader/network/NetworkDispatcher.java | 25 -- .../loader/network/PipeActivityMessage.java | 134 -------- .../tectech/loader/network/PlayerDataMessage.java | 89 ----- .../tectech/loader/network/RotationMessage.java | 140 -------- .../technus/tectech/mechanics/ConvertFloat.java | 76 ----- .../technus/tectech/mechanics/ConvertInteger.java | 76 ----- .../tectech/mechanics/PlayerPersistence.java | 73 ----- .../tectech/mechanics/anomaly/AnomalyHandler.java | 10 +- .../tectech/mechanics/commands/ConvertFloat.java | 76 +++++ .../tectech/mechanics/commands/ConvertInteger.java | 76 +++++ .../tectech/mechanics/data/ChunkDataHandler.java | 363 +++++++++++++++++++++ .../tectech/mechanics/data/ChunkDataMessage.java | 101 ++++++ .../mechanics/data/IChunkMetaDataHandler.java | 34 ++ .../tectech/mechanics/data/PlayerDataMessage.java | 90 +++++ .../tectech/mechanics/data/PlayerPersistence.java | 72 ++++ .../technus/tectech/mechanics/data/WorldData.java | 52 +++ .../thing/metaTileEntity/RotationMessage.java | 139 ++++++++ .../base/GT_MetaTileEntity_MultiblockBase_EM.java | 4 +- .../pipe/GT_MetaTileEntity_Pipe_Data.java | 3 +- .../pipe/GT_MetaTileEntity_Pipe_EM.java | 3 +- .../pipe/GT_MetaTileEntity_Pipe_Energy.java | 3 +- .../metaTileEntity/pipe/PipeActivityMessage.java | 133 ++++++++ 33 files changed, 1238 insertions(+), 1241 deletions(-) delete mode 100644 src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java delete mode 100644 src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java delete mode 100644 src/main/java/com/github/technus/tectech/chunkData/WorldData.java create mode 100644 src/main/java/com/github/technus/tectech/loader/ElementalLoader.java create mode 100644 src/main/java/com/github/technus/tectech/loader/EntityLoader.java create mode 100644 src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/entity/EntityLoader.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/mechanics/ElementalLoader.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/network/PlayerDataMessage.java delete mode 100644 src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java delete mode 100644 src/main/java/com/github/technus/tectech/mechanics/ConvertFloat.java delete mode 100644 src/main/java/com/github/technus/tectech/mechanics/ConvertInteger.java delete mode 100644 src/main/java/com/github/technus/tectech/mechanics/PlayerPersistence.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/commands/ConvertFloat.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/commands/ConvertInteger.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataHandler.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/ChunkDataMessage.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/IChunkMetaDataHandler.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/PlayerDataMessage.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/PlayerPersistence.java create mode 100644 src/main/java/com/github/technus/tectech/mechanics/data/WorldData.java create mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/RotationMessage.java create mode 100644 src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/PipeActivityMessage.java (limited to 'src') diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index 49b989f794..493d3aa115 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -2,11 +2,11 @@ package com.github.technus.tectech; import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.loader.TecTechConfig; -import com.github.technus.tectech.mechanics.ConvertFloat; -import com.github.technus.tectech.mechanics.ConvertInteger; -import com.github.technus.tectech.mechanics.PlayerPersistence; +import com.github.technus.tectech.mechanics.commands.ConvertFloat; +import com.github.technus.tectech.mechanics.commands.ConvertInteger; import com.github.technus.tectech.mechanics.anomaly.AnomalyHandler; -import com.github.technus.tectech.chunkData.ChunkDataHandler; +import com.github.technus.tectech.mechanics.data.ChunkDataHandler; +import com.github.technus.tectech.mechanics.data.PlayerPersistence; import com.github.technus.tectech.mechanics.elementalMatter.core.commands.GiveEM; import com.github.technus.tectech.mechanics.elementalMatter.core.commands.ListEM; import com.github.technus.tectech.proxy.CommonProxy; diff --git a/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java b/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java deleted file mode 100644 index 108e762af0..0000000000 --- a/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java +++ /dev/null @@ -1,363 +0,0 @@ -package com.github.technus.tectech.chunkData; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraftforge.event.world.ChunkDataEvent; -import net.minecraftforge.event.world.ChunkEvent; -import net.minecraftforge.event.world.WorldEvent; - -import java.util.*; - -public class ChunkDataHandler { - private final String BASE_TAG_NAME ="TecTechData"; - private final HashMap> dimensionWiseChunkData=new HashMap<>(); - private final HashMap> dimensionWiseMetaChunkData=new HashMap<>(); - private final HashMap metaDataHandlerHashMap =new HashMap<>(); - private final ArrayList pushSyncHandlers =new ArrayList<>(); - private final ArrayList pullSyncHandlers =new ArrayList<>(); - private final ArrayList serverHandlers=new ArrayList<>(); - private final ArrayList worldHandlers=new ArrayList<>(); - private final ArrayList playerHandlers=new ArrayList<>(); - private final ArrayList clientHandlers=new ArrayList<>(); - private final ArrayList renderHandlers=new ArrayList<>(); - - @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event){ - int dim=event.world.provider.dimensionId; - dimensionWiseChunkData.computeIfAbsent(dim, m->{ - HashMap map = new HashMap<>(); - for (Map.Entry meta : metaDataHandlerHashMap.entrySet()) { - dimensionWiseMetaChunkData.get(meta.getKey()).put(dim, new ChunkHashMap(meta.getValue(), map)); - } - return map; - }); - } - - @SubscribeEvent - public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - HashMap dimensionData = dimensionWiseChunkData.get(event.world.provider.dimensionId); - NBTChunk chunkData = dimensionData != null ? dimensionData.get(event.getChunk().getChunkCoordIntPair()) : null; - if (chunkData == null) { - event.getData().removeTag(BASE_TAG_NAME); - } else { - chunkData.isLoaded = true; - event.getData().setTag(BASE_TAG_NAME, chunkData.data); - } - } - - @SubscribeEvent - public void handleChunkLoadEvent(ChunkDataEvent.Load event) { - NBTTagCompound loadedTag = event.getData().getCompoundTag(BASE_TAG_NAME); - if (loadedTag.hasNoTags()) { - return; - } - int dimId = event.world.provider.dimensionId; - HashMap dimensionMemory = dimensionWiseChunkData.get(dimId); - ChunkCoordIntPair chunkCoordIntPair = event.getChunk().getChunkCoordIntPair(); - Set loadedKeys = loadedTag.func_150296_c(); - NBTChunk chunkMemory = dimensionMemory.get(chunkCoordIntPair); - if (chunkMemory == null) { - chunkMemory = new NBTChunk(loadedTag, true); - dimensionMemory.put(chunkCoordIntPair, chunkMemory); - for (String s : loadedKeys) { - dimensionWiseMetaChunkData.get(s).get(dimId).putLoaded(chunkCoordIntPair, loadedTag.getCompoundTag(s)); - } - } else if (!chunkMemory.isLoaded) { - chunkMemory.isLoaded = true; - - Set tagsDuplicated = new HashSet(loadedKeys); - tagsDuplicated.retainAll(chunkMemory.data.func_150296_c()); - - if (tagsDuplicated.isEmpty()) { - for (String s : loadedKeys) { - NBTTagCompound tag = loadedTag.getCompoundTag(s); - chunkMemory.data.setTag(s, tag); - dimensionWiseMetaChunkData.get(s).get(dimId).putLoaded(chunkCoordIntPair, tag); - } - } else { - for (String s : loadedKeys) { - NBTTagCompound memory = chunkMemory.data.getCompoundTag(s); - if (tagsDuplicated.contains(s)) { - metaDataHandlerHashMap.get(s).mergeData(memory, loadedTag.getCompoundTag(s)); - } else { - chunkMemory.data.setTag(s, loadedTag.getCompoundTag(s)); - dimensionWiseMetaChunkData.get(s).get(dimId).putLoaded(chunkCoordIntPair, memory); - } - } - } - } - } - - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onLoadChunk(ChunkEvent.Load aEvent){ - pullSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.pullData(aEvent)); - } - - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onUnLoadChunk(ChunkEvent.Unload aEvent){ - pullSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData - .get(chunkMetaDataHandler.getTagName()) - .get(aEvent.world.provider.dimensionId) - .remove(aEvent.getChunk().getChunkCoordIntPair())); - } - - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onClientTickEvent(TickEvent.ClientTickEvent aEvent) { - clientHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickClient( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); - } - - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onRenderTickEvent(TickEvent.RenderTickEvent aEvent) { - renderHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickRender( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); - } - - @SubscribeEvent - public void onServerTickEvent(TickEvent.ServerTickEvent aEvent) { - serverHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickServer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); - } - - @SubscribeEvent - public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { - if(aEvent.side.isServer()) { - int dim = aEvent.world.provider.dimensionId; - pushSyncHandlers.forEach(chunkMetaDataHandler -> { - ChunkHashMap data = dimensionWiseMetaChunkData - .get(chunkMetaDataHandler.getTagName()).get(dim); - int cycle = chunkMetaDataHandler.pushPayloadSpreadPeriod(); - int epoch = (int) (aEvent.world.getTotalWorldTime() % cycle); - ArrayList work; - if (epoch == 0) { - int per = data.dirtyBoys.size() / cycle; - int mod = data.dirtyBoys.size() % cycle; - Iterator 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(); - }); - worldHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickWorld( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); - } - } - - @SubscribeEvent - public void onPlayerTickEvent(TickEvent.PlayerTickEvent aEvent) { - playerHandlers.forEach(chunkMetaDataHandler -> - chunkMetaDataHandler.tickPlayer( - dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()), aEvent)); - } - - - public void clearData() { - dimensionWiseChunkData.clear(); - dimensionWiseMetaChunkData.forEach((k,v)->v.clear()); - } - - public IChunkMetaDataHandler getChunkMetaDataHandler(String s){ - return metaDataHandlerHashMap.get(s); - } - - 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()!= IChunkMetaDataHandler.class){ - serverHandlers.add(handler); - } - if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ - playerHandlers.add(handler); - } - if (clazz.getMethod("pushData", int.class, ChunkCoordIntPair.class).getDeclaringClass()!=IChunkMetaDataHandler.class) { - pushSyncHandlers.add(handler); - } - if(clazz.getMethod("tickWorld", HashMap.class, TickEvent.WorldTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ - worldHandlers.add(handler); - } - } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register common event handlers!",e); - } - if(FMLCommonHandler.instance().getEffectiveSide().isClient()) { - try { - if (clazz.getMethod("pullData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) { - pullSyncHandlers.add(handler); - } - 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() != IChunkMetaDataHandler.class) { - renderHandlers.add(handler); - } - } catch (NoSuchMethodException e) { - throw new RuntimeException("Cannot register client event handlers!",e); - } - } - } - - 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(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk, NBTTagCompound data){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world).put(chunk,data); - } - - public NBTTagCompound createIfAbsentChunkData(IChunkMetaDataHandler handler, int world, ChunkCoordIntPair chunk){ - return dimensionWiseMetaChunkData.get(handler.getTagName()).get(world) - .computeIfAbsent(chunk,chunkCoordIntPair -> handler.createData()); - } - - public HashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler){ - return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()); - } - - public ChunkHashMap getChunkData(IChunkMetaDataHandler chunkMetaDataHandler, int world){ - return dimensionWiseMetaChunkData.get(chunkMetaDataHandler.getTagName()).get(world); - } - - public static final class ChunkHashMap implements Map{ - private final HashMap storage; - private final HashMap storageMeta=new HashMap<>(1024); - private final HashSet dirtyBoys=new HashSet<>(1024); - private final ArrayList> workLoad=new ArrayList<>(); - private final String meta; - - private ChunkHashMap(IChunkMetaDataHandler meta, HashMap storage) { - this.storage =storage; - this.meta=meta.getTagName(); - for (int i = 0; i < meta.pushPayloadSpreadPeriod(); i++) { - workLoad.add(new ArrayList<>(128)); - } - } - - public void markForTransmissionToClient(ChunkCoordIntPair chunk){ - dirtyBoys.add(chunk); - } - - private void putLoaded(ChunkCoordIntPair key, NBTTagCompound value) { - storageMeta.put(key, value); - } - - @Override - public NBTTagCompound remove(Object key) { - NBTTagCompound compound=storageMeta.remove(key); - if(compound!=null) { - NBTChunk chunk = storage.get(key); - chunk.data.removeTag(meta); - if(chunk.data.hasNoTags()){ - storage.remove(key); - } - } - return compound; - } - - @Override - public NBTTagCompound put(ChunkCoordIntPair key, NBTTagCompound value) { - if(value==null){ - return remove(key); - } - NBTChunk chunk = storage.get(key); - if(chunk==null){ - NBTTagCompound base=new NBTTagCompound(); - base.setTag(meta,value); - storage.put(key,new NBTChunk(base,false)); - }else { - chunk.data.setTag(meta,value); - } - return storageMeta.put(key, value); - } - - @Override - public int size() { - return storageMeta.size(); - } - - @Override - public boolean isEmpty() { - return storageMeta.isEmpty(); - } - - @Override - public NBTTagCompound get(Object key) { - return storageMeta.get(key); - } - - @Override - public void clear() { - storageMeta.entrySet().forEach(this::remove); - } - - @Override - public void putAll(Map m) { - m.forEach(this::put); - } - - @Override - public boolean containsKey(Object key) { - return storageMeta.containsKey(key); - } - - @Override - public boolean containsValue(Object value) { - return storageMeta.containsValue(value); - } - - @Override - public Set keySet() { - return storageMeta.keySet(); - } - - @Override - public Collection values() { - return storageMeta.values(); - } - - @Override - public Set> entrySet() { - return storageMeta.entrySet(); - } - } - - private static final class NBTChunk { - private final NBTTagCompound data; - private boolean isLoaded; - - private NBTChunk(NBTTagCompound data, boolean isLoaded) { - if(data==null){ - data=new NBTTagCompound(); - } - this.data = data; - this.isLoaded = isLoaded; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java deleted file mode 100644 index b5c79a4628..0000000000 --- a/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.github.technus.tectech.chunkData; - -import cpw.mods.fml.common.gameevent.TickEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraftforge.event.world.ChunkEvent; - -import java.util.ArrayList; -import java.util.HashMap; - -public interface IChunkMetaDataHandler { - String getTagName(); - void mergeData(NBTTagCompound target, NBTTagCompound loadedData); - NBTTagCompound createData(); - @SideOnly(Side.CLIENT) - default void pullData(ChunkEvent.Load aEvent){} - default void pushData(int world, ChunkCoordIntPair chunk){} - default void pushPayload(int world, ArrayList chunk){ - chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair)); - } - default int pushPayloadSpreadPeriod(){ - return 20; - } - @SideOnly(Side.CLIENT) - default void tickRender(HashMap data, TickEvent.RenderTickEvent aEvent){} - @SideOnly(Side.CLIENT) - default void tickClient(HashMap data, TickEvent.ClientTickEvent aEvent){} - default void tickServer(HashMap data, TickEvent.ServerTickEvent event){} - default void tickWorld(HashMap data, TickEvent.WorldTickEvent aEvent){} - default void tickPlayer(HashMap 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 deleted file mode 100644 index 42641a015e..0000000000 --- a/src/main/java/com/github/technus/tectech/chunkData/WorldData.java +++ /dev/null @@ -1,52 +0,0 @@ -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/loader/ElementalLoader.java b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java new file mode 100644 index 0000000000..130106a76b --- /dev/null +++ b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java @@ -0,0 +1,40 @@ +package com.github.technus.tectech.loader; + +import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.dComplexAspectDefinition; +import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.ePrimalAspectDefinition; +import com.github.technus.tectech.mechanics.elementalMatter.core.templates.cElementalPrimitive; +import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.atom.dAtomDefinition; +import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.atom.iaeaNuclide; +import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.hadron.dHadronDefinition; +import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.*; + +/** + * Created by danie_000 on 16.11.2016. + */ +public class ElementalLoader implements Runnable { + @Override + public void run() { + // =================================================================================================== + // Definition init + // =================================================================================================== + + cElementalPrimitive.run(); + + cPrimitiveDefinition.run(); + + eQuarkDefinition.run(); + eLeptonDefinition.run(); + eNeutrinoDefinition.run(); + eBosonDefinition.run(); + + dHadronDefinition.run(); + + iaeaNuclide.run(); + + dAtomDefinition.run(); + + ePrimalAspectDefinition.run(); + + dComplexAspectDefinition.run(); + } +} diff --git a/src/main/java/com/github/technus/tectech/loader/EntityLoader.java b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java new file mode 100644 index 0000000000..b188989ba3 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/loader/EntityLoader.java @@ -0,0 +1,18 @@ +package com.github.technus.tectech.loader; + +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.compatibility.openmodularturrets.entity.projectiles.projectileEM; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.EntityRegistry; + +/** + * Created by Tec on 30.07.2017. + */ +public class EntityLoader implements Runnable { + @Override + public void run() { + if(Loader.isModLoaded("openmodularturrets")) { + EntityRegistry.registerModEntity(projectileEM.class, "projectileEM", 0, TecTech.instance, 16, 5, true); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index 2272733d5a..b45e8bd532 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -6,11 +6,8 @@ import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.defin import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.AspectDefinitionCompatEnabled; import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompat; import com.github.technus.tectech.compatibility.thaumcraft.thing.metaTileEntity.multi.EssentiaCompatEnabled; -import com.github.technus.tectech.loader.entity.EntityLoader; import com.github.technus.tectech.loader.gui.CreativeTabTecTech; import com.github.technus.tectech.loader.gui.ModGuiHandler; -import com.github.technus.tectech.loader.mechanics.ElementalLoader; -import com.github.technus.tectech.loader.network.NetworkDispatcher; import com.github.technus.tectech.loader.recipe.RecipeLoader; import com.github.technus.tectech.loader.thing.ComponentLoader; import com.github.technus.tectech.loader.thing.MachineLoader; diff --git a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java new file mode 100644 index 0000000000..0f20d31f4d --- /dev/null +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -0,0 +1,30 @@ +package com.github.technus.tectech.loader; + +import com.github.technus.tectech.thing.metaTileEntity.pipe.PipeActivityMessage; +import com.github.technus.tectech.thing.metaTileEntity.RotationMessage; +import com.github.technus.tectech.mechanics.data.ChunkDataMessage; +import com.github.technus.tectech.mechanics.data.PlayerDataMessage; + +import static com.github.technus.tectech.Reference.MODID; + +public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { + public static NetworkDispatcher INSTANCE; + + public NetworkDispatcher() { + super(MODID); + INSTANCE = this; + registerPackets(); + } + + @Override + public void registerPackets() { + registerMessage(PipeActivityMessage.ServerHandler.class, PipeActivityMessage.PipeActivityQuery.class); + registerMessage(PipeActivityMessage.ClientHandler.class, PipeActivityMessage.PipeActivityData.class); + registerMessage(RotationMessage.ServerHandler.class, RotationMessage.RotationQuery.class); + registerMessage(RotationMessage.ClientHandler.class, RotationMessage.RotationData.class); + registerMessage(ChunkDataMessage.ServerHandler.class, ChunkDataMessage.ChunkDataQuery.class); + registerMessage(ChunkDataMessage.ClientHandler.class, ChunkDataMessage.ChunkDataData.class); + registerMessage(PlayerDataMessage.ServerHandler.class, PlayerDataMessage.PlayerDataQuery.class); + registerMessage(PlayerDataMessage.ClientHandler.class, PlayerDataMessage.PlayerDataData.class); + } +} diff --git a/src/main/java/com/github/technus/tectech/loader/entity/EntityLoader.java b/src/main/java/com/github/technus/tectech/loader/entity/EntityLoader.java deleted file mode 100644 index 209d7ccd39..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/entity/EntityLoader.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.github.technus.tectech.loader.entity; - -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.compatibility.openmodularturrets.entity.projectiles.projectileEM; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.EntityRegistry; - -/** - * Created by Tec on 30.07.2017. - */ -public class EntityLoader implements Runnable { - @Override - public void run() { - if(Loader.isModLoaded("openmodularturrets")) { - EntityRegistry.registerModEntity(projectileEM.class, "projectileEM", 0, TecTech.instance, 16, 5, true); - } - } -} diff --git a/src/main/java/com/github/technus/tectech/loader/mechanics/ElementalLoader.java b/src/main/java/com/github/technus/tectech/loader/mechanics/ElementalLoader.java deleted file mode 100644 index a2ea8c60de..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/mechanics/ElementalLoader.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.github.technus.tectech.loader.mechanics; - -import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.dComplexAspectDefinition; -import com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.ePrimalAspectDefinition; -import com.github.technus.tectech.mechanics.elementalMatter.core.templates.cElementalPrimitive; -import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.atom.dAtomDefinition; -import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.atom.iaeaNuclide; -import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.hadron.dHadronDefinition; -import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.*; - -/** - * Created by danie_000 on 16.11.2016. - */ -public class ElementalLoader implements Runnable { - @Override - public void run() { - // =================================================================================================== - // Definition init - // =================================================================================================== - - cElementalPrimitive.run(); - - cPrimitiveDefinition.run(); - - eQuarkDefinition.run(); - eLeptonDefinition.run(); - eNeutrinoDefinition.run(); - eBosonDefinition.run(); - - dHadronDefinition.run(); - - iaeaNuclide.run(); - - dAtomDefinition.run(); - - ePrimalAspectDefinition.run(); - - dComplexAspectDefinition.run(); - } -} 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 deleted file mode 100644 index 15c936191a..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/network/ChunkDataMessage.java +++ /dev/null @@ -1,101 +0,0 @@ -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.IChunkMetaDataHandler; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; -import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraftforge.event.world.ChunkEvent; - -public class ChunkDataMessage implements IMessage { - int worldId; - ChunkCoordIntPair chunk; - NBTTagCompound data; - IChunkMetaDataHandler handler; - - public ChunkDataMessage(){} - - @Override - public void fromBytes(ByteBuf pBuffer) { - NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); - worldId = tag.getInteger("wId"); - chunk=new ChunkCoordIntPair( - tag.getInteger("posx"), - tag.getInteger("posz")); - handler = TecTech.chunkDataHandler.getChunkMetaDataHandler( - tag.getString("handle")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); - } - } - - @Override - public void toBytes(ByteBuf pBuffer) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("wId",worldId); - tag.setInteger("posx",chunk.chunkXPos); - tag.setInteger("posz",chunk.chunkZPos); - tag.setString("handle",handler.getTagName()); - if(data!=null){ - tag.setTag("data",data); - } - ByteBufUtils.writeTag(pBuffer, tag); - } - - public static class ChunkDataQuery extends ChunkDataMessage { - public ChunkDataQuery() { - } - public ChunkDataQuery(ChunkEvent.Load aEvent, IChunkMetaDataHandler handler) { - worldId=aEvent.world.provider.dimensionId; - chunk=aEvent.getChunk().getChunkCoordIntPair(); - this.handler=handler; - } - } - - public static class ChunkDataData extends ChunkDataMessage { - public ChunkDataData() { - } - - public ChunkDataData(int worldId, ChunkCoordIntPair chunk, IChunkMetaDataHandler handler){ - this.worldId=worldId; - this.chunk=chunk; - this.handler=handler; - this.data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); - } - - public ChunkDataData(ChunkDataQuery query){ - worldId=query.worldId; - chunk=query.chunk; - handler=query.handler; - data=TecTech.chunkDataHandler.getChunkData(handler,worldId,chunk); - } - } - - public static class ClientHandler extends AbstractClientMessageHandler { - @Override - public IMessage handleClientMessage(EntityPlayer pPlayer, ChunkDataData pMessage, MessageContext pCtx) { - if(Util.checkChunkExist(pPlayer.worldObj,pMessage.chunk)){ - TecTech.chunkDataHandler.putChunkData(pMessage.handler, pMessage.worldId,pMessage.chunk, pMessage.data); - } - return null; - } - } - - public static class ServerHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, ChunkDataQuery pMessage, MessageContext pCtx) { - if(pPlayer instanceof EntityPlayerMP){ - NetworkDispatcher.INSTANCE.sendTo(new ChunkDataData(pMessage),(EntityPlayerMP) pPlayer); - } - return null; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java b/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java deleted file mode 100644 index e424edd385..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/network/NetworkDispatcher.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.github.technus.tectech.loader.network; - -import static com.github.technus.tectech.Reference.MODID; - -public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher { - public static NetworkDispatcher INSTANCE; - - public NetworkDispatcher() { - super(MODID); - INSTANCE = this; - registerPackets(); - } - - @Override - public void registerPackets() { - registerMessage(PipeActivityMessage.ServerHandler.class, PipeActivityMessage.PipeActivityQuery.class); - registerMessage(PipeActivityMessage.ClientHandler.class, PipeActivityMessage.PipeActivityData.class); - registerMessage(RotationMessage.ServerHandler.class, RotationMessage.RotationQuery.class); - registerMessage(RotationMessage.ClientHandler.class, RotationMessage.RotationData.class); - registerMessage(ChunkDataMessage.ServerHandler.class, ChunkDataMessage.ChunkDataQuery.class); - registerMessage(ChunkDataMessage.ClientHandler.class, ChunkDataMessage.ChunkDataData.class); - registerMessage(PlayerDataMessage.ServerHandler.class, PlayerDataMessage.PlayerDataQuery.class); - registerMessage(PlayerDataMessage.ClientHandler.class, PlayerDataMessage.PlayerDataData.class); - } -} diff --git a/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java b/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java deleted file mode 100644 index 0323f19428..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/network/PipeActivityMessage.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.github.technus.tectech.loader.network; - -import com.github.technus.tectech.thing.metaTileEntity.pipe.IActivePipe; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; -import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; - -public class PipeActivityMessage implements IMessage { - int mPosX; - int mPosY; - int mPosZ; - int mPosD; - int mActive; - - public PipeActivityMessage() { - } - - private PipeActivityMessage(IActivePipe metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mActive=metaTile.getActive()?1:0; - } - - private PipeActivityMessage(World world, int x, int y, int z, boolean active) { - mPosX=x; - mPosY=y; - mPosZ=z; - mPosD=world.provider.dimensionId; - mActive=active?1:0; - } - - @Override - public void fromBytes(ByteBuf pBuffer) { - NBTTagCompound tTag = ByteBufUtils.readTag(pBuffer); - mPosX = tTag.getInteger("posx"); - mPosY = tTag.getInteger("posy"); - mPosZ = tTag.getInteger("posz"); - mPosD = tTag.getInteger("posd"); - mActive = tTag.getInteger("active"); - } - - @Override - public void toBytes(ByteBuf pBuffer) { - NBTTagCompound tFXTag = new NBTTagCompound(); - tFXTag.setInteger("posx", mPosX); - tFXTag.setInteger("posy", mPosY); - tFXTag.setInteger("posz", mPosZ); - tFXTag.setInteger("posd", mPosD); - tFXTag.setInteger("active", mActive); - - ByteBufUtils.writeTag(pBuffer, tFXTag); - } - - public static class PipeActivityQuery extends PipeActivityMessage { - public PipeActivityQuery() { - } - - public PipeActivityQuery(IActivePipe metaTile) { - super(metaTile); - } - - public PipeActivityQuery(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); - } - } - - public static class PipeActivityData extends PipeActivityMessage { - public PipeActivityData() { - } - - private PipeActivityData(PipeActivityQuery query){ - mPosX=query.mPosX; - mPosY=query.mPosY; - mPosZ=query.mPosZ; - mPosD=query.mPosD; - mActive=query.mActive; - } - - public PipeActivityData(IActivePipe metaTile) { - super(metaTile); - } - - public PipeActivityData(World world, int x,int y,int z, boolean active) { - super(world,x,y,z,active); - } - } - - public static class ClientHandler extends AbstractClientMessageHandler { - @Override - public IMessage handleClientMessage(EntityPlayer pPlayer, PipeActivityData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof IActivePipe){ - ((IActivePipe) meta).setActive((byte)pMessage.mActive==1); - } - } - } - return null; - } - } - - public static class ServerHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, PipeActivityQuery pMessage, MessageContext pCtx) { - World world= DimensionManager.getWorld(pMessage.mPosD); - if(world!=null) { - TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof IActivePipe) { - pMessage.mActive=((IActivePipe) meta).getActive()?1:0; - return new PipeActivityData(pMessage); - } - } - } - return null; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/loader/network/PlayerDataMessage.java b/src/main/java/com/github/technus/tectech/loader/network/PlayerDataMessage.java deleted file mode 100644 index 48a21423a9..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/network/PlayerDataMessage.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.github.technus.tectech.loader.network; - -import com.github.technus.tectech.TecTech; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; -import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - -public class PlayerDataMessage implements IMessage { - NBTTagCompound data; - UUID uuid1,uuid2; - - public PlayerDataMessage(){} - - @Override - public void fromBytes(ByteBuf pBuffer) { - NBTTagCompound tag = ByteBufUtils.readTag(pBuffer); - uuid1=UUID.fromString(tag.getString("id1")); - uuid2=UUID.fromString(tag.getString("id2")); - if(tag.hasKey("data")){ - data=tag.getCompoundTag("data"); - } - } - - @Override - public void toBytes(ByteBuf pBuffer) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setString("id1",uuid1.toString()); - tag.setString("id2",uuid2.toString()); - if(data!=null){ - tag.setTag("data",data); - } - ByteBufUtils.writeTag(pBuffer, tag); - } - - public static class PlayerDataQuery extends PlayerDataMessage { - public PlayerDataQuery() { - } - - public PlayerDataQuery(EntityPlayer player) { - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); - } - } - - public static class PlayerDataData extends PlayerDataMessage { - public PlayerDataData() { - } - - public PlayerDataData(EntityPlayer player){ - uuid1=player.getUniqueID(); - uuid2=UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))); - data=TecTech.playerPersistence.getDataOrSetToNewTag(player); - } - - public PlayerDataData(PlayerDataQuery query){ - uuid1=query.uuid1; - uuid2=query.uuid2; - data= TecTech.playerPersistence.getDataOrSetToNewTag(uuid1,uuid2); - } - } - - public static class ClientHandler extends AbstractClientMessageHandler { - @Override - public IMessage handleClientMessage(EntityPlayer pPlayer, PlayerDataData pMessage, MessageContext pCtx) { - TecTech.playerPersistence.putDataOrSetToNewTag(pMessage.uuid1,pMessage.uuid2,pMessage.data); - return null; - } - } - - public static class ServerHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, PlayerDataQuery pMessage, MessageContext pCtx) { - if(pPlayer instanceof EntityPlayerMP){ - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataData(pMessage),(EntityPlayerMP) pPlayer); - } - return null; - } - } -} diff --git a/src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java b/src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java deleted file mode 100644 index ec78021a60..0000000000 --- a/src/main/java/com/github/technus/tectech/loader/network/RotationMessage.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.github.technus.tectech.loader.network; - -import com.github.technus.tectech.thing.metaTileEntity.IFrontRotation; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; -import eu.usrv.yamcore.network.server.AbstractServerMessageHandler; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; - -public class RotationMessage implements IMessage { - int mPosX; - int mPosY; - int mPosZ; - int mPosD; - int mRotF; - - public RotationMessage() { - } - - private RotationMessage(GT_MetaTileEntity_MultiblockBase_EM metaTile) { - IGregTechTileEntity base=metaTile.getBaseMetaTileEntity(); - mPosX=base.getXCoord(); - mPosY=base.getYCoord(); - mPosZ=base.getZCoord(); - mPosD=base.getWorld().provider.dimensionId; - mRotF=metaTile.getFrontRotation(); - } - - private RotationMessage(World world, int x,int y,int z, IFrontRotation front) { - mPosX=x; - mPosY=y; - mPosZ=z; - mPosD=world.provider.dimensionId; - mRotF=front.getFrontRotation(); - } - - @Override - public void fromBytes(ByteBuf pBuffer) { - NBTTagCompound tTag = ByteBufUtils.readTag(pBuffer); - mPosX = tTag.getInteger("posx"); - mPosY = tTag.getInteger("posy"); - mPosZ = tTag.getInteger("posz"); - mPosD = tTag.getInteger("posd"); - mRotF = tTag.getInteger("rotf"); - } - - @Override - public void toBytes(ByteBuf pBuffer) { - NBTTagCompound tFXTag = new NBTTagCompound(); - tFXTag.setInteger("posx", mPosX); - tFXTag.setInteger("posy", mPosY); - tFXTag.setInteger("posz", mPosZ); - tFXTag.setInteger("posd", mPosD); - tFXTag.setInteger("rotf", mRotF); - - ByteBufUtils.writeTag(pBuffer, tFXTag); - } - - public static class RotationQuery extends RotationMessage{ - public RotationQuery() { - } - - public RotationQuery(GT_MetaTileEntity_MultiblockBase_EM metaTile) { - super(metaTile); - } - - public RotationQuery(World world, int x,int y,int z, IFrontRotation front) { - super(world,x,y,z,front); - } - } - - public static class RotationData extends RotationMessage{ - public RotationData() { - } - - private RotationData(RotationQuery query){ - mPosX=query.mPosX; - mPosY=query.mPosY; - mPosZ=query.mPosZ; - mPosD=query.mPosD; - mRotF=query.mRotF; - } - - public RotationData(GT_MetaTileEntity_MultiblockBase_EM metaTile) { - super(metaTile); - } - - public RotationData(World world, int x,int y,int z, IFrontRotation front) { - super(world,x,y,z,front); - } - } - - public static class ClientHandler extends AbstractClientMessageHandler { - @Override - public IMessage handleClientMessage(EntityPlayer pPlayer, RotationData pMessage, MessageContext pCtx) { - if(pPlayer.worldObj.provider.dimensionId==pMessage.mPosD){ - TileEntity te=pPlayer.worldObj.getTileEntity(pMessage.mPosX,pMessage.mPosY,pMessage.mPosZ); - if(te instanceof IGregTechTileEntity){ - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if(meta instanceof IFrontRotation){ - ((IFrontRotation) meta).forceSetRotationDoRender((byte)pMessage.mRotF); - } - }else if (te instanceof IFrontRotation){ - ((IFrontRotation) te).forceSetRotationDoRender((byte)pMessage.mRotF); - } - } - return null; - } - } - - public static class ServerHandler extends AbstractServerMessageHandler { - @Override - public IMessage handleServerMessage(EntityPlayer pPlayer, RotationQuery pMessage, MessageContext pCtx) { - World world= DimensionManager.getWorld(pMessage.mPosD); - if(world!=null) { - TileEntity te = world.getTileEntity(pMessage.mPosX, pMessage.mPosY, pMessage.mPosZ); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof IFrontRotation) { - pMessage.mRotF=((IFrontRotation) meta).getFrontRotation(); - return new RotationData(pMessage); - } - } else if (te instanceof IFrontRotation) { - pMessage.mRotF=((IFrontRotation) te).getFrontRotation(); - return new RotationData(pMessage); - } - } - return null; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/mechanics/ConvertFloat.java b/src/main/java/com/github/technus/tectech/mechanics/ConvertFloat.java deleted file mode 100644 index 8e25b8908a..0000000000 --- a/src/main/java/com/github/technus/tectech/mechanics/ConvertFloat.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.github.technus.tectech.mechanics; - -import com.github.technus.tectech.Util; -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; - -import java.util.ArrayList; -import java.util.List; - -public class ConvertFloat implements ICommand { - ArrayList aliases=new ArrayList<>(); - - public ConvertFloat(){ - aliases.add("convert_float"); - aliases.add("c_f"); - } - - @Override - public void processCommand(ICommandSender sender, String[] args) { - if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - float value=Float.parseFloat(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - Util.intBitsToShortString(Float.floatToIntBits(value))+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Float "+args[0])); - } - }else{ - sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); - } - } - } - - @Override - public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) { - return false; - } - - @Override - public List getCommandAliases() { - return aliases; - } - - @Override - public String getCommandName() { - return aliases.get(0); - } - - @Override - public List addTabCompletionOptions(ICommandSender sender, String[] args) { - return null; - } - - @Override - public String getCommandUsage(ICommandSender p_71518_1_) { - return "c_f Float"; - } - - @Override - public int compareTo(Object o) { - if(o instanceof ICommand){ - return getCommandName().compareTo(((ICommand) o).getCommandName()); - } - return 0; - } - - @Override - public boolean canCommandSenderUseCommand(ICommandSender sender) { - return true; - } -} diff --git a/src/main/java/com/github/technus/tectech/mechanics/ConvertInteger.java b/src/main/java/com/github/technus/tectech/mechanics/ConvertInteger.java deleted file mode 100644 index c381f34939..0000000000 --- a/src/main/java/com/github/technus/tectech/mechanics/ConvertInteger.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.github.technus.tectech.mechanics; - -import com.github.technus.tectech.Util; -import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; - -import java.util.ArrayList; -import java.util.List; - -public class ConvertInteger implements ICommand { - ArrayList aliases=new ArrayList<>(); - - public ConvertInteger(){ - aliases.add("convert_integer"); - aliases.add("c_i"); - } - - @Override - public void processCommand(ICommandSender sender, String[] args) { - if (!sender.getEntityWorld().isRemote) { - if(args.length == 1) { - try{ - int value=Integer.parseInt(args[0]); - sender.addChatMessage(new ChatComponentText( - EnumChatFormatting.AQUA.toString()+ EnumChatFormatting.BOLD + - Util.intBitsToShortString(value)+" "+ - EnumChatFormatting.RESET+EnumChatFormatting.BLUE +value)); - }catch (Exception e){ - sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"Invalid Integer "+args[0])); - } - }else{ - sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); - } - } - } - - @Override - public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) { - return false; - } - - @Override - public List getCommandAliases() { - return aliases; - } - - @Override - public String getCommandName() { - return aliases.get(0); - } - - @Override - public List addTabCompletionOptions(ICommandSender sender, String[] args) { - return null; - } - - @Override - public String getCommandUsage(ICommandSender p_71518_1_) { - return "c_i Integer"; - } - - @Override - public int compareTo(Object o) { - if(o instanceof ICommand){ - return getCommandName().compareTo(((ICommand) o).getCommandName()); - } - return 0; - } - - @Override - public boolean canCommandSenderUseCommand(ICommandSender sender) { - return true; - } -} diff --git a/src/main/java/com/github/technus/tectech/mechanics/PlayerPersistence.java b/src/main/java/com/github/technus/tectech/mechanics/PlayerPersistence.java deleted file mode 100644 index 72416c3e0c..0000000000 --- a/src/main/java/com/github/technus/tectech/mechanics/PlayerPersistence.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.github.technus.tectech.mechanics; - -import com.github.technus.tectech.Util; -import com.github.technus.tectech.loader.network.NetworkDispatcher; -import com.github.technus.tectech.loader.network.PlayerDataMessage; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.HashMap; -import java.util.UUID; - -import static java.nio.charset.Charset.forName; - -public class PlayerPersistence { - private final HashMap map=new HashMap<>(); - private final String extension; - - public PlayerPersistence(String extension) { - this.extension = extension; - } - - public NBTTagCompound getDataOrSetToNewTag(UUID uuid1, UUID uuid2){ - NBTTagCompound tag=map.get(uuid1); - if(tag!=null){ - return tag; - } - tag=map.get(uuid2); - if(tag!=null){ - return tag; - } - tag=Util.getPlayerData(uuid1,uuid2,extension); - if(tag==null){ - tag=new NBTTagCompound(); - } - map.put(uuid1,tag); - map.put(uuid2,tag); - return tag; - } - - public NBTTagCompound getDataOrSetToNewTag(EntityPlayer player){ - return getDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8")))); - } - - public void putDataOrSetToNewTag(UUID uuid1, UUID uuid2, NBTTagCompound tagCompound){ - if(tagCompound==null){ - tagCompound=new NBTTagCompound(); - } - map.put(uuid1,tagCompound); - map.put(uuid2,tagCompound); - } - - public void putDataOrSetToNewTag(EntityPlayer player, NBTTagCompound tagCompound){ - putDataOrSetToNewTag(player.getUniqueID(),UUID.nameUUIDFromBytes(player.getCommandSenderName().getBytes(forName("UTF-8"))),tagCompound); - } - - public void saveData(EntityPlayer player){ - Util.savePlayerFile(player,extension,getDataOrSetToNewTag(player)); - } - - @SubscribeEvent - public void onLogin(PlayerEvent.PlayerLoggedInEvent event){ - if(event.player instanceof EntityPlayerMP){ - NetworkDispatcher.INSTANCE.sendTo(new PlayerDataMessage.PlayerDataData(event.player),(EntityPlayerMP)event.player); - } - } - - public void clearData() { - map.clear(); - } -} 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 fcc0242432..4f76b22279 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java +++ b/src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java @@ -2,12 +2,12 @@ package com.github.technus.tectech.mechanics.anomaly; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Util; -import com.github.technus.tectech.chunkData.ChunkDataHandler; -import com.github.technus.tectech.chunkData.IChunkMetaDataHandler; +import com.github.technus.tectech.mechanics.data.ChunkDataHandler; +import com.github.technus.tectech.mechanics.data.IChunkMetaDataHandler; import com.github.technus.tectech.loader.MainLoader; -import com.github.technus.tectech.loader.network.ChunkDataMessage; -import com.github.technus.tectech.loader.network.NetworkDispatcher; -import com.github.technus.tectech.loader.network.PlayerDataMessage; +import com.github.technus.tectech.mechanics.data.ChunkDataMessage; +import com.github.technus.tectech.loader.NetworkDispatcher; +import com.github.technus.tectech.mechanics.data.PlayerDataMessage; import com.github.technus.tectech.mechanics.elementalMatter.definitions.complex.atom.dAtomDefinition; import cpw.mods.fml.common.gameevent.TickEvent; import gregtech.api.GregTech_API; diff --git a/src/main/java/com/github/technus/tectech/mechanics/commands/ConvertFloat.java b/src/