aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2021-03-10 19:47:29 +0100
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2021-03-10 19:47:29 +0100
commitd006460e3e3f2221b82c03b02d282d5ed6767095 (patch)
tree72e341a8cf3d7e13bc1e72ca6480dd5803a8133e /src/main/java/gregtech/api
parentf03e907ac73d92bfaf5948e1cae7848675439497 (diff)
downloadGT5-Unofficial-d006460e3e3f2221b82c03b02d282d5ed6767095.tar.gz
GT5-Unofficial-d006460e3e3f2221b82c03b02d282d5ed6767095.tar.bz2
GT5-Unofficial-d006460e3e3f2221b82c03b02d282d5ed6767095.zip
Implemented Requests
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java25
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java24
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java18
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java12
-rw-r--r--src/main/java/gregtech/api/util/GT_FoodStat.java6
-rw-r--r--src/main/java/gregtech/api/util/PositionedWorldEvent.java32
8 files changed, 71 insertions, 54 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
index 66b0e5b27c..4487ec57d6 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
@@ -116,8 +116,8 @@ public interface IEnergyConnected extends IColoredTileEntity, IHasWorldObjectAnd
GT_Pollution.addPollution(tWorld.getChunkFromBlockCoords(tX, tZ), 100000);
PositionedWorldEvent<Entity> event = new PositionedWorldEvent<>(tWorld);
- event.setPosition(tX + 0.5, tY + 0.5, tZ + 0.5);
- event.createExplosion(tStrength, true);
+ event.setPosition(tX + 0.5, tY + 0.5, tZ + 0.5)
+ .createExplosion(tStrength, true);
}
}
}
diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
index 8fc06b3dc4..879982e995 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
@@ -700,8 +700,8 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable {
tWorld.setBlock(tX, tY, tZ, Blocks.air);
if (GregTech_API.sMachineExplosions){
PositionedWorldEvent<Entity> event = new PositionedWorldEvent<>(tWorld);
- event.setPosition(tX + 0.5, tY + 0.5, tZ + 0.5);
- event.createExplosion(tStrength, true);
+ event.setPosition(tX + 0.5, tY + 0.5, tZ + 0.5)
+ .createExplosion(tStrength, true);
}
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
index dd207a1b39..8e0c010995 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
@@ -445,20 +445,17 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
super.doSound(aIndex, aX, aY, aZ);
if (aIndex == 9) {
GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(4), 5, 1.0F, aX, aY, aZ);
- PositionedWorldEvent<String> events = new PositionedWorldEvent<>(getBaseMetaTileEntity().getWorld(), "largesmoke");
-
- for (int i = 0; i < 6; i++){
- events.setPosition(
- aX - 0.5 + XSTR_INSTANCE.nextFloat(),
- aY - 0.5 + XSTR_INSTANCE.nextFloat(),
- aZ - 0.5 + XSTR_INSTANCE.nextFloat()
- );
- events.spawnParticle(
- ForgeDirection.getOrientation(i).offsetX / 5.0,
- ForgeDirection.getOrientation(i).offsetY / 5.0,
- ForgeDirection.getOrientation(i).offsetZ / 5.0
- );
- }
+
+ new PositionedWorldEvent<>(getBaseMetaTileEntity().getWorld(), "largesmoke")
+ .times(6, (x, i) -> x.setPosition(
+ aX - 0.5 + XSTR_INSTANCE.nextFloat(),
+ aY - 0.5 + XSTR_INSTANCE.nextFloat(),
+ aZ - 0.5 + XSTR_INSTANCE.nextFloat()
+ ).spawnParticle(
+ ForgeDirection.getOrientation(i).offsetX / 5.0,
+ ForgeDirection.getOrientation(i).offsetY / 5.0,
+ ForgeDirection.getOrientation(i).offsetZ / 5.0
+ ));
}
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
index 50b942d294..7d8d6dbba0 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
@@ -154,20 +154,16 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
super.doSound(aIndex, aX, aY, aZ);
if (aIndex == 9) {
GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(4), 5, 1.0F, aX, aY, aZ);
- PositionedWorldEvent<String> events = new PositionedWorldEvent<>(getBaseMetaTileEntity().getWorld(), "largesmoke");
-
- for (int i = 0; i < 8; i++){
- events.setPosition(
- aX - 0.5 + XSTR_INSTANCE.nextFloat(),
- aY - 0.5 + XSTR_INSTANCE.nextFloat(),
- aZ - 0.5 + XSTR_INSTANCE.nextFloat()
- );
- events.spawnParticle(
- ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetX / 5.0,
- ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetY / 5.0,
- ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetZ / 5.0
- );
- }
+ new PositionedWorldEvent<>(getBaseMetaTileEntity().getWorld(), "largesmoke")
+ .times(8, x -> x.setPosition(
+ aX - 0.5 + XSTR_INSTANCE.nextFloat(),
+ aY - 0.5 + XSTR_INSTANCE.nextFloat(),
+ aZ - 0.5 + XSTR_INSTANCE.nextFloat()
+ ).spawnParticle(
+ ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetX / 5.0,
+ ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetY / 5.0,
+ ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()).offsetZ / 5.0
+ ));
}
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 759c6c4c02..c2e4fc441c 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -800,15 +800,15 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
break;
case 1:
if (aBaseMetaTileEntity.getFrontFacing() != 1 && aBaseMetaTileEntity.getCoverIDAtSide((byte) 1) == 0 && !aBaseMetaTileEntity.getOpacityAtSide((byte) 1)) {
- PositionedWorldEvent<String> events = new PositionedWorldEvent<>(aBaseMetaTileEntity.getWorld(), "smoke");
- Random tRandom = events.getWorld().rand;
-
- events.setPosition(
- aBaseMetaTileEntity.getXCoord() + 0.8F - tRandom.nextFloat() * 0.6F,
- aBaseMetaTileEntity.getYCoord() + 0.9F + tRandom.nextFloat() * 0.2F,
- aBaseMetaTileEntity.getZCoord() + 0.8F - tRandom.nextFloat() * 0.6F
- );
- events.spawnParticle(0.0D, 0.0D, 0.0D);
+
+ Random tRandom = aBaseMetaTileEntity.getWorld().rand;
+ new PositionedWorldEvent<>(aBaseMetaTileEntity.getWorld(), "smoke")
+ .setPosition(
+ aBaseMetaTileEntity.getXCoord() + 0.8F - tRandom.nextFloat() * 0.6F,
+ aBaseMetaTileEntity.getYCoord() + 0.9F + tRandom.nextFloat() * 0.2F,
+ aBaseMetaTileEntity.getZCoord() + 0.8F - tRandom.nextFloat() * 0.6F
+ )
+ .spawnParticle(0.0D, 0.0D, 0.0D);
}
break;
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java
index d8b1655b43..44567c96eb 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java
@@ -144,16 +144,16 @@ public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch {
PositionedWorldEvent<String> events = new PositionedWorldEvent<>(aWorld, name);
if (chk1) {
- events.setPosition(xPos + ran1 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F);
- events.spawnParticle(xSpd, ySpd, zSpd);
+ events.setPosition(xPos + ran1 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F)
+ .spawnParticle(xSpd, ySpd, zSpd);
}
if (chk2) {
- events.setPosition(xPos + ran2 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F);
- events.spawnParticle(xSpd, ySpd, zSpd);
+ events.setPosition(xPos + ran2 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F)
+ .spawnParticle(xSpd, ySpd, zSpd);
}
if (chk3) {
- events.setPosition(xPos + ran3 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F);
- events.spawnParticle(xSpd, ySpd, zSpd);
+ events.setPosition(xPos + ran3 * 0.5F, yPos + XSTR_INSTANCE.nextFloat() * 0.5F, zPos + XSTR_INSTANCE.nextFloat() * 0.5F)
+ .spawnParticle(xSpd, ySpd, zSpd);
}
}
diff --git a/src/main/java/gregtech/api/util/GT_FoodStat.java b/src/main/java/gregtech/api/util/GT_FoodStat.java
index da3b220845..96345ef199 100644
--- a/src/main/java/gregtech/api/util/GT_FoodStat.java
+++ b/src/main/java/gregtech/api/util/GT_FoodStat.java
@@ -80,9 +80,9 @@ public class GT_FoodStat implements IFoodStat {
}
}
if (mExplosive) {
- event.setThing(aPlayer);
- event.setPosition(aPlayer.posX, aPlayer.posY, aPlayer.posZ);
- event.newExplosion(4,true, true);
+ event.setThing(aPlayer)
+ .setPosition(aPlayer.posX, aPlayer.posY, aPlayer.posZ)
+ .newExplosion(4,true, true);
aPlayer.attackEntityFrom(GT_DamageSources.getExplodingDamage(), Float.MAX_VALUE);
}
}
diff --git a/src/main/java/gregtech/api/util/PositionedWorldEvent.java b/src/main/java/gregtech/api/util/PositionedWorldEvent.java
index ce5543b320..e8518b5444 100644
--- a/src/main/java/gregtech/api/util/PositionedWorldEvent.java
+++ b/src/main/java/gregtech/api/util/PositionedWorldEvent.java
@@ -5,6 +5,12 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
+import java.util.List;
+import java.util.Objects;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
@SuppressWarnings("unused")
public class PositionedWorldEvent<T> {
@@ -58,28 +64,32 @@ public class PositionedWorldEvent<T> {
return world;
}
- public void setWorld(World world) {
+ public PositionedWorldEvent<T> setWorld(World world) {
this.world = world;
+ return this;
}
public Vec3 getPosition() {
return position;
}
- public void setPosition(Vec3 position) {
+ public PositionedWorldEvent<T> setPosition(Vec3 position) {
this.position = position;
+ return this;
}
- public void setPosition(double x, double y, double z) {
+ public PositionedWorldEvent<T> setPosition(double x, double y, double z) {
this.position = Vec3.createVectorHelper(x, y, z);
+ return this;
}
public T getThing() {
return thing;
}
- public void setThing(T thing) {
+ public PositionedWorldEvent<T> setThing(T thing) {
this.thing = thing;
+ return this;
}
public void spawnParticle(double motionX, double motionY, double motionZ) {
@@ -141,4 +151,18 @@ public class PositionedWorldEvent<T> {
}
world.playSoundToNearExcept(player, (String) thing, volume, pitch);
}
+
+ public void times(int times, Consumer<PositionedWorldEvent<T>> action) {
+ Objects.requireNonNull(action);
+ for (int i = 0; i < times; i++) {
+ action.accept(this);
+ }
+ }
+
+ public void times(int times, BiConsumer<PositionedWorldEvent<T>, Integer> action) {
+ Objects.requireNonNull(action);
+ for (int i = 0; i < times; i++) {
+ action.accept(this, i);
+ }
+ }
} \ No newline at end of file