diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-05-31 01:44:17 +0100 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-05-31 01:44:17 +0100 |
| commit | 40487f07fa5ef31fde99713c0b842d34a0ba3622 (patch) | |
| tree | 2accdb69c2507acd794d5009d520b2255763751b /src/main/java/darkknight/jewelrycraft/curses | |
| parent | c5dfb2ef7353f13d71d8d582aa6d240420ed9ce7 (diff) | |
- Fixed an issue with the Liquids tab
- Changed Entity registration so it only uses 'registerModEntity' to fix potential issues
- Added crystal blocks
- Changed Jewelry Tab to not override TiCon tabs (sorry TiCon, your system is good, but not for me)
- The player renders in the Jewelry GUI (makes it easier for you to see how the jewelry render)
- The Pentagram now has an actual effect
- The Pentagram now renders beneath your feet when you look down and no longer does it in your inventory; it is also a lot smaller
- Working on Structures
- Created my own WeightedRandomItem (why isn't this in vanilla?)
- Updated the curse API so now people can specify when a curse can be activated (I believe the world is all you need :p)
- Some curses can no longer aquired in hardcore (such as Rotten Heart, Midas Touch etc) which would make it impossible to work with and require a total restart of the game (as the only way to get rid of them is by dying to replace them)
Hooraaay for proper changelogs!
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/curses')
11 files changed, 112 insertions, 23 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java index e751822..8716ba9 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -25,4 +26,10 @@ public class CurseBlind extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".blind.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_BLIND; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java index d1c6515..ed7cd2d 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -23,4 +24,10 @@ public class CurseFlamingSoul extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".flamingsoul.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_FLAMING_SOUL; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java index de555b9..be5dd83 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -30,4 +31,10 @@ public class CurseGreed extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".greed.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_GREED; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java index 8ad6b12..c65d9b7 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java @@ -14,6 +14,7 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.world.BlockEvent; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; /** @@ -57,4 +58,10 @@ public class CurseHumbleBundle extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".humblebundle.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_HUMBLE_BUNDLE; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java index 82f3b97..90d01ac 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java @@ -15,6 +15,7 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderPlayerEvent; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.damage.DamageSourceList; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; @@ -69,4 +70,10 @@ public class CurseInfamy extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".infamy.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_INFAMY; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java index cc8cbc6..a812b24 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java @@ -2,6 +2,7 @@ package darkknight.jewelrycraft.curses; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; public class CurseList @@ -22,18 +23,20 @@ public class CurseList public static void preInit(FMLPreInitializationEvent e) { - rotten = new CurseRottenHeart(Variables.MODNAME + ":" + "Rotten Heart", 0, Variables.MODID + "_curses_0"); - flaming = new CurseFlamingSoul(Variables.MODNAME + ":" + "Flaming Soul", 1, Variables.MODID + "_curses_0"); - greed = new CurseGreed(Variables.MODNAME + ":" + "Greed", 2, Variables.MODID + "_curses_0"); - blind = new CurseBlind(Variables.MODNAME + ":" + "Blind", 3, Variables.MODID + "_curses_0"); - infamy = new CurseInfamy(Variables.MODNAME + ":" + "Infamy", 4, Variables.MODID + "_curses_0"); - midasTouch = new CurseMidasTouch(Variables.MODNAME + ":" + "Midas Touch", 5, Variables.MODID + "_curses_0"); - rabbitsPaw = new CurseRabbitsPaw(Variables.MODNAME + ":" + "Rabbit's Paw", 6, Variables.MODID + "_curses_0"); - pentagram = new CursePentagram(Variables.MODNAME + ":" + "Pentagram", 7, Variables.MODID + "_curses_0"); - vampireHunger = new CurseVampireHunger(Variables.MODNAME + ":" + "Vampire Hunger", 8, Variables.MODID + "_curses_0"); - humbleBundle = new CurseHumbleBundle(Variables.MODNAME + ":" + "Humble Bundle", 9, Variables.MODID + "_curses_0"); -// deathsTouch = new CurseMidasTouch(Variables.MODNAME + ":" + "Deaths Touch", 10, Variables.MODID + "_curses_0"); -// antichrist = new CurseMidasTouch(Variables.MODNAME + ":" + "Antichrist", 11, Variables.MODID + "_curses_0"); -// moneyEqualsPower = new CurseMidasTouch(Variables.MODNAME + ":" + "Money Equals Power", 12, Variables.MODID + "_curses_0"); + if (ConfigHandler.CURSES_ENABLED){ + rotten = new CurseRottenHeart(Variables.MODNAME + ":" + "Rotten Heart", 0, Variables.MODID + "_curses_0"); + flaming = new CurseFlamingSoul(Variables.MODNAME + ":" + "Flaming Soul", 1, Variables.MODID + "_curses_0"); + greed = new CurseGreed(Variables.MODNAME + ":" + "Greed", 2, Variables.MODID + "_curses_0"); + blind = new CurseBlind(Variables.MODNAME + ":" + "Blind", 3, Variables.MODID + "_curses_0"); + infamy = new CurseInfamy(Variables.MODNAME + ":" + "Infamy", 4, Variables.MODID + "_curses_0"); + midasTouch = new CurseMidasTouch(Variables.MODNAME + ":" + "Midas Touch", 5, Variables.MODID + "_curses_0"); + rabbitsPaw = new CurseRabbitsPaw(Variables.MODNAME + ":" + "Rabbit's Paw", 6, Variables.MODID + "_curses_0"); + pentagram = new CursePentagram(Variables.MODNAME + ":" + "Pentagram", 7, Variables.MODID + "_curses_0"); + vampireHunger = new CurseVampireHunger(Variables.MODNAME + ":" + "Vampire Hunger", 8, Variables.MODID + "_curses_0"); + humbleBundle = new CurseHumbleBundle(Variables.MODNAME + ":" + "Humble Bundle", 9, Variables.MODID + "_curses_0"); + } + // deathsTouch = new CurseMidasTouch(Variables.MODNAME + ":" + "Deaths Touch", 10, Variables.MODID + "_curses_0"); + // antichrist = new CurseMidasTouch(Variables.MODNAME + ":" + "Antichrist", 11, Variables.MODID + "_curses_0"); + // moneyEqualsPower = new CurseMidasTouch(Variables.MODNAME + ":" + "Money Equals Power", 12, Variables.MODID + "_curses_0"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java index 3ce54cf..688acb6 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java @@ -23,6 +23,7 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.block.BlockList; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; import darkknight.jewelrycraft.item.ItemList; @@ -94,4 +95,10 @@ public class CurseMidasTouch extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".midastouch.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_MIDAS_TOUCH; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java index a794a75..c6057d0 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java @@ -4,19 +4,23 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.client.event.RenderHandEvent; import net.minecraftforge.client.event.RenderPlayerEvent; import org.lwjgl.opengl.GL11; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.event.FMLInterModComms; -import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.damage.DamageSourceList; import darkknight.jewelrycraft.util.Variables; public class CursePentagram extends Curse @@ -31,9 +35,18 @@ public class CursePentagram extends Curse @Override public void action(World world, EntityPlayer player) { -// FMLInterModComms.sendMessage(modId, key, value); -// GameRegistry.findItem("Botania", "flower"); -// FMLInterModComms.fetchRuntimeMessages(forMod) + // FMLInterModComms.sendMessage(modId, key, value); + // GameRegistry.findItem("Botania", "flower"); + // FMLInterModComms.fetchRuntimeMessages(forMod) + if (!world.isRemote){ + for(Object entity: world.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox(player.boundingBox.minX - 0.5F, player.boundingBox.minY, player.boundingBox.minZ - 0.5F, player.boundingBox.maxX + 0.5F, player.boundingBox.maxY, player.boundingBox.maxZ + 0.5F))){ + if (entity instanceof EntityLivingBase && rand.nextInt(40) == 0){ + ((EntityLivingBase)entity).attackEntityFrom(DamageSourceList.shadows, 2f); + if (player.shouldHeal()) player.heal(2F); + else player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f); + } + } + } } @Override @@ -42,8 +55,12 @@ public class CursePentagram extends Curse @Override public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event) + {} + + @SideOnly (Side.CLIENT) + public void playerHandRender(EntityPlayer player, RenderHandEvent event) { - ResourceLocation PENTAGRAM_TEXTURE = new ResourceLocation(Variables.MODID, "textures/gui/" + CurseList.pentagram.getTexturePack() + ".png"); + ResourceLocation PENTAGRAM_TEXTURE = new ResourceLocation(Variables.MODID, "textures/gui/" + getTexturePack() + ".png"); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_SRC_COLOR); @@ -51,9 +68,9 @@ public class CursePentagram extends Curse TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager(); texturemanager.bindTexture(PENTAGRAM_TEXTURE); GL11.glRotatef(rot, 0F, 1F, 0F); - GL11.glScalef(0.1F, 0.1F, 0.1F); - GL11.glTranslatef(-16F, 15F, -16F); + GL11.glTranslatef(-0.8F, (player.isSneaking() ? 0.1625F : 0F) + -1.6F, -0.8F); GL11.glRotatef(90F, 1F, 0F, 0F); + GL11.glScalef(0.05F, 0.05F, 0.05F); rot += 3F; if (rot > 360F) rot = 0F; float f = 0.00390625F; @@ -78,4 +95,10 @@ public class CursePentagram extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".pentagram.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_PENTAGRAM; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java index f853217..1c26558 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java @@ -5,6 +5,7 @@ package darkknight.jewelrycraft.curses; import java.util.ArrayList; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; import darkknight.jewelrycraft.util.JewelrycraftUtil; @@ -63,4 +64,10 @@ public class CurseRabbitsPaw extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".rabbitspaw.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_RABBIT_PAW; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java index 471d0e5..afc05b0 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -25,4 +26,10 @@ public class CurseRottenHeart extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".rottenheart.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return world.getWorldInfo().isHardcoreModeEnabled() ? false : ConfigHandler.CURSE_ROTTEN_HEART; + } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java index 8c72e8e..3c63641 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java @@ -8,6 +8,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; /** @@ -30,4 +31,10 @@ public class CurseVampireHunger extends Curse { return StatCollector.translateToLocal("curse." + Variables.MODID + ".vampirehunger.description"); } + + @Override + public boolean canCurseBeActivated(World world) + { + return ConfigHandler.CURSE_VAMPIRE_HUNGER; + } } |
