summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EnchantmentManager.java
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2012-01-12 23:10:13 +0100
committerErik Broes <erikbroes@grum.nl>2012-01-12 23:10:13 +0100
commit7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee (patch)
treea1ca024b03aadf4b687f442b33bf713aecd511f7 /src/main/java/net/minecraft/server/EnchantmentManager.java
parentdd5ef8725c699e0b2946dc0f6d523ca482404043 (diff)
downloadcraftbukkit-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.java242
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;
- }
-}