summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/curses
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-31 01:44:17 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-31 01:44:17 +0100
commit40487f07fa5ef31fde99713c0b842d34a0ba3622 (patch)
tree2accdb69c2507acd794d5009d520b2255763751b /src/main/java/darkknight/jewelrycraft/curses
parentc5dfb2ef7353f13d71d8d582aa6d240420ed9ce7 (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')
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseList.java29
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java43
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java7
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java7
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;
+ }
}