PaperMC/paper-server/patches/sources/net/minecraft/world/level/block
Jake Potrebic 29d059d659 Fix sticky pistons and BlockPistonRetractEvent
There is an explicit check in the handling code for empty pistons that
prevents sticky pistons from firing the event. However when we look back
at the history we see that this check was originally added so that ONLY
sticky pistons would fire the retract event. I'm not sure why.
1092acbddf

Over the course of several updates, the meaning of that field appears to
have changed from "is NOT sticky" to "is sticky". So now its having the
opposite effect. Only normal pistons fire the retraction event. And like
all things in CB, it's just been carried around since.

If we are to believe the history, the correct fix for this issue is to
flip it so it only fires for sticky pistons, but that puts us in a
bind. It's already firing for non-sticky pistons, changing it now would
likely result in breakage. Furthermore, there is little documentation as
to WHY that was ever intended to be the case.

Instead we opt to remove the check entirely so that the event fires for
all piston types.

Co-authored-by: Zach Brown <1254957+zachbr@users.noreply.github.com>
Co-authored-by: Madeline Miller <mnmiller1@me.com>
2021-12-22 09:51:48 -08:00
..
entity Add more Campfire API 2021-07-16 00:39:03 +09:00
grower Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
piston Fix sticky pistons and BlockPistonRetractEvent 2021-12-22 09:51:48 -08:00
state Optimise getType calls 2020-06-03 11:37:13 -07:00
AbstractCandleBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
BambooSaplingBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
BambooStalkBlock.java.patch Configurable cactus bamboo and reed growth height 2016-03-01 13:02:51 -06:00
BaseFireBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
BasePressurePlateBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
BaseRailBlock.java.patch Fix some rails connecting improperly 2020-07-24 15:56:05 -07:00
BedBlock.java.patch Add PlayerBedFailEnterEvent 2020-12-24 12:27:41 -08:00
BeehiveBlock.java.patch Add PlayerShearBlockEvent 2020-08-27 15:02:48 -04:00
BellBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
BigDripleafBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
Block.java.patch Add BlockBreakBlockEvent 2021-01-03 17:58:11 -08:00
BubbleColumnBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
BuddingAmethystBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
BushBlock.java.patch Only process BlockPhysicsEvent if a plugin has a listener 2016-03-28 19:55:45 -04:00
ButtonBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
CactusBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
CakeBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CampfireBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
CarvedPumpkinBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CauldronBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CaveVines.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CaveVinesBlock.java.patch Fix Spigot growth modifiers 2021-12-03 17:09:24 -08:00
CeilingHangingSignBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ChangeOverTimeBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ChestBlock.java.patch Configurable Disabling Cat Chest Detection 2016-03-03 01:13:45 -06:00
ChorusFlowerBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CocoaBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
CommandBlock.java.patch Add permission for command blocks 2020-05-16 10:05:30 +02:00
ComparatorBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ComposterBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ConcretePowderBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CoralBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CoralFanBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CoralPlantBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CoralWallFanBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CrafterBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
CropBlock.java.patch Fix Spigot growth modifiers 2021-12-03 17:09:24 -08:00
DaylightDetectorBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DecoratedPotBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DetectorRailBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
DiodeBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DirtPathBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DispenserBlock.java.patch Add BlockPreDispenseEvent 2021-01-17 13:16:09 +10:00
DoorBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DoubleBlockCombiner.java.patch Don't load Chunks from Hoppers and other things 2016-11-03 20:28:12 -04:00
DoublePlantBlock.java.patch Only process BlockPhysicsEvent if a plugin has a listener 2016-03-28 19:55:45 -04:00
DragonEggBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DropExperienceBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
DropperBlock.java.patch Add BlockPreDispenseEvent 2021-01-17 13:16:09 +10:00
EndGatewayBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
EndPortalBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
EyeblossomBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
FarmBlock.java.patch Optimise BlockSoil nearby water lookup 2021-06-10 14:36:00 -07:00
FenceGateBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
FireBlock.java.patch Don't fire BlockFade on worldgen threads 2020-04-23 01:36:39 -04:00
FlowerPotBlock.java.patch Add PlayerFlowerPotManipulateEvent 2019-08-13 19:45:06 -07:00
FrogspawnBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
FrostedIceBlock.java.patch Add ability to configure frosted_ice properties 2016-04-21 23:51:55 -07:00
FungusBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
GrowingPlantHeadBlock.java.patch Fix Spigot growth modifiers 2021-12-03 17:09:24 -08:00
HoneyBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
HopperBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
IceBlock.java.patch Improve Block#breakNaturally API 2020-01-02 12:25:07 -06:00
InfestedBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
LavaCauldronBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
LayeredCauldronBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
LeavesBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
LecternBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
LeverBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
LightBlock.java.patch prevent unintended light block manipulation 2021-09-13 18:55:45 -07:00
LightningRodBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
LiquidBlock.java.patch Configurable speed for water flowing over lava 2018-08-08 16:33:21 -06:00
MagmaBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
MangrovePropaguleBlock.java.patch Fix Spigot growth modifiers 2021-12-03 17:09:24 -08:00
MultifaceSpreader.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
MushroomBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
NetherPortalBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
NetherWartBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
NoteBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
NyliumBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ObserverBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
PitcherCropBlock.java.patch Fix Spigot growth modifiers 2021-12-03 17:09:24 -08:00
PointedDripstoneBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
PowderSnowBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
PoweredRailBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
PressurePlateBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
PumpkinBlock.java.patch Add PlayerShearBlockEvent 2020-08-27 15:02:48 -04:00
RailState.java.patch Fix some rails connecting improperly 2020-07-24 15:56:05 -07:00
RedstoneLampBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
RedStoneOreBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
RedstoneTorchBlock.java.patch Faster redstone torch rapid clock removal 2016-05-23 12:12:37 +02:00
RespawnAnchorBlock.java.patch Add PlayerSetSpawnEvent 2021-05-19 18:59:10 -07:00
RootedDirtBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SaplingBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
ScaffoldingBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkCatalystBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkSensorBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkShriekerBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkSpreader.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SculkVeinBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
ShulkerBoxBlock.java.patch LootTable API and replenishable lootables 2016-05-01 21:19:14 -04:00
SignBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SnifferEggBlock.java.patch Fixes and additions to the spawn reason API 2019-03-24 00:24:52 -04:00
SnowLayerBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SpawnerBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
SpongeBlock.java.patch Fix SpongeAbsortEvent handling 2018-11-10 05:15:21 +00:00
SpreadingSnowyDirtBlock.java.patch Configurable random tick rates for blocks 2016-04-03 16:28:17 -04:00
StemBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
SugarCaneBlock.java.patch Configurable cactus bamboo and reed growth height 2016-03-01 13:02:51 -06:00
SweetBerryBushBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
TargetBlock.java.patch Add TargetHitEvent 2020-11-25 23:20:44 -08:00
TntBlock.java.patch Add TNTPrimeEvent 2018-07-16 00:05:05 +03:00
TrapDoorBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
TripWireBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
TripWireHookBlock.java.patch Validate tripwire hook placement before update 2020-03-07 00:07:51 +00:00
TurtleEggBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
VineBlock.java.patch Crop Growth Rates 2016-03-07 22:14:13 +11:00
WallHangingSignBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
WaterlilyBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
WebBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
WeightedPressurePlateBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00
WitherRoseBlock.java.patch Add EntityInsideBlockEvent 2021-05-08 18:02:36 -07:00
WitherSkullBlock.java.patch Remap CraftBukkit to Mojang+Yarn Mappings 2024-12-11 22:26:55 +01:00