summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/RecipeMapClone.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/RecipeMapClone.java')
-rw-r--r--src/main/java/net/minecraft/server/RecipeMapClone.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/RecipeMapClone.java b/src/main/java/net/minecraft/server/RecipeMapClone.java
new file mode 100644
index 00000000..7224c7af
--- /dev/null
+++ b/src/main/java/net/minecraft/server/RecipeMapClone.java
@@ -0,0 +1,82 @@
+package net.minecraft.server;
+
+public class RecipeMapClone extends ShapelessRecipes implements IRecipe { // CraftBukkit - added extends
+
+ // CraftBukkit start - delegate to new parent class
+ public RecipeMapClone() {
+ super(new ItemStack(Item.MAP, 0, -1), java.util.Arrays.asList(new ItemStack(Item.MAP_EMPTY, 0, 0)));
+ }
+ // CraftBukkit end
+
+ public boolean a(InventoryCrafting inventorycrafting, World world) {
+ int i = 0;
+ ItemStack itemstack = null;
+
+ for (int j = 0; j < inventorycrafting.getSize(); ++j) {
+ ItemStack itemstack1 = inventorycrafting.getItem(j);
+
+ if (itemstack1 != null) {
+ if (itemstack1.id == Item.MAP.id) {
+ if (itemstack != null) {
+ return false;
+ }
+
+ itemstack = itemstack1;
+ } else {
+ if (itemstack1.id != Item.MAP_EMPTY.id) {
+ return false;
+ }
+
+ ++i;
+ }
+ }
+ }
+
+ return itemstack != null && i > 0;
+ }
+
+ public ItemStack a(InventoryCrafting inventorycrafting) {
+ int i = 0;
+ ItemStack itemstack = null;
+
+ for (int j = 0; j < inventorycrafting.getSize(); ++j) {
+ ItemStack itemstack1 = inventorycrafting.getItem(j);
+
+ if (itemstack1 != null) {
+ if (itemstack1.id == Item.MAP.id) {
+ if (itemstack != null) {
+ return null;
+ }
+
+ itemstack = itemstack1;
+ } else {
+ if (itemstack1.id != Item.MAP_EMPTY.id) {
+ return null;
+ }
+
+ ++i;
+ }
+ }
+ }
+
+ if (itemstack != null && i >= 1) {
+ ItemStack itemstack2 = new ItemStack(Item.MAP, i + 1, itemstack.getData());
+
+ if (itemstack.s()) {
+ itemstack2.c(itemstack.r());
+ }
+
+ return itemstack2;
+ } else {
+ return null;
+ }
+ }
+
+ public int a() {
+ return 9;
+ }
+
+ public ItemStack b() {
+ return null;
+ }
+}