diff --git a/.gitignore b/.gitignore index 461017f..57e856b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ build eclipse run runs + +# vscode +.vscode/* \ No newline at end of file diff --git a/Common/src/main/java/tschipp/carryon/CarryOnCommon.java b/Common/src/main/java/tschipp/carryon/CarryOnCommon.java index 40cba15..0e570f3 100644 --- a/Common/src/main/java/tschipp/carryon/CarryOnCommon.java +++ b/Common/src/main/java/tschipp/carryon/CarryOnCommon.java @@ -26,10 +26,7 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.RegistryAccess; import net.minecraft.core.RegistrySetBuilder; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -111,6 +108,10 @@ public class CarryOnCommon CarryOnData carry = CarryOnDataManager.getCarryData(player); if(carry.isCarrying()) { + // Dumb Fix to sync Carry Data after a respawn with KeepInventory, because we can't sync in the first tick. + if(player.tickCount == 1) + CarryOnDataManager.setCarryData(player, carry); + if(carry.getActiveScript().isPresent()) { String cmd = carry.getActiveScript().get().scriptEffects().commandLoop(); diff --git a/Common/src/main/java/tschipp/carryon/client/modeloverride/ModelOverride.java b/Common/src/main/java/tschipp/carryon/client/modeloverride/ModelOverride.java index 09c1b0a..58fa3d8 100644 --- a/Common/src/main/java/tschipp/carryon/client/modeloverride/ModelOverride.java +++ b/Common/src/main/java/tschipp/carryon/client/modeloverride/ModelOverride.java @@ -23,7 +23,6 @@ package tschipp.carryon.client.modeloverride; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.datafixers.util.Either; -import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import net.minecraft.commands.arguments.blocks.BlockStateParser; import net.minecraft.commands.arguments.blocks.BlockStateParser.BlockResult; diff --git a/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java b/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java index 5090b6e..f4d4a6c 100644 --- a/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java +++ b/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java @@ -20,19 +20,13 @@ package tschipp.carryon.client.render; -import com.mojang.blaze3d.pipeline.BlendFunction; -import com.mojang.blaze3d.pipeline.RenderPipeline; -import com.mojang.blaze3d.pipeline.RenderTarget; -import com.mojang.blaze3d.platform.DepthTestFunction; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.textures.GpuTexture; -import com.mojang.blaze3d.vertex.*; +import com.mojang.blaze3d.vertex.ByteBufferBuilder; +import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource.BufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.ShaderDefines; import net.minecraft.client.renderer.entity.EntityRenderDispatcher; import net.minecraft.client.renderer.item.ItemStackRenderState; import net.minecraft.client.renderer.texture.OverlayTexture; @@ -41,13 +35,11 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -import org.jetbrains.annotations.NotNull; import org.joml.Matrix4f; import tschipp.carryon.Constants; import tschipp.carryon.common.carry.CarryOnData; @@ -57,7 +49,10 @@ import tschipp.carryon.common.scripting.CarryOnScript; import tschipp.carryon.common.scripting.CarryOnScript.ScriptRender; import tschipp.carryon.platform.Services; -import java.util.*; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Optional; +import java.util.SequencedMap; public class CarriedObjectRender { diff --git a/Common/src/main/java/tschipp/carryon/common/carry/CarryOnData.java b/Common/src/main/java/tschipp/carryon/common/carry/CarryOnData.java index 9224cfb..6aa089c 100644 --- a/Common/src/main/java/tschipp/carryon/common/carry/CarryOnData.java +++ b/Common/src/main/java/tschipp/carryon/common/carry/CarryOnData.java @@ -22,7 +22,6 @@ package tschipp.carryon.common.carry; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; -import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; @@ -50,7 +49,6 @@ import tschipp.carryon.Constants; import tschipp.carryon.common.scripting.CarryOnScript; import javax.annotation.Nullable; -import java.util.Objects; import java.util.Optional; public class CarryOnData { diff --git a/Common/src/main/java/tschipp/carryon/common/carry/CarryOnDataManager.java b/Common/src/main/java/tschipp/carryon/common/carry/CarryOnDataManager.java index 8a96518..cdf09cf 100644 --- a/Common/src/main/java/tschipp/carryon/common/carry/CarryOnDataManager.java +++ b/Common/src/main/java/tschipp/carryon/common/carry/CarryOnDataManager.java @@ -20,11 +20,6 @@ package tschipp.carryon.common.carry; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.syncher.EntityDataAccessor; -import net.minecraft.network.syncher.EntityDataSerializers; -import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Player; import tschipp.carryon.platform.Services; diff --git a/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java b/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java index 6f3d371..67cd3a7 100644 --- a/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java +++ b/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java @@ -50,7 +50,6 @@ import tschipp.carryon.common.pickupcondition.PickupConditionHandler; import tschipp.carryon.common.scripting.CarryOnScript; import tschipp.carryon.common.scripting.ScriptManager; import tschipp.carryon.networking.clientbound.ClientboundStartRidingOtherPlayerPacket; -import tschipp.carryon.networking.clientbound.ClientboundStartRidingPacket; import tschipp.carryon.platform.Services; import javax.annotation.Nullable; diff --git a/Common/src/main/java/tschipp/carryon/common/carry/PlacementHandler.java b/Common/src/main/java/tschipp/carryon/common/carry/PlacementHandler.java index e871dcf..2ffaffa 100644 --- a/Common/src/main/java/tschipp/carryon/common/carry/PlacementHandler.java +++ b/Common/src/main/java/tschipp/carryon/common/carry/PlacementHandler.java @@ -22,12 +22,10 @@ package tschipp.carryon.common.carry; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; @@ -44,7 +42,6 @@ import net.minecraft.world.level.block.state.properties.Property; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; -import tschipp.carryon.CarryOnCommon; import tschipp.carryon.Constants; import tschipp.carryon.common.carry.CarryOnData.CarryType; import tschipp.carryon.common.config.ListHandler; @@ -290,7 +287,7 @@ public class PlacementHandler public static void placeCarriedOnDeath(ServerPlayer oldPlayer, ServerPlayer newPlayer, boolean died) { CarryOnData carry = CarryOnDataManager.getCarryData(oldPlayer); - if (((ServerLevel) oldPlayer.level()).getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) || !died) { + if (oldPlayer.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) || !died) { if (!carry.isCarrying(CarryType.PLAYER)) { CarryOnDataManager.setCarryData(newPlayer, carry); newPlayer.getInventory().setSelectedSlot(oldPlayer.getInventory().getSelectedSlot()); diff --git a/Common/src/main/java/tschipp/carryon/common/scripting/Matchables.java b/Common/src/main/java/tschipp/carryon/common/scripting/Matchables.java index db8a4ab..89d1bec 100644 --- a/Common/src/main/java/tschipp/carryon/common/scripting/Matchables.java +++ b/Common/src/main/java/tschipp/carryon/common/scripting/Matchables.java @@ -22,10 +22,8 @@ package tschipp.carryon.common.scripting; import com.mojang.serialization.Codec; import it.unimi.dsi.fastutil.objects.Object2IntMap; -import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.resources.ResourceLocation; @@ -34,11 +32,13 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.phys.Vec3; import net.minecraft.world.scores.Objective; -import net.minecraft.world.scores.Score; import net.minecraft.world.scores.Scoreboard; import tschipp.carryon.platform.Services; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Optional; public final class Matchables { diff --git a/Common/src/main/java/tschipp/carryon/common/scripting/ScriptManager.java b/Common/src/main/java/tschipp/carryon/common/scripting/ScriptManager.java index 9e8687e..b634fe0 100644 --- a/Common/src/main/java/tschipp/carryon/common/scripting/ScriptManager.java +++ b/Common/src/main/java/tschipp/carryon/common/scripting/ScriptManager.java @@ -23,7 +23,6 @@ package tschipp.carryon.common.scripting; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.Tag; import net.minecraft.util.ProblemReporter; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; diff --git a/Common/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java b/Common/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java index 0c998ac..8698299 100644 --- a/Common/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java +++ b/Common/src/main/java/tschipp/carryon/common/scripting/ScriptReloadListener.java @@ -20,13 +20,8 @@ package tschipp.carryon.common.scripting; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; -import com.mojang.serialization.JsonOps; -import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtOps; import net.minecraft.nbt.Tag; import net.minecraft.resources.FileToIdConverter; @@ -37,11 +32,9 @@ import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; import net.minecraft.util.profiling.ProfilerFiller; import org.jetbrains.annotations.NotNull; import tschipp.carryon.Constants; -import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.networking.clientbound.ClientboundSyncScriptsPacket; import tschipp.carryon.platform.Services; -import java.util.Collections; import java.util.Map; public class ScriptReloadListener extends SimpleJsonResourceReloadListener diff --git a/Common/src/main/java/tschipp/carryon/compat/ClothConfigCompat.java b/Common/src/main/java/tschipp/carryon/compat/ClothConfigCompat.java index 597c2af..3bfb0ba 100644 --- a/Common/src/main/java/tschipp/carryon/compat/ClothConfigCompat.java +++ b/Common/src/main/java/tschipp/carryon/compat/ClothConfigCompat.java @@ -4,13 +4,11 @@ import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import me.shedaniel.clothconfig2.impl.builders.SubCategoryBuilder; -import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import tschipp.carryon.config.AnnotationData; import tschipp.carryon.config.BuiltCategory; import tschipp.carryon.config.BuiltConfig; -import tschipp.carryon.config.ConfigLoader; import javax.annotation.Nullable; import java.util.List; diff --git a/Common/src/main/java/tschipp/carryon/mixin/HumanoidModelMixin.java b/Common/src/main/java/tschipp/carryon/mixin/HumanoidModelMixin.java index 0a9074c..dd672b7 100644 --- a/Common/src/main/java/tschipp/carryon/mixin/HumanoidModelMixin.java +++ b/Common/src/main/java/tschipp/carryon/mixin/HumanoidModelMixin.java @@ -23,7 +23,6 @@ package tschipp.carryon.mixin; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.renderer.entity.state.HumanoidRenderState; -import net.minecraft.client.renderer.entity.state.PlayerRenderState; import net.minecraft.world.phys.Vec3; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/Common/src/main/java/tschipp/carryon/mixin/InventoryMixin.java b/Common/src/main/java/tschipp/carryon/mixin/InventoryMixin.java index 78a701f..4446fdf 100644 --- a/Common/src/main/java/tschipp/carryon/mixin/InventoryMixin.java +++ b/Common/src/main/java/tschipp/carryon/mixin/InventoryMixin.java @@ -23,7 +23,6 @@ package tschipp.carryon.mixin; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import net.minecraft.core.NonNullList; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -33,7 +32,6 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.common.carry.CarryOnDataManager; diff --git a/Common/src/main/java/tschipp/carryon/mixin/MinecraftMixin.java b/Common/src/main/java/tschipp/carryon/mixin/MinecraftMixin.java index bbe8a51..da24a56 100644 --- a/Common/src/main/java/tschipp/carryon/mixin/MinecraftMixin.java +++ b/Common/src/main/java/tschipp/carryon/mixin/MinecraftMixin.java @@ -25,7 +25,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.world.entity.player.Inventory; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; import tschipp.carryon.common.carry.CarryOnDataManager; @Mixin(Minecraft.class) diff --git a/Common/src/main/java/tschipp/carryon/mixin/PlayerMixin.java b/Common/src/main/java/tschipp/carryon/mixin/PlayerMixin.java index 7248965..1806385 100644 --- a/Common/src/main/java/tschipp/carryon/mixin/PlayerMixin.java +++ b/Common/src/main/java/tschipp/carryon/mixin/PlayerMixin.java @@ -21,20 +21,12 @@ package tschipp.carryon.mixin; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.syncher.EntityDataAccessor; -import net.minecraft.network.syncher.EntityDataSerializers; -import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.storage.ValueInput; -import net.minecraft.world.level.storage.ValueOutput; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; diff --git a/Common/src/main/java/tschipp/carryon/networking/PacketBase.java b/Common/src/main/java/tschipp/carryon/networking/PacketBase.java index f43a452..82d1cb3 100644 --- a/Common/src/main/java/tschipp/carryon/networking/PacketBase.java +++ b/Common/src/main/java/tschipp/carryon/networking/PacketBase.java @@ -20,12 +20,7 @@ package tschipp.carryon.networking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.network.codec.StreamCodec; -import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; public interface PacketBase extends CustomPacketPayload { diff --git a/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundStartRidingPacket.java b/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundStartRidingPacket.java index 7cac4e4..2595b7a 100644 --- a/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundStartRidingPacket.java +++ b/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundStartRidingPacket.java @@ -20,12 +20,10 @@ package tschipp.carryon.networking.clientbound; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import tschipp.carryon.Constants; diff --git a/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundSyncScriptsPacket.java b/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundSyncScriptsPacket.java index 727db6f..1a0988c 100644 --- a/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundSyncScriptsPacket.java +++ b/Common/src/main/java/tschipp/carryon/networking/clientbound/ClientboundSyncScriptsPacket.java @@ -22,16 +22,12 @@ package tschipp.carryon.networking.clientbound; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; -import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtOps; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import tschipp.carryon.Constants; import tschipp.carryon.common.scripting.CarryOnScript; diff --git a/Common/src/main/java/tschipp/carryon/networking/serverbound/ServerboundCarryKeyPressedPacket.java b/Common/src/main/java/tschipp/carryon/networking/serverbound/ServerboundCarryKeyPressedPacket.java index 460d418..b98ed28 100644 --- a/Common/src/main/java/tschipp/carryon/networking/serverbound/ServerboundCarryKeyPressedPacket.java +++ b/Common/src/main/java/tschipp/carryon/networking/serverbound/ServerboundCarryKeyPressedPacket.java @@ -20,20 +20,15 @@ package tschipp.carryon.networking.serverbound; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Player; import tschipp.carryon.Constants; import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.common.carry.CarryOnDataManager; import tschipp.carryon.networking.PacketBase; -import tschipp.carryon.networking.clientbound.ClientboundStartRidingPacket; -import tschipp.carryon.networking.clientbound.ClientboundSyncScriptsPacket; public record ServerboundCarryKeyPressedPacket(boolean pressed) implements PacketBase { diff --git a/Common/src/main/java/tschipp/carryon/platform/services/IPlatformHelper.java b/Common/src/main/java/tschipp/carryon/platform/services/IPlatformHelper.java index 07c1d68..73a1351 100644 --- a/Common/src/main/java/tschipp/carryon/platform/services/IPlatformHelper.java +++ b/Common/src/main/java/tschipp/carryon/platform/services/IPlatformHelper.java @@ -20,9 +20,7 @@ package tschipp.carryon.platform.services; -import net.minecraft.core.HolderLookup; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; @@ -30,12 +28,10 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Player; import tschipp.carryon.common.carry.CarryOnData; -import tschipp.carryon.common.carry.CarryOnDataManager; import tschipp.carryon.config.BuiltConfig; import tschipp.carryon.networking.PacketBase; import java.util.function.BiConsumer; -import java.util.function.Function; public interface IPlatformHelper { diff --git a/Common/src/main/resources/carryon.mixins.json b/Common/src/main/resources/carryon.mixins.json index 820444e..83ee0f2 100644 --- a/Common/src/main/resources/carryon.mixins.json +++ b/Common/src/main/resources/carryon.mixins.json @@ -9,10 +9,10 @@ "PlayerMixin" ], "client": [ + "EntityRendererMixin", "HumanoidModelMixin", "MinecraftMixin", - "PlayerRenderStateMixin", - "EntityRendererMixin" + "PlayerRenderStateMixin" ], "server": [ ], diff --git a/Fabric/src/main/java/tschipp/carryon/CarryOnFabricClientMod.java b/Fabric/src/main/java/tschipp/carryon/CarryOnFabricClientMod.java index fbd4b1d..9798475 100644 --- a/Fabric/src/main/java/tschipp/carryon/CarryOnFabricClientMod.java +++ b/Fabric/src/main/java/tschipp/carryon/CarryOnFabricClientMod.java @@ -23,20 +23,13 @@ package tschipp.carryon; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import tschipp.carryon.client.keybinds.CarryOnKeybinds; import tschipp.carryon.events.ClientEvents; import tschipp.carryon.networking.PacketBase; import java.util.function.BiConsumer; -import java.util.function.Function; public class CarryOnFabricClientMod implements ClientModInitializer { diff --git a/Fabric/src/main/java/tschipp/carryon/CarryOnFabricMod.java b/Fabric/src/main/java/tschipp/carryon/CarryOnFabricMod.java index e5c7c43..e5580ad 100644 --- a/Fabric/src/main/java/tschipp/carryon/CarryOnFabricMod.java +++ b/Fabric/src/main/java/tschipp/carryon/CarryOnFabricMod.java @@ -22,10 +22,10 @@ package tschipp.carryon; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.attachment.v1.AttachmentRegistry; -import net.fabricmc.fabric.api.attachment.v1.AttachmentSyncPredicate; import net.fabricmc.fabric.api.attachment.v1.AttachmentType; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.config.fabric.ConfigLoaderImpl; import tschipp.carryon.events.CommonEvents; @@ -39,8 +39,15 @@ public class CarryOnFabricMod implements ModInitializer { builder -> builder .initializer(() -> new CarryOnData(new CompoundTag())) .persistent(CarryOnData.CODEC) - .syncWith(CarryOnData.STREAM_CODEC, (t, p) -> p.connection != null) - .copyOnDeath() + .syncWith(CarryOnData.STREAM_CODEC, (t, p) ->{ + ServerPlayer player = (ServerPlayer) t; + // the isAlive check avoids us syncing attachment data about dead players. Which causes a disconnect + // player.tickCount > 0 avoids us syncing attachment data about players the instant they spawn. + // Which also causes a disconnect as the player entity may not be synced yet. + return p.connection != null && player.isAlive() && !p.isRemoved() && player.tickCount > 0; + }) + + ); diff --git a/Fabric/src/main/java/tschipp/carryon/compat/ArchitecturyCompat.java b/Fabric/src/main/java/tschipp/carryon/compat/ArchitecturyCompat.java index 0d8a3e2..9a2245a 100644 --- a/Fabric/src/main/java/tschipp/carryon/compat/ArchitecturyCompat.java +++ b/Fabric/src/main/java/tschipp/carryon/compat/ArchitecturyCompat.java @@ -20,7 +20,6 @@ package tschipp.carryon.compat; -import net.fabricmc.fabric.api.event.Event; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; diff --git a/Fabric/src/main/java/tschipp/carryon/config/fabric/ConfigLoaderImpl.java b/Fabric/src/main/java/tschipp/carryon/config/fabric/ConfigLoaderImpl.java index fd385ea..fd3cc16 100644 --- a/Fabric/src/main/java/tschipp/carryon/config/fabric/ConfigLoaderImpl.java +++ b/Fabric/src/main/java/tschipp/carryon/config/fabric/ConfigLoaderImpl.java @@ -23,8 +23,6 @@ package tschipp.carryon.config.fabric; import com.google.gson.*; import net.fabricmc.loader.api.FabricLoader; import org.apache.commons.io.FileUtils; -import tschipp.carryon.Constants; -import tschipp.carryon.common.config.CarryConfig; import tschipp.carryon.common.config.ListHandler; import tschipp.carryon.config.*; @@ -32,7 +30,10 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; public class ConfigLoaderImpl { diff --git a/Fabric/src/main/java/tschipp/carryon/events/CommonEvents.java b/Fabric/src/main/java/tschipp/carryon/events/CommonEvents.java index fc7f9ac..f0de4d7 100644 --- a/Fabric/src/main/java/tschipp/carryon/events/CommonEvents.java +++ b/Fabric/src/main/java/tschipp/carryon/events/CommonEvents.java @@ -55,7 +55,7 @@ public class CommonEvents { UseBlockCallback.EVENT.register((player, world, hand, hitResult) -> { - if(world.isClientSide) + if(world.isClientSide()) return InteractionResult.PASS; BlockPos pos = hitResult.getBlockPos(); @@ -96,7 +96,7 @@ public class CommonEvents { UseEntityCallback.EVENT.register((player, level, hand, entity, hitResult) -> { - if(level.isClientSide) + if(level.isClientSide()) return InteractionResult.PASS; CarryOnData carry = CarryOnDataManager.getCarryData(player); diff --git a/Fabric/src/main/java/tschipp/carryon/mixin/ItemInHandRendererMixin.java b/Fabric/src/main/java/tschipp/carryon/mixin/ItemInHandRendererMixin.java index fc12a3e..27e7e08 100644 --- a/Fabric/src/main/java/tschipp/carryon/mixin/ItemInHandRendererMixin.java +++ b/Fabric/src/main/java/tschipp/carryon/mixin/ItemInHandRendererMixin.java @@ -21,23 +21,17 @@ package tschipp.carryon.mixin; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; import net.minecraft.client.player.AbstractClientPlayer; -import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.ItemInHandRenderer; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderBuffers; import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import tschipp.carryon.client.render.CarriedObjectRender; import tschipp.carryon.client.render.CarryRenderHelper; -import tschipp.carryon.platform.Services; @Mixin(ItemInHandRenderer.class) public class ItemInHandRendererMixin diff --git a/Fabric/src/main/java/tschipp/carryon/platform/FabricPlatformHelper.java b/Fabric/src/main/java/tschipp/carryon/platform/FabricPlatformHelper.java index 64d4bdf..740c144 100644 --- a/Fabric/src/main/java/tschipp/carryon/platform/FabricPlatformHelper.java +++ b/Fabric/src/main/java/tschipp/carryon/platform/FabricPlatformHelper.java @@ -20,17 +20,12 @@ package tschipp.carryon.platform; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.PlayPayloadHandler; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.network.codec.StreamDecoder; -import net.minecraft.network.codec.StreamMemberEncoder; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; @@ -44,7 +39,6 @@ import tschipp.carryon.networking.PacketBase; import tschipp.carryon.platform.services.IPlatformHelper; import java.util.function.BiConsumer; -import java.util.function.Function; public class FabricPlatformHelper implements IPlatformHelper { diff --git a/Forge/src/main/java/tschipp/carryon/CarryOnForge.java b/Forge/src/main/java/tschipp/carryon/CarryOnForge.java index 292bf7b..9c773ee 100644 --- a/Forge/src/main/java/tschipp/carryon/CarryOnForge.java +++ b/Forge/src/main/java/tschipp/carryon/CarryOnForge.java @@ -30,7 +30,6 @@ import net.minecraftforge.network.ChannelBuilder; import net.minecraftforge.network.SimpleChannel; import tschipp.carryon.config.forge.ConfigLoaderImpl; import tschipp.carryon.networking.ClientboundSyncCarryDataPacket; -import tschipp.carryon.networking.clientbound.ClientboundStartRidingPacket; import tschipp.carryon.platform.Services; @Mod(Constants.MOD_ID) diff --git a/Forge/src/main/java/tschipp/carryon/carry/ICarryOnDataCapability.java b/Forge/src/main/java/tschipp/carryon/carry/ICarryOnDataCapability.java index 49ab1f8..17c9e11 100644 --- a/Forge/src/main/java/tschipp/carryon/carry/ICarryOnDataCapability.java +++ b/Forge/src/main/java/tschipp/carryon/carry/ICarryOnDataCapability.java @@ -2,7 +2,6 @@ package tschipp.carryon.carry; import net.minecraftforge.common.capabilities.AutoRegisterCapability; import tschipp.carryon.common.carry.CarryOnData; -import tschipp.carryon.common.carry.CarryOnDataManager; @AutoRegisterCapability public interface ICarryOnDataCapability { diff --git a/Forge/src/main/java/tschipp/carryon/compat/ClothConfigCompatForge.java b/Forge/src/main/java/tschipp/carryon/compat/ClothConfigCompatForge.java index 516b364..b45e616 100644 --- a/Forge/src/main/java/tschipp/carryon/compat/ClothConfigCompatForge.java +++ b/Forge/src/main/java/tschipp/carryon/compat/ClothConfigCompatForge.java @@ -1,9 +1,5 @@ package tschipp.carryon.compat; -import net.minecraft.client.gui.screens.Screen; -import tschipp.carryon.config.BuiltConfig; -import tschipp.carryon.config.forge.ConfigLoaderImpl; - public class ClothConfigCompatForge { // public static Screen createScreen(BuiltConfig client, BuiltConfig common, Screen screen) { diff --git a/Forge/src/main/java/tschipp/carryon/config/forge/ConfigLoaderImpl.java b/Forge/src/main/java/tschipp/carryon/config/forge/ConfigLoaderImpl.java index 39bda58..afdae29 100644 --- a/Forge/src/main/java/tschipp/carryon/config/forge/ConfigLoaderImpl.java +++ b/Forge/src/main/java/tschipp/carryon/config/forge/ConfigLoaderImpl.java @@ -22,23 +22,18 @@ package tschipp.carryon.config.forge; import com.electronwill.nightconfig.core.AbstractConfig; import com.electronwill.nightconfig.core.UnmodifiableConfig; -import net.minecraft.client.Minecraft; -import net.minecraft.server.MinecraftServer; -import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.common.util.LogicalSidedProvider; import net.minecraftforge.eventbus.api.listener.SubscribeEvent; -import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.IConfigSpec; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.config.ModConfigEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.loading.FMLServiceProvider; -import net.minecraftforge.server.ServerLifecycleHooks; import tschipp.carryon.Constants; -import tschipp.carryon.config.*; +import tschipp.carryon.config.AnnotationData; +import tschipp.carryon.config.BuiltCategory; +import tschipp.carryon.config.BuiltConfig; +import tschipp.carryon.config.PropertyData; import java.util.*; diff --git a/Forge/src/main/java/tschipp/carryon/events/ClientEvents.java b/Forge/src/main/java/tschipp/carryon/events/ClientEvents.java index 4e557af..94efb96 100644 --- a/Forge/src/main/java/tschipp/carryon/events/ClientEvents.java +++ b/Forge/src/main/java/tschipp/carryon/events/ClientEvents.java @@ -26,11 +26,9 @@ import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.world.entity.player.Player; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RenderHandEvent; import net.minecraftforge.client.event.ScreenEvent; import net.minecraftforge.event.TickEvent.ClientTickEvent; -import net.minecraftforge.event.TickEvent.Phase; import net.minecraftforge.eventbus.api.listener.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import tschipp.carryon.CarryOnCommonClient; diff --git a/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java b/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java index b91d5f9..05d5890 100644 --- a/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java +++ b/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java @@ -30,11 +30,9 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.BlockSnapshot; import net.minecraftforge.common.util.Result; import net.minecraftforge.event.*; -import net.minecraftforge.event.TickEvent.Phase; import net.minecraftforge.event.TickEvent.ServerTickEvent; import net.minecraftforge.event.entity.EntityJoinLevelEvent; import net.minecraftforge.event.entity.living.LivingAttackEvent; @@ -50,7 +48,6 @@ import net.minecraftforge.event.level.BlockEvent.EntityPlaceEvent; import net.minecraftforge.eventbus.api.listener.Priority; import net.minecraftforge.eventbus.api.listener.SubscribeEvent; import net.minecraftforge.fml.common.Mod; -import oshi.jna.platform.mac.SystemB; import tschipp.carryon.CarryOnCommon; import tschipp.carryon.Constants; import tschipp.carryon.carry.CarryOnDataCapabilityProvider; diff --git a/Forge/src/main/java/tschipp/carryon/events/ModBusEvents.java b/Forge/src/main/java/tschipp/carryon/events/ModBusEvents.java index aa8d7f8..7430b88 100644 --- a/Forge/src/main/java/tschipp/carryon/events/ModBusEvents.java +++ b/Forge/src/main/java/tschipp/carryon/events/ModBusEvents.java @@ -19,15 +19,14 @@ */ package tschipp.carryon.events; + import net.minecraftforge.eventbus.api.listener.Priority; import net.minecraftforge.eventbus.api.listener.SubscribeEvent; import net.minecraftforge.fml.InterModComms; import net.minecraftforge.fml.InterModComms.IMCMessage; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; import tschipp.carryon.Constants; -import tschipp.carryon.client.modeloverride.ModelOverrideHandler; import tschipp.carryon.common.config.ListHandler; import java.util.stream.Stream; diff --git a/Forge/src/main/java/tschipp/carryon/events/ModClientEvents.java b/Forge/src/main/java/tschipp/carryon/events/ModClientEvents.java index 98c4e34..e021275 100644 --- a/Forge/src/main/java/tschipp/carryon/events/ModClientEvents.java +++ b/Forge/src/main/java/tschipp/carryon/events/ModClientEvents.java @@ -21,17 +21,13 @@ package tschipp.carryon.events; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.ConfigScreenHandler; import net.minecraftforge.client.event.RegisterKeyMappingsEvent; import net.minecraftforge.eventbus.api.listener.SubscribeEvent; -import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import tschipp.carryon.Constants; import tschipp.carryon.client.keybinds.CarryOnKeybinds; -import tschipp.carryon.compat.ClothConfigCompatForge; import tschipp.carryon.config.BuiltConfig; import tschipp.carryon.config.forge.ConfigLoaderImpl; import tschipp.carryon.platform.Services; diff --git a/Forge/src/main/java/tschipp/carryon/mixin/ParticleEngineMixin.java b/Forge/src/main/java/tschipp/carryon/mixin/ParticleEngineMixin.java index 44632dc..6d4000b 100644 --- a/Forge/src/main/java/tschipp/carryon/mixin/ParticleEngineMixin.java +++ b/Forge/src/main/java/tschipp/carryon/mixin/ParticleEngineMixin.java @@ -23,7 +23,6 @@ package tschipp.carryon.mixin; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Camera; import net.minecraft.client.particle.ParticleEngine; -import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.culling.Frustum; import org.spongepowered.asm.mixin.Mixin; diff --git a/Forge/src/main/java/tschipp/carryon/networking/ClientboundSyncCarryDataPacket.java b/Forge/src/main/java/tschipp/carryon/networking/ClientboundSyncCarryDataPacket.java index 25e37c4..e78deb7 100644 --- a/Forge/src/main/java/tschipp/carryon/networking/ClientboundSyncCarryDataPacket.java +++ b/Forge/src/main/java/tschipp/carryon/networking/ClientboundSyncCarryDataPacket.java @@ -9,7 +9,6 @@ import net.minecraft.world.entity.player.Player; import tschipp.carryon.Constants; import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.common.carry.CarryOnDataManager; -import tschipp.carryon.networking.clientbound.ClientboundStartRidingPacket; public record ClientboundSyncCarryDataPacket(int iden, CarryOnData data) implements PacketBase { diff --git a/Forge/src/main/java/tschipp/carryon/platform/ForgePlatformHelper.java b/Forge/src/main/java/tschipp/carryon/platform/ForgePlatformHelper.java index 54d6fbd..0dec16d 100644 --- a/Forge/src/main/java/tschipp/carryon/platform/ForgePlatformHelper.java +++ b/Forge/src/main/java/tschipp/carryon/platform/ForgePlatformHelper.java @@ -21,7 +21,6 @@ package tschipp.carryon.platform; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; @@ -31,14 +30,12 @@ import net.minecraft.world.entity.player.Player; import net.minecraftforge.event.network.CustomPayloadEvent; import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.loading.FMLLoader; -import net.minecraftforge.network.NetworkDirection; import net.minecraftforge.network.PacketDistributor; import tschipp.carryon.CarryOnCommonClient; import tschipp.carryon.CarryOnForge; import tschipp.carryon.Constants; import tschipp.carryon.carry.CarryOnDataCapability; import tschipp.carryon.carry.CarryOnDataCapabilityProvider; -import tschipp.carryon.carry.ICarryOnDataCapability; import tschipp.carryon.common.carry.CarryOnData; import tschipp.carryon.config.BuiltConfig; import tschipp.carryon.config.forge.ConfigLoaderImpl; @@ -47,7 +44,6 @@ import tschipp.carryon.networking.PacketBase; import tschipp.carryon.platform.services.IPlatformHelper; import java.util.function.BiConsumer; -import java.util.function.Function; public class ForgePlatformHelper implements IPlatformHelper { diff --git a/NeoForge/src/main/java/tschipp/carryon/CarryOnNeoForge.java b/NeoForge/src/main/java/tschipp/carryon/CarryOnNeoForge.java index d7db9dc..30c386c 100644 --- a/NeoForge/src/main/java/tschipp/carryon/CarryOnNeoForge.java +++ b/NeoForge/src/main/java/tschipp/carryon/CarryOnNeoForge.java @@ -21,14 +21,10 @@ package tschipp.carryon; import net.minecraft.nbt.CompoundTag; -import net.neoforged.bus.api.IEventBus; -import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.neoforge.attachment.AttachmentType; -import net.neoforged.neoforge.client.gui.ConfigurationScreen; -import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; import net.neoforged.neoforge.network.registration.PayloadRegistrar; import net.neoforged.neoforge.registries.DeferredRegister; diff --git a/NeoForge/src/main/java/tschipp/carryon/carry/CarryOnDataSyncHandler.java b/NeoForge/src/main/java/tschipp/carryon/carry/CarryOnDataSyncHandler.java index 16fa62f..77af9e8 100644 --- a/NeoForge/src/main/java/tschipp/carryon/carry/CarryOnDataSyncHandler.java +++ b/NeoForge/src/main/java/tschipp/carryon/carry/CarryOnDataSyncHandler.java @@ -20,7 +20,11 @@ public class CarryOnDataSyncHandler implements AttachmentSyncHandler