diff --git a/gradle.properties b/gradle.properties index aa81813..2d39b2d 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.13.0 -minecraft_version=1.15.2 -mcp_mappings=20200514-1.15.1 -forge_version=31.2.36 +version=1.14.0 +minecraft_version=1.16.2 +mcp_mappings=20200723-1.16.1 +forge_version=33.0.37 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 949819d..1d5b29f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip diff --git a/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java b/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java index c9d35a5..015da2b 100644 --- a/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java +++ b/src/main/java/tschipp/carryon/client/event/RenderEntityEvents.java @@ -8,7 +8,6 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; @@ -16,7 +15,8 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; -import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.vector.Vector3d; +import net.minecraft.util.math.vector.Vector3f; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -41,7 +41,7 @@ public class RenderEntityEvents World world = Minecraft.getInstance().world; PlayerEntity player = Minecraft.getInstance().player; ItemStack stack = player.getHeldItemMainhand(); - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); float partialticks = event.getPartialTicks(); MatrixStack matrix = event.getMatrixStack(); int light = event.getLight(); @@ -57,7 +57,7 @@ public class RenderEntityEvents if (entity != null) { - Vec3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); + Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); entity.setPosition(playerpos.x, playerpos.y, playerpos.z); entity.rotationYaw = 0.0f; diff --git a/src/main/java/tschipp/carryon/client/event/RenderEvents.java b/src/main/java/tschipp/carryon/client/event/RenderEvents.java index 4b1367d..e42d97f 100644 --- a/src/main/java/tschipp/carryon/client/event/RenderEvents.java +++ b/src/main/java/tschipp/carryon/client/event/RenderEvents.java @@ -16,10 +16,8 @@ import net.minecraft.client.entity.player.AbstractClientPlayerEntity; import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer.Impl; -import net.minecraft.client.renderer.Quaternion; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraft.client.renderer.entity.PlayerRenderer; import net.minecraft.client.renderer.entity.model.PlayerModel; @@ -37,7 +35,9 @@ import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.Hand; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.vector.Quaternion; +import net.minecraft.util.math.vector.Vector3d; +import net.minecraft.util.math.vector.Vector3f; import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.event.ClickEvent; @@ -138,7 +138,7 @@ public class RenderEvents StringTextComponent cf = new StringTextComponent(TextFormatting.AQUA + "Curseforge" + TextFormatting.RED); cf.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on")); - player.sendMessage(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 ").appendSibling(cf).appendText(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").appendSibling(cf)); + 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); } } @@ -232,7 +232,7 @@ public class RenderEvents World world = Minecraft.getInstance().world; PlayerEntity player = Minecraft.getInstance().player; ItemStack stack = player.getHeldItemMainhand(); - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); boolean f1 = Minecraft.getInstance().gameSettings.hideGUI; IRenderTypeBuffer buffer = event.getBuffers(); MatrixStack matrix = event.getMatrixStack(); @@ -308,7 +308,7 @@ public class RenderEvents Impl buffer = IRenderTypeBuffer.getImpl(Tessellator.getInstance().getBuffer()); MatrixStack matrix = event.getMatrixStack(); int light = 0; - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); EntityRendererManager manager = Minecraft.getInstance().getRenderManager(); RenderSystem.enableBlend(); @@ -421,11 +421,11 @@ public class RenderEvents private void applyGeneralTransformations(PlayerEntity player, float partialticks, MatrixStack matrix) { - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); Quaternion playerrot = CarryRenderHelper.getExactBodyRotation(player, partialticks); - Vec3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); - Vec3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView(); - Vec3d offset = playerpos.subtract(cameraPos); + Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks); + Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView(); + Vector3d offset = playerpos.subtract(cameraPos); Pose pose = player.getPose(); matrix.push(); @@ -479,14 +479,14 @@ public class RenderEvents matrix.rotate(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.rotationPitch))); } - Vec3d vec3d = player.getLook(partialticks); - Vec3d vec3d1 = player.getMotion(); - double d0 = Entity.horizontalMag(vec3d1); - double d1 = Entity.horizontalMag(vec3d); + Vector3d Vector3d = player.getLook(partialticks); + Vector3d Vector3d1 = player.getMotion(); + double d0 = Entity.horizontalMag(Vector3d1); + double d1 = Entity.horizontalMag(Vector3d); if (d0 > 0.0D && d1 > 0.0D) { - double d2 = (vec3d1.x * vec3d.x + vec3d1.z * vec3d.z) / (Math.sqrt(d0) * Math.sqrt(d1)); - double d3 = vec3d1.x * vec3d.z - vec3d1.z * vec3d.x; + 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)))); } @@ -501,7 +501,7 @@ public class RenderEvents private void applyBlockTransformations(PlayerEntity player, float partialticks, MatrixStack matrix, Block block) { - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); applyGeneralTransformations(player, partialticks, matrix); @@ -520,7 +520,7 @@ public class RenderEvents private void applyEntityTransformations(PlayerEntity player, float partialticks, MatrixStack matrix, Entity entity) { - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); Pose pose = player.getPose(); applyGeneralTransformations(player, partialticks, matrix); @@ -563,7 +563,7 @@ public class RenderEvents @OnlyIn(Dist.CLIENT) public void drawArms(PlayerEntity player, float partialticks, MatrixStack matrix, IRenderTypeBuffer buffer, int light) { - int perspective = Minecraft.getInstance().gameSettings.thirdPersonView; + int perspective = CarryRenderHelper.getPerspective(); Pose pose = player.getPose(); if (!Settings.renderArms.get()) diff --git a/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java b/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java index e9cc0db..08a0b3f 100644 --- a/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java +++ b/src/main/java/tschipp/carryon/client/helper/CarryRenderHelper.java @@ -5,24 +5,24 @@ import com.mojang.blaze3d.matrix.MatrixStack; import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.IRenderTypeBuffer; -import net.minecraft.client.renderer.Quaternion; -import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; -import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.vector.Quaternion; +import net.minecraft.util.math.vector.Vector3d; +import net.minecraft.util.math.vector.Vector3f; import tschipp.carryon.common.handler.ModelOverridesHandler; import tschipp.carryon.common.helper.ScriptParseHelper; import tschipp.carryon.common.scripting.CarryOnOverride; public class CarryRenderHelper { - public static Vec3d getExactPos(Entity entity, float partialticks) + public static Vector3d getExactPos(Entity entity, float partialticks) { - return new Vec3d(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.lastTickPosX + (entity.getPosX() - entity.lastTickPosX) * partialticks, entity.lastTickPosY + (entity.getPosY() - entity.lastTickPosY) * partialticks, entity.lastTickPosZ + (entity.getPosZ() - entity.lastTickPosZ) * partialticks); } public static float getExactBodyRotationDegrees(LivingEntity entity, float partialticks) @@ -68,4 +68,16 @@ public class CarryRenderHelper Minecraft.getInstance().getItemRenderer().renderItem(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); } + + public static int getPerspective() + { + boolean isThirdPerson = !Minecraft.getInstance().gameSettings.func_243230_g().func_243192_a(); + boolean isThirdPersonReverse = Minecraft.getInstance().gameSettings.func_243230_g().func_243193_b(); + + if(!isThirdPerson && !isThirdPersonReverse) + return 0; + if(isThirdPerson && !isThirdPersonReverse) + return 1; + return 2; + } } diff --git a/src/main/java/tschipp/carryon/common/capabilities/PositionProvider.java b/src/main/java/tschipp/carryon/common/capabilities/PositionProvider.java index cbd7baa..b4ada10 100644 --- a/src/main/java/tschipp/carryon/common/capabilities/PositionProvider.java +++ b/src/main/java/tschipp/carryon/common/capabilities/PositionProvider.java @@ -7,18 +7,23 @@ import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.ICapabilitySerializable; import net.minecraftforge.common.util.LazyOptional; -public class PositionProvider implements ICapabilitySerializable { +public class PositionProvider implements ICapabilitySerializable +{ @CapabilityInject(IPosition.class) public static final Capability POSITION_CAPABILITY = null; - + private IPosition instance = POSITION_CAPABILITY.getDefaultInstance(); @SuppressWarnings("unchecked") @Override public LazyOptional getCapability(Capability cap, Direction side) { - return (LazyOptional) LazyOptional.of(() -> {return new TEPosition();}); + if (cap == POSITION_CAPABILITY) + return (LazyOptional) LazyOptional.of(() -> { + return new TEPosition(); + }); + return null; } @Override @@ -30,7 +35,7 @@ public class PositionProvider implements ICapabilitySerializable { @Override public void deserializeNBT(CompoundNBT nbt) { - POSITION_CAPABILITY.getStorage().readNBT(POSITION_CAPABILITY, instance, null, nbt); + POSITION_CAPABILITY.getStorage().readNBT(POSITION_CAPABILITY, instance, null, nbt); } - + } diff --git a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java index e3e9024..87e74a3 100644 --- a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java +++ b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java @@ -43,9 +43,7 @@ public class CommandCarryOn return handleClear(cmd.getSource(), EntityArgument.getPlayers(cmd, "target")); }))) - .then(Commands.literal("reload").requires(src -> src.hasPermissionLevel(2)).executes((cmd) -> { - return handleReload(cmd.getSource()); - })); + ; dispatcher.register(builder); @@ -118,8 +116,8 @@ public class CommandCarryOn if (source.assertIsEntity() != null) { int cleared = 0; - cleared += player.inventory.clearMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64); - cleared += player.inventory.clearMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64); + cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, null); //TODO + cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, null); CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getEntityId())); @@ -140,19 +138,5 @@ public class CommandCarryOn return 0; } - - private static int handleReload(CommandSource source) - { - if (Settings.useScripts.get()) - { - ScriptReader.reloadScripts(); - CarryOn.network.send(PacketDistributor.ALL.noArg(), new ScriptReloadPacket()); - - source.sendFeedback(new StringTextComponent("Successfully reloaded scripts!"), true); - } else - source.sendErrorMessage(new StringTextComponent("To use custom Carry On scripts, enable them in the config!")); - - return 1; - } } diff --git a/src/main/java/tschipp/carryon/common/event/ItemEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEvents.java index b8b51b9..25daecc 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEvents.java @@ -1,8 +1,6 @@ package tschipp.carryon.common.event; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; +import java.util.Optional; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; @@ -25,11 +23,9 @@ import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.event.ClickEvent; import net.minecraft.util.text.event.ClickEvent.Action; import net.minecraft.world.GameRules; -import net.minecraft.world.GameRules.BooleanValue; -import net.minecraft.world.GameRules.RuleKey; import net.minecraft.world.World; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.event.TickEvent; +import net.minecraftforge.event.RegisterCommandsEvent; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; @@ -40,7 +36,6 @@ import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent; import net.minecraftforge.event.entity.player.PlayerEvent.StartTracking; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.world.BlockEvent.BreakEvent; -import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent; import net.minecraftforge.eventbus.api.Event.Result; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -65,15 +60,11 @@ import tschipp.carryon.common.item.ItemCarryonBlock; import tschipp.carryon.common.item.ItemCarryonEntity; import tschipp.carryon.common.scripting.CarryOnOverride; import tschipp.carryon.common.scripting.ScriptChecker; -import tschipp.carryon.common.scripting.ScriptReader; import tschipp.carryon.network.client.CarrySlotPacket; @EventBusSubscriber(modid = CarryOn.MODID) public class ItemEvents { - - public static Map positions = new HashMap(); - @SubscribeEvent(priority = EventPriority.HIGH) public void onBlockClick(PlayerInteractEvent.RightClickBlock event) { @@ -142,11 +133,11 @@ public class ItemEvents eitem.setItem(ItemStack.EMPTY); } - BlockPos pos = new BlockPos(Math.floor(eitem.getPosX()), Math.floor(eitem.getPosY()), Math.floor(eitem.getPosZ())); - if (positions.containsKey(pos)) - { - event.setCanceled(true); - } +// BlockPos pos = new BlockPos(Math.floor(eitem.getPosX()), Math.floor(eitem.getPosY()), Math.floor(eitem.getPosZ())); +// if (positions.containsKey(pos)) +// { +// event.setCanceled(true); +// } } } @@ -183,11 +174,16 @@ public class ItemEvents } } + + @SubscribeEvent + public void serverLoad(RegisterCommandsEvent event) + { + CommandCarryOn.register(event.getDispatcher()); + } + @SubscribeEvent public void serverLoad(FMLServerStartingEvent event) { - CommandCarryOn.register(event.getCommandDispatcher()); - ScriptReader.reloadScripts(); CustomPickupOverrideHandler.initPickupOverrides(); ListHandler.initLists(); @@ -284,27 +280,6 @@ public class ItemEvents } } - @SubscribeEvent - public void onWorldTick(TickEvent.WorldTickEvent event) - { - for (Entry entry : positions.entrySet()) - { - entry.setValue(entry.getValue() + 1); - - if (entry.getValue() > 3) - positions.remove(entry.getKey()); - } - } - - @SubscribeEvent - public void onDrop(HarvestDropsEvent event) - { - if (positions.containsKey(event.getPos())) - { - event.getDrops().clear(); - } - } - @SubscribeEvent public static void onBlockRightClick(PlayerInteractEvent.RightClickBlock event) { @@ -340,8 +315,6 @@ public class ItemEvents if (override != null) overrideHash = override.hashCode(); - positions.put(pos, 0); - boolean success = false; try @@ -372,12 +345,14 @@ public class ItemEvents sendPacket(player, 9, 0); world.setBlockState(pos, statee); if (!tag.isEmpty()) - TileEntity.create(tag); + { + TileEntity.readTileEntity(statee, tag); + } - player.sendMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block.")); + player.sendStatusMessage(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.sendMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").appendSibling(s)); + player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); } } @@ -452,7 +427,7 @@ public class ItemEvents PlayerEntity player = event.getPlayer(); boolean wasDead = event.isWasDeath(); GameRules rules = player.world.getGameRules(); - boolean keepInv = rules.getBoolean(new RuleKey("keepInventory")); + boolean keepInv = rules.getBoolean(GameRules.KEEP_INVENTORY); boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity)); if ((wasDead ? keepInv : true) && wasCarrying) @@ -464,7 +439,10 @@ public class ItemEvents ItemEntity item = new ItemEntity(world, 0, 0, 0); item.setItem(stack); - BlockPos pos = original.getBedLocation(original.dimension); + BlockPos pos = null; + Optional bedpos = original.getBedPosition(); + if(bedpos.isPresent()) + pos = bedpos.get(); if (pos == null) pos = player.getPosition(); item.setPosition(pos.getX(), pos.getY(), pos.getZ()); @@ -555,7 +533,7 @@ public class ItemEvents { if (player instanceof ServerPlayerEntity) { - CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.getDimension().getType())), new CarrySlotPacket(currentItem, player.getEntityId(), hash)); + CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.func_234923_W_())), new CarrySlotPacket(currentItem, player.getEntityId(), hash)); CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getEntityId(), hash)); if (currentItem >= 9) diff --git a/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java b/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java index 905c0b2..58779b4 100644 --- a/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java +++ b/src/main/java/tschipp/carryon/common/item/ItemCarryonBlock.java @@ -19,17 +19,12 @@ import net.minecraft.item.ItemUseContext; import net.minecraft.nbt.CompoundNBT; import net.minecraft.potion.EffectInstance; import net.minecraft.potion.Effects; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.DirectionProperty; -import net.minecraft.state.EnumProperty; -import net.minecraft.state.IProperty; -import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; @@ -75,7 +70,7 @@ public class ItemCarryonBlock extends Item else { BlockState ostate = (BlockState) override; - return ostate.getBlock().getNameTextComponent(); + return ostate.getBlock().getTranslatedName(); } } @@ -85,7 +80,6 @@ public class ItemCarryonBlock extends Item return new StringTextComponent(""); } - @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public ActionResultType onItemUse(ItemUseContext context) { @@ -105,7 +99,7 @@ public class ItemCarryonBlock extends Item { try { - Vec3d vec = player.getLookVec(); + Vector3d vec = player.getLookVec(); Direction facing2 = Direction.getFacingFromVector((float) vec.x, 0f, (float) vec.z); BlockPos pos2 = pos; Block containedblock = getBlock(stack); @@ -144,7 +138,7 @@ public class ItemCarryonBlock extends Item // } // } - BlockSnapshot snapshot = new BlockSnapshot(world, pos2, containedstate); + BlockSnapshot snapshot = BlockSnapshot.create(world.func_234923_W_(), world, pos2); EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player); MinecraftForge.EVENT_BUS.post(event); @@ -169,7 +163,7 @@ public class ItemCarryonBlock extends Item switch (type) { case 8: - tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName().toUpperCase() : facing2.getOpposite().getName()); + tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName2().toUpperCase() : facing2.getOpposite().getName2()); break; case 3: tag.putInt(key, facing2.getOpposite().getIndex()); @@ -223,10 +217,10 @@ public class ItemCarryonBlock extends Item if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(stack))) CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(stack))); - player.sendMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item")); + player.sendStatusMessage(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.sendMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").appendSibling(s)); + player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false); } } diff --git a/src/main/java/tschipp/carryon/common/scripting/ScriptReader.java b/src/main/java/tschipp/carryon/common/scripting/ScriptReader.java index d4b3516..f70446e 100644 --- a/src/main/java/tschipp/carryon/common/scripting/ScriptReader.java +++ b/src/main/java/tschipp/carryon/common/scripting/ScriptReader.java @@ -197,25 +197,4 @@ public class ScriptReader CarryOn.LOGGER.error(e); } } - - public static void reloadScripts() - { - scripts.clear(); - OVERRIDES.clear(); - - for (File file : CarryOn.CONFIGURATION_FILE.listFiles()) - { - if (file.getName().endsWith(".json")) - scripts.add(file); - } - - try - { - parseScripts(); - } catch (Exception e) - { - e.printStackTrace(); - } - } - } diff --git a/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java b/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java index bfa44fb..6f5ca08 100644 --- a/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java +++ b/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java @@ -4,12 +4,14 @@ import java.util.Map; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.JsonObject; +import com.google.gson.JsonElement; import net.minecraft.client.resources.JsonReloadListener; import net.minecraft.profiler.IProfiler; import net.minecraft.resources.IResourceManager; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.event.AddReloadListenerEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.fml.common.thread.EffectiveSide; @@ -29,7 +31,7 @@ public class ScriptReloadListener extends JsonReloadListener } @Override - protected void apply(Map objects, IResourceManager manager, IProfiler profiler) + protected void apply(Map objects, IResourceManager manager, IProfiler profiler) { ScriptReader.OVERRIDES.clear(); @@ -44,9 +46,9 @@ public class ScriptReloadListener extends JsonReloadListener } } + @SubscribeEvent public static void onDatapackRegister(AddReloadListenerEvent event) { - + event.addListener(new ScriptReloadListener()); } - } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index f042258..2eea75f 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[31,)" +loaderVersion="[33,)" issueTrackerURL="https://github.com/Tschipp/CarryOn/issues" logoFile="logo.png" license="GNU LGPLv3" @@ -18,7 +18,7 @@ license="GNU LGPLv3" # Does this dependency have to exist - if not, ordering below must be specified mandatory=true #mandatory # The version range of the dependency - versionRange="[31.2.36,)" #mandatory + versionRange="[33.0.37,)" #mandatory # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory ordering="NONE" # Side this dependency is applied on - BOTH, CLIENT or SERVER @@ -27,6 +27,6 @@ license="GNU LGPLv3" [[dependencies.carryon]] modId="minecraft" mandatory=true - versionRange="[1.15.2,1.16)" + versionRange="[1.16.2,1.17)" ordering="NONE" side="BOTH" \ No newline at end of file