diff --git a/build.gradle b/build.gradle index 6b7bde1..a81cbee 100644 --- a/build.gradle +++ b/build.gradle @@ -35,7 +35,7 @@ repositories { group = "com.sosnitzka" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "taiga" -sourceCompatibility = JavaVersion.VERSION_1_7 +sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 @@ -64,9 +64,9 @@ task buildInfo { version = project.buildInfo.revision minecraft { - version = "1.10.2-12.18.3.2202" + version = "1.11.2-13.20.1.2386" runDir = "run" - mappings = "stable_29" + mappings = "snapshot_20170612" replace '@VERSION@', project.version } @@ -80,8 +80,8 @@ dependencies { //deobfCompile "codechicken:NotEnoughItems:1.9-${nei_version}:dev" deobfCompile "slimeknights.mantle:Mantle:1.10.2-1.1.+:deobf" //Old: deobfCompile "slimeknights.mantle:Mantle:1.9-0.10.0.jenkins132:deobf" - deobfCompile "mezz.jei:jei_1.10.2:3.+" - deobfCompile "slimeknights:TConstruct:1.10.2-2.6.+:deobf" + deobfCompile "mezz.jei:jei_1.11.2:4.+" + deobfCompile "slimeknights:TConstruct:1.11.2-2.7.+:deobf" //compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar') //compile group: 'com.google.guava', name: 'guava', version: '20.0' } 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; @@ -20,6 +21,16 @@ public class TAIGAGuiFactory implements IModGuiFactory { public void initialize(Minecraft minecraftInstance) { } + @Override + public boolean hasConfigGui() { + return true; + } + + @Override + public GuiScreen createConfigGui(GuiScreen parentScreen) { + return new TAIGAConfigGui(parentScreen); + } + @Override public Class 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 similarity index 99% rename from src/main/java/com/sosnitzka/taiga/traits/TraitProgressiveStats.java rename to 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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. @@ -29,6 +33,11 @@ public class TraitDecay extends TraitProgressiveStats { super("decay", TextFormatting.GREEN); } + @Override + public Optional matches(NonNullList stacks) { + return null; + } + @Override public void applyEffect(NBTTagCompound rootCompound, NBTTagCompound modifierTag) { // check if we have stats already distributed, and if not add them 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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; +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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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 matches(NonNullList 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);