From 24557bc2b37deb6a0edf497d547471832457b1dd Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Wed, 26 Nov 2014 08:32:16 +1100 Subject: Update to Minecraft 1.8 For more information please see http://www.spigotmc.org/ --- .../minecraft/server/ContainerEnchantTable.java | 284 --------------------- 1 file changed, 284 deletions(-) delete mode 100644 src/main/java/net/minecraft/server/ContainerEnchantTable.java (limited to 'src/main/java/net/minecraft/server/ContainerEnchantTable.java') diff --git a/src/main/java/net/minecraft/server/ContainerEnchantTable.java b/src/main/java/net/minecraft/server/ContainerEnchantTable.java deleted file mode 100644 index 5f948e47..00000000 --- a/src/main/java/net/minecraft/server/ContainerEnchantTable.java +++ /dev/null @@ -1,284 +0,0 @@ -package net.minecraft.server; - -import java.util.List; -import java.util.Random; - -// CraftBukkit start -import java.util.Map; - -import org.bukkit.craftbukkit.inventory.CraftInventoryEnchanting; -import org.bukkit.craftbukkit.inventory.CraftInventoryView; -import org.bukkit.craftbukkit.inventory.CraftItemStack; -import org.bukkit.event.enchantment.EnchantItemEvent; -import org.bukkit.event.enchantment.PrepareItemEnchantEvent; -import org.bukkit.entity.Player; -// CraftBukkit end - -public class ContainerEnchantTable extends Container { - - // CraftBukkit - make type specific (changed from IInventory) - public ContainerEnchantTableInventory enchantSlots = new ContainerEnchantTableInventory(this, "Enchant", true, 1); - private World world; - private int x; - private int y; - private int z; - private Random l = new Random(); - public long f; - public int[] costs = new int[3]; - // CraftBukkit start - private CraftInventoryView bukkitEntity = null; - private Player player; - // CraftBukkit end - - public ContainerEnchantTable(PlayerInventory playerinventory, World world, int i, int j, int k) { - this.world = world; - this.x = i; - this.y = j; - this.z = k; - this.a((Slot) (new SlotEnchant(this, this.enchantSlots, 0, 25, 47))); - - int l; - - for (l = 0; l < 3; ++l) { - for (int i1 = 0; i1 < 9; ++i1) { - this.a(new Slot(playerinventory, i1 + l * 9 + 9, 8 + i1 * 18, 84 + l * 18)); - } - } - - for (l = 0; l < 9; ++l) { - this.a(new Slot(playerinventory, l, 8 + l * 18, 142)); - } - - // CraftBukkit start - player = (Player) playerinventory.player.getBukkitEntity(); - enchantSlots.player = player; - // CraftBukkit end - } - - public void addSlotListener(ICrafting icrafting) { - super.addSlotListener(icrafting); - icrafting.setContainerData(this, 0, this.costs[0]); - icrafting.setContainerData(this, 1, this.costs[1]); - icrafting.setContainerData(this, 2, this.costs[2]); - } - - public void b() { - super.b(); - - for (int i = 0; i < this.listeners.size(); ++i) { - ICrafting icrafting = (ICrafting) this.listeners.get(i); - - icrafting.setContainerData(this, 0, this.costs[0]); - icrafting.setContainerData(this, 1, this.costs[1]); - icrafting.setContainerData(this, 2, this.costs[2]); - } - } - - public void a(IInventory iinventory) { - if (iinventory == this.enchantSlots) { - ItemStack itemstack = iinventory.getItem(0); - int i; - - if (itemstack != null) { // CraftBukkit - relax condition - this.f = this.l.nextLong(); - if (!this.world.isStatic) { - i = 0; - - int j; - - for (j = -1; j <= 1; ++j) { - for (int k = -1; k <= 1; ++k) { - if ((j != 0 || k != 0) && this.world.isEmpty(this.x + k, this.y, this.z + j) && this.world.isEmpty(this.x + k, this.y + 1, this.z + j)) { - if (this.world.getType(this.x + k * 2, this.y, this.z + j * 2) == Blocks.BOOKSHELF) { - ++i; - } - - if (this.world.getType(this.x + k * 2, this.y + 1, this.z + j * 2) == Blocks.BOOKSHELF) { - ++i; - } - - if (k != 0 && j != 0) { - if (this.world.getType(this.x + k * 2, this.y, this.z + j) == Blocks.BOOKSHELF) { - ++i; - } - - if (this.world.getType(this.x + k * 2, this.y + 1, this.z + j) == Blocks.BOOKSHELF) { - ++i; - } - - if (this.world.getType(this.x + k, this.y, this.z + j * 2) == Blocks.BOOKSHELF) { - ++i; - } - - if (this.world.getType(this.x + k, this.y + 1, this.z + j * 2) == Blocks.BOOKSHELF) { - ++i; - } - } - } - } - } - - for (j = 0; j < 3; ++j) { - this.costs[j] = EnchantmentManager.a(this.l, j, i, itemstack); - } - - // CraftBukkit start - CraftItemStack item = CraftItemStack.asCraftMirror(itemstack); - PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(player, this.getBukkitView(), this.world.getWorld().getBlockAt(this.x, this.y, this.z), item, this.costs, i); - event.setCancelled(!itemstack.x()); - this.world.getServer().getPluginManager().callEvent(event); - - if (event.isCancelled()) { - for (i = 0; i < 3; ++i) { - this.costs[i] = 0; - } - return; - } - // CraftBukkit end - - this.b(); - } - } else { - for (i = 0; i < 3; ++i) { - this.costs[i] = 0; - } - } - } - } - - public boolean a(EntityHuman entityhuman, int i) { - ItemStack itemstack = this.enchantSlots.getItem(0); - - if (this.costs[i] > 0 && itemstack != null && (entityhuman.expLevel >= this.costs[i] || entityhuman.abilities.canInstantlyBuild)) { - if (!this.world.isStatic) { - List list = EnchantmentManager.b(this.l, itemstack, this.costs[i]); - // CraftBukkit start - Provide an empty enchantment list - if (list == null) { - list = new java.util.ArrayList(); - } - // CraftBukkit end - - boolean flag = itemstack.getItem() == Items.BOOK; - - if (list != null) { - // CraftBukkit start - Map enchants = new java.util.HashMap(); - for (Object obj : list) { - EnchantmentInstance instance = (EnchantmentInstance) obj; - enchants.put(org.bukkit.enchantments.Enchantment.getById(instance.enchantment.id), instance.level); - } - CraftItemStack item = CraftItemStack.asCraftMirror(itemstack); - - EnchantItemEvent event = new EnchantItemEvent((Player) entityhuman.getBukkitEntity(), this.getBukkitView(), this.world.getWorld().getBlockAt(this.x, this.y, this.z), item, this.costs[i], enchants, i); - this.world.getServer().getPluginManager().callEvent(event); - - int level = event.getExpLevelCost(); - if (event.isCancelled() || (level > entityhuman.expLevel && !entityhuman.abilities.canInstantlyBuild) || event.getEnchantsToAdd().isEmpty()) { - return false; - } - - if (flag) { - itemstack.setItem(Items.ENCHANTED_BOOK); - } - - for (Map.Entry entry : event.getEnchantsToAdd().entrySet()) { - try { - if (flag) { - int enchantId = entry.getKey().getId(); - if (Enchantment.byId[enchantId] == null) { - continue; - } - - EnchantmentInstance enchantment = new EnchantmentInstance(enchantId, entry.getValue()); - Items.ENCHANTED_BOOK.a(itemstack, enchantment); - } else { - item.addUnsafeEnchantment(entry.getKey(), entry.getValue()); - } - } catch (IllegalArgumentException e) { - /* Just swallow invalid enchantments */ - } - } - - entityhuman.levelDown(-level); - // CraftBukkit end - - this.a(this.enchantSlots); - } - } - - return true; - } else { - return false; - } - } - - public void b(EntityHuman entityhuman) { - super.b(entityhuman); - if (!this.world.isStatic) { - ItemStack itemstack = this.enchantSlots.splitWithoutUpdate(0); - - if (itemstack != null) { - entityhuman.drop(itemstack, false); - } - } - } - - public boolean a(EntityHuman entityhuman) { - if (!this.checkReachable) return true; // CraftBukkit - return this.world.getType(this.x, this.y, this.z) != Blocks.ENCHANTMENT_TABLE ? false : entityhuman.e((double) this.x + 0.5D, (double) this.y + 0.5D, (double) this.z + 0.5D) <= 64.0D; - } - - public ItemStack b(EntityHuman entityhuman, int i) { - ItemStack itemstack = null; - Slot slot = (Slot) this.c.get(i); - - if (slot != null && slot.hasItem()) { - ItemStack itemstack1 = slot.getItem(); - - itemstack = itemstack1.cloneItemStack(); - if (i == 0) { - if (!this.a(itemstack1, 1, 37, true)) { - return null; - } - } else { - if (((Slot) this.c.get(0)).hasItem() || !((Slot) this.c.get(0)).isAllowed(itemstack1)) { - return null; - } - - if (itemstack1.hasTag() && itemstack1.count == 1) { - ((Slot) this.c.get(0)).set(itemstack1.cloneItemStack()); - itemstack1.count = 0; - } else if (itemstack1.count >= 1) { - ((Slot) this.c.get(0)).set(new ItemStack(itemstack1.getItem(), 1, itemstack1.getData())); - --itemstack1.count; - } - } - - if (itemstack1.count == 0) { - slot.set((ItemStack) null); - } else { - slot.f(); - } - - if (itemstack1.count == itemstack.count) { - return null; - } - - slot.a(entityhuman, itemstack1); - } - - return itemstack; - } - - // CraftBukkit start - public CraftInventoryView getBukkitView() { - if (bukkitEntity != null) { - return bukkitEntity; - } - - CraftInventoryEnchanting inventory = new CraftInventoryEnchanting(this.enchantSlots); - bukkitEntity = new CraftInventoryView(this.player, inventory, this); - return bukkitEntity; - } - // CraftBukkit end -} -- cgit v1.2.3