From 70809f7640455a3f8a7811f9161226f41d42946f Mon Sep 17 00:00:00 2001
From: EpicKnarvik97 <kristian.knarvik@knett.no>
Date: Sat, 5 Mar 2022 20:58:46 +0100
Subject: [PATCH] Expose furnace minecart push values

Adds methods for getting and setting a furnace minecart's push values
---
 .../entity/CraftMinecartFurnace.java          | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartFurnace.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartFurnace.java
index 53042b75b4..1be1f6d23f 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartFurnace.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartFurnace.java
@@ -27,6 +27,30 @@ public class CraftMinecartFurnace extends CraftMinecart implements PoweredMineca
         this.getHandle().fuel = fuel;
     }
 
+    // Paper start
+    @Override
+    public double getPushX() {
+        return getHandle().push.x;
+    }
+
+    @Override
+    public double getPushZ() {
+        return getHandle().push.z;
+    }
+
+    @Override
+    public void setPushX(double xPush) {
+        final net.minecraft.world.phys.Vec3 push = getHandle().push;
+        getHandle().push = new net.minecraft.world.phys.Vec3(xPush, push.y, push.z);
+    }
+
+    @Override
+    public void setPushZ(double zPush) {
+        final net.minecraft.world.phys.Vec3 push = getHandle().push;
+        getHandle().push = new net.minecraft.world.phys.Vec3(push.x, push.y, zPush);
+    }
+    // Paper end
+
     @Override
     public String toString() {
         return "CraftMinecartFurnace";