mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +02:00
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 312281ea PR-742: Make World implement Keyed CraftBukkit Changes: 2ac7fa7a SPIGOT-7014: getLootTable API should not persistently update loot table 7fdd7941 PR-1046: Make World implement Keyed 7bc728a6 PR-1045: Revert changes to persistence required checks Spigot Changes: b6d12d17 Rebuild patches
57 lines
3.3 KiB
Diff
57 lines
3.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 30 Dec 2021 14:02:13 -0800
|
|
Subject: [PATCH] fix powder snow cauldrons not turning to water
|
|
|
|
Powder snow cauldrons should turn to water when
|
|
extinguishing an entity
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java
|
|
index c21b0e7265488f26179810ddb6a8a6992a2a4807..95946623bc4673363a008fea7a4b1eeae6e1dfdb 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java
|
|
@@ -63,7 +63,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock {
|
|
if (!world.isClientSide && entity.isOnFire() && this.isEntityInsideContent(state, pos, entity)) {
|
|
// CraftBukkit start
|
|
if (entity.mayInteract(world, pos)) {
|
|
- if (!LayeredCauldronBlock.lowerFillLevel(state, world, pos, entity, CauldronLevelChangeEvent.ChangeReason.EXTINGUISH)) {
|
|
+ if (!this.handleEntityOnFireInsideWithEvent(state, world, pos, entity)) { // Paper - fix powdered snow cauldron extinguishing entities
|
|
return;
|
|
}
|
|
}
|
|
@@ -73,9 +73,15 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock {
|
|
|
|
}
|
|
|
|
+ @Deprecated // Paper - use #handleEntityOnFireInsideWithEvent
|
|
protected void handleEntityOnFireInside(BlockState state, Level world, BlockPos pos) {
|
|
LayeredCauldronBlock.lowerFillLevel(state, world, pos);
|
|
}
|
|
+ // Paper start
|
|
+ protected boolean handleEntityOnFireInsideWithEvent(BlockState state, Level world, BlockPos pos, Entity entity) {
|
|
+ return LayeredCauldronBlock.lowerFillLevel(state, world, pos, entity, CauldronLevelChangeEvent.ChangeReason.EXTINGUISH);
|
|
+ }
|
|
+ // Paper end
|
|
|
|
public static void lowerFillLevel(BlockState state, Level world, BlockPos pos) {
|
|
// CraftBukkit start
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java
|
|
index 54c8f2ccadd685b43d7ee032a95bfcf193357ce9..7f6b240bbbb773ca49e0e6290169cc81f5529af5 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java
|
|
@@ -16,7 +16,14 @@ public class PowderSnowCauldronBlock extends LayeredCauldronBlock {
|
|
}
|
|
|
|
@Override
|
|
+ @Deprecated // Paper - use #handleEntityOnFireInsideWithEvent
|
|
protected void handleEntityOnFireInside(BlockState state, Level world, BlockPos pos) {
|
|
lowerFillLevel(Blocks.WATER_CAULDRON.defaultBlockState().setValue(LEVEL, state.getValue(LEVEL)), world, pos);
|
|
}
|
|
+ // Paper - replace powdered snow with water (taken from #handleEntityOnFireInside)
|
|
+ @Override
|
|
+ protected boolean handleEntityOnFireInsideWithEvent(BlockState state, Level world, BlockPos pos, net.minecraft.world.entity.Entity entity) {
|
|
+ return super.handleEntityOnFireInsideWithEvent(Blocks.WATER_CAULDRON.defaultBlockState().setValue(LEVEL, state.getValue(LEVEL)), world, pos, entity);
|
|
+ }
|
|
+ // Paper end
|
|
}
|