aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/enchants
diff options
context:
space:
mode:
authorShawn Buckley <shawntbuckley@gmail.com>2015-10-21 20:46:52 -0400
committerShawn Buckley <shawntbuckley@gmail.com>2015-10-21 20:46:52 -0400
commit1185424fa7c692f9932623b965a99392d969e3c5 (patch)
tree39e19727dac27a4eff09a036fc27a1ee827d18a7 /src/main/java/gregtech/api/enchants
parent9d85f43d5642c7683ad2877c66c6fc70b5be8928 (diff)
downloadGT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.tar.gz
GT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.tar.bz2
GT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.zip
Move source files
Diffstat (limited to 'src/main/java/gregtech/api/enchants')
-rw-r--r--src/main/java/gregtech/api/enchants/Enchantment_EnderDamage.java58
-rw-r--r--src/main/java/gregtech/api/enchants/Enchantment_Radioactivity.java61
2 files changed, 119 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/enchants/Enchantment_EnderDamage.java b/src/main/java/gregtech/api/enchants/Enchantment_EnderDamage.java
new file mode 100644
index 0000000000..69919fe396
--- /dev/null
+++ b/src/main/java/gregtech/api/enchants/Enchantment_EnderDamage.java
@@ -0,0 +1,58 @@
+package gregtech.api.enchants;
+
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_LanguageManager;
+import net.minecraft.enchantment.EnchantmentDamage;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.boss.EntityDragon;
+import net.minecraft.entity.monster.EntityEnderman;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+
+public class Enchantment_EnderDamage extends EnchantmentDamage {
+ public static Enchantment_EnderDamage INSTANCE;
+
+ public Enchantment_EnderDamage() {
+ super(GT_Config.addIDConfig(ConfigCategories.IDs.enchantments, "Disjunction", 15), 2, -1);
+ GT_LanguageManager.addStringLocalization(getName(), "Disjunction");
+ Materials.Silver .setEnchantmentForTools(this, 2);
+ Materials.Mercury .setEnchantmentForTools(this, 3);
+ Materials.Electrum .setEnchantmentForTools(this, 3);
+ Materials.SterlingSilver .setEnchantmentForTools(this, 4);
+ Materials.AstralSilver .setEnchantmentForTools(this, 5);
+ INSTANCE = this;
+ }
+
+ @Override
+ public int getMinEnchantability(int aLevel) {
+ return 5 + (aLevel - 1) * 8;
+ }
+
+ @Override
+ public int getMaxEnchantability(int aLevel) {
+ return this.getMinEnchantability(aLevel) + 20;
+ }
+
+ @Override
+ public int getMaxLevel() {
+ return 5;
+ }
+
+ @Override
+ public void func_151367_b(EntityLivingBase aHurtEntity, Entity aDamagingEntity, int aLevel) {
+ if ((aHurtEntity instanceof EntityEnderman || aHurtEntity instanceof EntityDragon || (aHurtEntity.getClass().getName().indexOf(".") >= 0 && aHurtEntity.getClass().getName().substring(aHurtEntity.getClass().getName().lastIndexOf(".")).contains("Ender")))) {
+ // Weakness causes Endermen to not be able to teleport with GT being installed.
+ aHurtEntity.addPotionEffect(new PotionEffect(Potion.weakness.id , aLevel * 200, Math.max(1, (5*aLevel) / 7)));
+ // They also get Poisoned. If you have this Enchant on an Arrow, you can kill the Ender Dragon easier.
+ aHurtEntity.addPotionEffect(new PotionEffect(Potion.poison.id , aLevel * 200, Math.max(1, (5*aLevel) / 7)));
+ }
+ }
+
+ @Override
+ public String getName() {
+ return "enchantment.damage.endermen";
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/enchants/Enchantment_Radioactivity.java b/src/main/java/gregtech/api/enchants/Enchantment_Radioactivity.java
new file mode 100644
index 0000000000..f05d00d08d
--- /dev/null
+++ b/src/main/java/gregtech/api/enchants/Enchantment_Radioactivity.java
@@ -0,0 +1,61 @@
+package gregtech.api.enchants;
+
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.enchantment.EnchantmentDamage;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+
+public class Enchantment_Radioactivity extends EnchantmentDamage {
+ public static Enchantment_Radioactivity INSTANCE;
+
+ public Enchantment_Radioactivity() {
+ super(GT_Config.addIDConfig(ConfigCategories.IDs.enchantments, "Radioactivity", 14), 0, -1);
+ GT_LanguageManager.addStringLocalization(getName(), "Radioactivity");
+ Materials.Plutonium .setEnchantmentForTools(this, 1).setEnchantmentForArmors(this, 1);
+ Materials.Uranium235 .setEnchantmentForTools(this, 2).setEnchantmentForArmors(this, 2);
+ Materials.Plutonium241 .setEnchantmentForTools(this, 3).setEnchantmentForArmors(this, 3);
+ Materials.NaquadahEnriched .setEnchantmentForTools(this, 4).setEnchantmentForArmors(this, 4);
+ Materials.Naquadria .setEnchantmentForTools(this, 5).setEnchantmentForArmors(this, 5);
+ INSTANCE = this;
+ }
+
+ @Override
+ public int getMinEnchantability(int aLevel) {
+ return Integer.MAX_VALUE;
+ }
+
+ @Override
+ public int getMaxEnchantability(int aLevel) {
+ return 0;
+ }
+
+ @Override
+ public int getMaxLevel() {
+ return 5;
+ }
+
+ @Override
+ public boolean canApply(ItemStack par1ItemStack) {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowedOnBooks() {
+ return false;
+ }
+
+ @Override
+ public void func_151367_b(EntityLivingBase aHurtEntity, Entity aDamagingEntity, int aLevel) {
+ GT_Utility.applyRadioactivity(aHurtEntity, aLevel, 1);
+ }
+
+ @Override
+ public String getName() {
+ return "enchantment.damage.radioactivity";
+ }
+} \ No newline at end of file