From 5e8ce8fc79baa1547312e5d7c895b9b15f9927ca Mon Sep 17 00:00:00 2001 From: Tschipp Date: Sat, 5 Jun 2021 21:37:19 +0200 Subject: [PATCH] Updated to official mappings, enhanced entity rendering --- build.gradle | 8 +- gradle.properties | 2 +- .../client/event/RenderEntityEvents.java | 70 +++-- .../carryon/client/event/RenderEvents.java | 250 +++++++++--------- .../client/helper/CarryRenderHelper.java | 22 +- .../event/PositionClientEvents.java | 8 +- .../event/PositionCommonEvents.java | 2 +- .../common/command/CommandCarryOn.java | 44 +-- .../carryon/common/config/Configs.java | 5 +- .../common/event/ItemEntityEvents.java | 86 +++--- .../carryon/common/event/ItemEvents.java | 152 +++++------ .../carryon/common/handler/ListHandler.java | 18 +- .../common/handler/ModelOverridesHandler.java | 32 +-- .../carryon/common/handler/PickupHandler.java | 30 +-- .../helper/KeyboardCallbackWrapper.java | 2 +- .../common/helper/ScriptParseHelper.java | 44 +-- .../common/helper/ScrollCallbackWrapper.java | 2 +- .../carryon/common/helper/StringParser.java | 2 +- .../carryon/common/item/ItemCarryonBlock.java | 78 +++--- .../common/item/ItemCarryonEntity.java | 42 +-- .../common/scripting/CarryOnOverride.java | 122 ++++----- .../common/scripting/ScriptChecker.java | 14 +- .../compat/obfuscate/ObfuscateEvents.java | 32 +-- .../network/client/CarrySlotPacket.java | 2 +- .../tschipp/carryon/proxy/ClientProxy.java | 2 +- 25 files changed, 553 insertions(+), 518 deletions(-) diff --git a/build.gradle b/build.gradle index 154712a..25729ac 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ if (System.getenv('BUILD_NUMBER') != null) { } minecraft { - mappings channel: 'snapshot', version: "${mcp_mappings}" + mappings channel: 'official', version: "1.16.5" runs { client { @@ -44,6 +44,9 @@ minecraft { property 'forge.logging.console.level', 'debug' + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + mods { carryon { source sourceSets.main @@ -58,6 +61,9 @@ minecraft { property 'forge.logging.console.level', 'debug' + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + mods { carryon { source sourceSets.main diff --git a/gradle.properties b/gradle.properties index 0854696..52264ea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. # This is required to provide enough memory for the Minecraft decompilation process. org.gradle.jvmargs=-Xmx3G -version=1.15.3 +version=1.15.4 minecraft_version=1.16.5 mcp_mappings=20201028-1.16.3 forge_version=36.0.22 diff --git a/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java b/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java index 015da2b..093f1fc 100644 --- a/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java +++ b/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java @@ -1,5 +1,7 @@ package tschipp.carryon.client.event; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; import com.mojang.blaze3d.matrix.MatrixStack; @@ -21,6 +23,7 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RenderHandEvent; +import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ModList; import tschipp.carryon.client.helper.CarryRenderHelper; @@ -31,6 +34,31 @@ import tschipp.carryon.common.scripting.ScriptChecker; public class RenderEntityEvents { + + public static final Map nbtEntityMap = new HashMap<>(); + + public static Entity getEntity(ItemStack carried, World world) + { + String nbt = ItemCarryonEntity.getPersistentData(carried).toString(); + if(nbtEntityMap.containsKey(nbt)) + { + return nbtEntityMap.get(nbt); + } + + Entity entity = ItemCarryonEntity.getEntity(carried, world); + nbtEntityMap.put(nbt, entity); + + return entity; + } + + @OnlyIn(Dist.CLIENT) + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload event) + { + nbtEntityMap.clear(); + } + + /* * Renders the Entity in First Person */ @@ -38,45 +66,45 @@ public class RenderEntityEvents @SubscribeEvent public void renderHand(RenderHandEvent event) { - World world = Minecraft.getInstance().world; + World world = Minecraft.getInstance().level; PlayerEntity player = Minecraft.getInstance().player; - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); int perspective = CarryRenderHelper.getPerspective(); float partialticks = event.getPartialTicks(); MatrixStack matrix = event.getMatrixStack(); int light = event.getLight(); IRenderTypeBuffer buffer = event.getBuffers(); - EntityRendererManager manager = Minecraft.getInstance().getRenderManager(); + EntityRendererManager manager = Minecraft.getInstance().getEntityRenderDispatcher(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { if(ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr")) return; - Entity entity = ItemCarryonEntity.getEntity(stack, world); + Entity entity = getEntity(stack, world); if (entity != null) { Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); - entity.setPosition(playerpos.x, playerpos.y, playerpos.z); - entity.rotationYaw = 0.0f; - entity.prevRotationYaw = 0.0f; - entity.setRotationYawHead(0.0f); + entity.setPos(playerpos.x, playerpos.y, playerpos.z); + entity.yRot = 0.0f; + entity.yRotO = 0.0f; + entity.setYHeadRot(0.0f); - float height = entity.getHeight(); - float width = entity.getWidth(); + float height = entity.getBbHeight(); + float width = entity.getBbWidth(); - matrix.push(); + matrix.pushPose(); matrix.scale(0.8f, 0.8f, 0.8f); - matrix.rotate(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(Vector3f.YP.rotationDegrees(180)); matrix.translate(0.0, -height - .1, width + 0.1); RenderSystem.enableAlphaTest(); if (perspective == 0) { - RenderHelper.enableStandardItemLighting(); + RenderHelper.turnBackOn(); manager.setRenderShadow(false); CarryOnOverride carryOverride = ScriptChecker.getOverride(player); @@ -89,7 +117,7 @@ public class RenderEntityEvents { Entity newEntity = null; - Optional> type = EntityType.byKey(entityname); + Optional> type = EntityType.byString(entityname); if(type.isPresent()) newEntity = type.get().create(world); @@ -99,10 +127,10 @@ public class RenderEntityEvents if (nbttag != null) newEntity.deserializeNBT(nbttag); entity = newEntity; - entity.setPosition(playerpos.x, playerpos.y, playerpos.z); - entity.rotationYaw = 0.0f; - entity.prevRotationYaw = 0.0f; - entity.setRotationYawHead(0.0f); + entity.setPos(playerpos.x, playerpos.y, playerpos.z); + entity.yRot = 0.0f; + entity.yRotO = 0.0f; + entity.setYHeadRot(0.0f); } } } @@ -110,14 +138,14 @@ public class RenderEntityEvents if(entity instanceof LivingEntity) ((LivingEntity) entity).hurtTime = 0; - manager.renderEntityStatic(entity, 0, 0, 0, 0f, 0, matrix, buffer, light); + manager.render(entity, 0, 0, 0, 0f, 0, matrix, buffer, light); manager.setRenderShadow(true); } RenderSystem.disableAlphaTest(); - matrix.pop(); + matrix.popPose(); - RenderHelper.disableStandardItemLighting(); + RenderHelper.turnOff(); RenderSystem.disableRescaleNormal(); if (perspective == 0) diff --git a/src/main/java/tschipp/carryon/client/event/RenderEvents.java b/src/main/java/tschipp/carryon/client/event/RenderEvents.java index efac301..8a317ec 100644 --- a/src/main/java/tschipp/carryon/client/event/RenderEvents.java +++ b/src/main/java/tschipp/carryon/client/event/RenderEvents.java @@ -86,7 +86,7 @@ public class RenderEvents if (player != null) { - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity)) { @@ -107,7 +107,7 @@ public class RenderEvents if (player != null && event.side == LogicalSide.CLIENT) { - boolean keyPressed = CarryOnKeybinds.carryKey.isKeyDown(); + boolean keyPressed = CarryOnKeybinds.carryKey.isDown(); boolean playerKeyPressed = CarryOnKeybinds.isKeyPressed(player); if (keyPressed && !playerKeyPressed) @@ -130,7 +130,7 @@ public class RenderEvents if (event.getEntity() instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) event.getEntity(); - if (player.world.isRemote) + if (player.level.isClientSide) { CarryOnKeybinds.setKeyPressed(player, false); CarryOn.network.sendToServer(new SyncKeybindPacket(false)); @@ -138,9 +138,9 @@ public class RenderEvents if (CarryOn.FINGERPRINT_VIOLATED) { StringTextComponent cf = new StringTextComponent(TextFormatting.AQUA + "Curseforge" + TextFormatting.RED); - cf.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on")); + cf.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on")); - player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "[CarryOn] WARNING! Invalid fingerprint detected! The Carry On mod file may have been tampered with! If you didn't download the file from ").append(cf).appendString(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").append(cf), false); + player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "[CarryOn] WARNING! Invalid fingerprint detected! The Carry On mod file may have been tampered with! If you didn't download the file from ").append(cf).append(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").append(cf), false); } } @@ -161,13 +161,13 @@ public class RenderEvents if (player != null && inventory) { - ItemStack stack = player.getHeldItem(Hand.MAIN_HAND); + ItemStack stack = player.getItemInHand(Hand.MAIN_HAND); if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)))) { - Minecraft.getInstance().player.closeScreen(); - Minecraft.getInstance().currentScreen = null; - Minecraft.getInstance().mouseHelper.grabMouse(); + Minecraft.getInstance().player.closeContainer(); + Minecraft.getInstance().screen = null; + Minecraft.getInstance().mouseHandler.grabMouse(); } @@ -182,43 +182,43 @@ public class RenderEvents @SubscribeEvent public void inputEvent(KeyPressedEvent event) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { - GameSettings settings = Minecraft.getInstance().gameSettings; + GameSettings settings = Minecraft.getInstance().options; int key = event.key; int scancode = event.scancode; PlayerEntity player = Minecraft.getInstance().player; if (player != null) { - ItemStack stack = Minecraft.getInstance().player.getHeldItemMainhand(); + ItemStack stack = Minecraft.getInstance().player.getMainHandItem(); if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)))) { - if (settings.keyBindDrop.matchesKey(key, scancode)) + if (settings.keyDrop.matches(key, scancode)) { event.setCanceled(true); } - if (settings.keyBindSwapHands.matchesKey(key, scancode)) + if (settings.keySwapOffhand.matches(key, scancode)) { event.setCanceled(true); } - if (settings.keyBindPickBlock.matchesKey(key, scancode)) + if (settings.keyPickItem.matches(key, scancode)) { event.setCanceled(true); } - for (KeyBinding keyBind : settings.keyBindsHotbar) + for (KeyBinding keyBind : settings.keyHotbarSlots) { - if (keyBind.matchesKey(key, scancode)) + if (keyBind.matches(key, scancode)) { event.setCanceled(true); } } } - int current = player.inventory.currentItem; + int current = player.inventory.selected; if (player.getPersistentData().contains("carrySlot") ? player.getPersistentData().getInt("carrySlot") != current : false) { - player.inventory.currentItem = player.getPersistentData().getInt("carrySlot"); + player.inventory.selected = player.getPersistentData().getInt("carrySlot"); } } } @@ -231,11 +231,11 @@ public class RenderEvents @SubscribeEvent public void renderHand(RenderHandEvent event) { - World world = Minecraft.getInstance().world; + World world = Minecraft.getInstance().level; PlayerEntity player = Minecraft.getInstance().player; - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); int perspective = CarryRenderHelper.getPerspective(); - boolean f1 = Minecraft.getInstance().gameSettings.hideGUI; + boolean f1 = Minecraft.getInstance().options.hideGui; IRenderTypeBuffer buffer = event.getBuffers(); MatrixStack matrix = event.getMatrixStack(); int light = event.getLight(); @@ -250,7 +250,7 @@ public class RenderEvents BlockState state = ItemCarryonBlock.getBlockState(stack); ItemStack tileStack = ItemCarryonBlock.getItemStack(stack); - matrix.push(); + matrix.pushPose(); matrix.scale(2.5f, 2.5f, 2.5f); matrix.translate(0, -0.5, -1); RenderSystem.enableBlend(); @@ -258,15 +258,15 @@ public class RenderEvents if (Settings.facePlayer.get() ? !isChest(block) : isChest(block)) { - matrix.rotate(Vector3f.YP.rotationDegrees(180)); - matrix.rotate(Vector3f.XN.rotationDegrees(8)); + matrix.mulPose(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(Vector3f.XN.rotationDegrees(8)); } else { - matrix.rotate(Vector3f.XP.rotationDegrees(8)); + matrix.mulPose(Vector3f.XP.rotationDegrees(8)); } - IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileStack.isEmpty() ? Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state) : Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(tileStack, world, player)); + IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileStack.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileStack, world, player)); CarryOnOverride carryOverride = ScriptChecker.getOverride(player); if (carryOverride != null) @@ -280,12 +280,12 @@ public class RenderEvents { ItemStack s = new ItemStack(b, 1); s.setTag(carryOverride.getRenderNBT()); - model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(s, world, player); + model = Minecraft.getInstance().getItemRenderer().getModel(s, world, player); } } } - Minecraft.getInstance().getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); + Minecraft.getInstance().getTextureManager().bind(AtlasTexture.LOCATION_BLOCKS); CarryRenderHelper.renderItem(state, tag, stack, tileStack, matrix, buffer, light, model); @@ -296,7 +296,7 @@ public class RenderEvents RenderSystem.enableCull(); RenderSystem.disableBlend(); - matrix.pop(); + matrix.popPose(); } } @@ -315,25 +315,25 @@ public class RenderEvents @SubscribeEvent public void onRenderWorld(RenderWorldLastEvent event) { - World world = Minecraft.getInstance().world; + World world = Minecraft.getInstance().level; float partialticks = event.getPartialTicks(); - Impl buffer = IRenderTypeBuffer.getImpl(Tessellator.getInstance().getBuffer()); + Impl buffer = IRenderTypeBuffer.immediate(Tessellator.getInstance().getBuilder()); MatrixStack matrix = event.getMatrixStack(); int light = 0; int perspective = CarryRenderHelper.getPerspective(); - EntityRendererManager manager = Minecraft.getInstance().getRenderManager(); + EntityRendererManager manager = Minecraft.getInstance().getEntityRenderDispatcher(); RenderSystem.enableBlend(); RenderSystem.disableCull(); RenderSystem.disableDepthTest(); - for (PlayerEntity player : world.getPlayers()) + for (PlayerEntity player : world.players()) { if (perspective == 0 && player == Minecraft.getInstance().player) continue; - light = Minecraft.getInstance().getRenderManager().getPackedLight(player, partialticks); - ItemStack stack = player.getHeldItemMainhand(); + light = Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(player, partialticks); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) { @@ -344,7 +344,7 @@ public class RenderEvents applyBlockTransformations(player, partialticks, matrix, block); - IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileItem.isEmpty() ? Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state) : Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(tileItem, world, player)); + IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileItem.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileItem, world, player)); CarryOnOverride carryOverride = ScriptChecker.getOverride(player); if (carryOverride != null) @@ -358,24 +358,24 @@ public class RenderEvents { ItemStack s = new ItemStack(b, 1); s.setTag(carryOverride.getRenderNBT()); - model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(s, world, player); + model = Minecraft.getInstance().getItemRenderer().getModel(s, world, player); } } } - Minecraft.getInstance().getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); + Minecraft.getInstance().getTextureManager().bind(AtlasTexture.LOCATION_BLOCKS); CarryRenderHelper.renderItem(state, tag, stack, tileItem, matrix, buffer, light, model); - buffer.finish(); + buffer.endBatch(); - matrix.pop(); + matrix.popPose(); drawArms(player, partialticks, matrix, buffer, light); - matrix.pop(); + matrix.popPose(); } else if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { - Entity entity = ItemCarryonEntity.getEntity(stack, world); + Entity entity = RenderEntityEvents.getEntity(stack, world); if (entity != null) { @@ -393,7 +393,7 @@ public class RenderEvents { Entity newEntity = null; - Optional> type = EntityType.byKey(entityname); + Optional> type = EntityType.byString(entityname); if (type.isPresent()) newEntity = type.get().create(world); @@ -403,11 +403,11 @@ public class RenderEvents if (nbttag != null) newEntity.deserializeNBT(nbttag); entity = newEntity; - entity.rotationYaw = 0.0f; - entity.prevRotationYaw = 0.0f; - entity.setRotationYawHead(0.0f); - entity.rotationPitch = 0.0f; - entity.prevRotationPitch = 0.0f; + entity.yRot = 0.0f; + entity.yRotO = 0.0f; + entity.setYHeadRot(0.0f); + entity.xRot = 0.0f; + entity.xRotO = 0.0f; } } } @@ -415,16 +415,16 @@ public class RenderEvents if (entity instanceof LivingEntity) ((LivingEntity) entity).hurtTime = 0; - manager.renderEntityStatic(entity, 0, 0, 0, 0f, 0, matrix, buffer, light); - buffer.finish(); + manager.render(entity, 0, 0, 0, 0f, 0, matrix, buffer, light); + buffer.endBatch(); - matrix.pop(); + matrix.popPose(); drawArms(player, partialticks, matrix, buffer, light); manager.setRenderShadow(true); - matrix.pop(); + matrix.popPose(); } } @@ -439,18 +439,18 @@ public class RenderEvents int perspective = CarryRenderHelper.getPerspective(); Quaternion playerrot = CarryRenderHelper.getExactBodyRotation(player, partialticks); Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); - Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView(); + Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getMainCamera().getPosition(); Vector3d offset = playerpos.subtract(cameraPos); Pose pose = player.getPose(); - matrix.push(); + matrix.pushPose(); matrix.translate(offset.x, offset.y, offset.z); if (perspective == 2) - playerrot.multiply(Vector3f.YP.rotationDegrees(180)); - matrix.rotate(playerrot); + playerrot.mul(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(playerrot); - matrix.push(); + matrix.pushPose(); matrix.scale(0.6f, 0.6f, 0.6f); if (perspective == 2) @@ -463,16 +463,16 @@ public class RenderEvents if (pose == Pose.SWIMMING) { - float f = player.getSwimAnimation(partialticks); - float f3 = player.isInWater() ? -90.0F - player.rotationPitch : -90.0F; + float f = player.getSwimAmount(partialticks); + float f3 = player.isInWater() ? -90.0F - player.xRot : -90.0F; float f4 = MathHelper.lerp(f, 0.0F, f3); if (perspective == 2) { matrix.translate(0, 0, 1.35); - matrix.rotate(Vector3f.XP.rotationDegrees(f4)); + matrix.mulPose(Vector3f.XP.rotationDegrees(f4)); } else - matrix.rotate(Vector3f.XN.rotationDegrees(f4)); + matrix.mulPose(Vector3f.XN.rotationDegrees(f4)); matrix.translate(0, -1.5, -1.848); if (perspective == 2) @@ -481,29 +481,29 @@ public class RenderEvents if (pose == Pose.FALL_FLYING) { - float f1 = (float) player.getTicksElytraFlying() + partialticks; + float f1 = (float) player.getFallFlyingTicks() + partialticks; float f2 = MathHelper.clamp(f1 * f1 / 100.0F, 0.0F, 1.0F); - if (!player.isSpinAttacking()) + if (!player.isAutoSpinAttack()) { if (perspective == 2) matrix.translate(0, 0, 1.35); if (perspective == 2) - matrix.rotate(Vector3f.XP.rotationDegrees(f2 * (-90.0F - player.rotationPitch))); + matrix.mulPose(Vector3f.XP.rotationDegrees(f2 * (-90.0F - player.xRot))); else - matrix.rotate(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.rotationPitch))); + matrix.mulPose(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.xRot))); } - Vector3d Vector3d = player.getLook(partialticks); - Vector3d Vector3d1 = player.getMotion(); - double d0 = Entity.horizontalMag(Vector3d1); - double d1 = Entity.horizontalMag(Vector3d); + Vector3d Vector3d = player.getViewVector(partialticks); + Vector3d Vector3d1 = player.getDeltaMovement(); + double d0 = Entity.getHorizontalDistanceSqr(Vector3d1); + double d1 = Entity.getHorizontalDistanceSqr(Vector3d); if (d0 > 0.0D && d1 > 0.0D) { double d2 = (Vector3d1.x * Vector3d.x + Vector3d1.z * Vector3d.z) / (Math.sqrt(d0) * Math.sqrt(d1)); double d3 = Vector3d1.x * Vector3d.z - Vector3d1.z * Vector3d.x; - matrix.rotate(Vector3f.YP.rotation((float) (Math.signum(d3) * Math.acos(d2)))); + matrix.mulPose(Vector3f.YP.rotation((float) (Math.signum(d3) * Math.acos(d2)))); } if (perspective != 2) @@ -524,7 +524,7 @@ public class RenderEvents { if ((ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr")) && perspective == 0) matrix.translate(0, 0, -0.4); - matrix.rotate(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(Vector3f.YP.rotationDegrees(180)); } else { @@ -546,24 +546,24 @@ public class RenderEvents matrix.translate(0, -1.6, -0.65); matrix.scale(1.666f, 1.666f, 1.666f); - float height = entity.getHeight(); - float width = entity.getWidth(); + float height = entity.getBbHeight(); + float width = entity.getBbWidth(); float multiplier = height * width; - entity.rotationYaw = 0.0f; - entity.prevRotationYaw = 0.0f; - entity.setRotationYawHead(0.0f); - entity.rotationPitch = 0.0f; - entity.prevRotationPitch = 0.0f; + entity.yRot = 0.0f; + entity.yRotO = 0.0f; + entity.setYHeadRot(0.0f); + entity.xRot = 0.0f; + entity.xRotO = 0.0f; if (perspective == 2) - matrix.rotate(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(Vector3f.YP.rotationDegrees(180)); matrix.scale((10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f); matrix.translate(0.0, height / 2 + -(height / 2) + 1, width - 0.1 < 0.7 ? width - 0.1 + (0.7 - (width - 0.1)) : width - 0.1); if (pose == Pose.SWIMMING || pose == Pose.FALL_FLYING) { - matrix.rotate(Vector3f.XN.rotationDegrees(90)); + matrix.mulPose(Vector3f.XN.rotationDegrees(90)); matrix.translate(0, -0.2 * height, 0); if (pose == Pose.FALL_FLYING) @@ -589,22 +589,22 @@ public class RenderEvents if (handleMobends() && !ModList.get().isLoaded("obfuscate")) { - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { PlayerModel model = getPlayerModel((AbstractClientPlayerEntity) player); AbstractClientPlayerEntity aplayer = (AbstractClientPlayerEntity) player; - ResourceLocation skinLoc = aplayer.getLocationSkin(); + ResourceLocation skinLoc = aplayer.getSkinTextureLocation(); - matrix.push(); + matrix.pushPose(); if (perspective == 2) - matrix.rotate(Vector3f.YP.rotationDegrees(180)); + matrix.mulPose(Vector3f.YP.rotationDegrees(180)); - Minecraft.getInstance().getTextureManager().bindTexture(skinLoc); + Minecraft.getInstance().getTextureManager().bind(skinLoc); CarryOnOverride overrider = ScriptChecker.getOverride(player); - IVertexBuilder builder = buffer.getBuffer(RenderType.getEntityCutout(skinLoc)); + IVertexBuilder builder = buffer.getBuffer(RenderType.entityCutout(skinLoc)); if (overrider != null) { @@ -620,38 +620,38 @@ public class RenderEvents if (renderLeft && rotLeft != null) { - renderArmPost(model.bipedLeftArm, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedLeftArmwear, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftArm, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftSleeve, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder); } else if (renderLeft) { - renderArmPost(model.bipedLeftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedLeftArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); } if (renderRight && rotRight != null) { - renderArmPost(model.bipedRightArm, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedRightArmwear, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightArm, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightSleeve, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder); } else if (renderRight) { - renderArmPost(model.bipedRightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedRightArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); } } else { - renderArmPost(model.bipedRightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedLeftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedLeftArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); - renderArmPost(model.bipedRightArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.leftSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder); + renderArmPost(model.rightSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder); } if (buffer instanceof Impl) - ((Impl) buffer).finish(); + ((Impl) buffer).endBatch(); - matrix.pop(); + matrix.popPose(); } } } @@ -670,10 +670,10 @@ public class RenderEvents { PlayerEntity player = event.getPlayer(); Pose pose = player.getPose(); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (pose != Pose.SWIMMING && pose != Pose.FALL_FLYING && !stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))) { - PlayerModel model = event.getRenderer().getEntityModel(); + PlayerModel model = event.getRenderer().getModel(); CarryOnOverride overrider = ScriptChecker.getOverride(player); if (overrider != null) @@ -683,23 +683,23 @@ public class RenderEvents if (renderRight) { - renderArmPre(model.bipedRightArm); - renderArmPre(model.bipedRightArmwear); + renderArmPre(model.rightArm); + renderArmPre(model.rightSleeve); } if (renderLeft) { - renderArmPre(model.bipedLeftArm); - renderArmPre(model.bipedLeftArmwear); + renderArmPre(model.leftArm); + renderArmPre(model.leftSleeve); } } else { - renderArmPre(model.bipedRightArm); - renderArmPre(model.bipedLeftArm); - renderArmPre(model.bipedLeftArmwear); - renderArmPre(model.bipedRightArmwear); + renderArmPre(model.rightArm); + renderArmPre(model.leftArm); + renderArmPre(model.leftSleeve); + renderArmPre(model.rightSleeve); } } } @@ -708,30 +708,30 @@ public class RenderEvents @OnlyIn(Dist.CLIENT) private void renderArmPost(ModelRenderer arm, float x, float z, boolean right, boolean sneaking, int light, MatrixStack matrix, IVertexBuilder builder) { - matrix.push(); - arm.showModel = true; + matrix.pushPose(); + arm.visible = true; if (right) matrix.translate(0.015, 0, 0); else matrix.translate(-0.015, 0, 0); if (!sneaking) - arm.rotationPointY = 20; + arm.y = 20; else - arm.rotationPointY = 15; + arm.y = 15; - arm.rotateAngleX = (float) x; - arm.rotateAngleY = (float) 0; - arm.rotateAngleZ = (float) -z; + arm.xRot = (float) x; + arm.yRot = (float) 0; + arm.zRot = (float) -z; arm.render(matrix, builder, light, 655360); - arm.rotationPointY = 2; - matrix.pop(); + arm.y = 2; + matrix.popPose(); } @OnlyIn(Dist.CLIENT) private void renderArmPre(ModelRenderer arm) { - arm.showModel = false; + arm.visible = false; } public boolean handleMobends() @@ -752,10 +752,10 @@ public class RenderEvents public static boolean doSneakCheck(PlayerEntity player) { - if (player.abilities.isFlying) + if (player.abilities.flying) return false; - return (player.isSneaking() || player.isCrouching()); + return (player.isShiftKeyDown() || player.isCrouching()); } public static boolean isChest(Block block) @@ -767,14 +767,14 @@ public class RenderEvents private static PlayerRenderer getRenderPlayer(AbstractClientPlayerEntity player) { Minecraft mc = Minecraft.getInstance(); - EntityRendererManager manager = mc.getRenderManager(); - return manager.getSkinMap().get(player.getSkinType()); + EntityRendererManager manager = mc.getEntityRenderDispatcher(); + return manager.getSkinMap().get(player.getModelName()); } @OnlyIn(Dist.CLIENT) private static PlayerModel getPlayerModel(AbstractClientPlayerEntity player) { - return getRenderPlayer(player).getEntityModel(); + return getRenderPlayer(player).getModel(); } // @SubscribeEvent diff --git a/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java b/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java index a02ff16..ca9ddf0 100644 --- a/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java +++ b/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java @@ -22,15 +22,15 @@ public class CarryRenderHelper { public static Vector3d getExactPos(Entity entity, float partialticks) { - return new Vector3d(entity.lastTickPosX + (entity.getPosX() - entity.lastTickPosX) * partialticks, entity.lastTickPosY + (entity.getPosY() - entity.lastTickPosY) * partialticks, entity.lastTickPosZ + (entity.getPosZ() - entity.lastTickPosZ) * partialticks); + return new Vector3d(entity.xOld + (entity.getX() - entity.xOld) * partialticks, entity.yOld + (entity.getY() - entity.yOld) * partialticks, entity.zOld + (entity.getZ() - entity.zOld) * partialticks); } public static float getExactBodyRotationDegrees(LivingEntity entity, float partialticks) { - if (entity.getRidingEntity() != null && entity.getRidingEntity() instanceof LivingEntity) - return -(entity.prevRotationYawHead + (entity.rotationYawHead - entity.prevRotationYawHead) * partialticks); + if (entity.getVehicle() != null && entity.getVehicle() instanceof LivingEntity) + return -(entity.yHeadRotO + (entity.yHeadRot - entity.yHeadRotO) * partialticks); else - return -(entity.prevRenderYawOffset + (entity.renderYawOffset - entity.prevRenderYawOffset) * partialticks); + return -(entity.yBodyRotO + (entity.yBodyRot - entity.yBodyRotO) * partialticks); } public static Quaternion getExactBodyRotation(LivingEntity entity, float partialticks) @@ -47,9 +47,9 @@ public class CarryRenderHelper float[] scaled = ScriptParseHelper.getScaled(override.getRenderScaled()); Quaternion rot = Vector3f.XP.rotationDegrees(rotation[0]); - rot.multiply(Vector3f.YP.rotationDegrees(rotation[1])); - rot.multiply(Vector3f.ZP.rotationDegrees(rotation[2])); - matrix.rotate(rot); + rot.mul(Vector3f.YP.rotationDegrees(rotation[1])); + rot.mul(Vector3f.ZP.rotationDegrees(rotation[2])); + matrix.mulPose(rot); matrix.translate(translation[0], translation[1], perspective == 1 && override.isBlock() ? -translation[2] : translation[2]); @@ -64,18 +64,18 @@ public class CarryRenderHelper if (override instanceof ItemStack) { - Minecraft.getInstance().getItemRenderer().renderItem((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); + Minecraft.getInstance().getItemRenderer().render((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); return; } } - Minecraft.getInstance().getItemRenderer().renderItem(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); + Minecraft.getInstance().getItemRenderer().render(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); } public static int getPerspective() { - boolean isThirdPerson = !Minecraft.getInstance().gameSettings.getPointOfView().func_243192_a(); //isThirdPerson - boolean isThirdPersonReverse = Minecraft.getInstance().gameSettings.getPointOfView().func_243193_b(); + boolean isThirdPerson = !Minecraft.getInstance().options.getCameraType().isFirstPerson(); //isThirdPerson + boolean isThirdPersonReverse = Minecraft.getInstance().options.getCameraType().isMirrored(); if (!isThirdPerson && !isThirdPersonReverse) return 0; diff --git a/src/main/java/tschipp/carryon/common/capabilities/event/PositionClientEvents.java b/src/main/java/tschipp/carryon/common/capabilities/event/PositionClientEvents.java index 9752cfd..7de0855 100644 --- a/src/main/java/tschipp/carryon/common/capabilities/event/PositionClientEvents.java +++ b/src/main/java/tschipp/carryon/common/capabilities/event/PositionClientEvents.java @@ -36,15 +36,15 @@ public class PositionClientEvents IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition()); if(cap.isBlockActivated()) { - World world = player.world; + World world = player.level; BlockPos pos = cap.getPos(); if(world != null) { - TileEntity te = world.getTileEntity(pos); + TileEntity te = world.getBlockEntity(pos); if(te == null) { // player.openContainer = null; - Minecraft.getInstance().currentScreen = null; + Minecraft.getInstance().screen = null; // Minecraft.getInstance().fo; cap.setBlockActivated(false); cap.setPos(new BlockPos(0,0,0)); @@ -80,7 +80,7 @@ public class PositionClientEvents if(player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent()) { IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition()); - if (cap.isBlockActivated() && Minecraft.getInstance().currentScreen == null) + if (cap.isBlockActivated() && Minecraft.getInstance().screen == null) { cap.setBlockActivated(false); cap.setPos(new BlockPos(0, 0, 0)); diff --git a/src/main/java/tschipp/carryon/common/capabilities/event/PositionCommonEvents.java b/src/main/java/tschipp/carryon/common/capabilities/event/PositionCommonEvents.java index 0e096e5..75fa438 100644 --- a/src/main/java/tschipp/carryon/common/capabilities/event/PositionCommonEvents.java +++ b/src/main/java/tschipp/carryon/common/capabilities/event/PositionCommonEvents.java @@ -44,7 +44,7 @@ public class PositionCommonEvents if (player instanceof FakePlayer) return; - TileEntity te = world.getTileEntity(pos); + TileEntity te = world.getBlockEntity(pos); if (te != null) { if(player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent()) diff --git a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java index cef8cc1..1f68e5e 100644 --- a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java +++ b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java @@ -33,10 +33,10 @@ public class CommandCarryOn })) .then(Commands.literal("clear").executes((cmd) -> { - return handleClear(cmd.getSource(), Collections.singleton(cmd.getSource().asPlayer())); + return handleClear(cmd.getSource(), Collections.singleton(cmd.getSource().getPlayerOrException())); })) - .then(Commands.literal("clear").then(Commands.argument("target", EntityArgument.players()).requires(src -> src.hasPermissionLevel(2)).executes((cmd) -> { + .then(Commands.literal("clear").then(Commands.argument("target", EntityArgument.players()).requires(src -> src.hasPermission(2)).executes((cmd) -> { return handleClear(cmd.getSource(), EntityArgument.getPlayers(cmd, "target")); }))) @@ -50,22 +50,22 @@ public class CommandCarryOn { try { - if (source.assertIsEntity() != null) + if (source.getEntityOrException() != null) { - ServerPlayerEntity player = source.asPlayer(); + ServerPlayerEntity player = source.getPlayerOrException(); - ItemStack main = player.getHeldItemMainhand(); + ItemStack main = player.getMainHandItem(); if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemTile) { - source.sendFeedback(new StringTextComponent("Block: " + ItemCarryonBlock.getBlock(main)), true); - source.sendFeedback(new StringTextComponent("BlockState: " + ItemCarryonBlock.getBlockState(main)), true); - source.sendFeedback(new StringTextComponent("ItemStack: " + ItemCarryonBlock.getItemStack(main)), true); + source.sendSuccess(new StringTextComponent("Block: " + ItemCarryonBlock.getBlock(main)), true); + source.sendSuccess(new StringTextComponent("BlockState: " + ItemCarryonBlock.getBlockState(main)), true); + source.sendSuccess(new StringTextComponent("ItemStack: " + ItemCarryonBlock.getItemStack(main)), true); if (ModelOverridesHandler.hasCustomOverrideModel(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main))) - source.sendFeedback(new StringTextComponent("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main))), true); + source.sendSuccess(new StringTextComponent("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main))), true); if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(main))) - source.sendFeedback(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(main))), true); + source.sendSuccess(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(main))), true); CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(main)); CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(main)); @@ -81,17 +81,17 @@ public class CommandCarryOn } else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity) { - source.sendFeedback(new StringTextComponent("Entity: " + ItemCarryonEntity.getEntity(main, player.world)), true); - source.sendFeedback(new StringTextComponent("Entity Name: " + ItemCarryonEntity.getEntityName(main)), true); + source.sendSuccess(new StringTextComponent("Entity: " + ItemCarryonEntity.getEntity(main, player.level)), true); + source.sendSuccess(new StringTextComponent("Entity Name: " + ItemCarryonEntity.getEntityName(main)), true); - if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.world))) - source.sendFeedback(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.world))), true); + if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.level))) + source.sendSuccess(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.level))), true); - CarryOn.LOGGER.info("Entity: " + ItemCarryonEntity.getEntity(main, player.world)); + CarryOn.LOGGER.info("Entity: " + ItemCarryonEntity.getEntity(main, player.level)); CarryOn.LOGGER.info("Entity Name: " + ItemCarryonEntity.getEntityName(main)); - if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.world))) - CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.world))); + if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.level))) + CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.level))); return 1; } @@ -111,15 +111,15 @@ public class CommandCarryOn for (ServerPlayerEntity player : players) { int cleared = 0; - cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, player.container.func_234641_j_()); // TODO - cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, player.container.func_234641_j_()); + cleared += player.inventory.clearOrCountMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, player.inventoryMenu.getCraftSlots()); // TODO + cleared += player.inventory.clearOrCountMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, player.inventoryMenu.getCraftSlots()); - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getEntityId())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getId())); if (cleared != 1) - source.sendFeedback(new StringTextComponent("Cleared " + cleared + " Items!"), true); + source.sendSuccess(new StringTextComponent("Cleared " + cleared + " Items!"), true); else - source.sendFeedback(new StringTextComponent("Cleared " + cleared + " Item!"), true); + source.sendSuccess(new StringTextComponent("Cleared " + cleared + " Item!"), true); return 1; } diff --git a/src/main/java/tschipp/carryon/common/config/Configs.java b/src/main/java/tschipp/carryon/common/config/Configs.java index e2d428d..3b5a838 100644 --- a/src/main/java/tschipp/carryon/common/config/Configs.java +++ b/src/main/java/tschipp/carryon/common/config/Configs.java @@ -352,10 +352,11 @@ public class Configs { "create:*", "magic_doorknob:*", "iceandfire:*", - "ftbquests:*" + "ftbquests:*", + "waystones:*" - }), (obj) -> obj instanceof String ? true : false); + }), (obj) -> obj instanceof String); forbiddenEntities = s .comment("Entities that cannot be picked up") diff --git a/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java index 42dd4ef..64286f8 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java @@ -43,13 +43,13 @@ public class ItemEntityEvents public void onBlockClick(PlayerInteractEvent.RightClickBlock event) { PlayerEntity player = event.getPlayer(); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { player.getPersistentData().remove("carrySlot"); event.setUseBlock(Result.DENY); - if (!player.world.isRemote) + if (!player.level.isClientSide) { CarryOnOverride override = ScriptChecker.getOverride(player); if (override != null) @@ -57,7 +57,7 @@ public class ItemEntityEvents String command = override.getCommandPlace(); if (command != null) - player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command); + player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command); } } } @@ -76,10 +76,10 @@ public class ItemEntityEvents Item item = stack.getItem(); if (item == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { - BlockPos pos = eitem.getPosition(); + BlockPos pos = eitem.blockPosition(); Entity entity = ItemCarryonEntity.getEntity(stack, world); - entity.setPosition(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5); - world.addEntity(entity); + entity.setPos(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5); + world.addFreshEntity(entity); ItemCarryonEntity.clearEntityData(stack); eitem.setItem(ItemStack.EMPTY); @@ -94,20 +94,20 @@ public class ItemEntityEvents if (player instanceof ServerPlayerEntity) { - ItemStack main = player.getHeldItemMainhand(); - ItemStack off = player.getHeldItemOffhand(); + ItemStack main = player.getMainHandItem(); + ItemStack off = player.getOffhandItem(); World world = event.getWorld(); Entity entity = event.getTarget(); - BlockPos pos = entity.getPosition(); + BlockPos pos = entity.blockPosition(); if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player)) { ItemStack stack = new ItemStack(RegistrationHandler.itemEntity); - if (entity.hurtResistantTime == 0) + if (entity.invulnerableTime == 0) { if (entity instanceof AnimalEntity) - ((AnimalEntity) entity).clearLeashed(true, true); + ((AnimalEntity) entity).dropLeash(true, true); if (PickupHandler.canPlayerPickUpEntity((ServerPlayerEntity) player, entity)) { @@ -127,15 +127,15 @@ public class ItemEntityEvents if (override != null) overrideHash = override.hashCode(); - ItemEvents.sendPacket(player, player.inventory.currentItem, overrideHash); + ItemEvents.sendPacket(player, player.inventory.selected, overrideHash); if (entity instanceof LivingEntity) ((LivingEntity) entity).setHealth(0); - entity.removePassengers(); - entity.setPosition(entity.getPosX(), 0, entity.getPosZ()); + entity.ejectPassengers(); + entity.setPos(entity.getX(), 0, entity.getZ()); entity.remove(); - player.setHeldItem(Hand.MAIN_HAND, stack); + player.setItemInHand(Hand.MAIN_HAND, stack); event.setCanceled(true); event.setCancellationResult(ActionResultType.FAIL); } @@ -146,15 +146,15 @@ public class ItemEntityEvents { Entity entityHeld = ItemCarryonEntity.getEntity(main, world); - if (entity.hurtResistantTime == 0 && entityHeld instanceof LivingEntity) + if (entity.invulnerableTime == 0 && entityHeld instanceof LivingEntity) { - if (!world.isRemote && entityHeld.getUniqueID() != entity.getUniqueID() && entity.isAlive()) + if (!world.isClientSide && entityHeld.getUUID() != entity.getUUID() && entity.isAlive()) { - double sizeHeldEntity = entityHeld.getHeight() * entityHeld.getWidth(); - double distance = pos.distanceSq(player.getPosition()); - Entity lowestEntity = entity.getLowestRidingEntity(); + double sizeHeldEntity = entityHeld.getBbHeight() * entityHeld.getBbWidth(); + double distance = pos.distSqr(player.blockPosition()); + Entity lowestEntity = entity.getRootVehicle(); int numPassengers = getAllPassengers(lowestEntity); if (numPassengers < Settings.maxEntityStackLimit.get() - 1) { @@ -162,46 +162,46 @@ public class ItemEntityEvents if (Settings.useWhitelistStacking.get() ? ListHandler.isStackingAllowed(topEntity) : !ListHandler.isStackingForbidden(topEntity)) { - double sizeEntity = topEntity.getHeight() * topEntity.getWidth(); + double sizeEntity = topEntity.getBbHeight() * topEntity.getBbWidth(); if ((Settings.entitySizeMattersStacking.get() && sizeHeldEntity <= sizeEntity) || !Settings.entitySizeMattersStacking.get()) { if (topEntity instanceof HorseEntity) { HorseEntity horse = (HorseEntity) topEntity; - horse.setHorseTamed(true); + horse.setTamed(true); } if (distance < 6) { - double tempX = entity.getPosX(); - double tempY = entity.getPosY(); - double tempZ = entity.getPosZ(); - entityHeld.setPosition(tempX, tempY + 2.6, tempZ); - world.addEntity(entityHeld); + double tempX = entity.getX(); + double tempY = entity.getY(); + double tempZ = entity.getZ(); + entityHeld.setPos(tempX, tempY + 2.6, tempZ); + world.addFreshEntity(entityHeld); entityHeld.startRiding(topEntity, false); - entityHeld.setPositionAndUpdate(tempX, tempY, tempZ); + entityHeld.teleportTo(tempX, tempY, tempZ); } else { - entityHeld.setPosition(entity.getPosX(), entity.getPosY(), entity.getPosZ()); - world.addEntity(entityHeld); + entityHeld.setPos(entity.getX(), entity.getY(), entity.getZ()); + world.addFreshEntity(entityHeld); entityHeld.startRiding(topEntity, false); } ItemCarryonEntity.clearEntityData(main); - player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY); + player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY); ItemEvents.sendPacket(player, 9, 0); event.setCanceled(true); event.setCancellationResult(ActionResultType.FAIL); - world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.ENTITY_HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F); + world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F); } else { - world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.BLOCK_NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F); + world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F); return; } } } else { - world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.BLOCK_NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F); + world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F); return; } } @@ -216,7 +216,7 @@ public class ItemEntityEvents public static int getAllPassengers(Entity entity) { int passengers = 0; - while (entity.isBeingRidden()) + while (entity.isVehicle()) { List pass = entity.getPassengers(); if (!pass.isEmpty()) @@ -232,7 +232,7 @@ public class ItemEntityEvents public static Entity getTopPassenger(Entity entity) { Entity top = entity; - while (entity.isBeingRidden()) + while (entity.isVehicle()) { List pass = entity.getPassengers(); if (!pass.isEmpty()) @@ -249,22 +249,22 @@ public class ItemEntityEvents public void onLivingUpdate(LivingUpdateEvent event) { LivingEntity entity = event.getEntityLiving(); - World world = entity.world; - ItemStack main = entity.getHeldItemMainhand(); + World world = entity.level; + ItemStack main = entity.getMainHandItem(); if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(main)) { - BlockPos pos = entity.getPosition(); - BlockPos below = pos.offset(Direction.DOWN); + BlockPos pos = entity.blockPosition(); + BlockPos below = pos.relative(Direction.DOWN); if (world.getBlockState(pos).getMaterial() == Material.WATER || world.getBlockState(below).getMaterial() == Material.WATER) { Entity contained = ItemCarryonEntity.getEntity(main, world); if (contained != null) { - float height = contained.getWidth(); - float width = contained.getWidth(); + float height = contained.getBbWidth(); + float width = contained.getBbWidth(); - entity.addVelocity(0, -0.01 * height * width, 0); + entity.push(0, -0.01 * height * width, 0); } } } diff --git a/src/main/java/tschipp/carryon/common/event/ItemEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEvents.java index 37edd0c..c470744 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEvents.java @@ -72,13 +72,13 @@ public class ItemEvents return; PlayerEntity player = event.getPlayer(); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) { player.getPersistentData().remove("carrySlot"); event.setUseBlock(Result.DENY); - if (!player.world.isRemote) + if (!player.level.isClientSide) { CarryOnOverride override = ScriptChecker.getOverride(player); if (override != null) @@ -86,7 +86,7 @@ public class ItemEvents String command = override.getCommandPlace(); if (command != null && !command.isEmpty()) - player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command); + player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command); } } } @@ -105,29 +105,29 @@ public class ItemEvents Item item = stack.getItem(); if (item == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) { - BlockPos pos = eitem.getPosition(); + BlockPos pos = eitem.blockPosition(); BlockPos finalPos = pos; BlockItemUseContext context = new DirectionalPlaceContext(world, pos, Direction.DOWN, stack, Direction.UP); - if (!world.getBlockState(pos).isReplaceable(context) || !context.canPlace()) + if (!world.getBlockState(pos).canBeReplaced(context) || !context.canPlace()) { for (Direction facing : Direction.values()) { - BlockPos offsetPos = pos.offset(facing); + BlockPos offsetPos = pos.relative(facing); BlockItemUseContext newContext = new DirectionalPlaceContext(world, offsetPos, Direction.DOWN, stack, Direction.UP); - if (world.getBlockState(offsetPos).isReplaceable(newContext) && newContext.canPlace()) + if (world.getBlockState(offsetPos).canBeReplaced(newContext) && newContext.canPlace()) { finalPos = offsetPos; break; } } } - world.setBlockState(finalPos, ItemCarryonBlock.getBlockState(stack)); - TileEntity tile = world.getTileEntity(finalPos); + world.setBlockAndUpdate(finalPos, ItemCarryonBlock.getBlockState(stack)); + TileEntity tile = world.getBlockEntity(finalPos); if (tile != null) { tile.deserializeNBT(ItemCarryonBlock.getTileData(stack)); - tile.setPos(finalPos); + tile.setPosition(finalPos); } ItemCarryonBlock.clearTileData(stack); eitem.setItem(ItemStack.EMPTY); @@ -148,25 +148,25 @@ public class ItemEvents if (event.getPlayer() instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) event.getPlayer(); - World world = player.getEntityWorld(); + World world = player.getCommandSenderWorld(); - ItemStack carried = player.getHeldItemMainhand(); + ItemStack carried = player.getMainHandItem(); if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity) { if (carried.getItem() == RegistrationHandler.itemTile) { - CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.getPosition(), ItemCarryonBlock.getTileData(carried)); + CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.blockPosition(), ItemCarryonBlock.getTileData(carried)); if (override != null) - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode())); else - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId())); } else { CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world)); if (override != null) - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode())); else - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId())); } } @@ -206,25 +206,25 @@ public class ItemEvents if (e instanceof PlayerEntity && tracker instanceof ServerPlayerEntity) { PlayerEntity player = (PlayerEntity) e; - World world = player.getEntityWorld(); + World world = player.getCommandSenderWorld(); - ItemStack carried = player.getHeldItemMainhand(); + ItemStack carried = player.getMainHandItem(); if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity) { if (carried.getItem() == RegistrationHandler.itemTile) { - CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.getPosition(), ItemCarryonBlock.getTileData(carried)); + CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.blockPosition(), ItemCarryonBlock.getTileData(carried)); if (override != null) - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode())); else - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId())); } else { CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world)); if (override != null) - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode())); else - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId())); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId())); } } @@ -237,7 +237,7 @@ public class ItemEvents PlayerEntity player = event.getPlayer(); if (player != null && !Settings.hitWhileCarrying.get()) { - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity)) event.setNewSpeed(0); } @@ -247,7 +247,7 @@ public class ItemEvents public void attackEntity(AttackEntityEvent event) { PlayerEntity player = event.getPlayer(); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && !Settings.hitWhileCarrying.get() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity)) { event.setCanceled(true); @@ -260,7 +260,7 @@ public class ItemEvents PlayerEntity player = event.getPlayer(); if (player != null && !Settings.hitWhileCarrying.get()) { - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity)) event.setCanceled(true); } @@ -273,15 +273,15 @@ public class ItemEvents if (eliving instanceof PlayerEntity && Settings.dropCarriedWhenHit.get()) { PlayerEntity player = (PlayerEntity) eliving; - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity)) { - if (!player.world.isRemote) + if (!player.level.isClientSide) { - player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY); - ItemEntity item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), stack); + player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY); + ItemEntity item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), stack); sendPacket(player, 9, 0); - player.world.addEntity(item); + player.level.addFreshEntity(item); } } @@ -296,11 +296,11 @@ public class ItemEvents if(event.isCanceled()) return; - if (!player.world.isRemote) + if (!player.level.isClientSide) { - ItemStack main = player.getHeldItemMainhand(); - ItemStack off = player.getHeldItemOffhand(); + ItemStack main = player.getMainHandItem(); + ItemStack off = player.getOffhandItem(); World world = event.getWorld(); BlockPos pos = event.getPos(); BlockState state = world.getBlockState(pos); @@ -310,11 +310,11 @@ public class ItemEvents ItemStack stack = new ItemStack(RegistrationHandler.itemTile); - TileEntity te = world.getTileEntity(pos); + TileEntity te = world.getBlockEntity(pos); if (PickupHandler.canPlayerPickUpBlock((ServerPlayerEntity) player, te, world, pos)) { - player.closeScreen(); - world.playEvent(1010, pos, 0); + player.closeContainer(); + world.levelEvent(1010, pos, 0); if (ItemCarryonBlock.storeTileData(te, world, pos, state, stack)) @@ -322,7 +322,7 @@ public class ItemEvents BlockState statee = world.getBlockState(pos); CompoundNBT tag = new CompoundNBT(); - tag = world.getTileEntity(pos) != null ? world.getTileEntity(pos).write(tag) : new CompoundNBT(); + tag = world.getBlockEntity(pos) != null ? world.getBlockEntity(pos).save(tag) : new CompoundNBT(); CarryOnOverride override = ScriptChecker.inspectBlock(state, world, pos, tag); int overrideHash = 0; if (override != null) @@ -332,11 +332,11 @@ public class ItemEvents try { - sendPacket(player, player.inventory.currentItem, overrideHash); + sendPacket(player, player.inventory.selected, overrideHash); - world.removeTileEntity(pos); + world.removeBlockEntity(pos); world.removeBlock(pos, false); - player.setHeldItem(Hand.MAIN_HAND, stack); + player.setItemInHand(Hand.MAIN_HAND, stack); event.setUseBlock(Result.DENY); event.setUseItem(Result.DENY); event.setCanceled(true); @@ -345,10 +345,10 @@ public class ItemEvents { try { - sendPacket(player, player.inventory.currentItem, overrideHash); + sendPacket(player, player.inventory.selected, overrideHash); emptyTileEntity(te); world.removeBlock(pos,false); - player.setHeldItem(Hand.MAIN_HAND, stack); + player.setItemInHand(Hand.MAIN_HAND, stack); event.setUseBlock(Result.DENY); event.setUseItem(Result.DENY); event.setCanceled(true); @@ -356,16 +356,16 @@ public class ItemEvents } catch (Exception ex) { sendPacket(player, 9, 0); - world.setBlockState(pos, statee); + world.setBlockAndUpdate(pos, statee); if (!tag.isEmpty()) { - TileEntity.readTileEntity(statee, tag); + TileEntity.loadStatic(statee, tag); } - player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."), false); + player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."), false); StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here"); - s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues")); - player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); + s.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues")); + player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); } } @@ -375,7 +375,7 @@ public class ItemEvents String command = override.getCommandInit(); if (command != null) - player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command); + player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command); } } @@ -417,7 +417,7 @@ public class ItemEvents if (te instanceof IInventory) { IInventory inv = (IInventory) te; - inv.clear(); + inv.clearContent(); } if (te instanceof IItemHandler) @@ -429,7 +429,7 @@ public class ItemEvents } } - te.markDirty(); + te.setChanged(); } } @@ -439,27 +439,27 @@ public class ItemEvents PlayerEntity original = event.getOriginal(); PlayerEntity player = event.getPlayer(); boolean wasDead = event.isWasDeath(); - GameRules rules = player.world.getGameRules(); - boolean keepInv = rules.getBoolean(GameRules.KEEP_INVENTORY); - boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity)); + GameRules rules = player.level.getGameRules(); + boolean keepInv = rules.getBoolean(GameRules.RULE_KEEPINVENTORY); + boolean wasCarrying = player.inventory.contains(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.contains(new ItemStack(RegistrationHandler.itemEntity)); if ((wasDead ? keepInv : true) && wasCarrying) { - int carrySlot = original.inventory.currentItem; + int carrySlot = original.inventory.selected; - ItemStack stack = player.inventory.removeStackFromSlot(carrySlot); - World world = player.world; + ItemStack stack = player.inventory.removeItemNoUpdate(carrySlot); + World world = player.level; ItemEntity item = new ItemEntity(world, 0, 0, 0); item.setItem(stack); BlockPos pos = null; - Optional bedpos = original.getBedPosition(); + Optional bedpos = original.getSleepingPos(); if(bedpos.isPresent()) pos = bedpos.get(); if (pos == null) - pos = player.getPosition(); - item.setPosition(pos.getX(), pos.getY(), pos.getZ()); - world.addEntity(item); + pos = player.blockPosition(); + item.setPos(pos.getX(), pos.getY(), pos.getZ()); + world.addFreshEntity(item); } } @@ -472,14 +472,14 @@ public class ItemEvents { PlayerEntity player = (PlayerEntity) entity; - if (!entity.world.isRemote) + if (!entity.level.isClientSide) { - boolean hasCarried = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity)); - ItemStack inHand = player.getHeldItemMainhand(); + boolean hasCarried = player.inventory.contains(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.contains(new ItemStack(RegistrationHandler.itemEntity)); + ItemStack inHand = player.getMainHandItem(); if (hasCarried) { - if ((inHand.getItem() != RegistrationHandler.itemTile && inHand.getItem() != RegistrationHandler.itemEntity) && player.getPortalCooldown() == 0) + if ((inHand.getItem() != RegistrationHandler.itemTile && inHand.getItem() != RegistrationHandler.itemEntity) && player.getDimensionChangingDelay() == 0) { int slotBlock = getSlot(player, RegistrationHandler.itemTile); int slotEntity = getSlot(player, RegistrationHandler.itemEntity); @@ -489,17 +489,17 @@ public class ItemEvents ItemEntity item = null; if (slotBlock != -1) { - ItemStack dropped = player.inventory.removeStackFromSlot(slotBlock); - item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), dropped); + ItemStack dropped = player.inventory.removeItemNoUpdate(slotBlock); + item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), dropped); } if (slotEntity != -1) { - ItemStack dropped = player.inventory.removeStackFromSlot(slotEntity); - item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), dropped); + ItemStack dropped = player.inventory.removeItemNoUpdate(slotEntity); + item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), dropped); } if (item != null) { - player.world.addEntity(item); + player.level.addFreshEntity(item); sendPacket(player, 9, 0); } } @@ -512,7 +512,7 @@ public class ItemEvents String command = override.getCommandLoop(); if (command != null) - player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command); + player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command); } } @@ -521,9 +521,9 @@ public class ItemEvents public int getSlot(PlayerEntity player, Item item) { - for (int i = 0; i < player.inventory.getSizeInventory(); i++) + for (int i = 0; i < player.inventory.getContainerSize(); i++) { - ItemStack stack = player.inventory.getStackInSlot(i); + ItemStack stack = player.inventory.getItem(i); if (stack.getItem() == item) return i; } @@ -534,8 +534,8 @@ public class ItemEvents { if (player instanceof ServerPlayerEntity) { - CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.getDimensionKey())), new CarrySlotPacket(currentItem, player.getEntityId(), hash)); - CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getEntityId(), hash)); + CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getX(), player.getY(), player.getZ(), 128, player.level.dimension())), new CarrySlotPacket(currentItem, player.getId(), hash)); + CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getId(), hash)); if (currentItem >= 9) { diff --git a/src/main/java/tschipp/carryon/common/handler/ListHandler.java b/src/main/java/tschipp/carryon/common/handler/ListHandler.java index 94675df..e52fb47 100644 --- a/src/main/java/tschipp/carryon/common/handler/ListHandler.java +++ b/src/main/java/tschipp/carryon/common/handler/ListHandler.java @@ -276,17 +276,17 @@ public class ListHandler } } - ITagCollection blocktags = BlockTags.getCollection(); - ITagCollection> entitytags = EntityTypeTags.getCollection(); + ITagCollection blocktags = BlockTags.getAllTags(); + ITagCollection> entitytags = EntityTypeTags.getAllTags(); - System.out.println(blocktags.getRegisteredTags()); + System.out.println(blocktags.getAvailableTags()); for (String s : forbidden) { if (s.startsWith("#")) { String sub = s.substring(1, s.length()); - ITag tag = blocktags.get(new ResourceLocation(sub)); + ITag tag = blocktags.getTag(new ResourceLocation(sub)); if (tag != null) FORBIDDEN_TILES_TAGS.add(tag); } @@ -296,7 +296,7 @@ public class ListHandler { if (s.startsWith("#")) { - ITag tag = blocktags.get(new ResourceLocation(s.substring(1, s.length()))); + ITag tag = blocktags.getTag(new ResourceLocation(s.substring(1, s.length()))); if (tag != null) ALLOWED_TILES_TAGS.add(tag); } @@ -306,7 +306,7 @@ public class ListHandler { if (s.startsWith("#")) { - ITag> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length()))); + ITag> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length()))); if (tag != null) FORBIDDEN_ENTITIES_TAGS.add(tag); } @@ -316,7 +316,7 @@ public class ListHandler { if (s.startsWith("#")) { - ITag> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length()))); + ITag> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length()))); if (tag != null) ALLOWED_ENTITIES_TAGS.add(tag); } @@ -326,7 +326,7 @@ public class ListHandler { if (s.startsWith("#")) { - ITag> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length()))); + ITag> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length()))); if (tag != null) FORBIDDEN_STACKING_TAGS.add(tag); } @@ -336,7 +336,7 @@ public class ListHandler { if (s.startsWith("#")) { - ITag> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length()))); + ITag> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length()))); if (tag != null) ALLOWED_STACKING_TAGS.add(tag); } diff --git a/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java b/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java index e315090..69467c3 100644 --- a/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java +++ b/src/main/java/tschipp/carryon/common/handler/ModelOverridesHandler.java @@ -69,7 +69,7 @@ public class ModelOverridesHandler toOverride = toOverride.replace(nbt, ""); try { - tag = JsonToNBT.getTagFromJson(nbt); + tag = JsonToNBT.parseTag(nbt); } catch (Exception e) { @@ -135,7 +135,7 @@ public class ModelOverridesHandler } else { - keyComp.putInt("stateid", Block.getStateId((BlockState) toOverrideObject)); + keyComp.putInt("stateid", Block.getId((BlockState) toOverrideObject)); keyComp.putString("block", ((BlockState) toOverrideObject).getBlock().getRegistryName().toString()); } OVERRIDE_OBJECTS.put(keyComp, overrideObject); @@ -161,7 +161,7 @@ public class ModelOverridesHandler if (OVERRIDE_OBJECTS.isEmpty()) return false; - int stateid = Block.getStateId(state); + int stateid = Block.getId(state); CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()]; OVERRIDE_OBJECTS.keySet().toArray(keys); for (CompoundNBT key : keys) @@ -171,15 +171,15 @@ public class ModelOverridesHandler if (id == 0 ? block == state.getBlock() : id == stateid) { CompoundNBT toCheckForCompound = key.getCompound("nbttag"); - Set kSetToCheck = toCheckForCompound.keySet(); - Set kSetTile = tag.keySet(); + Set kSetToCheck = toCheckForCompound.getAllKeys(); + Set kSetTile = tag.getAllKeys(); boolean flag = true; if (kSetTile.containsAll(kSetToCheck)) { for (String skey : kSetToCheck) { - if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true)) + if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true)) flag = false; } if (flag) @@ -194,7 +194,7 @@ public class ModelOverridesHandler @OnlyIn(Dist.CLIENT) public static IBakedModel getCustomOverrideModel(BlockState state, CompoundNBT tag, World world, PlayerEntity player) { - int stateid = Block.getStateId(state); + int stateid = Block.getId(state); CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()]; OVERRIDE_OBJECTS.keySet().toArray(keys); for (CompoundNBT key : keys) @@ -204,15 +204,15 @@ public class ModelOverridesHandler if (id == 0 ? block == state.getBlock() : id == stateid) { CompoundNBT toCheckForCompound = key.getCompound("nbttag"); - Set kSetToCheck = toCheckForCompound.keySet(); - Set kSetTile = tag.keySet(); + Set kSetToCheck = toCheckForCompound.getAllKeys(); + Set kSetTile = tag.getAllKeys(); boolean flag = true; if (kSetTile.containsAll(kSetToCheck)) { for (String skey : kSetToCheck) { - if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true)) + if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true)) flag = false; } if (flag) @@ -223,9 +223,9 @@ public class ModelOverridesHandler return null; if (override instanceof BlockState) - return Minecraft.getInstance().getBlockRendererDispatcher().getModelForState((BlockState) override); + return Minecraft.getInstance().getBlockRenderer().getBlockModel((BlockState) override); else - return Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides((ItemStack) override, world, player); + return Minecraft.getInstance().getItemRenderer().getModel((ItemStack) override, world, player); } } } @@ -236,7 +236,7 @@ public class ModelOverridesHandler public static Object getOverrideObject(BlockState state, CompoundNBT tag) { - int stateid = Block.getStateId(state); + int stateid = Block.getId(state); CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()]; OVERRIDE_OBJECTS.keySet().toArray(keys); for (CompoundNBT key : keys) @@ -246,15 +246,15 @@ public class ModelOverridesHandler if (id == 0 ? block == state.getBlock() : id == stateid) { CompoundNBT toCheckForCompound = key.getCompound("nbttag"); - Set kSetToCheck = toCheckForCompound.keySet(); - Set kSetTile = tag.keySet(); + Set kSetToCheck = toCheckForCompound.getAllKeys(); + Set kSetTile = tag.getAllKeys(); boolean flag = true; if (kSetTile.containsAll(kSetToCheck)) { for (String skey : kSetToCheck) { - if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true)) + if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true)) flag = false; } if (flag) diff --git a/src/main/java/tschipp/carryon/common/handler/PickupHandler.java b/src/main/java/tschipp/carryon/common/handler/PickupHandler.java index efeacc8..69a0d7c 100644 --- a/src/main/java/tschipp/carryon/common/handler/PickupHandler.java +++ b/src/main/java/tschipp/carryon/common/handler/PickupHandler.java @@ -31,14 +31,14 @@ public class PickupHandler public static boolean canPlayerPickUpBlock(ServerPlayerEntity player, @Nullable TileEntity tile, World world, BlockPos pos) { - if(player.interactionManager.getGameType() == GameType.SPECTATOR || player.interactionManager.getGameType() == GameType.ADVENTURE) + if(player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE) return false; BlockState state = world.getBlockState(pos); CompoundNBT tag = new CompoundNBT(); if (tile != null) - tile.write(tag); + tile.save(tag); CarryOnOverride override = ScriptChecker.inspectBlock(world.getBlockState(pos), world, pos, tag); if (override != null) @@ -62,9 +62,9 @@ public class PickupHandler } } - if ((state.getBlockHardness(world, pos) != -1 || player.isCreative())) + if ((state.getDestroySpeed(world, pos) != -1 || player.isCreative())) { - double distance = Vector3d.copy(pos).distanceTo(player.getPositionVec()); + double distance = Vector3d.atLowerCornerOf(pos).distanceTo(player.position()); double maxDist = Settings.maxDistance.get(); if (distance < maxDist) @@ -92,10 +92,10 @@ public class PickupHandler public static boolean canPlayerPickUpEntity(ServerPlayerEntity player, Entity toPickUp) { - if(player.interactionManager.getGameType() == GameType.SPECTATOR || player.interactionManager.getGameType() == GameType.ADVENTURE) + if(player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE) return false; - BlockPos pos = toPickUp.getPosition(); + BlockPos pos = toPickUp.blockPosition(); if (toPickUp instanceof PlayerEntity) return false; @@ -110,16 +110,16 @@ public class PickupHandler if (toPickUp instanceof AgeableEntity && Settings.allowBabies.get()) { AgeableEntity living = (AgeableEntity) toPickUp; - if (living.getGrowingAge() < 0 || living.isChild()) + if (living.getAge() < 0 || living.isBaby()) { - double distance = pos.distanceSq(player.getPosition()); + double distance = pos.distSqr(player.blockPosition()); if (distance < Math.pow(Settings.maxDistance.get(), 2)) { if (toPickUp instanceof TameableEntity) { TameableEntity tame = (TameableEntity) toPickUp; - if (tame.getOwnerId() != null && tame.getOwnerId() != PlayerEntity.getUUID(player.getGameProfile())) + if (tame.getOwnerUUID() != null && tame.getOwnerUUID() != PlayerEntity.createPlayerUUID(player.getGameProfile())) return false; } } @@ -148,20 +148,20 @@ public class PickupHandler } } - if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getClassification() != EntityClassification.MONSTER || player.isCreative())) + if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getCategory() != EntityClassification.MONSTER || player.isCreative())) { - if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getClassification() != EntityClassification.MONSTER || player.isCreative())) + if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getCategory() != EntityClassification.MONSTER || player.isCreative())) { - if ((toPickUp.getHeight() <= Settings.maxEntityHeight.get() && toPickUp.getWidth() <= Settings.maxEntityWidth.get() || player.isCreative())) + if ((toPickUp.getBbHeight() <= Settings.maxEntityHeight.get() && toPickUp.getBbWidth() <= Settings.maxEntityWidth.get() || player.isCreative())) { - double distance = pos.distanceSq(player.getPosition()); + double distance = pos.distSqr(player.blockPosition()); if (distance < Math.pow(Settings.maxDistance.get(), 2)) { if (toPickUp instanceof TameableEntity) { TameableEntity tame = (TameableEntity) toPickUp; - UUID owner = tame.getOwnerId(); - UUID playerID = PlayerEntity.getUUID(player.getGameProfile()); + UUID owner = tame.getOwnerUUID(); + UUID playerID = PlayerEntity.createPlayerUUID(player.getGameProfile()); if (owner != null && !owner.equals(playerID)) return false; } diff --git a/src/main/java/tschipp/carryon/common/helper/KeyboardCallbackWrapper.java b/src/main/java/tschipp/carryon/common/helper/KeyboardCallbackWrapper.java index 16f4872..3f7e462 100644 --- a/src/main/java/tschipp/carryon/common/helper/KeyboardCallbackWrapper.java +++ b/src/main/java/tschipp/carryon/common/helper/KeyboardCallbackWrapper.java @@ -14,7 +14,7 @@ public class KeyboardCallbackWrapper public void setup(Minecraft mc) { - oldCallback = GLFW.glfwSetKeyCallback(mc.getMainWindow().getHandle(), this::keyCallback); + oldCallback = GLFW.glfwSetKeyCallback(mc.getWindow().getWindow(), this::keyCallback); } private void keyCallback(long window, int key, int scancode, int action, int mods) diff --git a/src/main/java/tschipp/carryon/common/helper/ScriptParseHelper.java b/src/main/java/tschipp/carryon/common/helper/ScriptParseHelper.java index d35f8e7..14d9f3b 100644 --- a/src/main/java/tschipp/carryon/common/helper/ScriptParseHelper.java +++ b/src/main/java/tschipp/carryon/common/helper/ScriptParseHelper.java @@ -76,7 +76,7 @@ public class ScriptParseHelper return true; boolean matching = true; - for (String key : toMatch.keySet()) + for (String key : toMatch.getAllKeys()) { INBT tag = toMatch.get(key); key = key.replace("\"", ""); @@ -142,7 +142,7 @@ public class ScriptParseHelper if (cond == null || cond.isEmpty()) return true; - Scoreboard score = player.getWorldScoreboard(); + Scoreboard score = player.getScoreboard(); String numb; String scorename; int iE = cond.indexOf("="); @@ -157,13 +157,13 @@ public class ScriptParseHelper numb = cond.substring(iL); scorename = cond.replace(numb, ""); - Map o = score.getObjectivesForEntity(player.getGameProfile().getName()); + Map o = score.getPlayerScores(player.getGameProfile().getName()); if (o != null) { Score sc = o.get(score.getObjective(scorename)); if (sc != null) { - int points = sc.getScorePoints(); + int points = sc.getScore(); return matches(points, numb); } @@ -179,7 +179,7 @@ public class ScriptParseHelper BlockPos blockpos = new BlockPos(getValueFromString(cond, "x"), getValueFromString(cond, "y"), getValueFromString(cond, "z")); BlockPos expand = new BlockPos(getValueFromString(cond, "dx"), getValueFromString(cond, "dy"), getValueFromString(cond, "dz")); - BlockPos expanded = blockpos.add(expand); + BlockPos expanded = blockpos.offset(expand); boolean x = (pos.getX() >= blockpos.getX() && pos.getX() <= expanded.getX()) || blockpos.getX() == 0; boolean y = (pos.getY() >= blockpos.getY() && pos.getY() <= expanded.getY()) || blockpos.getY() == 0; @@ -221,7 +221,7 @@ public class ScriptParseHelper if(cond == null || cond.isEmpty()) return true; - Collection effects = player.getActivePotionEffects(); + Collection effects = player.getActiveEffects(); String[] potions = cond.split(","); List names = new ArrayList(); @@ -257,7 +257,7 @@ public class ScriptParseHelper for(EffectInstance effect : effects) { int amp = effect.getAmplifier(); - String name = effect.getPotion().getRegistryName().toString(); + String name = effect.getEffect().getRegistryName().toString(); if(names.contains(name)) { @@ -282,7 +282,7 @@ public class ScriptParseHelper case "air": return material == Material.AIR; case "anvil": - return material == Material.ANVIL; + return material == Material.HEAVY_METAL; case "barrier": return material == Material.BARRIER; case "cactus": @@ -290,7 +290,7 @@ public class ScriptParseHelper case "cake": return material == Material.CAKE; case "carpet": - return material == Material.CARPET; + return material == Material.CLOTH_DECORATION; case "clay": return material == Material.CLAY; case "cloth": @@ -298,49 +298,49 @@ public class ScriptParseHelper case "coral": return material == Material.CORAL; case "dragon_egg": - return material == Material.DRAGON_EGG; + return material == Material.EGG; case "fire": return material == Material.FIRE; case "glass": return material == Material.GLASS; case "gourd": - return material == Material.GOURD; + return material == Material.VEGETABLE; case "grass": - return material == Material.ORGANIC; + return material == Material.GRASS; case "ground": - return material == Material.ORGANIC; + return material == Material.GRASS; case "ice": return material == Material.ICE; case "iron": - return material == Material.IRON; + return material == Material.METAL; case "lava": return material == Material.LAVA; case "leaves": return material == Material.LEAVES; case "packed_ice": - return material == Material.PACKED_ICE; + return material == Material.ICE_SOLID; case "piston": return material == Material.PISTON; case "plants": - return material == Material.PLANTS; + return material == Material.PLANT; case "portal": return material == Material.PORTAL; case "redstone_light": - return material == Material.REDSTONE_LIGHT; + return material == Material.BUILDABLE_GLASS; case "rock": - return material == Material.ROCK; + return material == Material.STONE; case "sand": return material == Material.SAND; case "snow": - return material == Material.SNOW; + return material == Material.TOP_SNOW; case "sponge": return material == Material.SPONGE; case "structure_void": - return material == Material.STRUCTURE_VOID; + return material == Material.STRUCTURAL_AIR; case "tnt": - return material == Material.TNT; + return material == Material.EXPLOSIVE; case "vine": - return material == Material.PLANTS; + return material == Material.PLANT; case "water": return material == Material.WATER; case "web": diff --git a/src/main/java/tschipp/carryon/common/helper/ScrollCallbackWrapper.java b/src/main/java/tschipp/carryon/common/helper/ScrollCallbackWrapper.java index 879b501..8f5bfa8 100644 --- a/src/main/java/tschipp/carryon/common/helper/ScrollCallbackWrapper.java +++ b/src/main/java/tschipp/carryon/common/helper/ScrollCallbackWrapper.java @@ -15,7 +15,7 @@ public class ScrollCallbackWrapper public void setup(Minecraft mc) { - oldCallback = GLFW.glfwSetScrollCallback(mc.getMainWindow().getHandle(), this::scrollCallback); + oldCallback = GLFW.glfwSetScrollCallback(mc.getWindow().getWindow(), this::scrollCallback); } private void scrollCallback(long window, double xoffset, double yoffset) diff --git a/src/main/java/tschipp/carryon/common/helper/StringParser.java b/src/main/java/tschipp/carryon/common/helper/StringParser.java index 8d7774f..dbd8c22 100644 --- a/src/main/java/tschipp/carryon/common/helper/StringParser.java +++ b/src/main/java/tschipp/carryon/common/helper/StringParser.java @@ -114,7 +114,7 @@ public class StringParser string = string.replace(nbt, ""); try { - tag = JsonToNBT.getTagFromJson(nbt); + tag = JsonToNBT.parseTag(nbt); } catch (Exception e) { diff --git a/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java b/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java index 2b9054f..8eb825f 100644 --- a/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java +++ b/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java @@ -50,12 +50,12 @@ public class ItemCarryonBlock extends Item public ItemCarryonBlock() { - super(new Item.Properties().maxStackSize(1)); + super(new Item.Properties().stacksTo(1)); this.setRegistryName(CarryOn.MODID, "tile_item"); } @Override - public ITextComponent getDisplayName(ItemStack stack) + public ITextComponent getName(ItemStack stack) { if (hasTileData(stack)) { @@ -66,28 +66,28 @@ public class ItemCarryonBlock extends Item { Object override = ModelOverridesHandler.getOverrideObject(state, nbt); if (override instanceof ItemStack) - return ((ItemStack) override).getDisplayName(); + return ((ItemStack) override).getHoverName(); else { BlockState ostate = (BlockState) override; - return ostate.getBlock().getTranslatedName(); + return ostate.getBlock().getName(); } } - return getItemStack(stack).getDisplayName(); + return getItemStack(stack).getHoverName(); } return new StringTextComponent(""); } @Override - public ActionResultType onItemUse(ItemUseContext context) + public ActionResultType useOn(ItemUseContext context) { - Direction facing = context.getFace(); + Direction facing = context.getClickedFace(); PlayerEntity player = context.getPlayer(); - World world = context.getWorld(); - BlockPos pos = context.getPos(); - ItemStack stack = context.getItem(); + World world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + ItemStack stack = context.getItemInHand(); if (ModList.get().isLoaded("betterplacement")) { @@ -99,23 +99,23 @@ public class ItemCarryonBlock extends Item { try { - Vector3d vec = player.getLookVec(); - Direction facing2 = Direction.getFacingFromVector((float) vec.x, 0f, (float) vec.z); + Vector3d vec = player.getLookAngle(); + Direction facing2 = Direction.getNearest((float) vec.x, 0f, (float) vec.z); BlockPos pos2 = pos; Block containedblock = getBlock(stack); BlockState containedstate = getBlockState(stack); - if (!world.getBlockState(pos2).isReplaceable(new BlockItemUseContext(context))) + if (!world.getBlockState(pos2).canBeReplaced(new BlockItemUseContext(context))) { - pos2 = pos.offset(facing); + pos2 = pos.relative(facing); } - if (world.getBlockState(pos2).isReplaceable(new BlockItemUseContext(context)) && containedblock != null) + if (world.getBlockState(pos2).canBeReplaced(new BlockItemUseContext(context)) && containedblock != null) { - boolean canPlace = containedstate.isValidPosition(world, pos2); + boolean canPlace = containedstate.canSurvive(world, pos2); if (canPlace) { - if (player.canPlayerEdit(pos, facing, stack) && world.isBlockModifiable(player, pos2)) + if (player.mayUseItemAt(pos, facing, stack) && world.mayInteract(player, pos2)) { BlockState placementState = containedblock.getStateForPlacement(new BlockItemUseContext(context)); @@ -139,13 +139,13 @@ public class ItemCarryonBlock extends Item // } // } - BlockSnapshot snapshot = BlockSnapshot.create(world.getDimensionKey(), world, pos2); + BlockSnapshot snapshot = BlockSnapshot.create(world.dimension(), world, pos2); EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player); MinecraftForge.EVENT_BUS.post(event); if (!event.isCanceled()) { - world.setBlockState(pos2, actualState); + world.setBlockAndUpdate(pos2, actualState); // If the blockstate doesn't handle rotation, // try to @@ -153,24 +153,24 @@ public class ItemCarryonBlock extends Item if (!getTileData(stack).isEmpty()) { CompoundNBT tag = getTileData(stack); - Set keys = tag.keySet(); + Set keys = tag.getAllKeys(); keytester: for (String key : keys) { for (String facingKey : FACING_KEYS) { if (key.toLowerCase().equals(facingKey)) { - byte type = tag.getTagId(key); + byte type = tag.getTagType(key); switch (type) { case 8: - tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName2().toUpperCase() : facing2.getOpposite().getName2()); + tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName().toUpperCase() : facing2.getOpposite().getName()); break; case 3: - tag.putInt(key, facing2.getOpposite().getIndex()); + tag.putInt(key, facing2.getOpposite().get3DDataValue()); break; case 1: - tag.putByte(key, (byte) facing2.getOpposite().getIndex()); + tag.putByte(key, (byte) facing2.getOpposite().get3DDataValue()); break; default: break; @@ -182,16 +182,16 @@ public class ItemCarryonBlock extends Item } } - TileEntity tile = world.getTileEntity(pos2); + TileEntity tile = world.getBlockEntity(pos2); if (tile != null) { CompoundNBT data = getTileData(stack); updateTileLocation(data, pos2); - tile.read(actualState, data); + tile.load(actualState, data); } clearTileData(stack); player.playSound(actualState.getSoundType(world, pos2, player).getPlaceSound(), 1.0f, 0.5f); - player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY); + player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY); player.getPersistentData().remove("overrideKey"); ItemEvents.sendPacket(player, 9, 0); return ActionResultType.SUCCESS; @@ -206,7 +206,7 @@ public class ItemCarryonBlock extends Item { e.printStackTrace(); - if (world != null && world.isRemote) + if (world != null && world.isClientSide) { CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(stack)); CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(stack)); @@ -219,10 +219,10 @@ public class ItemCarryonBlock extends Item if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(stack))) CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(stack))); - player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"), false); + player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"), false); StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here"); - s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues")); - player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); + s.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues")); + player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); } } @@ -242,7 +242,7 @@ public class ItemCarryonBlock extends Item if (entity instanceof PlayerEntity && Settings.slownessInCreative.get() ? false : ((PlayerEntity) entity).isCreative()) return; - ((LivingEntity) entity).addPotionEffect(new EffectInstance(Effects.SLOWNESS, 1, potionLevel(stack), false, false)); + ((LivingEntity) entity).addEffect(new EffectInstance(Effects.MOVEMENT_SLOWDOWN, 1, potionLevel(stack), false, false)); } } else @@ -268,7 +268,7 @@ public class ItemCarryonBlock extends Item CompoundNBT tileTag = new CompoundNBT(); if (tile != null) - tileTag = tile.write(tileTag); + tileTag = tile.save(tileTag); CompoundNBT tag = stack.hasTag() ? stack.getTag() : new CompoundNBT(); if (tag.contains(TILE_DATA_KEY)) @@ -282,7 +282,7 @@ public class ItemCarryonBlock extends Item tag.putString("block", state.getBlock().getRegistryName().toString()); // Item item = Item.getItemFromBlock(state.getBlock()); // tag.setInt("meta", drop.getItemDamage()); - tag.putInt("stateid", Block.getStateId(state)); + tag.putInt("stateid", Block.getId(state)); stack.setTag(tag); return true; } @@ -321,7 +321,7 @@ public class ItemCarryonBlock extends Item { CompoundNBT tag = stack.getTag(); int id = tag.getInt("stateid"); - return Block.getStateById(id).getBlock(); + return Block.stateById(id).getBlock(); } return Blocks.AIR; } @@ -348,18 +348,18 @@ public class ItemCarryonBlock extends Item { CompoundNBT tag = stack.getTag(); int id = tag.getInt("stateid"); - return Block.getStateById(id); + return Block.stateById(id); } - return Blocks.AIR.getDefaultState(); + return Blocks.AIR.defaultBlockState(); } public static boolean isLocked(BlockPos pos, World world) { - TileEntity te = world.getTileEntity(pos); + TileEntity te = world.getBlockEntity(pos); if (te != null) { CompoundNBT tag = new CompoundNBT(); - te.write(tag); + te.save(tag); return tag.contains("Lock") ? !tag.getString("Lock").equals("") : false; } diff --git a/src/main/java/tschipp/carryon/common/item/ItemCarryonEntity.java b/src/main/java/tschipp/carryon/common/item/ItemCarryonEntity.java index 25aaf46..80bb5be 100644 --- a/src/main/java/tschipp/carryon/common/item/ItemCarryonEntity.java +++ b/src/main/java/tschipp/carryon/common/item/ItemCarryonEntity.java @@ -39,23 +39,23 @@ public class ItemCarryonEntity extends Item { static { - initGoals = ObfuscationReflectionHelper.findMethod(MobEntity.class, "func_184651_r"); + initGoals = ObfuscationReflectionHelper.findMethod(MobEntity.class, "registerGoals"); initGoals.setAccessible(true); } public static final String ENTITY_DATA_KEY = "entityData"; public ItemCarryonEntity() { - super(new Item.Properties().maxStackSize(1)); + super(new Item.Properties().stacksTo(1)); this.setRegistryName(CarryOn.MODID, "entity_item"); } @Override - public ITextComponent getDisplayName(ItemStack stack) + public ITextComponent getName(ItemStack stack) { if (hasEntityData(stack)) { - return new TranslationTextComponent(getEntityType(stack).getTranslationKey()); + return new TranslationTextComponent(getEntityType(stack).getDescriptionId()); } return new StringTextComponent(""); @@ -92,13 +92,13 @@ public class ItemCarryonEntity extends Item { } @Override - public ActionResultType onItemUse(ItemUseContext context) { + public ActionResultType useOn(ItemUseContext context) { PlayerEntity player = context.getPlayer(); - World world = context.getWorld(); - BlockPos pos = context.getPos(); - Direction facing = context.getFace(); + World world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Direction facing = context.getClickedFace(); - ItemStack stack = context.getItem(); + ItemStack stack = context.getItemInHand(); BlockState state = world.getBlockState(pos); @@ -110,21 +110,21 @@ public class ItemCarryonEntity extends Item { if (hasEntityData(stack)) { BlockPos finalPos = pos; - if (!state.isReplaceable(new BlockItemUseContext(context))) { - finalPos = pos.offset(facing); + if (!state.canBeReplaced(new BlockItemUseContext(context))) { + finalPos = pos.relative(facing); } Entity entity = getEntity(stack, world); if (entity != null) { - if (!world.isRemote) { - entity.setPositionAndRotation(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, - 180 + player.rotationYawHead, 0.0f); - world.addEntity(entity); + if (!world.isClientSide) { + entity.absMoveTo(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, + 180 + player.yHeadRot, 0.0f); + world.addFreshEntity(entity); if (entity instanceof MobEntity) { ((MobEntity) entity).playAmbientSound(); } clearEntityData(stack); - player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY); + player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY); ItemEvents.sendPacket(player, 9, 0); } @@ -147,8 +147,8 @@ public class ItemCarryonEntity extends Item { : ((PlayerEntity) entity).isCreative()) return; - ((LivingEntity) entity).addPotionEffect( - new EffectInstance(Effects.SLOWNESS, 1, potionLevel(stack, world), false, false)); + ((LivingEntity) entity).addEffect( + new EffectInstance(Effects.MOVEMENT_SLOWDOWN, 1, potionLevel(stack, world), false, false)); } } else { @@ -179,7 +179,7 @@ public class ItemCarryonEntity extends Item { String name = getEntityName(stack); CompoundNBT e = getPersistentData(stack); - Optional> type = EntityType.byKey(name); + Optional> type = EntityType.byString(name); Entity entity = null; if (type.isPresent()) { @@ -225,7 +225,7 @@ public class ItemCarryonEntity extends Item { if (stack.hasTag()) { CompoundNBT tag = stack.getTag(); String name = tag.getString("entity"); - Optional> type = EntityType.byKey(name); + Optional> type = EntityType.byString(name); if (type.isPresent()) return type.get(); } @@ -237,7 +237,7 @@ public class ItemCarryonEntity extends Item { if (e == null) return 1; - int i = (int) (e.getHeight() * e.getWidth()); + int i = (int) (e.getBbHeight() * e.getBbWidth()); if (i > 4) i = 4; diff --git a/src/main/java/tschipp/carryon/common/scripting/CarryOnOverride.java b/src/main/java/tschipp/carryon/common/scripting/CarryOnOverride.java index f974910..4fd6730 100644 --- a/src/main/java/tschipp/carryon/common/scripting/CarryOnOverride.java +++ b/src/main/java/tschipp/carryon/common/scripting/CarryOnOverride.java @@ -104,7 +104,7 @@ public class CarryOnOverride if (resistance != null) setTypeResistance(resistance.getAsString()); if (nbt != null) - setTypeBlockTag(JsonToNBT.getTagFromJson(nbt.toString())); + setTypeBlockTag(JsonToNBT.parseTag(nbt.toString())); } else { @@ -124,7 +124,7 @@ public class CarryOnOverride if (width != null) setTypeWidth(width.getAsString()); if (nbt != null) - setTypeEntityTag(JsonToNBT.getTagFromJson(nbt.toString())); + setTypeEntityTag(JsonToNBT.parseTag(nbt.toString())); } if (conditions != null) @@ -177,7 +177,7 @@ public class CarryOnOverride if (scaled != null) setRenderscaled(scaled.getAsString()); if (nbt != null) - setRenderNBT(JsonToNBT.getTagFromJson(nbt.toString())); + setRenderNBT(JsonToNBT.parseTag(nbt.toString())); if (rotationLeftArm != null) setRenderRotationLeftArm(rotationLeftArm.getAsString()); if (rotationRightArm != null) @@ -783,95 +783,95 @@ public class CarryOnOverride public void serialize(PacketBuffer buf) { // BLOCKS - buf.writeCompoundTag(typeBlockTag); - buf.writeString(typeNameBlock); - buf.writeString(typeMaterial); - buf.writeString(typeHardness); - buf.writeString(typeResistance); + buf.writeNbt(typeBlockTag); + buf.writeUtf(typeNameBlock); + buf.writeUtf(typeMaterial); + buf.writeUtf(typeHardness); + buf.writeUtf(typeResistance); // ENTITIES - buf.writeCompoundTag(typeEntityTag); - buf.writeString(typeNameEntity); - buf.writeString(typeHeight); - buf.writeString(typeWidth); - buf.writeString(typeHealth); + buf.writeNbt(typeEntityTag); + buf.writeUtf(typeNameEntity); + buf.writeUtf(typeHeight); + buf.writeUtf(typeWidth); + buf.writeUtf(typeHealth); // CONDITIONS - buf.writeString(conditionGamestage); - buf.writeString(conditionAchievement); - buf.writeString(conditionXp); - buf.writeString(conditionGamemode); - buf.writeString(conditionScoreboard); - buf.writeString(conditionPosition); - buf.writeString(conditionEffects); + buf.writeUtf(conditionGamestage); + buf.writeUtf(conditionAchievement); + buf.writeUtf(conditionXp); + buf.writeUtf(conditionGamemode); + buf.writeUtf(conditionScoreboard); + buf.writeUtf(conditionPosition); + buf.writeUtf(conditionEffects); // RENDER - buf.writeString(renderNameBlock); - buf.writeString(renderNameEntity); - buf.writeCompoundTag(renderNBT); - buf.writeString(renderTranslation); - buf.writeString(renderRotation); - buf.writeString(renderscaled); - buf.writeString(renderRotationLeftArm); - buf.writeString(renderRotationRightArm); + buf.writeUtf(renderNameBlock); + buf.writeUtf(renderNameEntity); + buf.writeNbt(renderNBT); + buf.writeUtf(renderTranslation); + buf.writeUtf(renderRotation); + buf.writeUtf(renderscaled); + buf.writeUtf(renderRotationLeftArm); + buf.writeUtf(renderRotationRightArm); buf.writeBoolean(renderLeftArm); buf.writeBoolean(renderRightArm); // EFFECTS - buf.writeString(commandInit); - buf.writeString(commandLoop); - buf.writeString(commandPlace); + buf.writeUtf(commandInit); + buf.writeUtf(commandLoop); + buf.writeUtf(commandPlace); buf.writeBoolean(isBlock); buf.writeBoolean(isEntity); - buf.writeString(resourceLocation); + buf.writeUtf(resourceLocation); } public static CarryOnOverride deserialize(PacketBuffer buf) { CarryOnOverride override = new CarryOnOverride(""); - override.typeBlockTag = buf.readCompoundTag(); - override.typeNameBlock = buf.readString(); - override.typeMaterial = buf.readString(); - override.typeHardness = buf.readString(); - override.typeResistance = buf.readString(); + override.typeBlockTag = buf.readNbt(); + override.typeNameBlock = buf.readUtf(); + override.typeMaterial = buf.readUtf(); + override.typeHardness = buf.readUtf(); + override.typeResistance = buf.readUtf(); // ENTITIES - override.typeEntityTag = buf.readCompoundTag(); - override.typeNameEntity = buf.readString(); - override.typeHeight = buf.readString(); - override.typeWidth = buf.readString(); - override.typeHealth = buf.readString(); + override.typeEntityTag = buf.readNbt(); + override.typeNameEntity = buf.readUtf(); + override.typeHeight = buf.readUtf(); + override.typeWidth = buf.readUtf(); + override.typeHealth = buf.readUtf(); // CONDITIONS - override.conditionGamestage = buf.readString(); - override.conditionAchievement = buf.readString(); - override.conditionXp = buf.readString(); - override.conditionGamemode = buf.readString(); - override.conditionScoreboard = buf.readString(); - override.conditionPosition = buf.readString(); - override.conditionEffects = buf.readString(); + override.conditionGamestage = buf.readUtf(); + override.conditionAchievement = buf.readUtf(); + override.conditionXp = buf.readUtf(); + override.conditionGamemode = buf.readUtf(); + override.conditionScoreboard = buf.readUtf(); + override.conditionPosition = buf.readUtf(); + override.conditionEffects = buf.readUtf(); // RENDER - override.renderNameBlock = buf.readString(); - override.renderNameEntity = buf.readString(); - override.renderNBT = buf.readCompoundTag(); - override.renderTranslation = buf.readString(); - override.renderRotation = buf.readString(); - override.renderscaled = buf.readString(); - override.renderRotationLeftArm = buf.readString(); - override.renderRotationRightArm = buf.readString(); + override.renderNameBlock = buf.readUtf(); + override.renderNameEntity = buf.readUtf(); + override.renderNBT = buf.readNbt(); + override.renderTranslation = buf.readUtf(); + override.renderRotation = buf.readUtf(); + override.renderscaled = buf.readUtf(); + override.renderRotationLeftArm = buf.readUtf(); + override.renderRotationRightArm = buf.readUtf(); override.renderLeftArm = buf.readBoolean(); override.renderRightArm = buf.readBoolean(); // EFFECTS - override.commandInit = buf.readString(); - override.commandLoop = buf.readString(); - override.commandPlace = buf.readString(); + override.commandInit = buf.readUtf(); + override.commandLoop = buf.readUtf(); + override.commandPlace = buf.readUtf(); override.isBlock = buf.readBoolean(); override.isEntity = buf.readBoolean(); - override.resourceLocation = buf.readString(); + override.resourceLocation = buf.readUtf(); return override; } diff --git a/src/main/java/tschipp/carryon/common/scripting/ScriptChecker.java b/src/main/java/tschipp/carryon/common/scripting/ScriptChecker.java index 620ebec..c6969a8 100644 --- a/src/main/java/tschipp/carryon/common/scripting/ScriptChecker.java +++ b/src/main/java/tschipp/carryon/common/scripting/ScriptChecker.java @@ -33,7 +33,7 @@ public class ScriptChecker Block block = state.getBlock(); Material material = state.getMaterial(); - float hardness = state.getBlockHardness(world, pos); + float hardness = state.getDestroySpeed(world, pos); @SuppressWarnings("deprecation") float resistance = block.getExplosionResistance(); CompoundNBT nbt = tag; @@ -62,8 +62,8 @@ public class ScriptChecker return null; String name = entity.getType().getRegistryName().toString(); - float height = entity.getHeight(); - float width = entity.getWidth(); + float height = entity.getBbHeight(); + float width = entity.getBbWidth(); float health = entity instanceof LivingEntity ? ((LivingEntity) entity).getHealth() : 0.0f; CompoundNBT tag = entity.serializeNBT(); @@ -109,11 +109,11 @@ public class ScriptChecker public static boolean fulfillsConditions(CarryOnOverride override, PlayerEntity player) { - AdvancementManager manager = ((ServerPlayerEntity) player).server.getAdvancementManager(); + AdvancementManager manager = ((ServerPlayerEntity) player).server.getAdvancements(); Advancement adv = manager.getAdvancement(new ResourceLocation((override.getConditionAchievement()).isEmpty() ? "" : override.getConditionAchievement())); - boolean achievement = adv == null ? true : ((ServerPlayerEntity) player).getAdvancements().getProgress(adv).isDone(); - boolean gamemode = ScriptParseHelper.matches(((ServerPlayerEntity) player).interactionManager.getGameType().getID(), override.getConditionGamemode()); + boolean achievement = adv == null ? true : ((ServerPlayerEntity) player).getAdvancements().getOrStartProgress(adv).isDone(); + boolean gamemode = ScriptParseHelper.matches(((ServerPlayerEntity) player).gameMode.getGameModeForPlayer().getId(), override.getConditionGamemode()); boolean gamestage = true; if (ModList.get().isLoaded("gamestages")) { @@ -154,7 +154,7 @@ public class ScriptChecker } } - boolean position = ScriptParseHelper.matches(player.getPosition(), override.getConditionPosition()); + boolean position = ScriptParseHelper.matches(player.blockPosition(), override.getConditionPosition()); boolean xp = ScriptParseHelper.matches(player.experienceLevel, override.getConditionXp()); boolean scoreboard = ScriptParseHelper.matchesScore(player, override.getConditionScoreboard()); boolean effects = ScriptParseHelper.hasEffects(player, override.getConditionEffects()); diff --git a/src/main/java/tschipp/carryon/compat/obfuscate/ObfuscateEvents.java b/src/main/java/tschipp/carryon/compat/obfuscate/ObfuscateEvents.java index 02ada23..9a8c7a3 100644 --- a/src/main/java/tschipp/carryon/compat/obfuscate/ObfuscateEvents.java +++ b/src/main/java/tschipp/carryon/compat/obfuscate/ObfuscateEvents.java @@ -34,7 +34,7 @@ public class ObfuscateEvents return; PlayerModel model = event.getModelPlayer(); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)) { @@ -55,33 +55,33 @@ public class ObfuscateEvents if (renderLeft && rotLeft != null) { - renderArmPre(model.bipedLeftArm, (float) rotLeft[0], (float) rotLeft[2], rotation); - renderArmPre(model.bipedLeftArmwear, (float) rotLeft[0], (float) rotLeft[2], rotation); + renderArmPre(model.leftArm, (float) rotLeft[0], (float) rotLeft[2], rotation); + renderArmPre(model.leftSleeve, (float) rotLeft[0], (float) rotLeft[2], rotation); } else if (renderLeft) { - renderArmPre(model.bipedLeftArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); - renderArmPre(model.bipedLeftArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); + renderArmPre(model.leftArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); + renderArmPre(model.leftSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); } if (renderRight && rotRight != null) { - renderArmPre(model.bipedRightArm, (float) rotRight[0], (float) rotRight[2], rotation); - renderArmPre(model.bipedRightArmwear, (float) rotRight[0], (float) rotRight[2], rotation); + renderArmPre(model.rightArm, (float) rotRight[0], (float) rotRight[2], rotation); + renderArmPre(model.rightSleeve, (float) rotRight[0], (float) rotRight[2], rotation); } else if (renderRight) { - renderArmPre(model.bipedRightArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); - renderArmPre(model.bipedRightArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); + renderArmPre(model.rightArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); + renderArmPre(model.rightSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); } } else { - renderArmPre(model.bipedRightArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); - renderArmPre(model.bipedRightArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); - renderArmPre(model.bipedLeftArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); - renderArmPre(model.bipedLeftArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); + renderArmPre(model.rightArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); + renderArmPre(model.rightSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation); + renderArmPre(model.leftArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); + renderArmPre(model.leftSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation); } } @@ -92,9 +92,9 @@ public class ObfuscateEvents @OnlyIn(Dist.CLIENT) private void renderArmPre(ModelRenderer arm, float x, float z, float rotation) { - arm.rotateAngleX = (float) -x; - arm.rotateAngleY = (float) -Math.toRadians(rotation); - arm.rotateAngleZ = (float) z; + arm.xRot = (float) -x; + arm.yRot = (float) -Math.toRadians(rotation); + arm.zRot = (float) z; } diff --git a/src/main/java/tschipp/carryon/network/client/CarrySlotPacket.java b/src/main/java/tschipp/carryon/network/client/CarrySlotPacket.java index 588e9d7..890bdd6 100644 --- a/src/main/java/tschipp/carryon/network/client/CarrySlotPacket.java +++ b/src/main/java/tschipp/carryon/network/client/CarrySlotPacket.java @@ -53,7 +53,7 @@ public class CarrySlotPacket if (world != null) { - Entity e = world.getEntityByID(entityid); + Entity e = world.getEntity(entityid); if (e != null && e instanceof PlayerEntity) { diff --git a/src/main/java/tschipp/carryon/proxy/ClientProxy.java b/src/main/java/tschipp/carryon/proxy/ClientProxy.java index b70a009..ffe5223 100644 --- a/src/main/java/tschipp/carryon/proxy/ClientProxy.java +++ b/src/main/java/tschipp/carryon/proxy/ClientProxy.java @@ -33,6 +33,6 @@ public class ClientProxy implements IProxy { @Override public World getWorld() { - return Minecraft.getInstance().world; + return Minecraft.getInstance().level; } }