From f466b6e960657911353fb2f24ab8ea1a39e9399d Mon Sep 17 00:00:00 2001 From: CammiePone Date: Sun, 19 Jan 2025 01:42:25 -0800 Subject: [PATCH] rename mixins, and start on time dilation effect --- .../mixin/common/AbstractArrowMixin.java | 22 +++++++---- ...dEntityMixin.java => ArmorStandMixin.java} | 4 +- ...ateMixin.java => BlockStateBaseMixin.java} | 2 +- ...yViewMixin.java => EntityGetterMixin.java} | 2 +- .../mixin/common/EntityMixin.java | 37 ++----------------- ...erManagerMixin.java => FoodDataMixin.java} | 2 +- .../{WorldMixin.java => LevelMixin.java} | 2 +- ...ndlerTypeMixin.java => MenuTypeMixin.java} | 2 +- .../{MobEntityMixin.java => MobMixin.java} | 4 +- .../PersistentProjectileEntityMixin.java | 25 ------------- ...ckMixin.java => PistonBaseBlockMixin.java} | 2 +- ...ManagerMixin.java => PlayerListMixin.java} | 2 +- ...layerEntityMixin.java => PlayerMixin.java} | 4 +- .../mixin/common/ServerLevelMixin.java | 36 ++++++++++++++++++ .../mixin/common/ServerWorldMixin.java | 19 ---------- ...xin.java => ThrowableProjectileMixin.java} | 4 +- .../resources/arcanuscontinuum.mixins.json | 25 ++++++------- 17 files changed, 80 insertions(+), 114 deletions(-) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{ArmorStandEntityMixin.java => ArmorStandMixin.java} (94%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{AbstractBlockStateMixin.java => BlockStateBaseMixin.java} (96%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{EntityViewMixin.java => EntityGetterMixin.java} (96%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{HungerManagerMixin.java => FoodDataMixin.java} (96%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{WorldMixin.java => LevelMixin.java} (97%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{ScreenHandlerTypeMixin.java => MenuTypeMixin.java} (96%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{MobEntityMixin.java => MobMixin.java} (85%) delete mode 100644 src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PersistentProjectileEntityMixin.java rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{PistonBlockMixin.java => PistonBaseBlockMixin.java} (96%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{PlayerManagerMixin.java => PlayerListMixin.java} (98%) rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{PlayerEntityMixin.java => PlayerMixin.java} (87%) create mode 100644 src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerLevelMixin.java delete mode 100644 src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerWorldMixin.java rename src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/{ThrownEntityMixin.java => ThrowableProjectileMixin.java} (84%) diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractArrowMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractArrowMixin.java index c1d0f4d3..056822d0 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractArrowMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractArrowMixin.java @@ -1,19 +1,25 @@ package dev.cammiescorner.arcanuscontinuum.mixin.common; -import com.llamalad7.mixinextras.injector.wrapoperation.Operation; -import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import dev.cammiescorner.arcanuscontinuum.common.entities.magic.MagicProjectileEntity; +import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.phys.Vec3; +import net.minecraft.world.entity.projectile.Projectile; +import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @Mixin(AbstractArrow.class) -public class AbstractArrowMixin { - @WrapOperation(method = "tick", at = @At( +public abstract class AbstractArrowMixin extends Projectile { + public AbstractArrowMixin(EntityType entityType, Level world) { + super(entityType, world); + } + + @ModifyExpressionValue(method = "tick", at = @At( value = "INVOKE", - target = "Lnet/minecraft/world/entity/projectile/AbstractArrow;getDeltaMovement()Lnet/minecraft/world/phys/Vec3;" + target = "Lnet/minecraft/world/entity/player/Player;canHarmPlayer(Lnet/minecraft/world/entity/player/Player;)Z" )) - private Vec3 pleaseWork(AbstractArrow instance, Operation original) { - return original.call(instance).scale(0.5); + private boolean ignorePvpFlag(boolean original) { + return original || ((Object) this) instanceof MagicProjectileEntity; } } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandEntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandMixin.java similarity index 94% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandEntityMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandMixin.java index 65338e0e..d64ec9f9 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandEntityMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ArmorStandMixin.java @@ -23,10 +23,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ArmorStand.class) -public abstract class ArmorStandEntityMixin extends LivingEntity { +public abstract class ArmorStandMixin extends LivingEntity { @Shadow protected abstract EquipmentSlot getClickedSlot(Vec3 hitPos); - protected ArmorStandEntityMixin(EntityType entityType, Level world) { + protected ArmorStandMixin(EntityType entityType, Level world) { super(entityType, world); } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractBlockStateMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/BlockStateBaseMixin.java similarity index 96% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractBlockStateMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/BlockStateBaseMixin.java index 7f19d2ec..00feb475 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/AbstractBlockStateMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/BlockStateBaseMixin.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(BlockBehaviour.BlockStateBase.class) -public class AbstractBlockStateMixin { +public class BlockStateBaseMixin { @Inject(method = "getDestroyProgress", at = @At("HEAD"), cancellable = true) private void arcanuscontinuum$wardedBlockBreakStatus(Player player, BlockGetter world, BlockPos pos, CallbackInfoReturnable info) { if(ArcanusComponents.isBlockWarded((Level) world, pos)) diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityViewMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityGetterMixin.java similarity index 96% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityViewMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityGetterMixin.java index 67a2fd1d..d18005c1 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityViewMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityGetterMixin.java @@ -14,7 +14,7 @@ import java.util.List; @Mixin(EntityGetter.class) -public interface EntityViewMixin { +public interface EntityGetterMixin { @Inject(method = "getEntityCollisions", at = @At("HEAD")) private void arcanuscontinuum$collidesWithHead(@Nullable Entity entity, AABB box, CallbackInfoReturnable> info) { ManaShieldEntity.COLLIDING_ENTITY.set(entity); diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityMixin.java index ff52bf55..0bf3c694 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/EntityMixin.java @@ -1,45 +1,14 @@ package dev.cammiescorner.arcanuscontinuum.mixin.common; import net.minecraft.world.entity.Entity; -import net.minecraft.world.phys.Vec3; 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.ModifyVariable; @Mixin(Entity.class) public class EntityMixin { - @Shadow private Vec3 deltaMovement; - private Entity self = (Entity) (Object) this; - - @ModifyVariable(method = "move", at = @At("HEAD"), argsOnly = true) - private Vec3 modifyMotion(Vec3 value) { - return value.scale(0.5); + @ModifyVariable(method = "playSound(Lnet/minecraft/sounds/SoundEvent;FF)V", at = @At("HEAD"), argsOnly = true, ordinal = 1) + private float pitchDown(float pitch) { + return pitch * 0.5f; // TODO tie to being in a time dilation entity } - -// @WrapOperation(method = "saveWithoutId", at = @At( -// value = "INVOKE", -// target = "Lnet/minecraft/world/entity/Entity;getDeltaMovement()Lnet/minecraft/world/phys/Vec3;" -// )) -// private Vec3 saveDeltaMovementField(Entity instance, Operation original) { -// return deltaMovement; -// } -// -// @ModifyReturnValue(method = "isNoGravity", at = @At("RETURN")) -// private boolean noGrav(boolean original) { -// return !(self instanceof Player); -// } -// -// @ModifyReturnValue(method = "getDeltaMovement", at = @At("RETURN")) -// private Vec3 slowMovement(Vec3 original) { -// return self instanceof Player ? original : original.scale(0.5); -// } -// -// @WrapOperation(method = "addDeltaMovement", at = @At( -// value = "INVOKE", -// target = "Lnet/minecraft/world/entity/Entity;getDeltaMovement()Lnet/minecraft/world/phys/Vec3;" -// )) -// private Vec3 painPainPain(Entity instance, Operation original) { -// return deltaMovement; -// } } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/HungerManagerMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/FoodDataMixin.java similarity index 96% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/HungerManagerMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/FoodDataMixin.java index 7a3ed4a6..58436ffb 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/HungerManagerMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/FoodDataMixin.java @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(FoodData.class) -public class HungerManagerMixin { +public class FoodDataMixin { @WrapOperation(method = "tick", at = @At( value = "INVOKE", target = "Lnet/minecraft/world/level/GameRules;getBoolean(Lnet/minecraft/world/level/GameRules$Key;)Z", diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/WorldMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/LevelMixin.java similarity index 97% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/WorldMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/LevelMixin.java index 364902e2..b6b5613c 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/WorldMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/LevelMixin.java @@ -13,7 +13,7 @@ @SuppressWarnings("ConstantValue") @Mixin(Level.class) -public abstract class WorldMixin { +public abstract class LevelMixin { @Shadow public abstract BlockState getBlockState(BlockPos pos); @Inject(method = "setBlock(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;II)Z", at = @At("HEAD"), cancellable = true) diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ScreenHandlerTypeMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MenuTypeMixin.java similarity index 96% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ScreenHandlerTypeMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MenuTypeMixin.java index 95c62281..35e98b10 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ScreenHandlerTypeMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MenuTypeMixin.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(MenuType.class) -public class ScreenHandlerTypeMixin { +public class MenuTypeMixin { @Inject(method = "register(Ljava/lang/String;Lnet/minecraft/world/inventory/MenuType$MenuSupplier;)Lnet/minecraft/world/inventory/MenuType;", at = @At("HEAD"), cancellable = true) private static void arcanuscontinuum$register(String id, MenuType.MenuSupplier factory, CallbackInfoReturnable> info) { if("lectern".equals(id)) diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobEntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobMixin.java similarity index 85% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobEntityMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobMixin.java index 30e5b517..480dfe0a 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobEntityMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/MobMixin.java @@ -12,8 +12,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(Mob.class) -public abstract class MobEntityMixin extends LivingEntity { - protected MobEntityMixin(EntityType entityType, Level world) { +public abstract class MobMixin extends LivingEntity { + protected MobMixin(EntityType entityType, Level world) { super(entityType, world); } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PersistentProjectileEntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PersistentProjectileEntityMixin.java deleted file mode 100644 index ca58cbc7..00000000 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PersistentProjectileEntityMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package dev.cammiescorner.arcanuscontinuum.mixin.common; - -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import dev.cammiescorner.arcanuscontinuum.common.entities.magic.MagicProjectileEntity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.entity.projectile.Projectile; -import net.minecraft.world.level.Level; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -@Mixin(AbstractArrow.class) -public abstract class PersistentProjectileEntityMixin extends Projectile { - public PersistentProjectileEntityMixin(EntityType entityType, Level world) { - super(entityType, world); - } - - @ModifyExpressionValue(method = "tick", at = @At( - value = "INVOKE", - target = "Lnet/minecraft/world/entity/player/Player;canHarmPlayer(Lnet/minecraft/world/entity/player/Player;)Z" - )) - private boolean ignorePvpFlag(boolean original) { - return original || ((Object) this) instanceof MagicProjectileEntity; - } -} diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBlockMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBaseBlockMixin.java similarity index 96% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBlockMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBaseBlockMixin.java index 30bceb1d..fffa0ffe 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBlockMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PistonBaseBlockMixin.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(PistonBaseBlock.class) -public class PistonBlockMixin { +public class PistonBaseBlockMixin { @Inject(method = "isPushable", at = @At( value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;isAir()Z" diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerManagerMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerListMixin.java similarity index 98% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerManagerMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerListMixin.java index 134cc98c..52222e08 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerManagerMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerListMixin.java @@ -27,7 +27,7 @@ import java.util.function.Predicate; @Mixin(PlayerList.class) -public class PlayerManagerMixin { +public class PlayerListMixin { @Shadow @Final private LayeredRegistryAccess registries; @ModifyReceiver(method = "broadcastChatMessage(Lnet/minecraft/network/chat/PlayerChatMessage;Ljava/util/function/Predicate;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/network/chat/ChatType$Bound;)V", at = @At( diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerEntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerMixin.java similarity index 87% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerEntityMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerMixin.java index 4df788c4..99fad517 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerEntityMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/PlayerMixin.java @@ -12,8 +12,8 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(Player.class) -public abstract class PlayerEntityMixin extends LivingEntity { - protected PlayerEntityMixin(EntityType entityType, Level world) { +public abstract class PlayerMixin extends LivingEntity { + protected PlayerMixin(EntityType entityType, Level world) { super(entityType, world); } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerLevelMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerLevelMixin.java new file mode 100644 index 00000000..e82a37a1 --- /dev/null +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerLevelMixin.java @@ -0,0 +1,36 @@ +package dev.cammiescorner.arcanuscontinuum.mixin.common; + +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; +import net.minecraft.core.Holder; +import net.minecraft.core.RegistryAccess; +import net.minecraft.resources.ResourceKey; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.dimension.DimensionType; +import net.minecraft.world.level.storage.WritableLevelData; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +import java.util.function.Consumer; +import java.util.function.Supplier; + +@Mixin(ServerLevel.class) +public abstract class ServerLevelMixin extends Level { + protected ServerLevelMixin(WritableLevelData levelData, ResourceKey dimension, RegistryAccess registryAccess, Holder dimensionTypeRegistration, Supplier profiler, boolean isClientSide, boolean isDebug, long biomeZoomSeed, int maxChainedNeighborUpdates) { super(levelData, dimension, registryAccess, dimensionTypeRegistration, profiler, isClientSide, isDebug, biomeZoomSeed, maxChainedNeighborUpdates); } + + @WrapWithCondition(method = "method_31420", at = @At( + value = "INVOKE", + target = "Lnet/minecraft/server/level/ServerLevel;guardEntityTick(Ljava/util/function/Consumer;Lnet/minecraft/world/entity/Entity;)V" + )) + private boolean slowTime(ServerLevel instance, Consumer consumer, Entity entity) { + // TODO tie to being in a time dilation entity + if(getGameTime() % 2 == 0) { + entity.setOldPosAndRot(); + return false; + } + + return true; + } +} diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerWorldMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerWorldMixin.java deleted file mode 100644 index 735f68d7..00000000 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ServerWorldMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package dev.cammiescorner.arcanuscontinuum.mixin.common; - -import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; -import dev.cammiescorner.arcanuscontinuum.common.registry.ArcanusComponents; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.Entity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -@Mixin(ServerLevel.class) -public class ServerWorldMixin { - @WrapWithCondition(method = "tickNonPassenger", at = @At( - value = "INVOKE", - target = "Lnet/minecraft/world/entity/Entity;tick()V" - )) - private boolean arcanuscontinuum$blockEntityTick(Entity entity) { - return !ArcanusComponents.areUpdatesBlocked(entity); - } -} diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrownEntityMixin.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrowableProjectileMixin.java similarity index 84% rename from src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrownEntityMixin.java rename to src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrowableProjectileMixin.java index 252ea6a7..41bda7c2 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrownEntityMixin.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/mixin/common/ThrowableProjectileMixin.java @@ -10,8 +10,8 @@ import org.spongepowered.asm.mixin.injection.ModifyArg; @Mixin(ThrowableProjectile.class) -public abstract class ThrownEntityMixin extends Projectile { - public ThrownEntityMixin(EntityType entityType, Level world) { +public abstract class ThrowableProjectileMixin extends Projectile { + public ThrowableProjectileMixin(EntityType entityType, Level world) { super(entityType, world); } diff --git a/src/main/resources/arcanuscontinuum.mixins.json b/src/main/resources/arcanuscontinuum.mixins.json index 0ffdfc65..793cc91c 100644 --- a/src/main/resources/arcanuscontinuum.mixins.json +++ b/src/main/resources/arcanuscontinuum.mixins.json @@ -6,28 +6,27 @@ "compatibilityLevel": "JAVA_${java_version}", "mixins": [ "common.AbstractArrowMixin", - "common.AbstractBlockStateMixin", - "common.ArmorStandEntityMixin", + "common.ArmorStandMixin", + "common.BlockStateBaseMixin", "common.EnderDragonPartMixin", + "common.EntityGetterMixin", "common.EntityMixin", - "common.EntityViewMixin", "common.ExplosionMixin", "common.FallingBlockMixin", - "common.HungerManagerMixin", + "common.FoodDataMixin", "common.ItemEntityMixin", "common.ItemStackMixin", "common.LecternBlockEntityMixin", + "common.LevelMixin", "common.LivingEntityMixin", + "common.MenuTypeMixin", "common.MilkBucketItemMixin", - "common.MobEntityMixin", - "common.PersistentProjectileEntityMixin", - "common.PistonBlockMixin", - "common.PlayerEntityMixin", - "common.PlayerManagerMixin", - "common.ScreenHandlerTypeMixin", - "common.ServerWorldMixin", - "common.ThrownEntityMixin", - "common.WorldMixin", + "common.MobMixin", + "common.PistonBaseBlockMixin", + "common.PlayerListMixin", + "common.PlayerMixin", + "common.ServerLevelMixin", + "common.ThrowableProjectileMixin", "compat.pehkui.LivingEntityMixin", "datagen.AdvancementBuilderMixin", "datagen.FabricDynamicRegistryProviderEntriesMixin",