Fixes the color applicator
This commit is contained in:
@@ -21,28 +21,28 @@ package appeng.hooks;
|
||||
import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.dispenser.DefaultDispenseItemBehavior;
|
||||
import net.minecraft.dispenser.IBlockSource;
|
||||
import net.minecraft.item.DirectionalPlaceContext;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.server.ServerWorld;
|
||||
|
||||
import appeng.util.Platform;
|
||||
|
||||
public final class DispenserBlockTool extends DefaultDispenseItemBehavior {
|
||||
|
||||
@Override
|
||||
protected ItemStack dispenseStack(final IBlockSource dispenser, final ItemStack dispensedItem) {
|
||||
final Item i = dispensedItem.getItem();
|
||||
if (i instanceof IBlockTool) {
|
||||
final Direction Direction = dispenser.getBlockState().get(DispenserBlock.FACING);
|
||||
final Direction direction = dispenser.getBlockState().get(DispenserBlock.FACING);
|
||||
final IBlockTool tm = (IBlockTool) i;
|
||||
|
||||
final World w = dispenser.getWorld();
|
||||
if (w instanceof ServerWorld) {
|
||||
tm.onItemUse(dispensedItem, Platform.getPlayer((ServerWorld) w), w,
|
||||
dispenser.getBlockPos().offset(Direction), Hand.MAIN_HAND, Direction, 0.5f, 0.5f, 0.5f);
|
||||
ItemUseContext context = new DirectionalPlaceContext(w, dispenser.getBlockPos().offset(direction),
|
||||
direction, dispensedItem, direction.getOpposite());
|
||||
tm.onItemUse(context);
|
||||
}
|
||||
}
|
||||
return dispensedItem;
|
||||
|
||||
@@ -20,6 +20,7 @@ package appeng.hooks;
|
||||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
@@ -28,11 +29,6 @@ import net.minecraft.world.World;
|
||||
|
||||
public interface IBlockTool {
|
||||
// Workaround for dispenser logic.
|
||||
// TODO ItemUseContext
|
||||
ActionResultType onItemUse(ItemStack is, PlayerEntity p, World w, BlockPos pos, Hand hand, Direction side,
|
||||
float hitX, float hitY, float hitZ);
|
||||
|
||||
ActionResultType onItemUse(PlayerEntity p, World w, BlockPos pos, Hand hand, Direction side, float hitX, float hitY,
|
||||
float hitZ);
|
||||
ActionResultType onItemUse(ItemUseContext itemUseContext);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user