summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Materials.java2
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/ZTiC.java1
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java24
3 files changed, 26 insertions, 1 deletions
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Materials.java b/src/main/java/com/sosnitzka/ztic_addon/Materials.java
index 11e48c6..77ce65e 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Materials.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Materials.java
@@ -8,7 +8,7 @@ import slimeknights.tconstruct.library.materials.Material;
import static com.sosnitzka.ztic_addon.ZTiC.*;
public class Materials {
- public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE);
+ public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE).addTrait(haunted);
public static Material tiberium = new Material("tiberium", TextFormatting.LIGHT_PURPLE).addTrait(instable);
public static Material prometheum = new Material("prometheum", TextFormatting.LIGHT_PURPLE).addTrait(dark);
public static Material rubium = new Material("rubium", TextFormatting.LIGHT_PURPLE);
diff --git a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
index 1564a5d..f597f18 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
@@ -46,6 +46,7 @@ public class ZTiC {
public static final AbstractTrait cascade = new TraitCascade();
public static final AbstractTrait dark = new TraitDark();
public static final AbstractTrait slaughtering = new TraitSlaughtering();
+ public static final AbstractTrait haunted = new TraitHaunted();
static final String MODID = "ztic_addon";
static final String VERSION = "@VERSION@";
diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java
index 86a54f9..eb0b08e 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java
@@ -1,5 +1,13 @@
package com.sosnitzka.ztic_addon.traits;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.SharedMonsterAttributes;
+import net.minecraft.entity.ai.EntityAIAttackMelee;
+import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
+import net.minecraft.entity.ai.EntityAIPanic;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.passive.EntityCow;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import slimeknights.tconstruct.library.traits.AbstractTrait;
@@ -12,5 +20,21 @@ public class TraitHaunted extends AbstractTrait {
super("haunted", TextFormatting.DARK_GRAY);
}
+ @Override
+ public void onHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean isCritical) {
+ if (target instanceof EntityCow) {
+ EntityCow cow = (EntityCow) target;
+ cow.tasks.addTask(2, new EntityAIAttackMelee(cow, 1.50D, false));
+ cow.targetTasks.addTask(2, new EntityAINearestAttackableTarget(cow, player.getClass(), false, true));
+ cow.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(3.0D);
+ cow.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(16.0D);
+ cow.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D);
+ }
+ if (target instanceof EntityMob) {
+ EntityMob mob = (EntityMob) target;
+ mob.tasks.addTask(1, new EntityAIPanic(mob, 3.0D));
+ }
+ }
+
}