Machines no longer explode when they receive too much power, they just smoke. Fix a crash with the power net.
(cherry picked from commit 2ae5951)
This commit is contained in:
parent
50093455ab
commit
5ed6760db9
2 changed files with 13 additions and 7 deletions
|
@ -228,9 +228,11 @@ public abstract class CableMultipart extends Multipart
|
|||
if(network == null && cableMultipart.network != null){
|
||||
network = cableMultipart.network;
|
||||
network.addElement(this);
|
||||
} else if (network != cableMultipart.network){
|
||||
} else if (network != null && cableMultipart.network != null && network != cableMultipart.network){
|
||||
network = cableMultipart.network.merge(network);
|
||||
network.addElement(this);
|
||||
} else {
|
||||
findAndJoinNetwork(getWorld(), getPos());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,10 +24,11 @@
|
|||
|
||||
package techreborn.power;
|
||||
|
||||
import net.minecraft.entity.item.EntityTNTPrimed;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumParticleTypes;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import reborncore.api.power.IEnergyInterfaceTile;
|
||||
|
@ -296,11 +297,14 @@ public class TRPowerNet {
|
|||
int total = 0;
|
||||
if (tile.canAcceptEnergy(side.getOpposite()) && max > 0) {
|
||||
if (type.tier.ordinal() > tile.getTier().ordinal() && max > tile.getMaxInput()) {
|
||||
if (tile instanceof TileEntity) {
|
||||
((TileEntity) tile).getWorld().createExplosion(
|
||||
new EntityTNTPrimed(((TileEntity) tile).getWorld()),
|
||||
((TileEntity) tile).getPos().getX(), ((TileEntity) tile).getPos().getY(),
|
||||
((TileEntity) tile).getPos().getZ(), 2.5F, true);
|
||||
if (tile instanceof TileEntity && ((TileEntity) tile).getWorld() instanceof WorldServer) {
|
||||
WorldServer worldServer = (WorldServer) ((TileEntity) tile).getWorld();
|
||||
if(worldServer.rand.nextInt(5) == 0){
|
||||
double x = (double)((TileEntity) tile).getPos().getX() + worldServer.rand.nextDouble() + (side.getFrontOffsetX() / 2);
|
||||
double y = (double)((TileEntity) tile).getPos().getY() + worldServer.rand.nextDouble() + 1;
|
||||
double z = (double)((TileEntity) tile).getPos().getZ() + worldServer.rand.nextDouble()+ (side.getFrontOffsetZ() / 2);
|
||||
worldServer.spawnParticle(EnumParticleTypes.SMOKE_LARGE, x, y, z,1, 0.0D, 0.0D, 0.0D, 0D);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue