Unicopia/src/main/java/com/minelittlepony/unicopia/mixin/MixinBlockItem.java

32 lines
1.2 KiB
Java
Raw Normal View History

package com.minelittlepony.unicopia.mixin;
import org.spongepowered.asm.mixin.Mixin;
2023-11-08 16:19:07 +01:00
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
2022-09-30 12:43:07 +02:00
import com.minelittlepony.unicopia.item.toxin.ToxicHolder;
2023-11-08 16:19:07 +01:00
import com.minelittlepony.unicopia.server.world.WaterLoggingManager;
2023-11-08 16:19:07 +01:00
import net.minecraft.block.BlockState;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
2023-11-08 16:19:07 +01:00
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.item.ItemStack;
import net.minecraft.util.UseAction;
@Mixin(BlockItem.class)
abstract class MixinBlockItem extends Item implements ToxicHolder {
2022-03-26 20:34:15 +01:00
MixinBlockItem() {super(null); }
@Override
public UseAction getUseAction(ItemStack stack) {
2023-11-10 15:11:53 +01:00
return getToxic(stack, null).useAction().orElseGet(() -> super.getUseAction(stack));
}
2023-11-08 16:19:07 +01:00
@Inject(method = "getPlacementState", at = @At("RETURN"), cancellable = true)
private void onGetPlacementState(ItemPlacementContext context, CallbackInfoReturnable<BlockState> info) {
WaterLoggingManager.getInstance().getPlacementState(context, info);
}
}