1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-10-23 18:07:39 +00:00

Change ComponentLookup to use ServerLevel

Makes this more consistent with the rest of the peripheral code, and our
changes in 1.20.4.
This commit is contained in:
Jonathan Coates
2024-01-15 08:28:59 +00:00
parent 30dc4cb38c
commit 1d6e3f4fc0
4 changed files with 12 additions and 21 deletions

View File

@@ -12,7 +12,7 @@ import dan200.computercraft.shared.platform.InvalidateCallback;
import dan200.computercraft.shared.util.CapabilityUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.Level;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.capabilities.Capability;
@@ -61,7 +61,7 @@ public final class Peripherals {
private record CapabilityLookup<T>(Capability<T> capability) implements ComponentLookup<InvalidateCallback> {
@Nullable
@Override
public T find(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity, Direction side, InvalidateCallback invalidate) {
public T find(ServerLevel level, BlockPos pos, BlockState state, BlockEntity blockEntity, Direction side, InvalidateCallback invalidate) {
return CapabilityUtil.unwrap(CapabilityUtil.getCapability(blockEntity, this.capability(), side), invalidate);
}
}
@@ -72,12 +72,9 @@ public final class Peripherals {
}
@Nullable
public static IPeripheral getPeripheral(Level world, BlockPos pos, Direction side, InvalidateCallback invalidate) {
return world.isInWorldBounds(pos) && !world.isClientSide ? getPeripheralAt(world, pos, side, invalidate) : null;
}
public static IPeripheral getPeripheral(ServerLevel world, BlockPos pos, Direction side, InvalidateCallback invalidate) {
if (!world.isInWorldBounds(pos)) return null;
@Nullable
private static IPeripheral getPeripheralAt(Level world, BlockPos pos, Direction side, InvalidateCallback invalidate) {
var block = world.getBlockEntity(pos);
if (block != null) {
var peripheral = block.getCapability(CAPABILITY_PERIPHERAL, side);