|
8 | 8 | import gregtech.api.metatileentity.multiblock.IPassthroughHatch; |
9 | 9 | import gregtech.api.metatileentity.multiblock.MultiblockAbility; |
10 | 10 | import gregtech.client.renderer.texture.Textures; |
| 11 | +import gregtech.common.pipelike.laser.net.WorldLaserPipeNet; |
| 12 | +import gregtech.common.pipelike.laser.tile.TileEntityLaserPipe; |
11 | 13 |
|
12 | 14 | import net.minecraft.client.resources.I18n; |
13 | 15 | import net.minecraft.item.ItemStack; |
14 | 16 | import net.minecraft.tileentity.TileEntity; |
15 | 17 | import net.minecraft.util.EnumFacing; |
16 | 18 | import net.minecraft.util.ResourceLocation; |
| 19 | +import net.minecraft.util.math.BlockPos; |
17 | 20 | import net.minecraft.world.World; |
18 | 21 | import net.minecraftforge.common.capabilities.Capability; |
19 | 22 |
|
@@ -47,6 +50,24 @@ public <T> T getCapability(Capability<T> capability, EnumFacing side) { |
47 | 50 | return super.getCapability(capability, side); |
48 | 51 | } |
49 | 52 |
|
| 53 | + @Override |
| 54 | + public void setFrontFacing(EnumFacing frontFacing) { |
| 55 | + super.setFrontFacing(frontFacing); |
| 56 | + var worldNet = WorldLaserPipeNet.getWorldPipeNet(getWorld()); |
| 57 | + var pos = new BlockPos.MutableBlockPos(); |
| 58 | + for (var facing : EnumFacing.VALUES) { |
| 59 | + TileEntity te = getNeighbor(facing); |
| 60 | + if (te instanceof TileEntityLaserPipe) { |
| 61 | + pos.setPos(getPos()); |
| 62 | + pos.move(facing); |
| 63 | + var net = worldNet.getNetFromPos(pos); |
| 64 | + if (net != null) { |
| 65 | + net.onPipeConnectionsUpdate(); |
| 66 | + } |
| 67 | + } |
| 68 | + } |
| 69 | + } |
| 70 | + |
50 | 71 | @Override |
51 | 72 | public MetaTileEntity createMetaTileEntity(IGregTechTileEntity tileEntity) { |
52 | 73 | return new MetaTileEntityPassthroughHatchLaser(metaTileEntityId, getTier()); |
|
0 commit comments