clean up enchantments 2
This commit is contained in:
parent
38d29ba9c8
commit
9930d1bb6d
14 changed files with 218 additions and 250 deletions
|
@ -1,10 +1,6 @@
|
|||
package common.enchantment;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import common.collect.Lists;
|
||||
import common.collect.Maps;
|
||||
import common.entity.DamageSource;
|
||||
import common.entity.Entity;
|
||||
|
@ -21,7 +17,7 @@ import common.vars.Vars;
|
|||
|
||||
public enum Enchantment implements Displayable, Identifyable
|
||||
{
|
||||
PROTECTION(0, "protection", 10, EnumEnchantmentType.ARMOR, "Schutz") {
|
||||
PROTECTION("protection", 10, EnchantmentType.ARMOR, "Schutz") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 1 + (enchantmentLevel - 1) * 11;
|
||||
|
@ -50,7 +46,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
FIRE_PROTECTION(1, "fire_protection", 5, EnumEnchantmentType.ARMOR, "Feuerschutz") {
|
||||
FIRE_PROTECTION("fire_protection", 5, EnchantmentType.ARMOR, "Feuerschutz") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 10 + (enchantmentLevel - 1) * 8;
|
||||
|
@ -79,7 +75,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
FEATHER_FALLING(2, "feather_falling", 5, EnumEnchantmentType.ARMOR_FEET, "Federfall") {
|
||||
FEATHER_FALLING("feather_falling", 5, EnchantmentType.ARMOR_FEET, "Federfall") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 5 + (enchantmentLevel - 1) * 6;
|
||||
|
@ -108,7 +104,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
BLAST_PROTECTION(3, "blast_protection", 2, EnumEnchantmentType.ARMOR, "Explosionsschutz") {
|
||||
BLAST_PROTECTION("blast_protection", 2, EnchantmentType.ARMOR, "Explosionsschutz") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 5 + (enchantmentLevel - 1) * 8;
|
||||
|
@ -137,7 +133,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
PROJECTILE_PROTECTION(4, "projectile_protection", 5, EnumEnchantmentType.ARMOR, "Schusssicher") {
|
||||
PROJECTILE_PROTECTION("projectile_protection", 5, EnchantmentType.ARMOR, "Schusssicher") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 3 + (enchantmentLevel - 1) * 6;
|
||||
|
@ -166,7 +162,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
THORNS(7, "thorns", 1, EnumEnchantmentType.ARMOR_TORSO, "Dornen") {
|
||||
THORNS("thorns", 1, EnchantmentType.ARMOR_TORSO, "Dornen") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 10 + 20 * (enchantmentLevel - 1);
|
||||
|
@ -211,7 +207,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
}
|
||||
}
|
||||
},
|
||||
SHARPNESS(16, "sharpness", 10, EnumEnchantmentType.WEAPON, "Schärfe") {
|
||||
SHARPNESS("sharpness", 10, EnchantmentType.WEAPON, "Schärfe") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 1 + (enchantmentLevel - 1) * 11;
|
||||
|
@ -254,7 +250,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
// }
|
||||
// }
|
||||
},
|
||||
KNOCKBACK(19, "knockback", 5, EnumEnchantmentType.WEAPON, "Rückstoß") {
|
||||
KNOCKBACK("knockback", 5, EnchantmentType.WEAPON, "Rückstoß") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 5 + 20 * (enchantmentLevel - 1);
|
||||
|
@ -270,7 +266,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 2;
|
||||
}
|
||||
},
|
||||
FIRE_ASPECT(20, "fire_aspect", 2, EnumEnchantmentType.WEAPON, "Verbrennung") {
|
||||
FIRE_ASPECT("fire_aspect", 2, EnchantmentType.WEAPON, "Verbrennung") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 10 + 20 * (enchantmentLevel - 1);
|
||||
|
@ -286,7 +282,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 2;
|
||||
}
|
||||
},
|
||||
LOOTING(21, "looting", 2, EnumEnchantmentType.WEAPON, "Plünderung") {
|
||||
LOOTING("looting", 2, EnchantmentType.WEAPON, "Plünderung") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15 + (enchantmentLevel - 1) * 9;
|
||||
|
@ -301,13 +297,8 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
public boolean canApplyTogether(Enchantment ench)
|
||||
{
|
||||
return super.canApplyTogether(ench) && ench.id != SILK_TOUCH.id;
|
||||
}
|
||||
},
|
||||
EFFICIENCY(32, "efficiency", 10, EnumEnchantmentType.DIGGER, "Effizienz") {
|
||||
EFFICIENCY("efficiency", 10, EnchantmentType.DIGGER, "Effizienz") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 1 + 10 * (enchantmentLevel - 1);
|
||||
|
@ -328,7 +319,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return stack.getItem() instanceof ItemShears ? true : super.canApply(stack);
|
||||
}
|
||||
},
|
||||
SILK_TOUCH(33, "silk_touch", 1, EnumEnchantmentType.DIGGER, "Behutsamkeit") {
|
||||
SILK_TOUCH("silk_touch", 1, EnchantmentType.DIGGER, "Behutsamkeit") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15;
|
||||
|
@ -346,7 +337,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
|
||||
public boolean canApplyTogether(Enchantment ench)
|
||||
{
|
||||
return super.canApplyTogether(ench) && ench.id != FORTUNE.id;
|
||||
return super.canApplyTogether(ench) && ench != FORTUNE;
|
||||
}
|
||||
|
||||
public boolean canApply(ItemStack stack)
|
||||
|
@ -354,7 +345,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return stack.getItem() instanceof ItemShears ? true : super.canApply(stack);
|
||||
}
|
||||
},
|
||||
UNBREAKING(34, "unbreaking", 5, EnumEnchantmentType.BREAKABLE, "Haltbarkeit") {
|
||||
UNBREAKING("unbreaking", 5, EnchantmentType.BREAKABLE, "Haltbarkeit") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 5 + (enchantmentLevel - 1) * 8;
|
||||
|
@ -375,7 +366,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return stack.isItemStackDamageable() ? true : super.canApply(stack);
|
||||
}
|
||||
},
|
||||
FORTUNE(35, "fortune", 2, EnumEnchantmentType.DIGGER, "Glück") {
|
||||
FORTUNE("fortune", 2, EnchantmentType.DIGGER, "Glück") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15 + (enchantmentLevel - 1) * 9;
|
||||
|
@ -393,10 +384,10 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
|
||||
public boolean canApplyTogether(Enchantment ench)
|
||||
{
|
||||
return super.canApplyTogether(ench) && ench.id != SILK_TOUCH.id;
|
||||
return super.canApplyTogether(ench) && ench != SILK_TOUCH;
|
||||
}
|
||||
},
|
||||
POWER(48, "power", 10, EnumEnchantmentType.BOW, "Stärke") {
|
||||
POWER("power", 10, EnchantmentType.BOW, "Stärke") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 1 + (enchantmentLevel - 1) * 10;
|
||||
|
@ -412,7 +403,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 5;
|
||||
}
|
||||
},
|
||||
PUNCH(49, "punch", 2, EnumEnchantmentType.BOW, "Schlag") {
|
||||
PUNCH("punch", 2, EnchantmentType.BOW, "Schlag") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 12 + (enchantmentLevel - 1) * 20;
|
||||
|
@ -428,7 +419,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 2;
|
||||
}
|
||||
},
|
||||
FLAME(50, "flame", 2, EnumEnchantmentType.BOW, "Flamme") {
|
||||
FLAME("flame", 2, EnchantmentType.BOW, "Flamme") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 20;
|
||||
|
@ -444,7 +435,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 1;
|
||||
}
|
||||
},
|
||||
INFINITY(51, "infinity", 1, EnumEnchantmentType.BOW, "Unendlich") {
|
||||
INFINITY("infinity", 1, EnchantmentType.BOW, "Unendlich") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 20;
|
||||
|
@ -460,28 +451,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 1;
|
||||
}
|
||||
},
|
||||
LUCK_OF_THE_SEA(61, "luck_of_the_sea", 2, EnumEnchantmentType.FISHING_ROD, "Glück des Meeres") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15 + (enchantmentLevel - 1) * 9;
|
||||
}
|
||||
|
||||
public int getMaxEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return super.getMinEnchantability(enchantmentLevel) + 50;
|
||||
}
|
||||
|
||||
public int getMaxLevel()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
public boolean canApplyTogether(Enchantment ench)
|
||||
{
|
||||
return super.canApplyTogether(ench) && ench.id != SILK_TOUCH.id;
|
||||
}
|
||||
},
|
||||
LURE(62, "lure", 2, EnumEnchantmentType.FISHING_ROD, "Köder") {
|
||||
LUCK_OF_THE_SEA("luck_of_the_sea", 2, EnchantmentType.FISHING_ROD, "Glück des Meeres") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15 + (enchantmentLevel - 1) * 9;
|
||||
|
@ -497,7 +467,23 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
return 3;
|
||||
}
|
||||
},
|
||||
DRAINING(64, "draining", 1, EnumEnchantmentType.WEAPON, "Seelenentzug") {
|
||||
LURE("lure", 2, EnchantmentType.FISHING_ROD, "Köder") {
|
||||
public int getMinEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return 15 + (enchantmentLevel - 1) * 9;
|
||||
}
|
||||
|
||||
public int getMaxEnchantability(int enchantmentLevel)
|
||||
{
|
||||
return super.getMinEnchantability(enchantmentLevel) + 50;
|
||||
}
|
||||
|
||||
public int getMaxLevel()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
},
|
||||
DRAINING("draining", 1, EnchantmentType.WEAPON, "Seelenentzug") {
|
||||
public int getMinEnchantability(int enchantmentLevel) {
|
||||
return 2 + (enchantmentLevel - 1) * 11;
|
||||
}
|
||||
|
@ -524,54 +510,31 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
};
|
||||
|
||||
private static final String[] LEVELS = new String[] {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"};
|
||||
private static final Enchantment[] LOOKUP = new Enchantment[256];
|
||||
public static final Enchantment[] ENCHANTMENTS;
|
||||
private static final Map<String, Enchantment> NAME_LOOKUP = Maps.<String, Enchantment>newHashMap();
|
||||
private static final Map<String, Enchantment> LOOKUP = Maps.<String, Enchantment>newHashMap();
|
||||
|
||||
public final int id;
|
||||
private final String name;
|
||||
private final int weight;
|
||||
public final EnumEnchantmentType type;
|
||||
private final EnchantmentType type;
|
||||
private final String display;
|
||||
|
||||
static {
|
||||
for(Enchantment ench : values()) {
|
||||
if(LOOKUP[ench.id] != null)
|
||||
throw new IllegalArgumentException("Verzauberung mit id " + ench.id + " ist bereits registriert");
|
||||
if(NAME_LOOKUP.get(ench.name) != null)
|
||||
throw new IllegalArgumentException("Verzauberung mit name " + ench.name + " ist bereits registriert");
|
||||
LOOKUP[ench.id] = ench;
|
||||
NAME_LOOKUP.put(ench.name, ench);
|
||||
if(LOOKUP.containsKey(ench.name))
|
||||
throw new IllegalArgumentException("Verzauberung " + ench.name + " ist bereits registriert");
|
||||
LOOKUP.put(ench.name, ench);
|
||||
}
|
||||
List<Enchantment> list = Lists.<Enchantment>newArrayList();
|
||||
for(Enchantment enchantment : LOOKUP) {
|
||||
if(enchantment != null)
|
||||
list.add(enchantment);
|
||||
}
|
||||
ENCHANTMENTS = list.toArray(new Enchantment[list.size()]);
|
||||
}
|
||||
|
||||
public static Enchantment getEnchantmentById(int enchID)
|
||||
public static Enchantment getEnchantment(String name)
|
||||
{
|
||||
return enchID >= 0 && enchID < LOOKUP.length ? LOOKUP[enchID] : null;
|
||||
return LOOKUP.get(name);
|
||||
}
|
||||
|
||||
public static Enchantment getEnchantmentByLocation(String location)
|
||||
private Enchantment(String name, int weight, EnchantmentType type, String display)
|
||||
{
|
||||
return NAME_LOOKUP.get(location);
|
||||
}
|
||||
|
||||
public static Set<String> getNames()
|
||||
{
|
||||
return NAME_LOOKUP.keySet();
|
||||
}
|
||||
|
||||
private Enchantment(int enchID, String enchName, int enchWeight, EnumEnchantmentType enchType, String display)
|
||||
{
|
||||
this.id = enchID;
|
||||
this.name = enchName;
|
||||
this.weight = enchWeight;
|
||||
this.type = enchType;
|
||||
this.name = name;
|
||||
this.weight = weight;
|
||||
this.type = type;
|
||||
this.display = display;
|
||||
}
|
||||
|
||||
|
@ -623,6 +586,10 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
{
|
||||
return this.display;
|
||||
}
|
||||
|
||||
public EnchantmentType getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public String getFormattedName(int level)
|
||||
{
|
||||
|
@ -644,7 +611,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
|
||||
public static int getFireTimeForEntity(Entity entity, int duration)
|
||||
{
|
||||
int i = EnchantmentHelper.getMaxEnchantmentLevel(Enchantment.FIRE_PROTECTION.id, entity.getInventory());
|
||||
int i = EnchantmentHelper.getMaxEnchantmentLevel(Enchantment.FIRE_PROTECTION, entity.getInventory());
|
||||
|
||||
if (i > 0)
|
||||
{
|
||||
|
@ -656,7 +623,7 @@ public enum Enchantment implements Displayable, Identifyable
|
|||
|
||||
public static double getKnockbackFactor(Entity entity, double strength)
|
||||
{
|
||||
int i = EnchantmentHelper.getMaxEnchantmentLevel(Enchantment.BLAST_PROTECTION.id, entity.getInventory());
|
||||
int i = EnchantmentHelper.getMaxEnchantmentLevel(Enchantment.BLAST_PROTECTION, entity.getInventory());
|
||||
|
||||
if (i > 0)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@ public class EnchantmentHelper
|
|||
private static final EnchantmentHelper.HurtIterator ENCHANTMENT_ITERATOR_HURT = new EnchantmentHelper.HurtIterator();
|
||||
private static final EnchantmentHelper.DamageIterator ENCHANTMENT_ITERATOR_DAMAGE = new EnchantmentHelper.DamageIterator();
|
||||
|
||||
public static int getEnchantmentLevel(int enchID, ItemStack stack)
|
||||
public static int getEnchantmentLevel(Enchantment enchID, ItemStack stack)
|
||||
{
|
||||
if (stack == null)
|
||||
{
|
||||
|
@ -42,11 +42,11 @@ public class EnchantmentHelper
|
|||
{
|
||||
for (int i = 0; i < list.size(); ++i)
|
||||
{
|
||||
int j = list.get(i).getShort("id");
|
||||
int k = list.get(i).getShort("lvl");
|
||||
Enchantment j = Enchantment.getEnchantment(list.get(i).getString("id"));
|
||||
|
||||
if (j == enchID)
|
||||
{
|
||||
int k = list.get(i).getShort("lvl");
|
||||
return k;
|
||||
}
|
||||
}
|
||||
|
@ -56,45 +56,43 @@ public class EnchantmentHelper
|
|||
}
|
||||
}
|
||||
|
||||
public static Map<Integer, Integer> getEnchantments(ItemStack stack)
|
||||
public static Map<Enchantment, Integer> getEnchantments(ItemStack stack)
|
||||
{
|
||||
Map<Integer, Integer> map = Maps.<Integer, Integer>newLinkedHashMap();
|
||||
Map<Enchantment, Integer> map = Maps.<Enchantment, Integer>newLinkedHashMap();
|
||||
List<TagObject> list = stack.getItem() == Items.enchanted_book ? Items.enchanted_book.getEnchantments(stack) : stack.getEnchantmentTagList();
|
||||
|
||||
if (list != null)
|
||||
{
|
||||
for (int i = 0; i < list.size(); ++i)
|
||||
{
|
||||
int j = list.get(i).getShort("id");
|
||||
int k = list.get(i).getShort("lvl");
|
||||
map.put(j, k);
|
||||
Enchantment j = Enchantment.getEnchantment(list.get(i).getString("id"));
|
||||
if(j != null) {
|
||||
int k = list.get(i).getShort("lvl");
|
||||
map.put(j, k);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public static void setEnchantments(Map<Integer, Integer> enchMap, ItemStack stack)
|
||||
public static void setEnchantments(Map<Enchantment, Integer> enchMap, ItemStack stack)
|
||||
{
|
||||
List<TagObject> list = Lists.newArrayList();
|
||||
Iterator iterator = enchMap.keySet().iterator();
|
||||
Iterator<Enchantment> iterator = enchMap.keySet().iterator();
|
||||
|
||||
while (iterator.hasNext())
|
||||
{
|
||||
int i = ((Integer)iterator.next()).intValue();
|
||||
Enchantment enchantment = Enchantment.getEnchantmentById(i);
|
||||
Enchantment enchantment = iterator.next();
|
||||
|
||||
if (enchantment != null)
|
||||
TagObject tag = new TagObject();
|
||||
tag.setString("id", enchantment.getName());
|
||||
tag.setShort("lvl", (short)enchMap.get(enchantment).intValue());
|
||||
list.add(tag);
|
||||
|
||||
if (stack.getItem() == Items.enchanted_book)
|
||||
{
|
||||
TagObject tag = new TagObject();
|
||||
tag.setShort("id", (short)i);
|
||||
tag.setShort("lvl", (short)enchMap.get(i).intValue());
|
||||
list.add(tag);
|
||||
|
||||
if (stack.getItem() == Items.enchanted_book)
|
||||
{
|
||||
Items.enchanted_book.addEnchantment(stack, new RngEnchantment(enchantment, enchMap.get(i).intValue()));
|
||||
}
|
||||
Items.enchanted_book.addEnchantment(stack, new RngEnchantment(enchantment, enchMap.get(enchantment).intValue()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,7 +112,7 @@ public class EnchantmentHelper
|
|||
/**
|
||||
* Returns the biggest level of the enchantment on the array of ItemStack passed.
|
||||
*/
|
||||
public static int getMaxEnchantmentLevel(int enchID, ItemStack[] stacks)
|
||||
public static int getMaxEnchantmentLevel(Enchantment enchID, ItemStack[] stacks)
|
||||
{
|
||||
if (stacks == null)
|
||||
{
|
||||
|
@ -151,12 +149,12 @@ public class EnchantmentHelper
|
|||
{
|
||||
for (int i = 0; i < list.size(); ++i)
|
||||
{
|
||||
int j = list.get(i).getShort("id");
|
||||
String j = list.get(i).getString("id");
|
||||
int k = list.get(i).getShort("lvl");
|
||||
|
||||
if (Enchantment.getEnchantmentById(j) != null)
|
||||
if (Enchantment.getEnchantment(j) != null)
|
||||
{
|
||||
modifier.calculateModifier(Enchantment.getEnchantmentById(j), k);
|
||||
modifier.calculateModifier(Enchantment.getEnchantment(j), k);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -239,7 +237,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getKnockbackModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.KNOCKBACK.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.KNOCKBACK, player.getHeldItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -247,7 +245,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getFireAspectModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.FIRE_ASPECT.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.FIRE_ASPECT, player.getHeldItem());
|
||||
}
|
||||
|
||||
// /**
|
||||
|
@ -271,7 +269,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getEfficiencyModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.EFFICIENCY.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.EFFICIENCY, player.getHeldItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -279,7 +277,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static boolean getSilkTouchModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.SILK_TOUCH.id, player.getHeldItem()) > 0;
|
||||
return getEnchantmentLevel(Enchantment.SILK_TOUCH, player.getHeldItem()) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -287,7 +285,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getFortuneModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.FORTUNE.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.FORTUNE, player.getHeldItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -295,7 +293,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getLuckOfSeaModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.LUCK_OF_THE_SEA.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.LUCK_OF_THE_SEA, player.getHeldItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -303,7 +301,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getLureModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.LURE.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.LURE, player.getHeldItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -311,7 +309,7 @@ public class EnchantmentHelper
|
|||
*/
|
||||
public static int getLootingModifier(EntityLiving player)
|
||||
{
|
||||
return getEnchantmentLevel(Enchantment.LOOTING.id, player.getHeldItem());
|
||||
return getEnchantmentLevel(Enchantment.LOOTING, player.getHeldItem());
|
||||
}
|
||||
|
||||
// /**
|
||||
|
@ -326,7 +324,7 @@ public class EnchantmentHelper
|
|||
{
|
||||
for (ItemStack itemstack : p_92099_1_.getInventory())
|
||||
{
|
||||
if (itemstack != null && getEnchantmentLevel(p_92099_0_.id, itemstack) > 0)
|
||||
if (itemstack != null && getEnchantmentLevel(p_92099_0_, itemstack) > 0)
|
||||
{
|
||||
return itemstack;
|
||||
}
|
||||
|
@ -414,7 +412,7 @@ public class EnchantmentHelper
|
|||
}
|
||||
|
||||
List<RngEnchantment> list = null;
|
||||
Map<Integer, RngEnchantment> map = mapEnchantmentData(k, itemStackIn);
|
||||
Map<Enchantment, RngEnchantment> map = mapEnchantmentData(k, itemStackIn);
|
||||
|
||||
if (map != null && !map.isEmpty())
|
||||
{
|
||||
|
@ -427,16 +425,16 @@ public class EnchantmentHelper
|
|||
|
||||
for (int l = k; randomIn.zrange(50) <= l; l >>= 1)
|
||||
{
|
||||
Iterator<Integer> iterator = map.keySet().iterator();
|
||||
Iterator<Enchantment> iterator = map.keySet().iterator();
|
||||
|
||||
while (iterator.hasNext())
|
||||
{
|
||||
Integer integer = (Integer)iterator.next();
|
||||
Enchantment ench = iterator.next();
|
||||
boolean flag = true;
|
||||
|
||||
for (RngEnchantment enchantmentdata1 : list)
|
||||
{
|
||||
if (!enchantmentdata1.enchantment.canApplyTogether(Enchantment.getEnchantmentById(integer.intValue())))
|
||||
if (!enchantmentdata1.enchantment.canApplyTogether(ench))
|
||||
{
|
||||
flag = false;
|
||||
break;
|
||||
|
@ -462,15 +460,15 @@ public class EnchantmentHelper
|
|||
}
|
||||
}
|
||||
|
||||
public static Map<Integer, RngEnchantment> mapEnchantmentData(int p_77505_0_, ItemStack p_77505_1_)
|
||||
public static Map<Enchantment, RngEnchantment> mapEnchantmentData(int p_77505_0_, ItemStack p_77505_1_)
|
||||
{
|
||||
Item item = p_77505_1_.getItem();
|
||||
Map<Integer, RngEnchantment> map = null;
|
||||
Map<Enchantment, RngEnchantment> map = null;
|
||||
boolean flag = p_77505_1_.getItem() == Items.book;
|
||||
|
||||
for (Enchantment enchantment : Enchantment.ENCHANTMENTS)
|
||||
for (Enchantment enchantment : Enchantment.values())
|
||||
{
|
||||
if (enchantment != null && (enchantment.type.canEnchantItem(item) || flag))
|
||||
if (enchantment != null && (enchantment.getType().canEnchantItem(item) || flag))
|
||||
{
|
||||
for (int i = enchantment.getMinLevel(); i <= enchantment.getMaxLevel(); ++i)
|
||||
{
|
||||
|
@ -478,10 +476,10 @@ public class EnchantmentHelper
|
|||
{
|
||||
if (map == null)
|
||||
{
|
||||
map = Maps.<Integer, RngEnchantment>newHashMap();
|
||||
map = Maps.<Enchantment, RngEnchantment>newEnumMap(Enchantment.class);
|
||||
}
|
||||
|
||||
map.put(enchantment.id, new RngEnchantment(enchantment, i));
|
||||
map.put(enchantment, new RngEnchantment(enchantment, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
52
common/src/main/java/common/enchantment/EnchantmentType.java
Executable file
52
common/src/main/java/common/enchantment/EnchantmentType.java
Executable file
|
@ -0,0 +1,52 @@
|
|||
package common.enchantment;
|
||||
|
||||
import common.attributes.UsageSlot;
|
||||
import common.item.Item;
|
||||
import common.item.ItemArmor;
|
||||
import common.item.ItemBow;
|
||||
import common.item.ItemFishingRod;
|
||||
import common.item.ItemSword;
|
||||
import common.item.ItemTool;
|
||||
|
||||
public enum EnchantmentType
|
||||
{
|
||||
ALL,
|
||||
ARMOR,
|
||||
ARMOR_FEET,
|
||||
ARMOR_LEGS,
|
||||
ARMOR_TORSO,
|
||||
ARMOR_HEAD,
|
||||
WEAPON,
|
||||
DIGGER,
|
||||
FISHING_ROD,
|
||||
BREAKABLE,
|
||||
BOW;
|
||||
|
||||
public boolean canEnchantItem(Item item)
|
||||
{
|
||||
if (this == ALL)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (this == BREAKABLE && item.isDamageable())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (item instanceof ItemArmor)
|
||||
{
|
||||
if (this == ARMOR)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemArmor armor = (ItemArmor)item;
|
||||
return armor.armorType == UsageSlot.HEAD ? this == ARMOR_HEAD : (armor.armorType == UsageSlot.LEGS ? this == ARMOR_LEGS : (armor.armorType == UsageSlot.BODY ? this == ARMOR_TORSO : (armor.armorType == UsageSlot.FEET ? this == ARMOR_FEET : false)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return item instanceof ItemSword ? this == WEAPON : (item instanceof ItemTool ? this == DIGGER : (item instanceof ItemBow ? this == BOW : (item instanceof ItemFishingRod ? this == FISHING_ROD : false)));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
package common.enchantment;
|
||||
|
||||
import common.attributes.UsageSlot;
|
||||
import common.item.Item;
|
||||
import common.item.ItemArmor;
|
||||
import common.item.ItemBow;
|
||||
import common.item.ItemFishingRod;
|
||||
import common.item.ItemSword;
|
||||
import common.item.ItemTool;
|
||||
|
||||
public enum EnumEnchantmentType
|
||||
{
|
||||
ALL,
|
||||
ARMOR,
|
||||
ARMOR_FEET,
|
||||
ARMOR_LEGS,
|
||||
ARMOR_TORSO,
|
||||
ARMOR_HEAD,
|
||||
WEAPON,
|
||||
DIGGER,
|
||||
FISHING_ROD,
|
||||
BREAKABLE,
|
||||
BOW;
|
||||
|
||||
/**
|
||||
* Return true if the item passed can be enchanted by a enchantment of this type.
|
||||
*/
|
||||
public boolean canEnchantItem(Item p_77557_1_)
|
||||
{
|
||||
if (this == ALL)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (this == BREAKABLE && p_77557_1_.isDamageable())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (p_77557_1_ instanceof ItemArmor)
|
||||
{
|
||||
if (this == ARMOR)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ItemArmor itemarmor = (ItemArmor)p_77557_1_;
|
||||
return itemarmor.armorType == UsageSlot.HEAD ? this == ARMOR_HEAD : (itemarmor.armorType == UsageSlot.LEGS ? this == ARMOR_LEGS : (itemarmor.armorType == UsageSlot.BODY ? this == ARMOR_TORSO : (itemarmor.armorType == UsageSlot.FEET ? this == ARMOR_FEET : false)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return p_77557_1_ instanceof ItemSword ? this == WEAPON : (p_77557_1_ instanceof ItemTool ? this == DIGGER : (p_77557_1_ instanceof ItemBow ? this == BOW : (p_77557_1_ instanceof ItemFishingRod ? this == FISHING_ROD : false)));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -726,8 +726,8 @@ public abstract class EntityNPC extends EntityLiving
|
|||
return;
|
||||
if(stack.getItem() == Items.bow) {
|
||||
EntityArrow entityarrow = new EntityArrow(this.worldObj, this, target, 1.6F, 2.0f);
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER.id, this.getHeldItem());
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.PUNCH.id, this.getHeldItem());
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER, this.getHeldItem());
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.PUNCH, this.getHeldItem());
|
||||
entityarrow.setDamage((double)(range * 2.0F) + this.rand.gaussian() * 0.25D + (double)(/* (float)this.worldObj.getDifficulty().getId() */ 3.0f * 0.11F));
|
||||
|
||||
if (i > 0)
|
||||
|
@ -740,7 +740,7 @@ public abstract class EntityNPC extends EntityLiving
|
|||
entityarrow.setKnockbackStrength(j);
|
||||
}
|
||||
|
||||
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.FLAME.id, this.getHeldItem()) > 0)
|
||||
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.FLAME, this.getHeldItem()) > 0)
|
||||
{
|
||||
entityarrow.setFire(100);
|
||||
}
|
||||
|
@ -750,7 +750,7 @@ public abstract class EntityNPC extends EntityLiving
|
|||
}
|
||||
else if(stack.getItem() instanceof ItemGunBase) {
|
||||
EntityBullet bullet = new EntityBullet(this.worldObj, this, target, ((ItemGunBase)stack.getItem()).getVelocity(), 0.75f);
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER.id, this.getHeldItem());
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER, this.getHeldItem());
|
||||
// int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem());
|
||||
bullet.setDamage(((ItemGunBase)stack.getItem()).getAmmo().getDamage(stack));
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ public abstract class TradeRegistry {
|
|||
|
||||
static class BookForGem implements ITradeList {
|
||||
public void modifyMerchantRecipeList(MerchantRecipeList recipeList, Random random) {
|
||||
Enchantment enchantment = random.pick(Enchantment.ENCHANTMENTS);
|
||||
Enchantment enchantment = random.pick(Enchantment.values());
|
||||
int i = random.range(enchantment.getMinLevel(), enchantment.getMaxLevel());
|
||||
ItemStack itemstack = Items.enchanted_book.getEnchantedItemStack(new RngEnchantment(enchantment, i));
|
||||
int j = 2 + random.zrange(5 + i * 10) + 3 * i;
|
||||
|
|
|
@ -2,6 +2,7 @@ package common.inventory;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import common.enchantment.Enchantment;
|
||||
import common.enchantment.EnchantmentHelper;
|
||||
import common.enchantment.RngEnchantment;
|
||||
import common.entity.npc.EntityNPC;
|
||||
|
@ -10,6 +11,7 @@ import common.init.Items;
|
|||
import common.item.ItemStack;
|
||||
import common.rng.Random;
|
||||
import common.util.BlockPos;
|
||||
import common.util.Pair;
|
||||
import common.world.World;
|
||||
|
||||
public class ContainerEnchantment extends Container
|
||||
|
@ -20,7 +22,7 @@ public class ContainerEnchantment extends Container
|
|||
private Random rand;
|
||||
public int seed;
|
||||
public int[] mana;
|
||||
public int[] ids;
|
||||
public Pair<Enchantment, Integer>[] ench;
|
||||
|
||||
public ContainerEnchantment(InventoryPlayer playerInv, World worldIn)
|
||||
{
|
||||
|
@ -43,7 +45,7 @@ public class ContainerEnchantment extends Container
|
|||
};
|
||||
this.rand = new Random();
|
||||
this.mana = new int[3];
|
||||
this.ids = new int[] { -1, -1, -1};
|
||||
this.ench = new Pair[] {null, null, null};
|
||||
this.world = worldIn;
|
||||
this.position = pos;
|
||||
this.seed = playerInv.player.getEnchSeed();
|
||||
|
@ -72,6 +74,14 @@ public class ContainerEnchantment extends Container
|
|||
this.addSlotToContainer(new Slot(playerInv, k, 8 + k * 18, 142));
|
||||
}
|
||||
}
|
||||
|
||||
public static int encodeData(Pair<Enchantment, Integer> data) {
|
||||
return data == null ? -1 : data.first().ordinal() | data.second() << 8;
|
||||
}
|
||||
|
||||
public static Pair<Enchantment, Integer> decodeData(int data) {
|
||||
return data < 0 ? null : new Pair<Enchantment, Integer>(Enchantment.values()[(data & 0xff) % Enchantment.values().length], data >> 8);
|
||||
}
|
||||
|
||||
public void onCraftGuiOpened(ICrafting listener)
|
||||
{
|
||||
|
@ -80,9 +90,9 @@ public class ContainerEnchantment extends Container
|
|||
listener.sendProgressBarUpdate(this, 1, this.mana[1]);
|
||||
listener.sendProgressBarUpdate(this, 2, this.mana[2]);
|
||||
listener.sendProgressBarUpdate(this, 3, this.seed & -16);
|
||||
listener.sendProgressBarUpdate(this, 4, this.ids[0]);
|
||||
listener.sendProgressBarUpdate(this, 5, this.ids[1]);
|
||||
listener.sendProgressBarUpdate(this, 6, this.ids[2]);
|
||||
listener.sendProgressBarUpdate(this, 4, encodeData(this.ench[0]));
|
||||
listener.sendProgressBarUpdate(this, 5, encodeData(this.ench[1]));
|
||||
listener.sendProgressBarUpdate(this, 6, encodeData(this.ench[2]));
|
||||
}
|
||||
|
||||
public void detectAndSendChanges()
|
||||
|
@ -96,9 +106,9 @@ public class ContainerEnchantment extends Container
|
|||
icrafting.sendProgressBarUpdate(this, 1, this.mana[1]);
|
||||
icrafting.sendProgressBarUpdate(this, 2, this.mana[2]);
|
||||
icrafting.sendProgressBarUpdate(this, 3, this.seed & -16);
|
||||
icrafting.sendProgressBarUpdate(this, 4, this.ids[0]);
|
||||
icrafting.sendProgressBarUpdate(this, 5, this.ids[1]);
|
||||
icrafting.sendProgressBarUpdate(this, 6, this.ids[2]);
|
||||
icrafting.sendProgressBarUpdate(this, 4, encodeData(this.ench[0]));
|
||||
icrafting.sendProgressBarUpdate(this, 5, encodeData(this.ench[1]));
|
||||
icrafting.sendProgressBarUpdate(this, 6, encodeData(this.ench[2]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,7 +124,7 @@ public class ContainerEnchantment extends Container
|
|||
}
|
||||
else if (id >= 4 && id <= 6)
|
||||
{
|
||||
this.ids[id - 4] = data;
|
||||
this.ench[id - 4] = decodeData(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -181,7 +191,7 @@ public class ContainerEnchantment extends Container
|
|||
for (int i1 = 0; i1 < 3; ++i1)
|
||||
{
|
||||
this.mana[i1] = EnchantmentHelper.calcItemStackEnchantability(this.rand, i1, l, itemstack);
|
||||
this.ids[i1] = -1;
|
||||
this.ench[i1] = null;
|
||||
|
||||
if (this.mana[i1] < i1 + 1)
|
||||
{
|
||||
|
@ -198,7 +208,7 @@ public class ContainerEnchantment extends Container
|
|||
if (list != null && !list.isEmpty())
|
||||
{
|
||||
RngEnchantment enchantmentdata = (RngEnchantment)list.get(this.rand.zrange(list.size()));
|
||||
this.ids[j1] = enchantmentdata.enchantment.id | enchantmentdata.level << 8;
|
||||
this.ench[j1] = new Pair<Enchantment, Integer>(enchantmentdata.enchantment, enchantmentdata.level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +221,7 @@ public class ContainerEnchantment extends Container
|
|||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
this.mana[i] = 0;
|
||||
this.ids[i] = -1;
|
||||
this.ench[i] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -177,7 +177,7 @@ public class ContainerRepair extends Container
|
|||
{
|
||||
ItemStack newStack = stack.copy();
|
||||
ItemStack repStack = this.inputSlots.getStackInSlot(1);
|
||||
Map<Integer, Integer> newEnch = EnchantmentHelper.getEnchantments(newStack);
|
||||
Map<Enchantment, Integer> newEnch = EnchantmentHelper.getEnchantments(newStack);
|
||||
boolean isBook = false;
|
||||
repairCost = repairCost + stack.getRepairCost() + (repStack == null ? 0 : repStack.getRepairCost());
|
||||
this.materialCost = 0;
|
||||
|
@ -238,18 +238,17 @@ public class ContainerRepair extends Container
|
|||
}
|
||||
}
|
||||
|
||||
Map<Integer, Integer> ench = EnchantmentHelper.getEnchantments(repStack);
|
||||
Iterator enchs = ench.keySet().iterator();
|
||||
Map<Enchantment, Integer> ench = EnchantmentHelper.getEnchantments(repStack);
|
||||
Iterator<Enchantment> enchs = ench.keySet().iterator();
|
||||
|
||||
while (enchs.hasNext())
|
||||
{
|
||||
int eid = ((Integer)enchs.next()).intValue();
|
||||
Enchantment enchantment = Enchantment.getEnchantmentById(eid);
|
||||
Enchantment enchantment = enchs.next();
|
||||
|
||||
if (enchantment != null)
|
||||
{
|
||||
int newLevel = newEnch.containsKey(Integer.valueOf(eid)) ? ((Integer)newEnch.get(Integer.valueOf(eid))).intValue() : 0;
|
||||
int level = ((Integer)ench.get(Integer.valueOf(eid))).intValue();
|
||||
int newLevel = newEnch.containsKey(enchantment) ? newEnch.get(enchantment) : 0;
|
||||
int level = ench.get(enchantment);
|
||||
int diff;
|
||||
|
||||
if (newLevel == level)
|
||||
|
@ -270,13 +269,13 @@ public class ContainerRepair extends Container
|
|||
applies = true;
|
||||
}
|
||||
|
||||
Iterator newEnchs = newEnch.keySet().iterator();
|
||||
Iterator<Enchantment> newEnchs = newEnch.keySet().iterator();
|
||||
|
||||
while (newEnchs.hasNext())
|
||||
{
|
||||
int nEid = ((Integer)newEnchs.next()).intValue();
|
||||
Enchantment nEid = newEnchs.next();
|
||||
|
||||
if (nEid != eid && !enchantment.canApplyTogether(Enchantment.getEnchantmentById(nEid)))
|
||||
if (nEid != enchantment && !enchantment.canApplyTogether(nEid))
|
||||
{
|
||||
applies = false;
|
||||
++totalCost;
|
||||
|
@ -290,7 +289,7 @@ public class ContainerRepair extends Container
|
|||
level = enchantment.getMaxLevel();
|
||||
}
|
||||
|
||||
newEnch.put(Integer.valueOf(eid), Integer.valueOf(level));
|
||||
newEnch.put(enchantment, level);
|
||||
int cost = 0;
|
||||
|
||||
switch (enchantment.getWeight())
|
||||
|
|
|
@ -27,7 +27,7 @@ public class ItemBow extends Item
|
|||
*/
|
||||
public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityNPC playerIn, int timeLeft)
|
||||
{
|
||||
boolean flag = /* playerIn.creative || */ EnchantmentHelper.getEnchantmentLevel(Enchantment.INFINITY.id, stack) > 0;
|
||||
boolean flag = /* playerIn.creative || */ EnchantmentHelper.getEnchantmentLevel(Enchantment.INFINITY, stack) > 0;
|
||||
|
||||
if (flag || playerIn.inventory.hasItem(Items.arrow))
|
||||
{
|
||||
|
@ -52,21 +52,21 @@ public class ItemBow extends Item
|
|||
entityarrow.setIsCritical(true);
|
||||
}
|
||||
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER.id, stack);
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER, stack);
|
||||
|
||||
if (j > 0)
|
||||
{
|
||||
entityarrow.setDamage(entityarrow.getDamage() + (double)j * 0.5D + 0.5D);
|
||||
}
|
||||
|
||||
int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.PUNCH.id, stack);
|
||||
int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.PUNCH, stack);
|
||||
|
||||
if (k > 0)
|
||||
{
|
||||
entityarrow.setKnockbackStrength(k);
|
||||
}
|
||||
|
||||
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.FLAME.id, stack) > 0)
|
||||
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.FLAME, stack) > 0)
|
||||
{
|
||||
entityarrow.setFire(100);
|
||||
}
|
||||
|
|
|
@ -34,8 +34,8 @@ public class ItemEnchantedBook extends Item
|
|||
|
||||
public void getSubItems(Item itemIn, CheatTab tab, List<ItemStack> subItems)
|
||||
{
|
||||
for (Enchantment enchantment : Enchantment.ENCHANTMENTS) {
|
||||
if(enchantment != null && enchantment.type != null)
|
||||
for (Enchantment enchantment : Enchantment.values()) {
|
||||
if(enchantment != null && enchantment.getType() != null)
|
||||
subItems.add(Items.enchanted_book.getEnchantedItemStack(new RngEnchantment(enchantment, enchantment.getMaxLevel())));
|
||||
}
|
||||
}
|
||||
|
@ -66,12 +66,12 @@ public class ItemEnchantedBook extends Item
|
|||
{
|
||||
for (int i = 0; i < nbttaglist.size(); ++i)
|
||||
{
|
||||
int j = nbttaglist.get(i).getShort("id");
|
||||
int k = nbttaglist.get(i).getShort("lvl");
|
||||
Enchantment j = Enchantment.getEnchantment(nbttaglist.get(i).getString("id"));
|
||||
|
||||
if (Enchantment.getEnchantmentById(j) != null)
|
||||
if (j != null)
|
||||
{
|
||||
tooltip.add(Enchantment.getEnchantmentById(j).getFormattedName(k));
|
||||
int k = nbttaglist.get(i).getShort("lvl");
|
||||
tooltip.add(j.getFormattedName(k));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ public class ItemEnchantedBook extends Item
|
|||
{
|
||||
TagObject nbttagcompound = nbttaglist.get(i);
|
||||
|
||||
if (nbttagcompound.getShort("id") == enchantment.enchantment.id)
|
||||
if (Enchantment.getEnchantment(nbttagcompound.getString("id")) == enchantment.enchantment)
|
||||
{
|
||||
if (nbttagcompound.getShort("lvl") < enchantment.level)
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ public class ItemEnchantedBook extends Item
|
|||
if (flag)
|
||||
{
|
||||
TagObject nbttagcompound1 = new TagObject();
|
||||
nbttagcompound1.setShort("id", (short)enchantment.enchantment.id);
|
||||
nbttagcompound1.setString("id", enchantment.enchantment.getName());
|
||||
nbttagcompound1.setShort("lvl", (short)enchantment.level);
|
||||
nbttaglist.add(nbttagcompound1);
|
||||
}
|
||||
|
|
|
@ -30,13 +30,13 @@ public abstract class ItemGunBase extends Item
|
|||
if(stack.getItemDamage() >= this.getMaxDamage())
|
||||
return stack;
|
||||
boolean flag = // playerIn.creative ||
|
||||
EnchantmentHelper.getEnchantmentLevel(Enchantment.INFINITY.id, stack) > 0;
|
||||
EnchantmentHelper.getEnchantmentLevel(Enchantment.INFINITY, stack) > 0;
|
||||
if (flag || playerIn.inventory.hasItem(this.getAmmo()))
|
||||
{
|
||||
EntityBullet bullet = new EntityBullet(worldIn, playerIn, this.getVelocity());
|
||||
bullet.setDamage(this.getAmmo().getDamage(stack));
|
||||
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER.id, stack);
|
||||
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.POWER, stack);
|
||||
|
||||
if (j > 0)
|
||||
{
|
||||
|
|
|
@ -319,7 +319,7 @@ public final class ItemStack
|
|||
{
|
||||
if (amount > 0)
|
||||
{
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.UNBREAKING.id, this);
|
||||
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.UNBREAKING, this);
|
||||
int j = 0;
|
||||
|
||||
for (int k = 0; i > 0 && k < amount; ++k)
|
||||
|
@ -825,12 +825,12 @@ public final class ItemStack
|
|||
{
|
||||
for (int j = 0; j < nbttaglist.size(); ++j)
|
||||
{
|
||||
int k = nbttaglist.get(j).getShort("id");
|
||||
int l = nbttaglist.get(j).getShort("lvl");
|
||||
Enchantment k = Enchantment.getEnchantment(nbttaglist.get(j).getString("id"));
|
||||
|
||||
if (Enchantment.getEnchantmentById(k) != null)
|
||||
if (k != null)
|
||||
{
|
||||
list.add(Enchantment.getEnchantmentById(k).getFormattedName(l));
|
||||
int l = nbttaglist.get(j).getShort("lvl");
|
||||
list.add(k.getFormattedName(l));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1007,7 +1007,7 @@ public final class ItemStack
|
|||
|
||||
List<TagObject> nbttaglist = this.tag.getList("ench");
|
||||
TagObject nbttagcompound = new TagObject();
|
||||
nbttagcompound.setShort("id", (short)ench.id);
|
||||
nbttagcompound.setString("id", ench.getName());
|
||||
nbttagcompound.setShort("lvl", (short)(/* (byte) */ level));
|
||||
nbttaglist.add(nbttagcompound);
|
||||
}
|
||||
|
@ -1028,7 +1028,7 @@ public final class ItemStack
|
|||
TagObject tag;
|
||||
for(int z = 0; z < oldEnch.size(); z++) {
|
||||
tag = oldEnch.get(z);
|
||||
if(tag.getShort("id") != ench.id) {
|
||||
if(Enchantment.getEnchantment(tag.getString("id")) != ench) {
|
||||
newEnch.add(tag);
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue