From af0d9b44f868c618197b13a4f266a871cd158935 Mon Sep 17 00:00:00 2001 From: Chloe Dawn Date: Sun, 21 Feb 2021 16:16:47 +0000 Subject: [PATCH] Update reach entity attributes dependency --- build.gradle.kts | 4 +- .../reach/AbstractContainerMenuMixin.java | 20 --------- .../mixin/reach/ChestBlockEntityMixin.java | 42 ------------------- .../beacons/mixin/reach/ContainersMixin.java | 32 -------------- .../reach/EnderChestBlockEntityMixin.java | 25 ----------- .../mixin/reach/ItemCombinerMenuMixin.java | 25 ----------- .../beacons/mixin/reach/package-info.java | 5 --- src/main/resources/fabric.mod.json | 2 +- .../mixins/beaconoverhaul/mixins.server.json | 7 +--- 9 files changed, 4 insertions(+), 158 deletions(-) delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/AbstractContainerMenuMixin.java delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/ChestBlockEntityMixin.java delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/ContainersMixin.java delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/EnderChestBlockEntityMixin.java delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/ItemCombinerMenuMixin.java delete mode 100644 src/main/java/dev/sapphic/beacons/mixin/reach/package-info.java diff --git a/build.gradle.kts b/build.gradle.kts index f6e5359..212b664 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "dev.sapphic" -version = "1.2.0+1.16" +version = "1.3.0+1.16" java { withSourcesJar() @@ -34,7 +34,7 @@ dependencies { implementation("org.jetbrains:annotations:20.1.0") implementation("org.checkerframework:checker-qual:3.9.0") modImplementation(include("net.fabricmc.fabric-api:fabric-resource-loader-v0:0.4.2+ca58154a7d")!!) - modImplementation(include("com.jamieswhiteshirt:reach-entity-attributes:1.0.1")!!) + modImplementation(include("com.jamieswhiteshirt:reach-entity-attributes:1.1.0")!!) modRuntime("io.github.prospector:modmenu:1.14.13+build.22") } diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/AbstractContainerMenuMixin.java b/src/main/java/dev/sapphic/beacons/mixin/reach/AbstractContainerMenuMixin.java deleted file mode 100644 index 35cb734..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/AbstractContainerMenuMixin.java +++ /dev/null @@ -1,20 +0,0 @@ -package dev.sapphic.beacons.mixin.reach; - -import com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.level.block.Block; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -@Mixin(AbstractContainerMenu.class) -public abstract class AbstractContainerMenuMixin { - @ModifyConstant( - method = "lambda$stillValid$0(Lnet/minecraft/world/level/block/Block;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Ljava/lang/Boolean;", - require = 1, allow = 1, - constant = @Constant(doubleValue = 64.0D)) - private static double modifyReachDistance(final double value, final Block block, final Player player) { - return ReachEntityAttributes.getSquaredReachDistance(player, value); - } -} diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/ChestBlockEntityMixin.java b/src/main/java/dev/sapphic/beacons/mixin/reach/ChestBlockEntityMixin.java deleted file mode 100644 index 3292a89..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/ChestBlockEntityMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package dev.sapphic.beacons.mixin.reach; - -import com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes; -import net.minecraft.world.CompoundContainer; -import net.minecraft.world.Container; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.ChestMenu; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; -import net.minecraft.world.level.block.entity.ChestBlockEntity; -import net.minecraft.world.phys.AABB; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(ChestBlockEntity.class) -abstract class ChestBlockEntityMixin { - @Inject( - method = "getOpenCount(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/BaseContainerBlockEntity;III)I", - at = @At("HEAD"), cancellable = true - ) - private static void getReachAccountingOpenCount(final Level level, final BaseContainerBlockEntity be, final int x, final int y, final int z, final CallbackInfoReturnable info) { - int count = 0; - // Maximum reach distance applicable from beacons. Unsure how to generalize this for upstream library - final double maxRange = 5.0 + (5.0 * 3); - final AABB aabb = new AABB(x - maxRange, y - maxRange, z - maxRange, x + maxRange, y + maxRange, z + maxRange); - for (final Player player : level.getEntitiesOfClass(Player.class, aabb)) { - if (player.containerMenu instanceof ChestMenu) { - final Container cr = ((ChestMenu) player.containerMenu).getContainer(); - if ((cr == be) || ((cr instanceof CompoundContainer) && ((CompoundContainer) cr).contains(be))) { - final double reach = ReachEntityAttributes.getReachDistance(player, 5.0); - final AABB testAabb = new AABB(x - reach, y - reach, z - reach, x + reach, y + reach, z + reach); - if (player.getBoundingBox().intersects(testAabb)) { - ++count; - } - } - } - } - info.setReturnValue(count); - } -} diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/ContainersMixin.java b/src/main/java/dev/sapphic/beacons/mixin/reach/ContainersMixin.java deleted file mode 100644 index 5742dc3..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/ContainersMixin.java +++ /dev/null @@ -1,32 +0,0 @@ -package dev.sapphic.beacons.mixin.reach; - -import com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes; -import net.minecraft.world.Container; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.vehicle.AbstractMinecartContainer; -import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; -import net.minecraft.world.level.block.entity.BrewingStandBlockEntity; -import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -@Mixin(value = { - AbstractFurnaceBlockEntity.class, - AbstractMinecartContainer.class, - BrewingStandBlockEntity.class, - Inventory.class, - RandomizableContainerBlockEntity.class -}, targets = { - "net.minecraft.world.level.block.entity.LecternBlockEntity$1" -}) -abstract class ContainersMixin implements Container { - @ModifyConstant( - method = "stillValid(Lnet/minecraft/world/entity/player/Player;)Z", - require = 1, allow = 1, - constant = @Constant(doubleValue = 64.0D)) - private static double modifyReachDistance(final double value, final Player player) { - return ReachEntityAttributes.getSquaredReachDistance(player, value); - } -} diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/EnderChestBlockEntityMixin.java b/src/main/java/dev/sapphic/beacons/mixin/reach/EnderChestBlockEntityMixin.java deleted file mode 100644 index cd7fe49..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/EnderChestBlockEntityMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package dev.sapphic.beacons.mixin.reach; - -import com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.entity.EnderChestBlockEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -@Mixin(EnderChestBlockEntity.class) -abstract class EnderChestBlockEntityMixin extends BlockEntity { - EnderChestBlockEntityMixin(final BlockEntityType type) { - super(type); - } - - @ModifyConstant( - method = "stillValid(Lnet/minecraft/world/entity/player/Player;)Z", - require = 1, allow = 1, - constant = @Constant(doubleValue = 64.0D)) - private static double modifyReachDistance(final double value, final Player player) { - return ReachEntityAttributes.getSquaredReachDistance(player, value); - } -} diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/ItemCombinerMenuMixin.java b/src/main/java/dev/sapphic/beacons/mixin/reach/ItemCombinerMenuMixin.java deleted file mode 100644 index 5a05607..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/ItemCombinerMenuMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package dev.sapphic.beacons.mixin.reach; - -import com.jamieswhiteshirt.reachentityattributes.ReachEntityAttributes; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.inventory.ItemCombinerMenu; -import net.minecraft.world.inventory.MenuType; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -@Mixin(ItemCombinerMenu.class) -abstract class ItemCombinerMenuMixin extends AbstractContainerMenu { - ItemCombinerMenuMixin(final MenuType type, final int syncId) { - super(type, syncId); - } - - @ModifyConstant( - method = "lambda$stillValid$1(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Ljava/lang/Boolean;", - require = 1, allow = 1, - constant = @Constant(doubleValue = 64.0D)) - private double modifyReachDistance(final double value, final Player player) { - return ReachEntityAttributes.getSquaredReachDistance(player, value); - } -} diff --git a/src/main/java/dev/sapphic/beacons/mixin/reach/package-info.java b/src/main/java/dev/sapphic/beacons/mixin/reach/package-info.java deleted file mode 100644 index c068cbb..0000000 --- a/src/main/java/dev/sapphic/beacons/mixin/reach/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -@DefaultQualifier(NonNull.class) -package dev.sapphic.beacons.mixin.reach; - -import org.checkerframework.checker.nullness.qual.NonNull; -import org.checkerframework.framework.qual.DefaultQualifier; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 667aafc..f11ac12 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -10,7 +10,7 @@ "minecraft": "1.16.x", "fabricloader": ">=0.11.1", "fabric-resource-loader-v0": ">=0.4.2", - "reach-entity-attributes": "1.0.1" + "reach-entity-attributes": ">=1.1.0" }, "entrypoints": { "main": [ diff --git a/src/main/resources/mixins/beaconoverhaul/mixins.server.json b/src/main/resources/mixins/beaconoverhaul/mixins.server.json index a43161e..3e905b0 100644 --- a/src/main/resources/mixins/beaconoverhaul/mixins.server.json +++ b/src/main/resources/mixins/beaconoverhaul/mixins.server.json @@ -10,12 +10,7 @@ "BeaconMenuMixin", "LivingEntityMixin", "MobEffectAccessor", - "PlayerMixin", - "reach.AbstractContainerMenuMixin", - "reach.ChestBlockEntityMixin", - "reach.ContainersMixin", - "reach.EnderChestBlockEntityMixin", - "reach.ItemCombinerMenuMixin" + "PlayerMixin" ], "refmap": "mixins/beaconoverhaul/refmap.json" }