Skip to content

Commit

Permalink
Add CropBlock API
Browse files Browse the repository at this point in the history
  • Loading branch information
Leguan16 committed Jan 14, 2024
1 parent 570cfb4 commit 763d904
Show file tree
Hide file tree
Showing 2 changed files with 160 additions and 0 deletions.
29 changes: 29 additions & 0 deletions patches/api/0457-CropBlock-API.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: leguan <[email protected]>
Date: Sun, 14 Jan 2024 21:26:35 +0100
Subject: [PATCH] CropBlock API


diff --git a/src/main/java/io/papermc/paper/block/CropBlock.java b/src/main/java/io/papermc/paper/block/CropBlock.java
new file mode 100644
index 0000000000000000000000000000000000000000..07f982e6f5019ae7f15bdad0dc9602ca67bb3c5b
--- /dev/null
+++ b/src/main/java/io/papermc/paper/block/CropBlock.java
@@ -0,0 +1,17 @@
+package io.papermc.paper.block;
+
+import org.bukkit.Material;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Represents a CropBlock.
+ */
+public interface CropBlock {
+
+ /**
+ * Gets the seed of the planted block. E.g. WHEAT_SEEDS for WHEAT.
+ * @return The seed of the planted block.
+ */
+ Material getBaseSeedId();
+
+}
131 changes: 131 additions & 0 deletions patches/server/1062-CropBlock-API.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: leguan <[email protected]>
Date: Sun, 14 Jan 2024 21:26:15 +0100
Subject: [PATCH] CropBlock API


diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBeetroot.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBeetroot.java
index 90b4883f3e9748212ae7d6a09781d846a88c5abf..39a42bd0e02ac9d7ee109344f786156e97d52611 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBeetroot.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBeetroot.java
@@ -3,7 +3,7 @@
*/
package org.bukkit.craftbukkit.block.impl;

-public final class CraftBeetroot extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable {
+public final class CraftBeetroot extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable, io.papermc.paper.block.CropBlock { // Paper - CropBlock API

public CraftBeetroot() {
super();
@@ -31,4 +31,11 @@ public final class CraftBeetroot extends org.bukkit.craftbukkit.block.data.Craft
public int getMaximumAge() {
return getMax(CraftBeetroot.AGE);
}
+
+ // Paper start - CropBlock API
+ @Override
+ public org.bukkit.Material getBaseSeedId() {
+ return org.bukkit.craftbukkit.inventory.CraftItemStack.asNewCraftStack(((net.minecraft.world.level.block.CropBlock) getState().getBlock()).getBaseSeedId().asItem()).getType();
+ }
+ // Paper end - CropBlock API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCarrots.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCarrots.java
index 270416eb51c4aac676969bf51d8a719f2d5da0ac..7bd8048c404cd8c45747648b9013f302f37598e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCarrots.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCarrots.java
@@ -3,7 +3,7 @@
*/
package org.bukkit.craftbukkit.block.impl;

-public final class CraftCarrots extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable {
+public final class CraftCarrots extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable, io.papermc.paper.block.CropBlock { // Paper - CropBlock API

public CraftCarrots() {
super();
@@ -31,4 +31,11 @@ public final class CraftCarrots extends org.bukkit.craftbukkit.block.data.CraftB
public int getMaximumAge() {
return getMax(CraftCarrots.AGE);
}
+
+ // Paper start - CropBlock API
+ @Override
+ public org.bukkit.Material getBaseSeedId() {
+ return org.bukkit.craftbukkit.inventory.CraftItemStack.asNewCraftStack(((net.minecraft.world.level.block.CropBlock) getState().getBlock()).getBaseSeedId().asItem()).getType();
+ }
+ // Paper end - CropBlock API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrops.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrops.java
index d186de7098a63a8667c39ff1749f65d6ab82e4e8..d100988b197dd5ee258e46245b17bc83772d76b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrops.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrops.java
@@ -3,7 +3,7 @@
*/
package org.bukkit.craftbukkit.block.impl;

-public final class CraftCrops extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable {
+public final class CraftCrops extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable, io.papermc.paper.block.CropBlock { // Paper - CropBlock API

public CraftCrops() {
super();
@@ -31,4 +31,11 @@ public final class CraftCrops extends org.bukkit.craftbukkit.block.data.CraftBlo
public int getMaximumAge() {
return getMax(CraftCrops.AGE);
}
+
+ // Paper start - CropBlock API
+ @Override
+ public org.bukkit.Material getBaseSeedId() {
+ return org.bukkit.craftbukkit.inventory.CraftItemStack.asNewCraftStack(((net.minecraft.world.level.block.CropBlock) getState().getBlock()).getBaseSeedId().asItem()).getType();
+ }
+ // Paper end - CropBlock API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPotatoes.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPotatoes.java
index ee3faab6b3d2371579dfdb619c1aae2109e22211..f362b691e06d0c536c1e8b86fb6add21a5dd2122 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPotatoes.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPotatoes.java
@@ -3,7 +3,7 @@
*/
package org.bukkit.craftbukkit.block.impl;

-public final class CraftPotatoes extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable {
+public final class CraftPotatoes extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable, io.papermc.paper.block.CropBlock { // Paper - CropBlock API

public CraftPotatoes() {
super();
@@ -31,4 +31,11 @@ public final class CraftPotatoes extends org.bukkit.craftbukkit.block.data.Craft
public int getMaximumAge() {
return getMax(CraftPotatoes.AGE);
}
+
+ // Paper start - CropBlock API
+ @Override
+ public org.bukkit.Material getBaseSeedId() {
+ return org.bukkit.craftbukkit.inventory.CraftItemStack.asNewCraftStack(((net.minecraft.world.level.block.CropBlock) getState().getBlock()).getBaseSeedId().asItem()).getType();
+ }
+ // Paper end - CropBlock API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftTorchflowerCrop.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftTorchflowerCrop.java
index 2a4ade3518b60ea97d6dbb6c66cf2f40aaf4ab7d..d7728bb55d42dbfb5831f2235a53b448d619a173 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftTorchflowerCrop.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftTorchflowerCrop.java
@@ -3,7 +3,7 @@
*/
package org.bukkit.craftbukkit.block.impl;

-public final class CraftTorchflowerCrop extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable {
+public final class CraftTorchflowerCrop extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Ageable, io.papermc.paper.block.CropBlock { // Paper - CropBlock API

public CraftTorchflowerCrop() {
super();
@@ -31,4 +31,11 @@ public final class CraftTorchflowerCrop extends org.bukkit.craftbukkit.block.dat
public int getMaximumAge() {
return getMax(CraftTorchflowerCrop.AGE);
}
+
+ // Paper start - CropBlock API
+ @Override
+ public org.bukkit.Material getBaseSeedId() {
+ return org.bukkit.craftbukkit.inventory.CraftItemStack.asNewCraftStack(((net.minecraft.world.level.block.CropBlock) getState().getBlock()).getBaseSeedId().asItem()).getType();
+ }
+ // Paper end - CropBlock API
}

0 comments on commit 763d904

Please sign in to comment.