Update CraftBukkit to Minecraft 1.7.2
This commit is contained in:
@@ -9,7 +9,7 @@ import org.bukkit.inventory.InventoryView;
|
||||
import net.minecraft.server.Container;
|
||||
import net.minecraft.server.EntityHuman;
|
||||
import net.minecraft.server.IInventory;
|
||||
import net.minecraft.server.Packet100OpenWindow;
|
||||
import net.minecraft.server.PacketPlayOutOpenWindow;
|
||||
import net.minecraft.server.Slot;
|
||||
|
||||
public class CraftContainer extends Container {
|
||||
@@ -85,7 +85,7 @@ public class CraftContainer extends Container {
|
||||
setupSlots(top, bottom);
|
||||
}
|
||||
int size = getSize();
|
||||
player.getHandle().playerConnection.sendPacket(new Packet100OpenWindow(this.windowId, type, cachedTitle, size, true));
|
||||
player.getHandle().playerConnection.sendPacket(new PacketPlayOutOpenWindow(this.windowId, type, cachedTitle, size, true));
|
||||
player.updateInventory();
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import net.minecraft.server.RecipesFurnace;
|
||||
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.FurnaceRecipe;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@@ -20,6 +21,6 @@ public class CraftFurnaceRecipe extends FurnaceRecipe implements CraftRecipe {
|
||||
public void addToCraftingManager() {
|
||||
ItemStack result = this.getResult();
|
||||
ItemStack input = this.getInput();
|
||||
RecipesFurnace.getInstance().registerRecipe(input.getTypeId(), CraftItemStack.asNMSCopy(result), 0.1f);
|
||||
RecipesFurnace.getInstance().registerRecipe(CraftMagicNumbers.getBlock(input.getTypeId()), CraftItemStack.asNMSCopy(result), 0.1f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class CraftInventory implements Inventory {
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return getInventory().getName();
|
||||
return getInventory().getInventoryName();
|
||||
}
|
||||
|
||||
public ItemStack getItem(int index) {
|
||||
@@ -421,7 +421,7 @@ public class CraftInventory implements Inventory {
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return inventory.getName();
|
||||
return inventory.getInventoryName();
|
||||
}
|
||||
|
||||
public InventoryType getType() {
|
||||
|
||||
@@ -97,7 +97,7 @@ public class CraftInventoryCustom extends CraftInventory {
|
||||
}
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
public String getInventoryName() {
|
||||
return title;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ public class CraftInventoryCustom extends CraftInventory {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void g() {}
|
||||
public void l_() {}
|
||||
|
||||
public InventoryHolder getOwner() {
|
||||
return owner;
|
||||
@@ -143,7 +143,7 @@ public class CraftInventoryCustom extends CraftInventory {
|
||||
|
||||
public void startOpen() {}
|
||||
|
||||
public boolean c() {
|
||||
public boolean k_() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import net.minecraft.server.Packet16BlockItemSwitch;
|
||||
import net.minecraft.server.PacketPlayOutHeldItemSlot;
|
||||
import net.minecraft.server.PlayerInventory;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
@@ -39,7 +39,7 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||
public void setHeldItemSlot(int slot) {
|
||||
Validate.isTrue(slot >= 0 && slot < PlayerInventory.getHotbarSize(), "Slot is not between 0 and 8 inclusive");
|
||||
this.getInventory().itemInHandIndex = slot;
|
||||
((CraftPlayer) this.getHolder()).getHandle().playerConnection.sendPacket(new Packet16BlockItemSwitch(slot));
|
||||
((CraftPlayer) this.getHolder()).getHandle().playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(slot));
|
||||
}
|
||||
|
||||
public ItemStack getHelmet() {
|
||||
|
||||
@@ -53,7 +53,7 @@ public class CraftInventoryView extends InventoryView {
|
||||
if (slot != -999) {
|
||||
container.getSlot(slot).set(stack);
|
||||
} else {
|
||||
player.getHandle().drop(stack);
|
||||
player.getHandle().drop(stack, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,12 +7,14 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS_LVL;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.server.EnchantmentManager;
|
||||
import net.minecraft.server.Item;
|
||||
import net.minecraft.server.NBTTagCompound;
|
||||
import net.minecraft.server.NBTTagList;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.serialization.DelegateDeserialization;
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
@@ -30,7 +32,14 @@ public final class CraftItemStack extends ItemStack {
|
||||
if (original == null || original.getTypeId() <= 0) {
|
||||
return null;
|
||||
}
|
||||
net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(original.getTypeId(), original.getAmount(), original.getDurability());
|
||||
|
||||
Item item = CraftMagicNumbers.getItem(original.getType());
|
||||
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability());
|
||||
if (original.hasItemMeta()) {
|
||||
setItemMeta(stack, original.getItemMeta());
|
||||
}
|
||||
@@ -50,7 +59,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
if (original == null) {
|
||||
return new ItemStack(Material.AIR);
|
||||
}
|
||||
ItemStack stack = new ItemStack(original.id, original.count, (short) original.getData());
|
||||
ItemStack stack = new ItemStack(CraftMagicNumbers.getMaterial(original.getItem()), original.count, (short) original.getData());
|
||||
if (hasItemMeta(original)) {
|
||||
stack.setItemMeta(getItemMeta(original));
|
||||
}
|
||||
@@ -69,12 +78,12 @@ public final class CraftItemStack extends ItemStack {
|
||||
return new CraftItemStack(original);
|
||||
}
|
||||
|
||||
public static CraftItemStack asNewCraftStack(net.minecraft.server.Item item) {
|
||||
public static CraftItemStack asNewCraftStack(Item item) {
|
||||
return asNewCraftStack(item, 1);
|
||||
}
|
||||
|
||||
public static CraftItemStack asNewCraftStack(net.minecraft.server.Item item, int amount) {
|
||||
return new CraftItemStack(item.id, amount, (short) 0, null);
|
||||
public static CraftItemStack asNewCraftStack(Item item, int amount) {
|
||||
return new CraftItemStack(CraftMagicNumbers.getMaterial(item), amount, (short) 0, null);
|
||||
}
|
||||
|
||||
net.minecraft.server.ItemStack handle;
|
||||
@@ -90,16 +99,21 @@ public final class CraftItemStack extends ItemStack {
|
||||
this(item.getTypeId(), item.getAmount(), item.getDurability(), item.hasItemMeta() ? item.getItemMeta() : null);
|
||||
}
|
||||
|
||||
private CraftItemStack(int typeId, int amount, short durability, ItemMeta itemMeta) {
|
||||
setTypeId(typeId);
|
||||
private CraftItemStack(Material type, int amount, short durability, ItemMeta itemMeta) {
|
||||
setType(type);
|
||||
setAmount(amount);
|
||||
setDurability(durability);
|
||||
setItemMeta(itemMeta);
|
||||
}
|
||||
|
||||
private CraftItemStack(int typeId, int amount, short durability, ItemMeta itemMeta) {
|
||||
this(Material.getMaterial(typeId), amount, durability, itemMeta);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTypeId() {
|
||||
return handle != null ? handle.id : 0;
|
||||
return handle != null ? CraftMagicNumbers.getId(handle.getItem()) : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -108,10 +122,12 @@ public final class CraftItemStack extends ItemStack {
|
||||
return;
|
||||
} else if (type == 0) {
|
||||
handle = null;
|
||||
} else if (CraftMagicNumbers.getItem(type) == null) { // :(
|
||||
handle = null;
|
||||
} else if (handle == null) {
|
||||
handle = new net.minecraft.server.ItemStack(type, 1, 0);
|
||||
handle = new net.minecraft.server.ItemStack(CraftMagicNumbers.getItem(type), 1, 0);
|
||||
} else {
|
||||
handle.id = type;
|
||||
handle.setItem(CraftMagicNumbers.getItem(type));
|
||||
if (hasItemMeta()) {
|
||||
// This will create the appropriate item meta, which will contain all the data we intend to keep
|
||||
setItemMeta(handle, getItemMeta(handle));
|
||||
@@ -168,7 +184,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
NBTTagList list = getEnchantmentList(handle);
|
||||
if (list == null) {
|
||||
list = new NBTTagList(ENCHANTMENTS.NBT);
|
||||
list = new NBTTagList();
|
||||
handle.tag.set(ENCHANTMENTS.NBT, list);
|
||||
}
|
||||
int size = list.size();
|
||||
@@ -193,7 +209,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
if (item.tag == null) {
|
||||
item.setTag(new NBTTagCompound("tag"));
|
||||
item.setTag(new NBTTagCompound());
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -247,7 +263,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
// This is workaround for not having an index removal
|
||||
listCopy = new NBTTagList(ENCHANTMENTS.NBT);
|
||||
listCopy = new NBTTagList();
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (i != index) {
|
||||
listCopy.add(list.get(i));
|
||||
@@ -264,13 +280,14 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
static Map<Enchantment, Integer> getEnchantments(net.minecraft.server.ItemStack item) {
|
||||
ImmutableMap.Builder<Enchantment, Integer> result = ImmutableMap.builder();
|
||||
NBTTagList list = (item == null) ? null : item.getEnchantments();
|
||||
NBTTagList list = (item != null && item.hasEnchantments()) ? item.getEnchantments() : null;
|
||||
|
||||
if (list == null) {
|
||||
return result.build();
|
||||
if (list == null || list.size() == 0) {
|
||||
return ImmutableMap.of();
|
||||
}
|
||||
|
||||
ImmutableMap.Builder<Enchantment, Integer> result = ImmutableMap.builder();
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
int id = 0xffff & ((NBTTagCompound) list.get(i)).getShort(ENCHANTMENTS_ID.NBT);
|
||||
int level = 0xffff & ((NBTTagCompound) list.get(i)).getShort(ENCHANTMENTS_LVL.NBT);
|
||||
@@ -282,7 +299,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
static NBTTagList getEnchantmentList(net.minecraft.server.ItemStack item) {
|
||||
return item == null ? null : item.getEnchantments();
|
||||
return (item != null && item.hasEnchantments()) ? item.getEnchantments() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -330,7 +347,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
}
|
||||
|
||||
static Material getType(net.minecraft.server.ItemStack item) {
|
||||
Material material = Material.getMaterial(item == null ? 0 : item.id);
|
||||
Material material = Material.getMaterial(item == null ? 0 : CraftMagicNumbers.getId(item.getItem()));
|
||||
return material == null ? Material.AIR : material;
|
||||
}
|
||||
|
||||
@@ -351,7 +368,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
return false;
|
||||
}
|
||||
|
||||
NBTTagCompound tag = new NBTTagCompound("tag");
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
item.setTag(tag);
|
||||
|
||||
((CraftMetaItem) itemMeta).applyToItem(tag);
|
||||
|
||||
@@ -6,7 +6,6 @@ import java.util.Map;
|
||||
|
||||
import net.minecraft.server.NBTTagCompound;
|
||||
import net.minecraft.server.NBTTagList;
|
||||
import net.minecraft.server.NBTTagString;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.Material;
|
||||
@@ -54,11 +53,11 @@ class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
||||
}
|
||||
|
||||
if (tag.hasKey(BOOK_PAGES.NBT)) {
|
||||
NBTTagList pages = tag.getList(BOOK_PAGES.NBT);
|
||||
NBTTagList pages = tag.getList(BOOK_PAGES.NBT, 8);
|
||||
String[] pageArray = new String[pages.size()];
|
||||
|
||||
for (int i = 0; i < pages.size(); i++) {
|
||||
String page = ((NBTTagString) pages.get(i)).data;
|
||||
String page = pages.f(i);
|
||||
pageArray[i] = page;
|
||||
}
|
||||
|
||||
@@ -90,7 +89,7 @@ class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
||||
}
|
||||
|
||||
if (hasPages()) {
|
||||
itemData.set(BOOK_PAGES.NBT, createStringList(pages, BOOK_PAGES));
|
||||
itemData.set(BOOK_PAGES.NBT, createStringList(pages));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta {
|
||||
return;
|
||||
}
|
||||
|
||||
NBTTagList fireworkEffects = fireworks.getList(EXPLOSIONS.NBT);
|
||||
NBTTagList fireworkEffects = fireworks.getList(EXPLOSIONS.NBT, 10);
|
||||
List<FireworkEffect> effects = this.effects = new ArrayList<FireworkEffect>(fireworkEffects.size());
|
||||
|
||||
for (int i = 0; i < fireworkEffects.size(); i++) {
|
||||
@@ -209,10 +209,10 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta {
|
||||
}
|
||||
|
||||
NBTTagCompound fireworks = itemTag.getCompound(FIREWORKS.NBT);
|
||||
itemTag.setCompound(FIREWORKS.NBT, fireworks);
|
||||
itemTag.set(FIREWORKS.NBT, fireworks);
|
||||
|
||||
if (hasEffects()) {
|
||||
NBTTagList effects = new NBTTagList(EXPLOSIONS.NBT);
|
||||
NBTTagList effects = new NBTTagList();
|
||||
for (FireworkEffect effect : this.effects) {
|
||||
effects.add(getExplosion(effect));
|
||||
}
|
||||
|
||||
@@ -231,11 +231,11 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
}
|
||||
|
||||
if (display.hasKey(LORE.NBT)) {
|
||||
NBTTagList list = display.getList(LORE.NBT);
|
||||
NBTTagList list = display.getList(LORE.NBT, 8);
|
||||
lore = new ArrayList<String>(list.size());
|
||||
|
||||
for (int index = 0; index < list.size(); index++) {
|
||||
String line = ((NBTTagString) list.get(index)).data;
|
||||
String line = list.f(index);
|
||||
lore.add(line);
|
||||
}
|
||||
}
|
||||
@@ -250,7 +250,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
|
||||
if (tag.get(ATTRIBUTES.NBT) instanceof NBTTagList) {
|
||||
NBTTagList save = null;
|
||||
NBTTagList nbttaglist = tag.getList(ATTRIBUTES.NBT);
|
||||
NBTTagList nbttaglist = tag.getList(ATTRIBUTES.NBT, 10);
|
||||
|
||||
for (int i = 0; i < nbttaglist.size(); ++i) {
|
||||
if (!(nbttaglist.get(i) instanceof NBTTagCompound)) {
|
||||
@@ -278,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
}
|
||||
|
||||
if (save == null) {
|
||||
save = new NBTTagList(ATTRIBUTES.NBT);
|
||||
save = new NBTTagList();
|
||||
}
|
||||
|
||||
NBTTagCompound entry = new NBTTagCompound();
|
||||
@@ -302,7 +302,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
return null;
|
||||
}
|
||||
|
||||
NBTTagList ench = tag.getList(key.NBT);
|
||||
NBTTagList ench = tag.getList(key.NBT, 10);
|
||||
Map<Enchantment, Integer> enchantments = new HashMap<Enchantment, Integer>(ench.size());
|
||||
|
||||
for (int i = 0; i < ench.size(); i++) {
|
||||
@@ -354,11 +354,11 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
@Overridden
|
||||
void applyToItem(NBTTagCompound itemTag) {
|
||||
if (hasDisplayName()) {
|
||||
setDisplayTag(itemTag, NAME.NBT, new NBTTagString(NAME.NBT, displayName));
|
||||
setDisplayTag(itemTag, NAME.NBT, new NBTTagString(displayName));
|
||||
}
|
||||
|
||||
if (hasLore()) {
|
||||
setDisplayTag(itemTag, LORE.NBT, createStringList(lore, LORE));
|
||||
setDisplayTag(itemTag, LORE.NBT, createStringList(lore));
|
||||
}
|
||||
|
||||
applyEnchantments(enchantments, itemTag, ENCHANTMENTS);
|
||||
@@ -372,14 +372,14 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
}
|
||||
}
|
||||
|
||||
static NBTTagList createStringList(List<String> list, ItemMetaKey key) {
|
||||
static NBTTagList createStringList(List<String> list) {
|
||||
if (list == null || list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
NBTTagList tagList = new NBTTagList(key.NBT);
|
||||
NBTTagList tagList = new NBTTagList();
|
||||
for (String value : list) {
|
||||
tagList.add(new NBTTagString("", value));
|
||||
tagList.add(new NBTTagString(value));
|
||||
}
|
||||
|
||||
return tagList;
|
||||
@@ -390,7 +390,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
return;
|
||||
}
|
||||
|
||||
NBTTagList list = new NBTTagList(key.NBT);
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet()) {
|
||||
NBTTagCompound subtag = new NBTTagCompound();
|
||||
@@ -408,7 +408,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
final NBTTagCompound display = tag.getCompound(DISPLAY.NBT);
|
||||
|
||||
if (!tag.hasKey(DISPLAY.NBT)) {
|
||||
tag.setCompound(DISPLAY.NBT, display);
|
||||
tag.set(DISPLAY.NBT, display);
|
||||
}
|
||||
|
||||
display.set(key, value);
|
||||
|
||||
@@ -51,7 +51,7 @@ class CraftMetaLeatherArmor extends CraftMetaItem implements LeatherArmorMeta {
|
||||
super.applyToItem(itemTag);
|
||||
|
||||
if (hasColor()) {
|
||||
setDisplayTag(itemTag, COLOR.NBT, new NBTTagInt(COLOR.NBT, color.asRGB()));
|
||||
setDisplayTag(itemTag, COLOR.NBT, new NBTTagInt(color.asRGB()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,13 +44,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta {
|
||||
super(tag);
|
||||
|
||||
if (tag.hasKey(POTION_EFFECTS.NBT)) {
|
||||
NBTTagList list = tag.getList(POTION_EFFECTS.NBT);
|
||||
NBTTagList list = tag.getList(POTION_EFFECTS.NBT, 10);
|
||||
int length = list.size();
|
||||
if (length > 0) {
|
||||
customEffects = new ArrayList<PotionEffect>(length);
|
||||
|
||||
for (int i = 0; i < length; i++) {
|
||||
NBTTagCompound effect = (NBTTagCompound) list.get(i);
|
||||
NBTTagCompound effect = list.get(i);
|
||||
PotionEffectType type = PotionEffectType.getById(effect.getByte(ID.NBT));
|
||||
int amp = effect.getByte(AMPLIFIER.NBT);
|
||||
int duration = effect.getInt(DURATION.NBT);
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Map;
|
||||
import net.minecraft.server.CraftingManager;
|
||||
import net.minecraft.server.ShapedRecipes;
|
||||
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.ShapedRecipe;
|
||||
|
||||
@@ -56,7 +57,7 @@ public class CraftShapedRecipe extends ShapedRecipe implements CraftRecipe {
|
||||
i++;
|
||||
int id = mdata.getTypeId();
|
||||
short dmg = mdata.getDurability();
|
||||
data[i] = new net.minecraft.server.ItemStack(id, 1, dmg);
|
||||
data[i] = new net.minecraft.server.ItemStack(CraftMagicNumbers.getItem(id), 1, dmg);
|
||||
i++;
|
||||
}
|
||||
CraftingManager.getInstance().registerShapedRecipe(CraftItemStack.asNMSCopy(this.getResult()), data);
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.List;
|
||||
import net.minecraft.server.CraftingManager;
|
||||
import net.minecraft.server.ShapelessRecipes;
|
||||
|
||||
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.ShapelessRecipe;
|
||||
|
||||
@@ -39,7 +40,7 @@ public class CraftShapelessRecipe extends ShapelessRecipe implements CraftRecipe
|
||||
for (ItemStack mdata : ingred) {
|
||||
int id = mdata.getTypeId();
|
||||
short dmg = mdata.getDurability();
|
||||
data[i] = new net.minecraft.server.ItemStack(id, 1, dmg);
|
||||
data[i] = new net.minecraft.server.ItemStack(CraftMagicNumbers.getItem(id), 1, dmg);
|
||||
i++;
|
||||
}
|
||||
CraftingManager.getInstance().registerShapelessRecipe(CraftItemStack.asNMSCopy(this.getResult()), data);
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.bukkit.craftbukkit.inventory;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.Recipe;
|
||||
|
||||
import net.minecraft.server.CraftingManager;
|
||||
@@ -11,7 +10,7 @@ import net.minecraft.server.RecipesFurnace;
|
||||
|
||||
public class RecipeIterator implements Iterator<Recipe> {
|
||||
private final Iterator<IRecipe> recipes;
|
||||
private final Iterator<Integer> smelting;
|
||||
private final Iterator<net.minecraft.server.ItemStack> smelting;
|
||||
private Iterator<?> removeFrom = null;
|
||||
|
||||
public RecipeIterator() {
|
||||
@@ -33,10 +32,10 @@ public class RecipeIterator implements Iterator<Recipe> {
|
||||
return recipes.next().toBukkitRecipe();
|
||||
} else {
|
||||
removeFrom = smelting;
|
||||
int id = smelting.next();
|
||||
CraftItemStack stack = CraftItemStack.asCraftMirror(RecipesFurnace.getInstance().getResult(id));
|
||||
net.minecraft.server.ItemStack item = smelting.next();
|
||||
CraftItemStack stack = CraftItemStack.asCraftMirror(RecipesFurnace.getInstance().getResult(item));
|
||||
|
||||
return new CraftFurnaceRecipe(stack, new ItemStack(id, 1, (short) -1));
|
||||
return new CraftFurnaceRecipe(stack, CraftItemStack.asCraftMirror(item));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user