diff --git a/build.gradle b/build.gradle index c6287584c..fda9d433b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.5-SNAPSHOT' + id 'fabric-loom' version '0.6-SNAPSHOT' id 'maven-publish' } @@ -13,6 +13,7 @@ archivesBaseName = "cc-restiched" repositories { mavenCentral() + jcenter() maven { name "SquidDev" url "https://squiddev.cc/maven" diff --git a/gradle.properties b/gradle.properties index a645c8f2d..c2d65448d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,13 +5,13 @@ org.gradle.jvmargs=-Xmx1G mod_version=1.95.3-beta # Minecraft properties -mc_version=1.16.4 +mc_version=1.16.5 mappings_version=9 # Dependencies cloth_config_version=4.8.1 -fabric_api_version=0.34.2+1.16 fabric_loader_version=0.11.3 +fabric_api_version=0.32.0+1.16 jankson_version=1.2.0 modmenu_version=1.14.6+ cloth_api_version=1.4.5 diff --git a/src/main/java/dan200/computercraft/api/turtle/FakePlayer.java b/src/main/java/dan200/computercraft/api/turtle/FakePlayer.java index 4eac506e4..59cd782de 100644 --- a/src/main/java/dan200/computercraft/api/turtle/FakePlayer.java +++ b/src/main/java/dan200/computercraft/api/turtle/FakePlayer.java @@ -11,7 +11,7 @@ import java.util.OptionalInt; import java.util.UUID; import javax.annotation.Nullable; -import javax.crypto.SecretKey; +import javax.crypto.Cipher; import com.mojang.authlib.GameProfile; import io.netty.channel.ChannelHandlerContext; @@ -251,6 +251,11 @@ public class FakePlayer extends ServerPlayerEntity { public void disconnect(Text message) { } + @Override + public void setupEncryption(Cipher cipher, Cipher cipher2) { + super.setupEncryption(cipher, cipher2); + } + @Override public void disableAutoRead() { } diff --git a/src/main/java/dan200/computercraft/shared/BundledRedstone.java b/src/main/java/dan200/computercraft/shared/BundledRedstone.java index 2e53b20b0..e7f3e629f 100644 --- a/src/main/java/dan200/computercraft/shared/BundledRedstone.java +++ b/src/main/java/dan200/computercraft/shared/BundledRedstone.java @@ -31,7 +31,7 @@ public final class BundledRedstone { } public static int getDefaultOutput(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull Direction side) { - return World.isValid(pos) ? DefaultBundledRedstoneProvider.getDefaultBundledRedstoneOutput(world, pos, side) : -1; + return World.isInBuildLimit(pos) ? DefaultBundledRedstoneProvider.getDefaultBundledRedstoneOutput(world, pos, side) : -1; } public static int getOutput(World world, BlockPos pos, Direction side) { @@ -40,7 +40,7 @@ public final class BundledRedstone { } private static int getUnmaskedOutput(World world, BlockPos pos, Direction side) { - if (!World.isValid(pos)) { + if (!World.isInBuildLimit(pos)) { return -1; } diff --git a/src/main/java/dan200/computercraft/shared/Peripherals.java b/src/main/java/dan200/computercraft/shared/Peripherals.java index 9f7b9e179..0db0e06f7 100644 --- a/src/main/java/dan200/computercraft/shared/Peripherals.java +++ b/src/main/java/dan200/computercraft/shared/Peripherals.java @@ -35,7 +35,7 @@ public final class Peripherals { @Nullable public static IPeripheral getPeripheral(World world, BlockPos pos, Direction side) { - return World.isValid(pos) && !world.isClient ? getPeripheralAt(world, pos, side) : null; + return World.isInBuildLimit(pos) && !world.isClient ? getPeripheralAt(world, pos, side) : null; } @Nullable diff --git a/src/main/java/dan200/computercraft/shared/computer/apis/CommandAPI.java b/src/main/java/dan200/computercraft/shared/computer/apis/CommandAPI.java index fa7cf62cd..742a45578 100644 --- a/src/main/java/dan200/computercraft/shared/computer/apis/CommandAPI.java +++ b/src/main/java/dan200/computercraft/shared/computer/apis/CommandAPI.java @@ -207,7 +207,7 @@ public class CommandAPI implements ILuaAPI { World world = this.computer.getWorld(); BlockPos min = new BlockPos(Math.min(minX, maxX), Math.min(minY, maxY), Math.min(minZ, maxZ)); BlockPos max = new BlockPos(Math.max(minX, maxX), Math.max(minY, maxY), Math.max(minZ, maxZ)); - if (!World.isValid(min) || !World.isValid(max)) { + if (!World.isInBuildLimit(min) || !World.isInBuildLimit(max)) { throw new LuaException("Co-ordinates out of range"); } @@ -284,7 +284,7 @@ public class CommandAPI implements ILuaAPI { // Get the details of the block World world = this.computer.getWorld(); BlockPos position = new BlockPos(x, y, z); - if (World.isValid(position)) { + if (World.isInBuildLimit(position)) { return getBlockInfo(world, position); } else { throw new LuaException("Co-ordinates out of range"); diff --git a/src/main/java/dan200/computercraft/shared/peripheral/monitor/TileMonitor.java b/src/main/java/dan200/computercraft/shared/peripheral/monitor/TileMonitor.java index 7d4f905ed..9ef392b25 100644 --- a/src/main/java/dan200/computercraft/shared/peripheral/monitor/TileMonitor.java +++ b/src/main/java/dan200/computercraft/shared/peripheral/monitor/TileMonitor.java @@ -251,7 +251,7 @@ public class TileMonitor extends TileGeneric implements IPeripheralTile { } @Override - public double getSquaredRenderDistance() { + public double getRenderDistance() { return ComputerCraft.monitorDistanceSq; } diff --git a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java index 1e0bfde8c..134dce9ca 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java @@ -122,7 +122,7 @@ public class TurtleMoveCommand implements ITurtleCommand { if (World.isOutOfBuildLimitVertically(position)) { return TurtleCommandResult.failure(position.getY() < 0 ? "Too low to move" : "Too high to move"); } - if (!World.isValid(position)) { + if (!World.isInBuildLimit(position)) { return TurtleCommandResult.failure("Cannot leave the world"); } diff --git a/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlaceCommand.java b/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlaceCommand.java index a21479d1c..2f759f242 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlaceCommand.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlaceCommand.java @@ -364,7 +364,7 @@ public class TurtlePlaceCommand implements ITurtleCommand { private static boolean canDeployOnBlock(@Nonnull ItemPlacementContext context, ITurtleAccess turtle, TurtlePlayer player, BlockPos position, Direction side, boolean allowReplaceable, String[] outErrorMessage) { World world = turtle.getWorld(); - if (!World.isValid(position) || world.isAir(position) || (context.getStack() + if (!World.isInBuildLimit(position) || world.isAir(position) || (context.getStack() .getItem() instanceof BlockItem && WorldUtil.isLiquidBlock(world, position))) { return false; diff --git a/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlayer.java b/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlayer.java index 724898819..52d2259b8 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlayer.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlayer.java @@ -26,7 +26,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.EntityPose; import net.minecraft.entity.EntityType; -import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.passive.HorseBaseEntity; import net.minecraft.inventory.Inventory; @@ -34,7 +33,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.screen.NamedScreenHandlerFactory; import net.minecraft.server.world.ServerWorld; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; diff --git a/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java b/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java index 3b0b93d99..1a8365ce6 100644 --- a/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java +++ b/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java @@ -8,6 +8,7 @@ package dan200.computercraft.shared.util; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import javax.crypto.Cipher; import javax.crypto.SecretKey; import dan200.computercraft.api.turtle.FakePlayer; @@ -19,44 +20,7 @@ import net.minecraft.network.NetworkSide; import net.minecraft.network.NetworkState; import net.minecraft.network.Packet; import net.minecraft.network.listener.PacketListener; -import net.minecraft.network.packet.c2s.play.AdvancementTabC2SPacket; -import net.minecraft.network.packet.c2s.play.BoatPaddleStateC2SPacket; -import net.minecraft.network.packet.c2s.play.BookUpdateC2SPacket; -import net.minecraft.network.packet.c2s.play.ButtonClickC2SPacket; -import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket; -import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket; -import net.minecraft.network.packet.c2s.play.ClientSettingsC2SPacket; -import net.minecraft.network.packet.c2s.play.ClientStatusC2SPacket; -import net.minecraft.network.packet.c2s.play.CraftRequestC2SPacket; -import net.minecraft.network.packet.c2s.play.CreativeInventoryActionC2SPacket; -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.c2s.play.HandSwingC2SPacket; -import net.minecraft.network.packet.c2s.play.KeepAliveC2SPacket; -import net.minecraft.network.packet.c2s.play.PickFromInventoryC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerInputC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerInteractItemC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; -import net.minecraft.network.packet.c2s.play.QueryBlockNbtC2SPacket; -import net.minecraft.network.packet.c2s.play.QueryEntityNbtC2SPacket; -import net.minecraft.network.packet.c2s.play.RenameItemC2SPacket; -import net.minecraft.network.packet.c2s.play.RequestCommandCompletionsC2SPacket; -import net.minecraft.network.packet.c2s.play.ResourcePackStatusC2SPacket; -import net.minecraft.network.packet.c2s.play.SpectatorTeleportC2SPacket; -import net.minecraft.network.packet.c2s.play.TeleportConfirmC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateBeaconC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateCommandBlockC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateCommandBlockMinecartC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateDifficultyC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateDifficultyLockC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateJigsawC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdatePlayerAbilitiesC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateSelectedSlotC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket; -import net.minecraft.network.packet.c2s.play.UpdateStructureBlockC2SPacket; -import net.minecraft.network.packet.c2s.play.VehicleMoveC2SPacket; +import net.minecraft.network.packet.c2s.play.*; import net.minecraft.server.network.ServerPlayNetworkHandler; import net.minecraft.text.Text; @@ -122,10 +86,27 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { public void onJigsawUpdate(@Nonnull UpdateJigsawC2SPacket packet) { } + @Override + public void onJigsawGenerating(JigsawGeneratingC2SPacket packet) { + } + + @Override + public void onMerchantTradeSelect(SelectMerchantTradeC2SPacket packet) { + } + @Override public void onBookUpdate(@Nonnull BookUpdateC2SPacket packet) { } + @Override + public void onRecipeBookData(RecipeBookDataC2SPacket packet) { + } + + @Override + public void onRecipeCategoryOptions(RecipeCategoryOptionsC2SPacket packet) { + super.onRecipeCategoryOptions(packet); + } + @Override public void onQueryEntityNbt(@Nonnull QueryEntityNbtC2SPacket packet) { } @@ -198,6 +179,14 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { public void onClientStatus(@Nonnull ClientStatusC2SPacket packet) { } + @Override + public void onCloseHandledScreen(CloseHandledScreenC2SPacket packet) { + } + + @Override + public void onClickSlot(ClickSlotC2SPacket packet) { + } + @Override public void onCraftRequest(@Nonnull CraftRequestC2SPacket packet) { } @@ -210,6 +199,10 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { public void onCreativeInventoryAction(@Nonnull CreativeInventoryActionC2SPacket packet) { } + @Override + public void onConfirmScreenAction(ConfirmScreenActionC2SPacket packet) { + } + @Override public void onSignUpdate(@Nonnull UpdateSignC2SPacket packet) { } @@ -288,6 +281,10 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { this.closeReason = message; } + @Override + public void setupEncryption(Cipher cipher, Cipher cipher2) { + } + @Nonnull @Override public PacketListener getPacketListener() { diff --git a/src/main/java/dan200/computercraft/shared/util/WorldUtil.java b/src/main/java/dan200/computercraft/shared/util/WorldUtil.java index df99b66d1..52f37c3ad 100644 --- a/src/main/java/dan200/computercraft/shared/util/WorldUtil.java +++ b/src/main/java/dan200/computercraft/shared/util/WorldUtil.java @@ -40,7 +40,7 @@ public final class WorldUtil { .makeMap(); public static boolean isLiquidBlock(World world, BlockPos pos) { - if (!World.isValid(pos)) { + if (!World.isInBuildLimit(pos)) { return false; } return world.getBlockState(pos)