summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2017-07-08 22:14:01 +0200
committerGiovanni Harting <539@idlegandalf.com>2017-07-08 22:15:11 +0200
commit2e51738c4598e6c3ae67dd94cc318b4aceac7030 (patch)
treeec05221cb07d836ae3a267db6e6ae3988b488d43 /src/main/java
parent4b256caff985958d414ddcdba83e4da5b83088c1 (diff)
first 1.11.1 attempt
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/sosnitzka/taiga/TAIGAGuiFactory.java12
-rw-r--r--src/main/java/com/sosnitzka/taiga/generic/TraitProgressiveStats.java (renamed from src/main/java/com/sosnitzka/taiga/traits/TraitProgressiveStats.java)2
-rw-r--r--src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java6
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitAnalysing.java21
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitArcane.java15
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitBlind.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitBright.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCarousel.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCascade.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java18
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java15
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java8
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java11
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCurvature.java16
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDark.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDeflection.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDevelopement.java8
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDiffuse.java18
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDissolving.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitFracture.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitFragile.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitGarishly.java12
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitGlimmer.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitHeroic.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java13
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitInstable.java15
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitLeveled.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java8
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitPulverizing.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitResonance.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java26
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitSlaughtering.java15
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitSofty.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitSoulEater.java14
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitSuperHeavy.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitTemplate.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitTraditional.java14
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitUncertain.java10
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitVortex.java9
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java8
-rw-r--r--src/main/java/com/sosnitzka/taiga/util/EntityAIPermanentPanic.java6
47 files changed, 444 insertions, 69 deletions
diff --git a/src/main/java/com/sosnitzka/taiga/TAIGAGuiFactory.java b/src/main/java/com/sosnitzka/taiga/TAIGAGuiFactory.java
index 080e4ce..3849e39 100644
--- a/src/main/java/com/sosnitzka/taiga/TAIGAGuiFactory.java
+++ b/src/main/java/com/sosnitzka/taiga/TAIGAGuiFactory.java
@@ -11,6 +11,7 @@ import net.minecraftforge.fml.client.config.GuiConfig;
import net.minecraftforge.fml.client.config.GuiConfigEntries;
import net.minecraftforge.fml.client.config.IConfigElement;
+import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@@ -21,6 +22,16 @@ public class TAIGAGuiFactory implements IModGuiFactory {
}
@Override
+ public boolean hasConfigGui() {
+ return true;
+ }
+
+ @Override
+ public GuiScreen createConfigGui(GuiScreen parentScreen) {
+ return new TAIGAConfigGui(parentScreen);
+ }
+
+ @Override
public Class<? extends GuiScreen> mainConfigGuiClass() {
return TAIGAConfigGui.class;
}
@@ -30,6 +41,7 @@ public class TAIGAGuiFactory implements IModGuiFactory {
return null;
}
+ @Nullable
@Override
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) {
return null;
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitProgressiveStats.java b/src/main/java/com/sosnitzka/taiga/generic/TraitProgressiveStats.java
index d9af33d..3f535cd 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitProgressiveStats.java
+++ b/src/main/java/com/sosnitzka/taiga/generic/TraitProgressiveStats.java
@@ -1,4 +1,4 @@
-package com.sosnitzka.taiga.traits;
+package com.sosnitzka.taiga.generic;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;
diff --git a/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java b/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
index 47bb968..a4d7a8a 100644
--- a/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
+++ b/src/main/java/com/sosnitzka/taiga/proxy/ClientProxy.java
@@ -112,10 +112,8 @@ public class ClientProxy extends CommonProxy {
FluidStateMapper mapper = new FluidStateMapper(fluid);
// item-model
- if (item != null) {
- ModelLoader.registerItemVariants(item);
- ModelLoader.setCustomMeshDefinition(item, mapper);
- }
+ ModelLoader.registerItemVariants(item);
+ ModelLoader.setCustomMeshDefinition(item, mapper);
// block-model
ModelLoader.setCustomStateMapper(block, mapper);
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitAnalysing.java b/src/main/java/com/sosnitzka/taiga/traits/TraitAnalysing.java
index b0f1228..f837873 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitAnalysing.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitAnalysing.java
@@ -3,6 +3,7 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
@@ -10,10 +11,13 @@ import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingExperienceDropEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitAnalysing extends AbstractTrait {
@@ -28,7 +32,6 @@ public class TraitAnalysing extends AbstractTrait {
if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier) && event.getDroppedExperience() > 0) {
event.setDroppedExperience(this.getUpdateXP(event.getDroppedExperience()));
}
-
}
@SubscribeEvent
@@ -37,14 +40,13 @@ public class TraitAnalysing extends AbstractTrait {
if (!event.getWorld().isRemote && player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier) && event.getExpToDrop() > 0) {
event.setExpToDrop(this.getUpdateXP(event.getExpToDrop()));
}
-
}
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (random.nextFloat() < .1f && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (random.nextFloat() < .1f && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear();
}
@@ -62,4 +64,15 @@ public class TraitAnalysing extends AbstractTrait {
event.getDrops().clear();
}
}
+
+ /**
+ * Called with a set of itemstacks and returns a match which contains the items that match
+ * and how often the modifier can be applied with them
+ *
+ * @param stacks
+ */
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitArcane.java b/src/main/java/com/sosnitzka/taiga/traits/TraitArcane.java
index 3009b67..357a0bd 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitArcane.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitArcane.java
@@ -5,17 +5,21 @@ import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitArcane extends AbstractTrait {
@@ -45,13 +49,18 @@ public class TraitArcane extends AbstractTrait {
@SubscribeEvent
public void onEntityKill(LivingDeathEvent e) {
World w = e.getEntity().getEntityWorld();
- if (!w.isRemote && e.getSource().getEntity() != null) {
- if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
- ItemStack tool = ((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand();
+ if (!w.isRemote && e.getSource().getTrueSource() != null) {
+ if (e.getSource().getTrueSource() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
+ ItemStack tool = ((EntityPlayer) e.getSource().getTrueSource()).getHeldItemMainhand();
if (isNight((int) w.getWorldTime()) && random.nextFloat() < 0.1 && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
ToolHelper.healTool(tool, random.nextInt(16), null);
}
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java b/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
index f43df72..96b13be 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitBerserk.java
@@ -1,21 +1,26 @@
package com.sosnitzka.taiga.traits;
+import com.sosnitzka.taiga.generic.TraitProgressiveStats;
import com.sosnitzka.taiga.util.Utils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.tools.ToolNBT;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitBerserk extends TraitProgressiveStats {
@@ -103,5 +108,8 @@ public class TraitBerserk extends TraitProgressiveStats {
}
}
-
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitBlind.java b/src/main/java/com/sosnitzka/taiga/traits/TraitBlind.java
index 62a41bc..3b0b16f 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitBlind.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitBlind.java
@@ -5,11 +5,15 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitBlind extends AbstractTrait {
@@ -39,4 +43,9 @@ public class TraitBlind extends AbstractTrait {
player.addPotionEffect(new PotionEffect(MobEffects.WEAKNESS, random.nextInt(400) + 200));
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitBright.java b/src/main/java/com/sosnitzka/taiga/traits/TraitBright.java
index 2db80a5..4fc374c 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitBright.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitBright.java
@@ -4,11 +4,15 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.util.Utils.isNight;
import static net.minecraft.init.MobEffects.GLOWING;
@@ -37,4 +41,9 @@ public class TraitBright extends AbstractTrait {
player.addPotionEffect(new PotionEffect(GLOWING, 200));
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCarousel.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCarousel.java
index 76b5f66..70c4b8b 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCarousel.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCarousel.java
@@ -3,10 +3,14 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitCarousel extends AbstractTrait {
@@ -21,5 +25,8 @@ public class TraitCarousel extends AbstractTrait {
}
-
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCascade.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCascade.java
index 02403d7..5ad0af0 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCascade.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCascade.java
@@ -3,12 +3,16 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitCascade extends AbstractTrait {
public TraitCascade() {
@@ -45,4 +49,9 @@ public class TraitCascade extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
index b621dcf..1c65d32 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCatcher.java
@@ -8,6 +8,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
@@ -16,11 +17,14 @@ import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitCatcher extends AbstractTrait {
@@ -34,12 +38,12 @@ public class TraitCatcher extends AbstractTrait {
@SubscribeEvent
public void killEntity(LivingDeathEvent event) {
- if (!(event.getSource().getEntity() instanceof EntityPlayer))
+ if (!(event.getSource().getTrueSource() instanceof EntityPlayer))
return;
if (event.getEntityLiving() instanceof EntityPlayer || event.getEntityLiving() instanceof EntityPlayerMP)
return;
- World w = event.getSource().getEntity().getEntityWorld();
- EntityPlayer p = (EntityPlayer) event.getSource().getEntity();
+ World w = event.getSource().getTrueSource().getEntityWorld();
+ EntityPlayer p = (EntityPlayer) event.getSource().getTrueSource();
EntityLivingBase target = event.getEntityLiving();
NBTTagCompound tag = TagUtil.getExtraTag(p.getHeldItemMainhand());
Data data = Data.read(tag);
@@ -52,8 +56,7 @@ public class TraitCatcher extends AbstractTrait {
data.mobClass = target.getClass().getName();
data.mobName = target.getName();
data.write(tag);
- if (p.getHeldItemMainhand() != null)
- TagUtil.setExtraTag(p.getHeldItemMainhand(), tag);
+ TagUtil.setExtraTag(p.getHeldItemMainhand(), tag);
p.playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
target.setDropItemsWhenDead(false);
target.setDead();
@@ -117,6 +120,11 @@ public class TraitCatcher extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
+
public static class Data {
String mobClass;
String mobName;
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java
index caade29..e5a262c 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java
@@ -6,16 +6,20 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitCongenial extends AbstractTrait {
@@ -27,9 +31,9 @@ public class TraitCongenial extends AbstractTrait {
@SubscribeEvent
public void onEntityKill(LivingDeathEvent e) {
- if (e.getSource().getEntity() instanceof EntityPlayer && !e.getSource().getEntity().world.isRemote && e.getEntity() instanceof EntityCreature) {
- if (TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand()), identifier)) {
- ItemStack tool = ((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand();
+ if (e.getSource().getTrueSource() instanceof EntityPlayer && !e.getSource().getTrueSource().world.isRemote && e.getEntity() instanceof EntityCreature) {
+ if (TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getTrueSource()).getHeldItemMainhand()), identifier)) {
+ ItemStack tool = ((EntityPlayer) e.getSource().getTrueSource()).getHeldItemMainhand();
String name = e.getEntity().getName();
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
@@ -38,7 +42,6 @@ public class TraitCongenial extends AbstractTrait {
}
data.name = name;
data.write(tag);
- assert tool != null;
TagUtil.setExtraTag(tool, tag);
}
}
@@ -75,4 +78,8 @@ public class TraitCongenial extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java
index e601c4f..4d6405f 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java
@@ -3,10 +3,14 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.event.world.BlockEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitCrushing extends AbstractTrait {
public TraitCrushing() {
@@ -32,4 +36,8 @@ public class TraitCrushing extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
} \ No newline at end of file
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java
index bea5d1f..d54508b 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java
@@ -6,15 +6,19 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitCursed extends AbstractTrait {
@@ -27,7 +31,6 @@ public class TraitCursed extends AbstractTrait {
@Override
public void onUpdate(ItemStack tool, World world, Entity entity, int itemSlot, boolean isSelected) {
-
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
if (random.nextInt((chance + data.curse) / (data.curse + 1)) == 1) {
@@ -38,8 +41,6 @@ public class TraitCursed extends AbstractTrait {
data.write(tag);
TagUtil.setExtraTag(tool, tag);
-
-
}
@SubscribeEvent
@@ -55,4 +56,8 @@ public class TraitCursed extends AbstractTrait {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCurvature.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCurvature.java
index 9c4b792..7e9855c 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitCurvature.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCurvature.java
@@ -11,6 +11,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
@@ -19,11 +20,13 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import java.util.List;
+import java.util.Optional;
public class TraitCurvature extends AbstractTrait {
@@ -51,12 +54,10 @@ public class TraitCurvature extends AbstractTrait {
event.getDrops().clear();
event.getWorld().setBlockState(cPos, mainstate);
event.getHarvester().playSound(SoundEvents.ENTITY_ENDERMEN_TELEPORT, 1.0F, 1.0F);
- event.getHarvester().sendStatusMessage(new TextComponentString("Teleported to: " + x + " " + y + " " + z));
+ event.getHarvester().sendStatusMessage(new TextComponentString("Teleported to: " + x + " " + y + " " + z), false);
return;
}
-
}
-
}
}
@@ -71,8 +72,8 @@ public class TraitCurvature extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (!w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.ENDER_PEARL, random.nextInt(2));
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
@@ -86,4 +87,9 @@ public class TraitCurvature extends AbstractTrait {
player.setPosition(tp.getX(), tp.getY(), tp.getZ());
target.setPosition(pp.getX(), pp.getY(), pp.getZ());
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDark.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDark.java
index 87d0741..f66aab0 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDark.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDark.java
@@ -2,9 +2,13 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.util.Utils.isNight;
@@ -22,4 +26,9 @@ public class TraitDark extends AbstractTrait {
} else newDamage = damage / (1 + random.nextFloat() / 3f);
return super.damage(tool, player, target, damage, newDamage, isCritical);
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java
index 3445672..7a8f4bc 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java
@@ -1,17 +1,21 @@
package com.sosnitzka.taiga.traits;
import com.google.common.collect.ImmutableList;
+import com.sosnitzka.taiga.generic.TraitProgressiveStats;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.materials.HeadMaterialStats;
import slimeknights.tconstruct.library.tools.ToolNBT;
import slimeknights.tconstruct.library.utils.TagUtil;
import java.util.List;
+import java.util.Optional;
/**
* Gives the tool bonus stats on crafting.
@@ -30,6 +34,11 @@ public class TraitDecay extends TraitProgressiveStats {
}
@Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
+
+ @Override
public void applyEffect(NBTTagCompound rootCompound, NBTTagCompound modifierTag) {
// check if we have stats already distributed, and if not add them
if (!hasPool(rootCompound)) {
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDeflection.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDeflection.java
index bc2107d..77684e4 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDeflection.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDeflection.java
@@ -1,8 +1,13 @@
package com.sosnitzka.taiga.traits;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTraitLeveled;
+import java.util.Optional;
+
public class TraitDeflection extends AbstractTraitLeveled {
@@ -13,4 +18,8 @@ public class TraitDeflection extends AbstractTraitLeveled {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDevelopement.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDevelopement.java
index 60dc7ab..6e7229d 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDevelopement.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDevelopement.java
@@ -3,14 +3,18 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.BlockStone;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitDevelopement extends AbstractTrait {
@@ -29,4 +33,8 @@ public class TraitDevelopement extends AbstractTrait {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDiffuse.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDiffuse.java
index d4602a5..797c25e 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDiffuse.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDiffuse.java
@@ -3,21 +3,22 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
-public class TraitDiffuse extends AbstractTrait {
+import java.util.Optional;
+
- /**
- *
- */
+public class TraitDiffuse extends AbstractTrait {
public TraitDiffuse() {
super("diffuse", TextFormatting.DARK_GRAY);
@@ -35,8 +36,8 @@ public class TraitDiffuse extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (!w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (event.getEntity() instanceof EntityCreature && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear();
}
@@ -56,4 +57,9 @@ public class TraitDiffuse extends AbstractTrait {
event.getDrops().clear();
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDissolving.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDissolving.java
index 18ddd61..311c12b 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitDissolving.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDissolving.java
@@ -1,14 +1,19 @@
package com.sosnitzka.taiga.traits;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingExperienceDropEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitDissolving extends AbstractTrait {
@@ -33,4 +38,9 @@ public class TraitDissolving extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitFracture.java b/src/main/java/com/sosnitzka/taiga/traits/TraitFracture.java
index 2181de7..8871d58 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitFracture.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitFracture.java
@@ -5,14 +5,18 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.tools.ToolCore;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitFracture extends AbstractTrait {
public TraitFracture() {
@@ -70,4 +74,9 @@ public class TraitFracture extends AbstractTrait {
int maxDurability = ToolHelper.getMaxDurability(tool);
return (0.4f) / (maxDurability - 50) * (durability) + 0.55f;
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitFragile.java b/src/main/java/com/sosnitzka/taiga/traits/TraitFragile.java
index 440e776..9c43b97 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitFragile.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitFragile.java
@@ -5,12 +5,16 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitFragile extends AbstractTrait {
public TraitFragile() {
@@ -81,4 +85,9 @@ public class TraitFragile extends AbstractTrait {
int maxDurability = ToolHelper.getMaxDurability(tool);
return (0.4f) / (maxDurability - 50) * (durability) + 0.55f;
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitGarishly.java b/src/main/java/com/sosnitzka/taiga/traits/TraitGarishly.java
index 26ea54f..b621b73 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitGarishly.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitGarishly.java
@@ -7,17 +7,21 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitGarishly extends AbstractTrait {
public TraitGarishly() {
@@ -28,8 +32,8 @@ public class TraitGarishly extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (!w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
int r = random.nextInt(2);
@@ -63,6 +67,10 @@ public class TraitGarishly extends AbstractTrait {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitGlimmer.java b/src/main/java/com/sosnitzka/taiga/traits/TraitGlimmer.java
index 90f1e3b..f07d817 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitGlimmer.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitGlimmer.java
@@ -7,13 +7,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitGlimmer extends AbstractTrait {
@@ -45,4 +49,9 @@ public class TraitGlimmer extends AbstractTrait {
player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, random.nextInt(600) + 300));
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitHeroic.java b/src/main/java/com/sosnitzka/taiga/traits/TraitHeroic.java
index 8966ef4..1af99b9 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitHeroic.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitHeroic.java
@@ -2,10 +2,14 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitHeroic extends AbstractTrait {
public TraitHeroic() {
@@ -30,4 +34,9 @@ public class TraitHeroic extends AbstractTrait {
return super.damage(tool, player, target, damage, calc, isCritical);
} else return super.damage(tool, player, target, damage, newDamage * 0.9f, isCritical);
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java b/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
index 1b43176..32fabc4 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitHollow.java
@@ -6,15 +6,19 @@ import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.util.Utils.isNight;
public class TraitHollow extends AbstractTrait {
@@ -40,11 +44,16 @@ public class TraitHollow extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (!w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (!w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (random.nextFloat() <= 0.9 && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
event.getDrops().clear();
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitInstable.java b/src/main/java/com/sosnitzka/taiga/traits/TraitInstable.java
index f95f891..b7876e2 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitInstable.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitInstable.java
@@ -8,21 +8,23 @@ import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
-
-public class TraitInstable extends AbstractTrait {
+import java.util.Optional;
+public class TraitInstable extends AbstractTrait {
public TraitInstable() {
super("instable", TextFormatting.DARK_RED);
MinecraftForge.EVENT_BUS.register(this);
@@ -56,8 +58,8 @@ public class TraitInstable extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (random.nextFloat() < 0.05 && !w.isRemote && event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (random.nextFloat() < 0.05 && !w.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
ItemStack i = new ItemStack(Items.GUNPOWDER, random.nextInt(2));
event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i));
@@ -68,4 +70,9 @@ public class TraitInstable extends AbstractTrait {
private void explode(World w, Entity e, double x, double y, double z) {
w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true);
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitLeveled.java b/src/main/java/com/sosnitzka/taiga/traits/TraitLeveled.java
index da40dea..86aba75 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitLeveled.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitLeveled.java
@@ -1,8 +1,13 @@
package com.sosnitzka.taiga.traits;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTraitLeveled;
+import java.util.Optional;
+
public class TraitLeveled extends AbstractTraitLeveled {
@@ -13,4 +18,8 @@ public class TraitLeveled extends AbstractTraitLeveled {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java b/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
index 354d77f..1596ace 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitMelting.java
@@ -2,14 +2,19 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitMelting extends AbstractTrait {
@@ -29,6 +34,11 @@ public class TraitMelting extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
index 624647a..65ac1c7 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java
@@ -4,12 +4,15 @@ import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import java.util.List;
+import java.util.Optional;
import static com.google.common.collect.Lists.newArrayList;
@@ -37,6 +40,11 @@ public class TraitMutate extends AbstractTrait {
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java b/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
index 53f4d86..2e7675e 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitNatureBound.java
@@ -4,12 +4,16 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitNatureBound extends AbstractTrait {
@@ -35,4 +39,9 @@ public class TraitNatureBound extends AbstractTrait {
} else ToolHelper.damageTool(tool, 1, (EntityLivingBase) entity);
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java b/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
index 6760383..7861445 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitPorted.java
@@ -5,17 +5,21 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitPorted extends AbstractTrait {
public static int distance = 10;
@@ -64,4 +68,9 @@ public class TraitPorted extends AbstractTrait {
e.setPosition(tPos.getX(), tPos.getY(), tPos.getZ());
ToolHelper.damageTool(e.getHeldItemMainhand(), ToolHelper.getCurrentDurability(e.getHeldItemMainhand()) / 2 + 1, e);
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitPulverizing.java b/src/main/java/com/sosnitzka/taiga/traits/TraitPulverizing.java
index 17b7c9e..665e1a4 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitPulverizing.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitPulverizing.java
@@ -1,12 +1,16 @@
package com.sosnitzka.taiga.traits;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitPulverizing extends AbstractTrait {
public TraitPulverizing() {
@@ -33,4 +37,9 @@ public class TraitPulverizing extends AbstractTrait {
event.getDrops().clear();
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitResonance.java b/src/main/java/com/sosnitzka/taiga/traits/TraitResonance.java
index 6e87d26..fe20fef 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitResonance.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitResonance.java
@@ -2,9 +2,13 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitResonance extends AbstractTrait {
@@ -20,6 +24,11 @@ public class TraitResonance extends AbstractTrait {
target.knockBack(target, random.nextFloat() * random.nextFloat() * 10, player.posX - target.posX, player.posZ - target.posZ);
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java b/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java
index 5678090..1d904bd 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java
@@ -3,19 +3,23 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityList;
-import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitReviving extends AbstractTrait {
@@ -31,21 +35,23 @@ public class TraitReviving extends AbstractTrait {
public void onEntityKill(LivingDeathEvent e) {
BlockPos pos = e.getEntity().getPosition();
World w = e.getEntity().getEntityWorld();
- if (!w.isRemote && e.getSource().getEntity() != null) {
- if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
- if (random.nextFloat() <= chance && TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand()), identifier)) {
- String name = EntityList.getEntityString(e.getEntity());
- Entity ent = EntityList.createEntityByName(name, w);
+ if (!w.isRemote && e.getSource().getTrueSource() != null) {
+ if (e.getSource().getTrueSource() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
+ if (random.nextFloat() <= chance && TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getTrueSource()).getHeldItemMainhand()), identifier)) {
+ int id = e.getEntity().getEntityId();
+ Entity ent = EntityList.createEntityByID(id, w);
if (ent != null) {
- if (ent instanceof EntitySkeleton && e.getEntity() instanceof EntitySkeleton) {
- ((EntitySkeleton) ent).setSkeletonType(((EntitySkeleton) e.getEntity()).getSkeletonType());
- }
ent.setPosition(pos.getX(), pos.getY(), pos.getZ());
w.spawnEntity(ent);
- e.getSource().getEntity().playSound(SoundEvents.AMBIENT_CAVE, 1.0F, 1.0F);
+ e.getSource().getTrueSource().playSound(SoundEvents.AMBIENT_CAVE, 1.0F, 1.0F);
}
}
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitSlaughtering.java b/src/main/java/com/sosnitzka/taiga/traits/TraitSlaughtering.java
index 503367f..4a9f371 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitSlaughtering.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitSlaughtering.java
@@ -5,15 +5,19 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitSlaughtering extends AbstractTrait {
public TraitSlaughtering() {
@@ -25,12 +29,17 @@ public class TraitSlaughtering extends AbstractTrait {
@SubscribeEvent
public void onMobDrops(LivingDropsEvent event) {
World w = event.getEntity().getEntityWorld();
- if (event.getSource().getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.getSource().getEntity();
+ if (event.getSource().getTrueSource() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (!w.isRemote && event.getEntity() instanceof EntityLiving && !(event.getEntity() instanceof EntityPlayer) && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) {
- Item i = event.getDrops().get(random.nextInt(event.getDrops().size())).getEntityItem().getItem();
+ Item i = event.getDrops().get(random.nextInt(event.getDrops().size())).getItem().getItem();
event.getDrops().add(new EntityItem(event.getEntity().getEntityWorld(), event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, new ItemStack(i, random.nextInt(4) + 1)));
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitSofty.java b/src/main/java/com/sosnitzka/taiga/traits/TraitSofty.java
index e78410c..eee82b5 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitSofty.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitSofty.java
@@ -2,17 +2,21 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitSofty extends AbstractTrait {
private static final float chance = 0.1f;
@@ -46,6 +50,11 @@ public class TraitSofty extends AbstractTrait {
}
}
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitSoulEater.java b/src/main/java/com/sosnitzka/taiga/traits/TraitSoulEater.java
index 08cd9c7..65b075d 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitSoulEater.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitSoulEater.java
@@ -6,16 +6,20 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitSoulEater extends AbstractTrait {
@@ -28,9 +32,9 @@ public class TraitSoulEater extends AbstractTrait {
@SubscribeEvent
public void onTargetKilled(LivingDeathEvent event) {
- if (event.getSource().getEntity() instanceof EntityPlayer && event.getEntity() instanceof EntityLiving) {
- World w = event.getSource().getEntity().world;
- ItemStack tool = ((EntityPlayer) event.getSource().getEntity()).getHeldItemMainhand();
+ if (event.getSource().getTrueSource() instanceof EntityPlayer && event.getEntity() instanceof EntityLiving) {
+ World w = event.getSource().getTrueSource().world;
+ ItemStack tool = ((EntityPlayer) event.getSource().getTrueSource()).getHeldItemMainhand();
if (!w.isRemote && TinkerUtil.hasTrait(TagUtil.getTagSafe(tool), identifier)) {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
@@ -67,4 +71,8 @@ public class TraitSoulEater extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitSuperHeavy.java b/src/main/java/com/sosnitzka/taiga/traits/TraitSuperHeavy.java
index 2ac1374..c2f2656 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitSuperHeavy.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitSuperHeavy.java
@@ -1,11 +1,13 @@
package com.sosnitzka.taiga.traits;
+import com.sosnitzka.taiga.generic.TraitProgressiveStats;
import com.sosnitzka.taiga.util.Utils;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
@@ -13,9 +15,12 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitSuperHeavy extends TraitProgressiveStats {
@@ -76,5 +81,8 @@ public class TraitSuperHeavy extends TraitProgressiveStats {
}
}
-
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java b/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
index a0bb62f..c00ef3e 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitTantrum.java
@@ -4,6 +4,7 @@ import com.sosnitzka.taiga.util.Utils;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
@@ -12,11 +13,14 @@ import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.common.Sounds;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
import static com.sosnitzka.taiga.Blocks.tiberiumOre;
public class TraitTantrum extends AbstractTrait {
@@ -86,6 +90,11 @@ public class TraitTantrum extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
+
public static class Data {
float amount;
@@ -101,5 +110,4 @@ public class TraitTantrum extends AbstractTrait {
}
}
-
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitTemplate.java b/src/main/java/com/sosnitzka/taiga/traits/TraitTemplate.java
index 281c4f2..ef776f2 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitTemplate.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitTemplate.java
@@ -1,9 +1,14 @@
package com.sosnitzka.taiga.traits;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitTemplate extends AbstractTrait {
@@ -13,5 +18,8 @@ public class TraitTemplate extends AbstractTrait {
MinecraftForge.EVENT_BUS.register(this);
}
-
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitTraditional.java b/src/main/java/com/sosnitzka/taiga/traits/TraitTraditional.java
index c422524..831d629 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitTraditional.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitTraditional.java
@@ -3,15 +3,20 @@ package com.sosnitzka.taiga.traits;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
+import java.util.Optional;
+
public class TraitTraditional extends AbstractTrait {
@@ -24,13 +29,18 @@ public class TraitTraditional extends AbstractTrait {
@SubscribeEvent
public void onEntityKill(LivingDeathEvent e) {
World w = e.getEntity().getEntityWorld();
- if (!w.isRemote && e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
- if (TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand()), identifier)) {
+ if (!w.isRemote && e.getSource().getTrueSource() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) {
+ if (TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getTrueSource()).getHeldItemMainhand()), identifier)) {
String name = EntityList.getEntityString(e.getEntity());
}
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
+
public static class Data {
String mobname;
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitUncertain.java b/src/main/java/com/sosnitzka/taiga/traits/TraitUncertain.java
index f7ca5ab..9932a6e 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitUncertain.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitUncertain.java
@@ -1,9 +1,14 @@
package com.sosnitzka.taiga.traits;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitUncertain extends AbstractTrait {
@@ -12,4 +17,9 @@ public class TraitUncertain extends AbstractTrait {
super(TraitUncertain.class.getName().toLowerCase().substring(4), TextFormatting.RED);
MinecraftForge.EVENT_BUS.register(this);
}
+
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitVortex.java b/src/main/java/com/sosnitzka/taiga/traits/TraitVortex.java
index 54880ff..d876e77 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitVortex.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitVortex.java
@@ -1,9 +1,14 @@
package com.sosnitzka.taiga.traits;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
+import java.util.Optional;
+
public class TraitVortex extends AbstractTrait {
@@ -14,4 +19,8 @@ public class TraitVortex extends AbstractTrait {
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java b/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
index edfe1b9..abcb328 100644
--- a/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
+++ b/src/main/java/com/sosnitzka/taiga/traits/TraitWhirl.java
@@ -5,6 +5,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.TextFormatting;
@@ -14,11 +15,14 @@ import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.mantle.util.RecipeMatch;
import slimeknights.tconstruct.library.traits.AbstractTrait;
import slimeknights.tconstruct.library.utils.TagUtil;
import slimeknights.tconstruct.library.utils.TinkerUtil;
import slimeknights.tconstruct.library.utils.ToolHelper;
+import java.util.Optional;
+
public class TraitWhirl extends AbstractTrait {
@@ -94,4 +98,8 @@ public class TraitWhirl extends AbstractTrait {
}
}
+ @Override
+ public Optional<RecipeMatch.Match> matches(NonNullList<ItemStack> stacks) {
+ return null;
+ }
}
diff --git a/src/main/java/com/sosnitzka/taiga/util/EntityAIPermanentPanic.java b/src/main/java/com/sosnitzka/taiga/util/EntityAIPermanentPanic.java
index 6d73c0a..85f01e1 100644
--- a/src/main/java/com/sosnitzka/taiga/util/EntityAIPermanentPanic.java
+++ b/src/main/java/com/sosnitzka/taiga/util/EntityAIPermanentPanic.java
@@ -33,9 +33,9 @@ public class EntityAIPermanentPanic extends EntityAIBase {
if (vec3d == null) {
return false;
} else {
- this.randPosX = vec3d.xCoord;
- this.randPosY = vec3d.yCoord;
- this.randPosZ = vec3d.zCoord;
+ this.randPosX = vec3d.x;
+ this.randPosY = vec3d.y;
+ this.randPosZ = vec3d.z;
if (this.theEntityCreature.isBurning()) {
BlockPos blockpos = this.getRandPos(this.theEntityCreature.world, this.theEntityCreature, 5, 4);