From 27531c161d21421ffdb18c1fb0bf315382335511 Mon Sep 17 00:00:00 2001 From: David Queneau <748280+davidqueneau@users.noreply.github.com> Date: Sat, 20 Mar 2021 17:48:35 -0700 Subject: [PATCH 1/2] Update to mc 1.16.5 and latest yarn mappings. --- gradle.properties | 8 +-- .../computercraft/api/turtle/FakePlayer.java | 9 +-- .../computercraft/mixin/MixinWorld.java | 2 +- .../computercraft/shared/BundledRedstone.java | 4 +- .../computercraft/shared/Peripherals.java | 2 +- .../shared/command/CommandUtils.java | 2 +- .../shared/computer/apis/CommandAPI.java | 4 +- .../peripheral/monitor/TileMonitor.java | 2 +- .../shared/turtle/core/TurtleMoveCommand.java | 4 +- .../turtle/core/TurtlePlaceCommand.java | 2 +- .../shared/turtle/core/TurtlePlayer.java | 4 +- .../shared/util/FakeNetHandler.java | 67 ++++++------------- .../computercraft/shared/util/WorldUtil.java | 2 +- 13 files changed, 42 insertions(+), 70 deletions(-) diff --git a/gradle.properties b/gradle.properties index 96b57d2a6..9f52bc97f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,13 +5,13 @@ org.gradle.jvmargs=-Xmx1G mod_version=1.95.0-beta # Minecraft properties -mc_version=1.16.2 -mappings_version=31 +mc_version=1.16.5 +mappings_version=9 # Dependencies cloth_config_version=4.8.1 -fabric_api_version=0.19.0+build.398-1.16 -fabric_loader_version=0.9.2+build.206 +fabric_api_version=0.32.0+1.16 +fabric_loader_version=0.11.3 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 76656fa78..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; @@ -48,7 +48,7 @@ import net.minecraft.util.Hand; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.Vec3d; -import net.minecraft.village.TraderOfferList; +import net.minecraft.village.TradeOfferList; import net.minecraft.world.GameMode; /** @@ -105,7 +105,7 @@ public class FakePlayer extends ServerPlayerEntity { } @Override - public void sendTradeOffers(int id, TraderOfferList list, int level, int experience, boolean levelled, boolean refreshable) { } + public void sendTradeOffers(int id, TradeOfferList list, int level, int experience, boolean levelled, boolean refreshable) { } @Override public void openHorseInventory(HorseBaseEntity horse, Inventory inventory) { } @@ -252,7 +252,8 @@ public class FakePlayer extends ServerPlayerEntity { } @Override - public void setupEncryption(SecretKey key) { + public void setupEncryption(Cipher cipher, Cipher cipher2) { + super.setupEncryption(cipher, cipher2); } @Override diff --git a/src/main/java/dan200/computercraft/mixin/MixinWorld.java b/src/main/java/dan200/computercraft/mixin/MixinWorld.java index 04b45e796..be271fca2 100644 --- a/src/main/java/dan200/computercraft/mixin/MixinWorld.java +++ b/src/main/java/dan200/computercraft/mixin/MixinWorld.java @@ -32,7 +32,7 @@ public class MixinWorld { @Inject (method = "setBlockEntity", at = @At ("HEAD")) public void setBlockEntity(BlockPos pos, @Nullable BlockEntity entity, CallbackInfo info) { - if (!World.isHeightInvalid(pos) && entity != null && !entity.isRemoved() && this.iteratingTickingBlockEntities) { + if (!World.isOutOfBuildLimitVertically(pos) && entity != null && !entity.isRemoved() && this.iteratingTickingBlockEntities) { setWorld(entity, this); } } diff --git a/src/main/java/dan200/computercraft/shared/BundledRedstone.java b/src/main/java/dan200/computercraft/shared/BundledRedstone.java index dec3f0bf7..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.method_24794(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.method_24794(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 3357d264b..b2fbbee3b 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.method_24794(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/command/CommandUtils.java b/src/main/java/dan200/computercraft/shared/command/CommandUtils.java index 26754058b..375dd4402 100644 --- a/src/main/java/dan200/computercraft/shared/command/CommandUtils.java +++ b/src/main/java/dan200/computercraft/shared/command/CommandUtils.java @@ -17,7 +17,7 @@ import com.mojang.brigadier.suggestion.SuggestionsBuilder; import dan200.computercraft.api.turtle.FakePlayer; import net.minecraft.entity.Entity; -import net.minecraft.server.command.CommandSource; +import net.minecraft.command.CommandSource; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; 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 fe87d15dd..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.method_24794(min) || !World.method_24794(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.method_24794(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 780e117b1..134dce9ca 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java @@ -119,10 +119,10 @@ public class TurtleMoveCommand implements ITurtleCommand { } private static TurtleCommandResult canEnter(TurtlePlayer turtlePlayer, World world, BlockPos position) { - if (World.isHeightInvalid(position)) { + if (World.isOutOfBuildLimitVertically(position)) { return TurtleCommandResult.failure(position.getY() < 0 ? "Too low to move" : "Too high to move"); } - if (!World.method_24794(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 e02ec415e..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.method_24794(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 35150d795..304846ccc 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; @@ -77,7 +75,7 @@ public final class TurtlePlayer extends FakePlayer { private void setState(ITurtleAccess turtle) { if (this.currentScreenHandler != playerScreenHandler) { ComputerCraft.log.warn("Turtle has open container ({})", this.currentScreenHandler); - closeCurrentScreen(); + closeHandledScreen(); } BlockPos position = turtle.getPosition(); diff --git a/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java b/src/main/java/dan200/computercraft/shared/util/FakeNetHandler.java index cd5d9d8b6..6ff8af0b1 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; @@ -20,48 +21,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.ClickWindowC2SPacket; -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.ConfirmGuiActionC2SPacket; -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.GuiCloseC2SPacket; -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.SelectVillagerTradeC2SPacket; -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; @@ -128,13 +88,26 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { } @Override - public void onVillagerTradeSelect(@Nonnull SelectVillagerTradeC2SPacket packet) { + 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) { } @@ -208,11 +181,11 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { } @Override - public void onGuiClose(@Nonnull GuiCloseC2SPacket packet) { + public void onCloseHandledScreen(CloseHandledScreenC2SPacket packet) { } @Override - public void onClickWindow(@Nonnull ClickWindowC2SPacket packet) { + public void onClickSlot(ClickSlotC2SPacket packet) { } @Override @@ -228,7 +201,7 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { } @Override - public void onConfirmTransaction(@Nonnull ConfirmGuiActionC2SPacket packet) { + public void onConfirmScreenAction(ConfirmScreenActionC2SPacket packet) { } @Override @@ -310,7 +283,7 @@ public class FakeNetHandler extends ServerPlayNetworkHandler { } @Override - public void setupEncryption(@Nonnull SecretKey key) { + public void setupEncryption(Cipher cipher, Cipher cipher2) { } @Nonnull diff --git a/src/main/java/dan200/computercraft/shared/util/WorldUtil.java b/src/main/java/dan200/computercraft/shared/util/WorldUtil.java index 284af67d3..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.method_24794(pos)) { + if (!World.isInBuildLimit(pos)) { return false; } return world.getBlockState(pos) From af477a401a84042956879e1334525e13f23cd42c Mon Sep 17 00:00:00 2001 From: David Queneau <748280+davidqueneau@users.noreply.github.com> Date: Sat, 20 Mar 2021 18:19:12 -0700 Subject: [PATCH 2/2] Update to loom 0.6 --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0be21ae8c..818ac3708 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"