From 1bc1ebefb87e2ea3d29780f54f32bf95b24a6d80 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Fri, 1 May 2015 13:28:58 +0100 Subject: - Made the ritual even better - Fixed a type where the "Thieving Gloves" were named "Thiefing Gloves" - Fixed the world from crashing when entering one - Changed Flaming Soul Curse to set players on fire when they attack something, rather than randomly - Player no longer gets blinded when the ritual starts - The ritual now creates a sphere of darkness around it --- .../jewelrycraft/block/BlockShadowHand.java | 11 ++++++----- .../jewelrycraft/curses/CurseFlamingSoul.java | 6 +++--- .../jewelrycraft/events/EntityEventHandler.java | 19 ------------------- .../jewelrycraft/events/PlayerRenderHandler.java | 9 ++++++--- .../jewelrycraft/tileentity/TileEntityShadowEye.java | 19 ++++++++++++------- .../renders/TileEntityShadowEyeRender.java | 20 ++++++++++++++++++++ .../java/darkknight/jewelrycraft/util/Variables.java | 2 +- 7 files changed, 48 insertions(+), 38 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java b/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java index 45a260f..2d488ca 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockShadowHand.java @@ -15,7 +15,6 @@ import darkknight.jewelrycraft.tileentity.TileEntityShadowHand; public class BlockShadowHand extends BlockContainer { - /** * @param material */ @@ -104,10 +103,12 @@ public class BlockShadowHand extends BlockContainer @Override public void breakBlock(World world, int i, int j, int k, Block block, int par6) { - TileEntityShadowHand te = (TileEntityShadowHand)world.getTileEntity(i, j, k); - if (te != null && te.getHeldItemStack() != null){ - dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack()); - world.removeTileEntity(i, j, k); + if (world.getTileEntity(i, j, k) instanceof TileEntityShadowHand){ + TileEntityShadowHand te = (TileEntityShadowHand)world.getTileEntity(i, j, k); + if (te != null && te.getHeldItemStack() != null){ + dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.getHeldItemStack()); + world.removeTileEntity(i, j, k); + } } super.breakBlock(world, i, j, k, block, par6); } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java index 4140a5c..8e38255 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 net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; @@ -11,10 +12,9 @@ public class CurseFlamingSoul extends Curse super(name, txtID, pack); } - @Override - public void action(World world, EntityPlayer player) + public void attackedByPlayerAction(World world, EntityPlayer player, Entity target) { - if (!player.isBurning() && rand.nextInt(20) == 0) player.setFire(5); + player.setFire(5); } public String getDescription() diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 06fb53a..34c9b7f 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -439,16 +439,6 @@ public class EntityEventHandler @SideOnly (Side.CLIENT) public void fogColors(EntityViewRenderEvent.FogColors event) { - if (event.entity instanceof EntityPlayer){ - EntityPlayer player = (EntityPlayer)event.entity; - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (persistTag.getBoolean("nearStartedRitual")){ - event.red = 0f; - event.green = 0f; - event.blue = 0f; - } - } - if (event.isCancelable()) event.setCanceled(true); } /** @@ -466,14 +456,5 @@ public class EntityEventHandler @SideOnly (Side.CLIENT) public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { - if (event.entity instanceof EntityPlayer){ - EntityPlayer player = (EntityPlayer)event.entity; - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (persistTag.getBoolean("nearStartedRitual")){ - GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); - GL11.glFogf(GL11.GL_FOG_DENSITY, 0.6F); - } - } - if (event.isCancelable()) event.setCanceled(true); } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java index 92b84ab..575eae3 100644 --- a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java @@ -113,9 +113,12 @@ public class PlayerRenderHandler { if (playersInfo != null){ EntityPlayer player = Minecraft.getMinecraft().thePlayer; - NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); - for(Curse curse: Curse.getCurseList()) - if (playerInfo.getInteger(curse.getName()) > 0 && playerInfo.getInteger("cursePoints") > 0) curse.playerHandRender(player, event); + if (player != null){ + NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName()); + for(Curse curse: Curse.getCurseList()) + if (curse != null && playerInfo != null && playerInfo.hasKey(curse.getName()) && playerInfo.getInteger(curse.getName()) > 0 && playerInfo.hasKey("cursePoints") && playerInfo.getInteger("cursePoints") > 0) + curse.playerHandRender(player, event); + } } } } diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java index 1e56431..887b17f 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java @@ -1,6 +1,8 @@ package darkknight.jewelrycraft.tileentity; import java.util.ArrayList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; @@ -11,6 +13,7 @@ import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; @@ -127,13 +130,8 @@ public class TileEntityShadowEye extends TileEntity for(float x = -din; x <= din; x += 0.2F) for(float z = -din; z <= din; z += 0.2F) if (x * x + z * z >= din * din - 1 && x * x + z * z <= din * din + 1) Minecraft.getMinecraft().effectRenderer.addEffect(new EntityShadowsFX(worldObj, xCoord + x + 0.5F, yCoord - 0.5F, zCoord + z + 0.5F, 15F, 0.04F - 0.01F * i, particleTexture)); - for(int l = 0; l <= 2 - i; l++) - worldObj.spawnParticle("depthsuspend", xCoord + 6.5F - worldObj.rand.nextInt(9) - worldObj.rand.nextFloat(), yCoord - 2F + worldObj.rand.nextFloat(), zCoord + 6.5F - worldObj.rand.nextInt(9) - worldObj.rand.nextFloat(), 0, 0, 0); - for(Object player: worldObj.getEntitiesWithinAABB(EntityPlayer.class, getRenderBoundingBox().expand(10D, 10D, 10D))) - if (player != null){ - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag((EntityPlayer)player, Variables.MODID); - persistTag.setBoolean("nearStartedRitual", true); - } + for(int l = 0; l <= 100 - i*45; l++) + worldObj.spawnParticle("depthsuspend", xCoord + 6.5F - worldObj.rand.nextInt(12) - worldObj.rand.nextFloat(), yCoord - 2F + worldObj.rand.nextInt(9) - worldObj.rand.nextFloat(), zCoord + 6.5F - worldObj.rand.nextInt(12) - worldObj.rand.nextFloat(), 0, 0, 0); } } @@ -371,6 +369,13 @@ public class TileEntityShadowEye extends TileEntity }else if (pedestal != null && target != null) JewelrycraftUtil.addCursePoints(target, 20); } + @SideOnly(Side.CLIENT) + public AxisAlignedBB getRenderBoundingBox() + { + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(xCoord - 5.5D, yCoord - 5.5D, zCoord - 5.5D, xCoord + 5.5D, yCoord + 5.5D, zCoord + 5.5D); + return bb; + } + /** * @return */ diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java index 0bdca50..53ff9e1 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityShadowEyeRender.java @@ -11,6 +11,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; +import org.lwjgl.util.glu.GLU; +import org.lwjgl.util.glu.Sphere; import darkknight.jewelrycraft.model.ModelShadowEye; import darkknight.jewelrycraft.tileentity.TileEntityShadowEye; import darkknight.jewelrycraft.util.Variables; @@ -18,6 +20,7 @@ import darkknight.jewelrycraft.util.Variables; public class TileEntityShadowEyeRender extends TileEntitySpecialRenderer { ModelShadowEye eye = new ModelShadowEye(); + Sphere shadow = new Sphere(); /** * @param te @@ -56,6 +59,23 @@ public class TileEntityShadowEyeRender extends TileEntitySpecialRenderer catch(Exception e){ eye.render((Entity)null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); } + if (eyeS.opening == 4){ + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glColor4f(0.0F, 0.0F, 0.0F, 1F); + GL11.glRotatef(eyeS.timer*10F, 0, 1, 0); + GL11.glRotatef(90.0F, 1, 0, 0); + EntityPlayer player = te.getWorldObj().getClosestPlayer(te.xCoord, te.yCoord, te.zCoord, 9D); + shadow.setNormals(GLU.GLU_NONE); + shadow.draw(9.5F, 6, 6); + GL11.glScalef(-1,-1,-1); + shadow.draw(9.5F, 6, 6); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glPopMatrix(); + } GL11.glPopMatrix(); GL11.glPopMatrix(); } diff --git a/src/main/java/darkknight/jewelrycraft/util/Variables.java b/src/main/java/darkknight/jewelrycraft/util/Variables.java index 7e915de..71f5ab8 100644 --- a/src/main/java/darkknight/jewelrycraft/util/Variables.java +++ b/src/main/java/darkknight/jewelrycraft/util/Variables.java @@ -6,7 +6,7 @@ public class Variables { public static final String MODID = "jewelrycraft2"; public static final String MODNAME = "Jewelrycraft 2"; - public static final String VERSION = "1.0.4"; + public static final String VERSION = "1.0.5"; public static final String PACKET_CHANNEL = "jewelrycraft2"; public static final String CONFIG_GUI = "darkknight.jewelrycraft.config.ConfigGuiFactory"; -- cgit v1.2.3