Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
e886d8118e
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
101 Zeilen
3.9 KiB
Diff
101 Zeilen
3.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Matthew Miller <mnmiller1@me.com>
|
|
Date: Thu, 31 Dec 2020 12:48:19 +1000
|
|
Subject: [PATCH] Implement API to get Material from Boats and Minecarts
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
|
index fdfdf83c28c3065fa89fba9e44b3da99f9791e0e..da84cf98022b771bdf0c9d0b284aa7d4d59318e0 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
|
@@ -216,6 +216,7 @@ public class EntityBoat extends Entity {
|
|
|
|
}
|
|
|
|
+ public final Item getBoatItem() { return this.g(); } // Paper - OBFHELPER
|
|
public Item g() {
|
|
switch (this.getType()) {
|
|
case OAK:
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
|
|
index 271950903e8541194e4f6447f0d2aaae63920678..4a994dacd57bb4630b9c5645c084726045d64bcd 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
|
|
@@ -1,8 +1,10 @@
|
|
package org.bukkit.craftbukkit.entity;
|
|
|
|
import net.minecraft.server.EntityBoat;
|
|
+import org.bukkit.Material;
|
|
import org.bukkit.TreeSpecies;
|
|
import org.bukkit.craftbukkit.CraftServer;
|
|
+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
|
import org.bukkit.entity.Boat;
|
|
import org.bukkit.entity.EntityType;
|
|
|
|
@@ -66,6 +68,13 @@ public class CraftBoat extends CraftVehicle implements Boat {
|
|
getHandle().landBoats = workOnLand;
|
|
}
|
|
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public Material getBoatMaterial() {
|
|
+ return CraftMagicNumbers.getMaterial(getHandle().getBoatItem());
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public EntityBoat getHandle() {
|
|
return (EntityBoat) entity;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
|
|
index d23f994f579bdd34e15703cc11bdd36572841146..52b4b15b2003f19f605e98a99396d1baedfe5f42 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
|
|
@@ -3,6 +3,9 @@ package org.bukkit.craftbukkit.entity;
|
|
import net.minecraft.server.Blocks;
|
|
import net.minecraft.server.EntityMinecartAbstract;
|
|
import net.minecraft.server.IBlockData;
|
|
+import net.minecraft.server.Item;
|
|
+import net.minecraft.server.Items;
|
|
+import org.bukkit.Material;
|
|
import org.bukkit.block.data.BlockData;
|
|
import org.bukkit.craftbukkit.CraftServer;
|
|
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
|
@@ -68,6 +71,38 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
|
|
getHandle().setDerailedVelocityMod(derailed);
|
|
}
|
|
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public Material getMinecartMaterial() {
|
|
+ Item minecartItem;
|
|
+ switch (getHandle().getMinecartType()) {
|
|
+ case CHEST:
|
|
+ minecartItem = Items.CHEST_MINECART;
|
|
+ break;
|
|
+ case FURNACE:
|
|
+ minecartItem = Items.FURNACE_MINECART;
|
|
+ break;
|
|
+ case TNT:
|
|
+ minecartItem = Items.TNT_MINECART;
|
|
+ break;
|
|
+ case HOPPER:
|
|
+ minecartItem = Items.HOPPER_MINECART;
|
|
+ break;
|
|
+ case COMMAND_BLOCK:
|
|
+ minecartItem = Items.COMMAND_BLOCK_MINECART;
|
|
+ break;
|
|
+ case RIDEABLE:
|
|
+ case SPAWNER:
|
|
+ minecartItem = Items.MINECART;
|
|
+ break;
|
|
+ default:
|
|
+ throw new IllegalStateException("Unexpected value: " + getHandle().getMinecartType());
|
|
+ }
|
|
+
|
|
+ return CraftMagicNumbers.getMaterial(minecartItem);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public EntityMinecartAbstract getHandle() {
|
|
return (EntityMinecartAbstract) entity;
|