Paper/patches/server/0870-Add-Moving-Piston-API.patch
Jake Potrebic 0cdce89d59
Fix a bunch of stuff with player spawn locations (#9887)
If a playerdata doesn't contain a valid, loaded world, reset
to the main world spawn point
2023-11-04 14:11:55 -07:00

47 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Sat, 4 Dec 2021 13:29:36 -0500
Subject: [PATCH] Add Moving Piston API
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java b/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java
index c685846a539756ca7f0857e27f2b60d25cc13959..93ad5fed9a4d92169af0546c7e1cd8a62d19d1d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java
@@ -3,7 +3,7 @@ package org.bukkit.craftbukkit.block;
import net.minecraft.world.level.block.piston.PistonMovingBlockEntity;
import org.bukkit.World;
-public class CraftMovingPiston extends CraftBlockEntityState<PistonMovingBlockEntity> {
+public class CraftMovingPiston extends CraftBlockEntityState<PistonMovingBlockEntity> implements io.papermc.paper.block.MovingPiston { // Paper - Add Moving Piston API
public CraftMovingPiston(World world, PistonMovingBlockEntity tileEntity) {
super(world, tileEntity);
@@ -17,4 +17,26 @@ public class CraftMovingPiston extends CraftBlockEntityState<PistonMovingBlockEn
public CraftMovingPiston copy() {
return new CraftMovingPiston(this);
}
+
+ // Paper start - Add Moving Piston API
+ @Override
+ public org.bukkit.block.data.BlockData getMovingBlock() {
+ return org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(this.getTileEntity().getMovedState());
+ }
+
+ @Override
+ public org.bukkit.block.BlockFace getDirection() {
+ return org.bukkit.craftbukkit.block.CraftBlock.notchToBlockFace(this.getTileEntity().getDirection());
+ }
+
+ @Override
+ public boolean isExtending() {
+ return this.getTileEntity().isExtending();
+ }
+
+ @Override
+ public boolean isPistonHead() {
+ return this.getTileEntity().isSourcePiston();
+ }
+ // Paper end - Add Moving Piston API
}