mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-19 21:22:02 +01:00
da9d110d5b
This patch does not appear to be doing anything useful, and may hide errors. Currently, the save logic does not run through this path either so it did not do anything. Additionally, properly implement support for handling RegionFileSizeException in Moonrise.
25 lines
1.7 KiB
Diff
25 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
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..fec6bf38f080039436ba80d5528857ba4787bf4e 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 InteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, net.minecraft.world.InteractionHand hand, BlockHitResult hit) {
|
|
+ if (player.getItemInHand(hand).getItem() != Items.LIGHT || (world instanceof final net.minecraft.server.level.ServerLevel serverLevel && !player.mayInteract(serverLevel, pos)) || !player.mayUseItemAt(pos, hit.getDirection(), player.getItemInHand(hand))) { return net.minecraft.world.InteractionResult.PASS; } // 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()) {
|