diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/vanilla/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Vanilla.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/vanilla/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Vanilla.java index f76a9695..5af094f1 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/vanilla/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Vanilla.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/vanilla/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Vanilla.java @@ -1,5 +1,6 @@ package io.izzel.arclight.common.mixin.vanilla.world.level.block.entity; +import io.izzel.arclight.common.mod.util.ArclightCaptures; import io.izzel.arclight.mixin.Decorate; import io.izzel.arclight.mixin.DecorationOps; import io.izzel.arclight.mixin.Local; @@ -17,11 +18,11 @@ public abstract class AbstractFurnaceBlockEntityMixin_Vanilla { @Decorate(method = "burn", at = @At(value = "INVOKE", ordinal = 1, target = "Lnet/minecraft/core/NonNullList;get(I)Ljava/lang/Object;")) - private static E arclight$furnaceSmelt(NonNullList instance, int i, @Local(ordinal = 0) AbstractFurnaceBlockEntity blockEntity, @Local(ordinal = -1) ItemStack itemStack2, @Local(ordinal = -2) ItemStack itemStack1) throws Throwable { + private static E arclight$furnaceSmelt(NonNullList instance, int i, @Local(ordinal = -1) ItemStack itemStack2, @Local(ordinal = -2) ItemStack itemStack1) throws Throwable { CraftItemStack source = CraftItemStack.asCraftMirror(itemStack1); org.bukkit.inventory.ItemStack result = CraftItemStack.asBukkitCopy(itemStack2); - FurnaceSmeltEvent furnaceSmeltEvent = new FurnaceSmeltEvent(CraftBlock.at(blockEntity.getLevel(), blockEntity.getBlockPos()), source, result); + FurnaceSmeltEvent furnaceSmeltEvent = new FurnaceSmeltEvent(CraftBlock.at(ArclightCaptures.getTickingBlockEntity().getLevel(), ArclightCaptures.getTickingBlockEntity().getBlockPos()), source, result); Bukkit.getPluginManager().callEvent(furnaceSmeltEvent); if (furnaceSmeltEvent.isCancelled()) { diff --git a/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Fabric.java b/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Fabric.java deleted file mode 100644 index f56b30b5..00000000 --- a/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/AbstractFurnaceBlockEntityMixin_Fabric.java +++ /dev/null @@ -1,39 +0,0 @@ -package io.izzel.arclight.fabric.mixin.core.world.level.block.entity; - -import io.izzel.arclight.mixin.Decorate; -import io.izzel.arclight.mixin.DecorationOps; -import io.izzel.arclight.mixin.Local; -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v.block.CraftBlock; -import org.bukkit.craftbukkit.v.inventory.CraftItemStack; -import org.bukkit.event.inventory.FurnaceSmeltEvent; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -@Mixin(AbstractFurnaceBlockEntity.class) -public abstract class AbstractFurnaceBlockEntityMixin_Fabric { - - @Decorate(method = "burn", at = @At(value = "INVOKE", ordinal = 1, target = "Lnet/minecraft/core/NonNullList;get(I)Ljava/lang/Object;")) - private static E arclight$furnaceSmelt(NonNullList instance, int i, @Local(ordinal = 0) AbstractFurnaceBlockEntity blockEntity, @Local(ordinal = -1) ItemStack itemStack2, @Local(ordinal = -2) ItemStack itemStack1) throws Throwable { - CraftItemStack source = CraftItemStack.asCraftMirror(itemStack1); - org.bukkit.inventory.ItemStack result = CraftItemStack.asBukkitCopy(itemStack2); - - FurnaceSmeltEvent furnaceSmeltEvent = new FurnaceSmeltEvent(CraftBlock.at(blockEntity.getLevel(), blockEntity.getBlockPos()), source, result); - Bukkit.getPluginManager().callEvent(furnaceSmeltEvent); - - if (furnaceSmeltEvent.isCancelled()) { - return (E) DecorationOps.cancel().invoke(false); - } - - result = furnaceSmeltEvent.getResult(); - itemStack2 = CraftItemStack.asNMSCopy(result); - if (itemStack2.isEmpty()) { - itemStack1.shrink(1); - return (E) DecorationOps.cancel().invoke(true); - } - return (E) DecorationOps.callsite().invoke(instance, i); - } -} diff --git a/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Fabric.java b/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Fabric.java deleted file mode 100644 index 2ab75d4e..00000000 --- a/arclight-fabric/src/main/java/io/izzel/arclight/fabric/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Fabric.java +++ /dev/null @@ -1,27 +0,0 @@ -package io.izzel.arclight.fabric.mixin.core.world.level.block.entity; - -import io.izzel.arclight.common.bridge.core.tileentity.TileEntityBridge; -import io.izzel.arclight.common.bridge.core.world.WorldBridge; -import io.izzel.arclight.common.mod.util.ArclightCaptures; -import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; -import net.minecraft.world.Containers; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BrewingStandBlockEntity; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v.block.CraftBlock; -import org.bukkit.craftbukkit.v.inventory.CraftItemStack; -import org.bukkit.event.inventory.BrewEvent; -import org.bukkit.inventory.BrewerInventory; -import org.bukkit.inventory.InventoryHolder; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import java.util.ArrayList; -import java.util.List; - -@Mixin(BrewingStandBlockEntity.class) -public class BrewingStandBlockEntityMixin_Fabric { - -} diff --git a/arclight-fabric/src/main/resources/mixins.arclight.fabric.json b/arclight-fabric/src/main/resources/mixins.arclight.fabric.json index 2bf33f53..0efa8626 100644 --- a/arclight-fabric/src/main/resources/mixins.arclight.fabric.json +++ b/arclight-fabric/src/main/resources/mixins.arclight.fabric.json @@ -27,8 +27,6 @@ "core.world.entity.monster.ZombieMixin_Fabric", "core.world.entity.player.PlayerMixin_Fabric", "core.world.entity.player.ServerPlayerMixin_Fabric", - "core.world.level.block.FireBlockMixin_Fabric", - "core.world.level.block.entity.AbstractFurnaceBlockEntityMixin_Fabric", - "core.world.level.block.entity.BrewingStandBlockEntityMixin_Fabric" + "core.world.level.block.FireBlockMixin_Fabric" ] } \ No newline at end of file diff --git a/arclight-forge/src/main/java/io/izzel/arclight/forge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Forge.java b/arclight-forge/src/main/java/io/izzel/arclight/forge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Forge.java deleted file mode 100644 index c5e7f3c0..00000000 --- a/arclight-forge/src/main/java/io/izzel/arclight/forge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_Forge.java +++ /dev/null @@ -1,17 +0,0 @@ -package io.izzel.arclight.forge.mixin.core.world.level.block.entity; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BrewingStandBlockEntity; -import net.minecraftforge.event.ForgeEventFactory; -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.CallbackInfo; - -@Mixin(BrewingStandBlockEntity.class) -public class BrewingStandBlockEntityMixin_Forge { - -} diff --git a/arclight-forge/src/main/resources/mixins.arclight.forge.json b/arclight-forge/src/main/resources/mixins.arclight.forge.json index 476fb89c..7d1fee9a 100644 --- a/arclight-forge/src/main/resources/mixins.arclight.forge.json +++ b/arclight-forge/src/main/resources/mixins.arclight.forge.json @@ -66,7 +66,6 @@ "core.world.level.block.FireBlockMixin_Forge", "core.world.level.block.TntBlockMixin_Forge", "core.world.level.block.entity.AbstractFurnaceBlockEntityMixin_Forge", - "core.world.level.block.entity.BrewingStandBlockEntityMixin_Forge", "core.world.level.block.entity.HopperBlockEntityMixin_Forge", "core.world.level.block.state.BlockBehaviourMixin_Forge", "core.world.level.levelgen.structure.templatesystem.StructureTemplateMixin_Forge", diff --git a/arclight-neoforge/src/main/java/io/izzel/arclight/neoforge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_NeoForge.java b/arclight-neoforge/src/main/java/io/izzel/arclight/neoforge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_NeoForge.java deleted file mode 100644 index 7150a4c3..00000000 --- a/arclight-neoforge/src/main/java/io/izzel/arclight/neoforge/mixin/core/world/level/block/entity/BrewingStandBlockEntityMixin_NeoForge.java +++ /dev/null @@ -1,17 +0,0 @@ -package io.izzel.arclight.neoforge.mixin.core.world.level.block.entity; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BrewingStandBlockEntity; -import net.neoforged.neoforge.event.EventHooks; -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.CallbackInfo; - -@Mixin(BrewingStandBlockEntity.class) -public class BrewingStandBlockEntityMixin_NeoForge { - -} diff --git a/arclight-neoforge/src/main/resources/mixins.arclight.neoforge.json b/arclight-neoforge/src/main/resources/mixins.arclight.neoforge.json index 26693efa..5b50d379 100644 --- a/arclight-neoforge/src/main/resources/mixins.arclight.neoforge.json +++ b/arclight-neoforge/src/main/resources/mixins.arclight.neoforge.json @@ -67,7 +67,6 @@ "core.world.level.block.FireBlockMixin_NeoForge", "core.world.level.block.TntBlockMixin_NeoForge", "core.world.level.block.entity.AbstractFurnaceBlockEntityMixin_NeoForge", - "core.world.level.block.entity.BrewingStandBlockEntityMixin_NeoForge", "core.world.level.block.state.BlockBehaviourMixin_Forge", "core.world.level.levelgen.structure.templatesystem.StructureTemplateMixin_NeoForge", "core.world.level.storage.loot.LootContextMixin_NeoForge",