From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Mon, 13 Sep 2021 18:55:45 -0700 Subject: [PATCH] prevent unintended light block manipulation diff --git a/src/main/java/net/minecraft/world/level/block/LightBlock.java b/src/main/java/net/minecraft/world/level/block/LightBlock.java index 6c3ca57a29d3c5ad1add1cf2f707b930dfc422ea..71a1a152dca41ba9100bd38efd6758a42bab9f5d 100644 --- a/src/main/java/net/minecraft/world/level/block/LightBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LightBlock.java @@ -50,6 +50,14 @@ public class LightBlock extends Block implements SimpleWaterloggedBlock { builder.add(LEVEL, WATERLOGGED); } + // Paper start - prevent unintended light block manipulation + @Override + protected net.minecraft.world.ItemInteractionResult useItemOn(final ItemStack stack, final BlockState state, final Level world, final BlockPos pos, final Player player, final net.minecraft.world.InteractionHand hand, final BlockHitResult hit) { + if (player.getItemInHand(hand).getItem() != Items.LIGHT || !player.mayInteract(world, pos) || !player.mayUseItemAt(pos, hit.getDirection(), player.getItemInHand(hand))) { return net.minecraft.world.ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; } // Paper - Prevent unintended light block manipulation + return super.useItemOn(stack, state, world, pos, player, hand, hit); + } + // Paper end - prevent unintended light block manipulation + @Override protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (!world.isClientSide && player.canUseGameMasterBlocks()) {