From 58740de7a5883f2f27e091aa0a9117a2e994d141 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Fri, 29 Oct 2021 13:09:18 +0800 Subject: [PATCH] Implement item merge radius --- .../mixin/core/world/entity/item/ItemEntityMixin.java | 8 ++++++++ build.gradle | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/ItemEntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/ItemEntityMixin.java index f133877b..6100d0a5 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/ItemEntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/ItemEntityMixin.java @@ -5,6 +5,7 @@ import io.izzel.arclight.common.bridge.core.entity.player.PlayerEntityBridge; import io.izzel.arclight.common.bridge.core.entity.player.PlayerInventoryBridge; import io.izzel.arclight.common.bridge.core.entity.player.ServerPlayerEntityBridge; import io.izzel.arclight.common.bridge.core.network.datasync.EntityDataManagerBridge; +import io.izzel.arclight.common.bridge.core.world.WorldBridge; import io.izzel.arclight.common.mixin.core.world.entity.EntityMixin; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.stats.Stats; @@ -12,6 +13,7 @@ import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.AABB; import net.minecraftforge.fmllegacy.hooks.BasicEventHooks; import org.bukkit.Bukkit; import org.bukkit.craftbukkit.v.event.CraftEventFactory; @@ -132,4 +134,10 @@ public abstract class ItemEntityMixin extends EntityMixin { itemEntity.setItem(stack); } } + + @Redirect(method = "mergeWithNeighbours", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/phys/AABB;inflate(DDD)Lnet/minecraft/world/phys/AABB;")) + private AABB arclight$mergeRadius(AABB instance, double pX, double pY, double pZ) { + double radius = ((WorldBridge) level).bridge$spigotConfig().itemMerge; + return instance.inflate(radius); + } } diff --git a/build.gradle b/build.gradle index 6135eaed..bd739784 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ allprojects { group 'io.izzel.arclight' - version '1.0.0' + version '1.0.1-SNAPSHOT' def getGitHash = { -> def stdout = new ByteArrayOutputStream()