aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTec <daniel112092@gmail.com>2019-07-15 09:10:26 +0200
committerTec <daniel112092@gmail.com>2019-07-15 09:10:26 +0200
commit2e6cad60a78241c08596ae5a722862dd08583f48 (patch)
tree207327d312a36c11eb251317c9b3f5f9af1f109f
parent1febaef9d798cce07687ed3a7723e5b9619e9ede (diff)
downloadGT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.tar.gz
GT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.tar.bz2
GT5-Unofficial-2e6cad60a78241c08596ae5a722862dd08583f48.zip
Tweaking numbers
-rw-r--r--src/main/java/com/github/technus/tectech/chunkData/ChunkDataHandler.java28
-rw-r--r--src/main/java/com/github/technus/tectech/chunkData/IChunkMetaDataHandler.java2
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/anomaly/AnomalyHandler.java8
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugPollutor.java28
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/gui/GT_Container_DebugPollutor.java7
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);