mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
[1.18.x] Invalidate lazy optionals properly (#9082)
This commit is contained in:
1 parent
763523d1c0
commit
1b0ffa2633
1 file changed
+13
-1
@@ -23,7 +23,7 @@ public class TileFluidHandler extends BlockEntity
|
||||
{
|
||||
protected FluidTank tank = new FluidTank(FluidAttributes.BUCKET_VOLUME);
|
||||
|
||||
private final LazyOptional<IFluidHandler> holder = LazyOptional.of(() -> tank);
|
||||
private LazyOptional<IFluidHandler> holder = LazyOptional.of(() -> tank);
|
||||
|
||||
public TileFluidHandler(@Nonnull BlockEntityType<?> blockEntityType, BlockPos pos, BlockState state)
|
||||
{
|
||||
@@ -52,4 +52,16 @@ public class TileFluidHandler extends BlockEntity
|
||||
return holder.cast();
|
||||
return super.getCapability(capability, facing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateCaps() {
|
||||
super.invalidateCaps();
|
||||
holder.invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reviveCaps() {
|
||||
super.reviveCaps();
|
||||
holder = LazyOptional.of(() -> tank);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user