package org.betterx.bclib.util; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase; import java.util.function.Function; import org.jetbrains.annotations.Nullable; public class MethodReplace { private static Function itemReplace; private static Function blockReplace; private static Block block; private static Item item; public static void addItemReplace(Item item, Function itemReplace) { MethodReplace.itemReplace = itemReplace; MethodReplace.item = item; } @Deprecated(forRemoval = true) public static void addBlockReplace(Block block, Function blockReplace) { MethodReplace.blockReplace = blockReplace; MethodReplace.block = block; } @Nullable public static Function getItemReplace(Item item) { if (MethodReplace.item != item) { return null; } Function replace = itemReplace; itemReplace = null; return replace; } @Nullable @Deprecated(forRemoval = true) public static Function getBlockReplace(Block block) { if (MethodReplace.block != block) { return null; } Function replace = blockReplace; blockReplace = null; return replace; } }