diff options
author | Tec <daniel112092@gmail.com> | 2019-07-15 09:10:26 +0200 |
---|---|---|
committer | Tec <daniel112092@gmail.com> | 2019-07-15 09:10:26 +0200 |
commit | 2e6cad60a78241c08596ae5a722862dd08583f48 (patch) | |
tree | 207327d312a36c11eb251317c9b3f5f9af1f109f | |
parent | 1febaef9d798cce07687ed3a7723e5b9619e9ede (diff) | |
download | GT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.tar.gz GT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.tar.bz2 GT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.zip |
Tweaking numbers
5 files changed, 53 insertions, 20 deletions
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 c924099375..191011d959 100644 --- a/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java +++ b/src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java @@ -18,7 +18,8 @@ public class ChunkDataHandler { private final HashMap<Integer,HashMap<ChunkCoordIntPair, NBTChunk>> dimensionWiseChunkData=new HashMap<>(); private final HashMap<String,HashMap<Integer,ChunkHashMap >> dimensionWiseMetaChunkData=new HashMap<>(); private final HashMap<String, IChunkMetaDataHandler> metaDataHandlerHashMap =new HashMap<>(); - private final ArrayList<IChunkMetaDataHandler> clientSyncHandlers =new ArrayList<>(); + private final ArrayList<IChunkMetaDataHandler> pushSyncHandlers =new ArrayList<>(); + private final ArrayList<IChunkMetaDataHandler> pullSyncHandlers =new ArrayList<>(); private final ArrayList<IChunkMetaDataHandler> serverHandlers=new ArrayList<>(); private final ArrayList<IChunkMetaDataHandler> worldHandlers=new ArrayList<>(); private final ArrayList<IChunkMetaDataHandler> playerHandlers=new ArrayList<>(); @@ -95,13 +96,13 @@ public class ChunkDataHandler { @SideOnly(Side.CLIENT) @SubscribeEvent public void onLoadChunk(ChunkEvent.Load aEvent){ - clientSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.requestData(aEvent)); + pullSyncHandlers.forEach(chunkMetaDataHandler -> chunkMetaDataHandler.pullData(aEvent)); } @SideOnly(Side.CLIENT) @SubscribeEvent public void onUnLoadChunk(ChunkEvent.Unload aEvent){ - clientSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData + pushSyncHandlers.forEach(chunkMetaDataHandler -> dimensionWiseMetaChunkData .get(chunkMetaDataHandler.getTagName()) .get(aEvent.world.provider.dimensionId) .remove(aEvent.getChunk().getChunkCoordIntPair())); @@ -134,7 +135,7 @@ public class ChunkDataHandler { public void onWorldTickEvent(TickEvent.WorldTickEvent aEvent) { if(aEvent.side.isServer()) { int dim = aEvent.world.provider.dimensionId; - clientSyncHandlers.forEach(chunkMetaDataHandler -> { + pushSyncHandlers.forEach(chunkMetaDataHandler -> { ChunkHashMap data = dimensionWiseMetaChunkData .get(chunkMetaDataHandler.getTagName()).get(dim); int cycle = chunkMetaDataHandler.pushPayloadSpreadPeriod(); @@ -193,23 +194,20 @@ public class ChunkDataHandler { if(clazz.getMethod("tickPlayer", HashMap.class, TickEvent.PlayerTickEvent.class).getDeclaringClass()!= IChunkMetaDataHandler.class){ playerHandlers.add(handler); } - if (clazz.getMethod("requestData", ChunkEvent.Load.class).getDeclaringClass() != IChunkMetaDataHandler.class) { - clientSyncHandlers.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().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 server 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); } diff --git a/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java b/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java index 920d09c26a..b5c79a4628 100644 --- a/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java +++ b/src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java @@ -15,7 +15,7 @@ public interface IChunkMetaDataHandler { void mergeData(NBTTagCompound target, NBTTagCompound loadedData); NBTTagCompound createData(); @SideOnly(Side.CLIENT) - default void requestData(ChunkEvent.Load aEvent){} + default void pullData(ChunkEvent.Load aEvent){} default void pushData(int world, ChunkCoordIntPair chunk){} default void pushPayload(int world, ArrayList<ChunkCoordIntPair> chunk){ chunk.forEach(chunkCoordIntPair -> pushData(world,chunkCoordIntPair)); 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 c52ffc185f..3100fd38fe 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 @@ -56,8 +56,10 @@ public class AnomalyHandler implements IChunkMetaDataHandler { if (worldDataArrayList.size() >= 2) { Chunk a = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); Chunk b = worldDataArrayList.remove(TecTech.RANDOM.nextInt(worldDataArrayList.size())); - data.get(dim).get(a.getChunkCoordIntPair()).setDouble(INTENSITY, SWAP_THRESHOLD * TecTech.RANDOM.nextFloat() * 0.25F); - data.get(dim).get(b.getChunkCoordIntPair()).setDouble(INTENSITY, SWAP_THRESHOLD * TecTech.RANDOM.nextFloat() * 0.25F); + double avg=.5* (data.get(dim).get(a.getChunkCoordIntPair()).getDouble(INTENSITY)+ + data.get(dim).get(b.getChunkCoordIntPair()).getDouble(INTENSITY)); + data.get(dim).get(a.getChunkCoordIntPair()).setDouble(INTENSITY, Math.min(SWAP_THRESHOLD,avg * (TecTech.RANDOM.nextFloat()+.5F) * 0.5F)); + data.get(dim).get(b.getChunkCoordIntPair()).setDouble(INTENSITY, Math.min(SWAP_THRESHOLD,avg * (TecTech.RANDOM.nextFloat()+.5F) * 0.5F)); data.get(dim).markForTransmissionToClient(a.getChunkCoordIntPair()); data.get(dim).markForTransmissionToClient(b.getChunkCoordIntPair()); swapSomething(a, b); @@ -123,7 +125,7 @@ public class AnomalyHandler implements IChunkMetaDataHandler { } @Override - public void requestData(ChunkEvent.Load aEvent) { + public void pullData(ChunkEvent.Load aEvent) { NetworkDispatcher.INSTANCE.sendToServer(new ChunkDataMessage.ChunkDataQuery(aEvent, this)); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java index d3b6b3aff8..ab68393dee 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java @@ -21,6 +21,8 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; @@ -116,6 +118,7 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac for(byte i=0;i<6;i++){ if(i!=aBaseMetaTileEntity.getFrontFacing()){ TecTech.proxy.em_particle(aBaseMetaTileEntity, i); + pollutionParticles(aBaseMetaTileEntity.getWorld(),"largesmoke",i); } } } @@ -153,4 +156,29 @@ public class GT_MetaTileEntity_DebugPollutor extends GT_MetaTileEntity_TieredMac public boolean isElectric() { return false; } + + @SideOnly(Side.CLIENT) + public void pollutionParticles(World aWorld, String name,byte face) { + IGregTechTileEntity aMuffler = this.getBaseMetaTileEntity(); + ForgeDirection aDir = ForgeDirection.getOrientation(face); + float xPos = aDir.offsetX * 0.76F + aMuffler.getXCoord() + 0.25F; + float yPos = aDir.offsetY * 0.76F + aMuffler.getYCoord() + 0.25F; + float zPos = aDir.offsetZ * 0.76F + aMuffler.getZCoord() + 0.25F; + + float ySpd = aDir.offsetY * 0.1F + 0.2F + 0.1F * TecTech.RANDOM.nextFloat(); + float xSpd; + float zSpd; + + if (aDir.offsetY == -1) { + float temp = TecTech.RANDOM.nextFloat() * 2 * (float) Math.PI; + xSpd = (float) Math.sin(temp) * 0.1F; + zSpd = (float) Math.cos(temp) * 0.1F; + } else { + xSpd = aDir.offsetX * (0.1F + 0.2F * TecTech.RANDOM.nextFloat()); + zSpd = aDir.offsetZ * (0.1F + 0.2F * TecTech.RANDOM.nextFloat()); + } + aWorld.spawnParticle(name, xPos + TecTech.RANDOM.nextFloat() * 0.5F, yPos + TecTech.RANDOM.nextFloat() * 0.5F, zPos + TecTech.RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aWorld.spawnParticle(name, xPos + TecTech.RANDOM.nextFloat() * 0.5F, yPos + TecTech.RANDOM.nextFloat() * 0.5F, zPos + TecTech.RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + aWorld.spawnParticle(name, xPos + TecTech.RANDOM.nextFloat() * 0.5F, yPos + TecTech.RANDOM.nextFloat() * 0.5F, zPos + TecTech.RANDOM.nextFloat() * 0.5F, xSpd, ySpd, zSpd); + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java index 8db50abd96..3374d874d4 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java @@ -104,6 +104,11 @@ public class GT_Container_DebugPollutor break; default: return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } + if(dpg.anomaly==Float.POSITIVE_INFINITY){ + dpg.anomaly=Float.MAX_VALUE; + }else if (dpg.anomaly==Float.NEGATIVE_INFINITY){ + dpg.anomaly=-Float.MAX_VALUE; + } return null; } return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); @@ -119,7 +124,7 @@ public class GT_Container_DebugPollutor GT_MetaTileEntity_DebugPollutor dpg = (GT_MetaTileEntity_DebugPollutor) mTileEntity.getMetaTileEntity(); pollution =dpg.pollution; anomaly =dpg.anomaly; - + for (Object crafter : crafters) { ICrafting var1 = (ICrafting) crafter; Util.sendInteger(pollution,this,var1,100); |