diff options
author | Erik Broes <erikbroes@grum.nl> | 2012-01-12 23:10:13 +0100 |
---|---|---|
committer | Erik Broes <erikbroes@grum.nl> | 2012-01-12 23:10:13 +0100 |
commit | 7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee (patch) | |
tree | a1ca024b03aadf4b687f442b33bf713aecd511f7 /src/main/java/net/minecraft/server/EnchantmentManager.java | |
parent | dd5ef8725c699e0b2946dc0f6d523ca482404043 (diff) | |
download | craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.gz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.lz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.xz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.zip |
Updated to Minecraft 1.1
Diffstat (limited to 'src/main/java/net/minecraft/server/EnchantmentManager.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EnchantmentManager.java | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java deleted file mode 100644 index 123a5d63..00000000 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ /dev/null @@ -1,242 +0,0 @@ -package net.minecraft.server; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Random; - -public class EnchantmentManager { - - private static final Random random = new Random(); - private static final EnchantmentModifierProtection b = new EnchantmentModifierProtection((EmptyClass3) null); - private static final EnchantmentModifierDamage c = new EnchantmentModifierDamage((EmptyClass3) null); - - public EnchantmentManager() {} - - public static int getEnchantmentLevel(int i, ItemStack itemstack) { // CraftBukkit - priv to pub - if (itemstack == null) { - return 0; - } else { - NBTTagList nbttaglist = itemstack.getEnchantments(); - - if (nbttaglist == null) { - return 0; - } else { - for (int j = 0; j < nbttaglist.size(); ++j) { - short short1 = ((NBTTagCompound) nbttaglist.get(j)).getShort("id"); - short short2 = ((NBTTagCompound) nbttaglist.get(j)).getShort("lvl"); - - if (short1 == i) { - return short2; - } - } - - return 0; - } - } - } - - private static int getEnchantmentLevel(int i, ItemStack[] aitemstack) { - int j = 0; - ItemStack[] aitemstack1 = aitemstack; - int k = aitemstack.length; - - for (int l = 0; l < k; ++l) { - ItemStack itemstack = aitemstack1[l]; - int i1 = getEnchantmentLevel(i, itemstack); - - if (i1 > j) { - j = i1; - } - } - - return j; - } - - private static void a(EnchantmentModifier enchantmentmodifier, ItemStack itemstack) { - if (itemstack != null) { - NBTTagList nbttaglist = itemstack.getEnchantments(); - - if (nbttaglist != null) { - for (int i = 0; i < nbttaglist.size(); ++i) { - short short1 = ((NBTTagCompound) nbttaglist.get(i)).getShort("id"); - short short2 = ((NBTTagCompound) nbttaglist.get(i)).getShort("lvl"); - - if (Enchantment.byId[short1] != null) { - enchantmentmodifier.a(Enchantment.byId[short1], short2); - } - } - } - } - } - - private static void a(EnchantmentModifier enchantmentmodifier, ItemStack[] aitemstack) { - ItemStack[] aitemstack1 = aitemstack; - int i = aitemstack.length; - - for (int j = 0; j < i; ++j) { - ItemStack itemstack = aitemstack1[j]; - - a(enchantmentmodifier, itemstack); - } - } - - public static int a(PlayerInventory playerinventory, DamageSource damagesource) { - b.a = 0; - b.b = damagesource; - a((EnchantmentModifier) b, playerinventory.armor); - if (b.a > 25) { - b.a = 25; - } - - return (b.a + 1 >> 1) + random.nextInt((b.a >> 1) + 1); - } - - public static int a(PlayerInventory playerinventory, EntityLiving entityliving) { - c.a = 0; - c.b = entityliving; - a((EnchantmentModifier) c, playerinventory.getItemInHand()); - return c.a > 0 ? 1 + random.nextInt(c.a) : 0; - } - - public static int getKnockbackEnchantmentLevel(PlayerInventory playerinventory, EntityLiving entityliving) { - return getEnchantmentLevel(Enchantment.KNOCKBACK.id, playerinventory.getItemInHand()); - } - - public static int getFireAspectEnchantmentLevel(PlayerInventory playerinventory, EntityLiving entityliving) { - return getEnchantmentLevel(Enchantment.FIRE_ASPECT.id, playerinventory.getItemInHand()); - } - - public static int getOxygenEnchantmentLevel(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.OXYGEN.id, playerinventory.armor); - } - - public static int getDigSpeedEnchantmentLevel(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.DIG_SPEED.id, playerinventory.getItemInHand()); - } - - public static int getDurabilityEnchantmentLevel(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.DURABILITY.id, playerinventory.getItemInHand()); - } - - public static boolean hasSilkTouchEnchantment(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.SILK_TOUCH.id, playerinventory.getItemInHand()) > 0; - } - - public static int getBonusBlockLootEnchantmentLevel(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS.id, playerinventory.getItemInHand()); - } - - public static int getBonusMonsterLootEnchantmentLevel(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.LOOT_BONUS_MOBS.id, playerinventory.getItemInHand()); - } - - public static boolean hasWaterWorkerEnchantment(PlayerInventory playerinventory) { - return getEnchantmentLevel(Enchantment.WATER_WORKER.id, playerinventory.armor) > 0; - } - - public static int a(Random random, int i, int j, ItemStack itemstack) { - Item item = itemstack.getItem(); - int k = item.c(); - - if (k <= 0) { - return 0; - } else { - if (j > 30) { - j = 30; - } - - j = 1 + random.nextInt((j >> 1) + 1) + random.nextInt(j + 1); - int l = random.nextInt(5) + j; - - return i == 0 ? (l >> 1) + 1 : (i == 1 ? l * 2 / 3 + 1 : l); - } - } - - public static List a(Random random, ItemStack itemstack, int i) { - Item item = itemstack.getItem(); - int j = item.c(); - - if (j <= 0) { - return null; - } else { - j = 1 + random.nextInt((j >> 1) + 1) + random.nextInt((j >> 1) + 1); - int k = j + i; - float f = (random.nextFloat() + random.nextFloat() - 1.0F) * 0.25F; - int l = (int) ((float) k * (1.0F + f) + 0.5F); - ArrayList arraylist = null; - Map map = a(l, itemstack); - - if (map != null && !map.isEmpty()) { - EnchantmentInstance enchantmentinstance = (EnchantmentInstance) WeightedRandom.a(random, map.values()); - - if (enchantmentinstance != null) { - arraylist = new ArrayList(); - arraylist.add(enchantmentinstance); - - for (int i1 = l >> 1; random.nextInt(50) <= i1; i1 >>= 1) { - Iterator iterator = map.keySet().iterator(); - - while (iterator.hasNext()) { - Integer integer = (Integer) iterator.next(); - boolean flag = true; - Iterator iterator1 = arraylist.iterator(); - - while (true) { - if (iterator1.hasNext()) { - EnchantmentInstance enchantmentinstance1 = (EnchantmentInstance) iterator1.next(); - - if (enchantmentinstance1.a.a(Enchantment.byId[integer.intValue()])) { - continue; - } - - flag = false; - } - - if (!flag) { - iterator.remove(); - } - break; - } - } - - if (!map.isEmpty()) { - EnchantmentInstance enchantmentinstance2 = (EnchantmentInstance) WeightedRandom.a(random, map.values()); - - arraylist.add(enchantmentinstance2); - } - } - } - } - - return arraylist; - } - } - - public static Map a(int i, ItemStack itemstack) { - Item item = itemstack.getItem(); - HashMap hashmap = null; - Enchantment[] aenchantment = Enchantment.byId; - int j = aenchantment.length; - - for (int k = 0; k < j; ++k) { - Enchantment enchantment = aenchantment[k]; - - if (enchantment != null && enchantment.slot.canEnchant(item)) { - for (int l = enchantment.getStartLevel(); l <= enchantment.getMaxLevel(); ++l) { - if (i >= enchantment.a(l) && i <= enchantment.b(l)) { - if (hashmap == null) { - hashmap = new HashMap(); - } - - hashmap.put(Integer.valueOf(enchantment.id), new EnchantmentInstance(enchantment, l)); - } - } - } - } - - return hashmap; - } -} |