summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-23 18:08:44 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-23 18:08:44 +0100
commit05f43b228ae0de5bd33ccd303ebbadfaaa464bc7 (patch)
treedf2067001e0b28c2d40edc5ccde43830616ec8ce /src/main
parent2a7e0a624f482a28af1c770dbcf2a20f52f94f78 (diff)
Added new curses!
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java8
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/Curse.java14
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java24
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseList.java26
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java67
-rw-r--r--src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java62
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java1
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java55
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java12
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java32
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java2
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java204
-rw-r--r--src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java2
-rw-r--r--src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java (renamed from src/main/java/darkknight/jewelrycraft/network/PacketSendPlayerInfo.java)8
-rw-r--r--src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java (renamed from src/main/java/darkknight/jewelrycraft/network/PacketSendCurseStats.java)23
15 files changed, 366 insertions, 174 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
index 360add0..f708e78 100644
--- a/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
+++ b/src/main/java/darkknight/jewelrycraft/JewelrycraftMod.java
@@ -54,9 +54,9 @@ import darkknight.jewelrycraft.network.PacketKeyPressEvent;
import darkknight.jewelrycraft.network.PacketRequestLiquidData;
import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
import darkknight.jewelrycraft.network.PacketRequestSetSlot;
-import darkknight.jewelrycraft.network.PacketSendCurseStats;
+import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.network.PacketSendPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
import darkknight.jewelrycraft.proxy.CommonProxy;
import darkknight.jewelrycraft.recipes.CraftingRecipes;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
@@ -138,8 +138,8 @@ public class JewelrycraftMod
netWrapper.registerMessage(PacketClearColorCache.class, PacketClearColorCache.class, 2, Side.CLIENT);
netWrapper.registerMessage(PacketKeyPressEvent.class, PacketKeyPressEvent.class, 3, Side.SERVER);
netWrapper.registerMessage(PacketRequestPlayerInfo.class, PacketRequestPlayerInfo.class, 4, Side.SERVER);
- netWrapper.registerMessage(PacketSendPlayerInfo.class, PacketSendPlayerInfo.class, 5, Side.CLIENT);
- netWrapper.registerMessage(PacketSendCurseStats.class, PacketSendCurseStats.class, 6, Side.CLIENT);
+ netWrapper.registerMessage(PacketSendClientPlayerInfo.class, PacketSendClientPlayerInfo.class, 5, Side.CLIENT);
+ netWrapper.registerMessage(PacketSendServerPlayersInfo.class, PacketSendServerPlayersInfo.class, 6, Side.CLIENT);
netWrapper.registerMessage(PacketRequestSetSlot.class, PacketRequestSetSlot.class, 7, Side.SERVER);
metadata.autogenerated = false;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/Curse.java b/src/main/java/darkknight/jewelrycraft/curses/Curse.java
index f833542..75b4056 100644
--- a/src/main/java/darkknight/jewelrycraft/curses/Curse.java
+++ b/src/main/java/darkknight/jewelrycraft/curses/Curse.java
@@ -3,8 +3,11 @@ package darkknight.jewelrycraft.curses;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
public class Curse
{
@@ -77,7 +80,10 @@ public class Curse
* @param world
* @param player
*/
- public void deathAction(World world, EntityPlayer player)
+ public void playerDeathAction(World world, EntityPlayer player)
+ {}
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
{}
/**
@@ -101,6 +107,12 @@ public class Curse
public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
{}
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {}
+
public boolean itemToss()
{
return false;
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java
index 1a86862..ad80ec8 100644
--- a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java
+++ b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java
@@ -1,21 +1,27 @@
package darkknight.jewelrycraft.curses;
+import org.lwjgl.opengl.GL11;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.entities.EntityHalfHeart;
import darkknight.jewelrycraft.entities.EntityHeart;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.item.render.MaskRender;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
public class CurseInfamy extends Curse
{
+ MaskRender mask = new MaskRender();
public CurseInfamy(int id, String name, int text)
{
super(id, name, text);
@@ -35,6 +41,24 @@ public class CurseInfamy extends Curse
}
}
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
+
public String getDescription()
{
return "What have you done?!";
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java
index e4105c8..e31db02 100644
--- a/src/main/java/darkknight/jewelrycraft/curses/CurseList.java
+++ b/src/main/java/darkknight/jewelrycraft/curses/CurseList.java
@@ -5,12 +5,19 @@ import darkknight.jewelrycraft.util.Variables;
public class CurseList
{
- private static Curse rotten;
- private static Curse flaming;
- private static Curse blind;
- private static Curse greed;
- private static Curse infamy;
- private static Curse midasTouch;
+ public static Curse rotten;
+ public static Curse flaming;
+ public static Curse blind;
+ public static Curse greed;
+ public static Curse infamy;
+ public static Curse midasTouch;
+ public static Curse rabbitsPaw;
+ public static Curse pentagram;
+ public static Curse vampireHunger;
+ public static Curse humbleBundle;
+ public static Curse deathsTouch;
+ public static Curse antichrist;
+ public static Curse moneyEqualsPower;
public static void preInit(FMLPreInitializationEvent e)
{
@@ -20,5 +27,12 @@ public class CurseList
blind = new CurseBlind(3, Variables.MODNAME + ":" + "Blind", 0);
infamy = new CurseInfamy(4, Variables.MODNAME + ":" + "Infamy", 0);
midasTouch = new CurseMidasTouch(5, Variables.MODNAME + ":" + "Midas Touch", 0);
+ rabbitsPaw = new CurseRabbitsPaw(6, Variables.MODNAME + ":" + "Rabbit's Paw", 0);
+ pentagram = new CursePentagram(7, Variables.MODNAME + ":" + "Pentagram", 0);
+// vampireHunger = new CurseMidasTouch(8, Variables.MODNAME + ":" + "Vampire Hunger", 0);
+// humbleBundle = new CurseMidasTouch(9, Variables.MODNAME + ":" + "Humble Bundle", 0);
+// deathsTouch = new CurseMidasTouch(10, Variables.MODNAME + ":" + "Deaths Touch", 0);
+// antichrist = new CurseMidasTouch(11, Variables.MODNAME + ":" + "Antichrist", 0);
+// moneyEqualsPower = new CurseMidasTouch(12, Variables.MODNAME + ":" + "Money Equals Power", 0);
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java
new file mode 100644
index 0000000..4ea4ee7
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.curses;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemRenderer;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.client.renderer.texture.TextureManager;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.item.render.MaskRender;
+import darkknight.jewelrycraft.util.Variables;
+
+public class CursePentagram extends Curse
+{
+ ResourceLocation curse = new ResourceLocation(Variables.MODID, "textures/gui/curses.png");
+ float rot = 0F;
+
+ public CursePentagram(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void attackedByPlayerAction(World world, EntityPlayer player, Entity target)
+ {}
+
+ public void playerRender(EntityPlayer player, RenderPlayerEvent.Specials.Post event)
+ {
+ GL11.glPushMatrix();
+ GL11.glColor4f(1, 1, 1, 1);
+ Tessellator tessellator = Tessellator.instance;
+ TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
+ texturemanager.bindTexture(curse);
+ GL11.glRotatef(rot, 0F, 1F, 0F);
+ GL11.glScalef(0.1F, 0.1F, 0.1F);
+ GL11.glTranslatef(-16F, 15F, -16F);
+ GL11.glRotatef(90F, 1F, 0F, 0F);
+ rot+=3F;
+ if (rot > 360F) rot = 0F;
+ float f = 0.00390625F;
+ float f1 = 0.00390625F;
+ int x = 0;
+ int y = 0;
+ int u = 32 * 7;
+ int v = 0;
+ int width = 32;
+ int height = 32;
+ tessellator.startDrawingQuads();
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)0, (double)((float)(u + width) * f), (double)((float)(v + height) * f1));
+ tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)0, (double)((float)(u + width) * f), (double)((float)(v + 0) * f1));
+ tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)0, (double)((float)(u + 0) * f), (double)((float)(v + 0) * f1));
+ tessellator.draw();
+ GL11.glPopMatrix();
+ }
+
+ public String getDescription()
+ {
+ return "The Dark Lord has misterious ways of showing you his love.";
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java
new file mode 100644
index 0000000..0e831c2
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java
@@ -0,0 +1,62 @@
+/**
+ *
+ */
+package darkknight.jewelrycraft.curses;
+
+import java.util.ArrayList;
+import darkknight.jewelrycraft.entities.EntityHalfHeart;
+import darkknight.jewelrycraft.entities.EntityHeart;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.item.EntityXPOrb;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+
+public class CurseRabbitsPaw extends Curse
+{
+ public CurseRabbitsPaw(int id, String name, int text)
+ {
+ super(id, name, text);
+ }
+
+ @Override
+ public void entityDropItems(EntityPlayer player, Entity target, ArrayList<EntityItem> drops)
+ {
+ for(EntityItem item: drops){
+ ItemStack drop = item.getEntityItem().copy();
+ drop.stackSize = this.rand.nextInt(4);
+ if (drop.stackSize > 0) target.entityDropItem(drop, 0.5F);
+ }
+ }
+
+ public void entityDeathAction(World world, EntityLivingBase target, EntityPlayer player)
+ {
+ String[] types = {"Red", "Blue", "White", "Black"};
+ String type = types[rand.nextInt(4)];
+ if (rand.nextInt(3) == 0){
+ if (type == "White"){
+ EntityHeart h = new EntityHalfHeart(world);
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }else{
+ for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(target.getMaxHealth() / 20)); i++){
+ EntityHeart[] hearts = {new EntityHeart(world), new EntityHalfHeart(world)};
+ EntityHeart h = hearts[rand.nextInt(2)];
+ h.setType(type);
+ h.setLocationAndAngles(target.posX, target.posY, target.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F);
+ world.spawnEntityInWorld(h);
+ }
+ }
+ }
+ if (rand.nextInt(3) == 0) world.spawnEntityInWorld(new EntityXPOrb(world, target.posX, target.posY, target.posZ, 1 + rand.nextInt(40)));
+ }
+
+ public String getDescription()
+ {
+ return "The Dark One is giving you a gift. Don't lose it.";
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java
index 81fe34b..3cd8084 100644
--- a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java
@@ -21,7 +21,6 @@ public class BlockEventHandler
@SubscribeEvent
public void onBlockDestroyed(BlockEvent.BreakEvent event)
{
- // System.out.println("Broken " + event.getResult());
ItemStack item = event.getPlayer().inventory.getCurrentItem();
if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){
TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z);
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
index f9152a7..c608658 100644
--- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
@@ -1,6 +1,5 @@
package darkknight.jewelrycraft.events;
-import ibxm.Player;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
@@ -9,13 +8,11 @@ import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
-import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
@@ -24,15 +21,13 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.MathHelper;
import net.minecraftforge.client.event.EntityViewRenderEvent;
-import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.item.ItemTossEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
+import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
-import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
-import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent;
import net.minecraftforge.event.world.WorldEvent;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.FMLCommonHandler;
@@ -40,20 +35,16 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.curses.Curse;
import darkknight.jewelrycraft.damage.DamageSourceList;
import darkknight.jewelrycraft.entities.EntityHalfHeart;
import darkknight.jewelrycraft.entities.EntityHeart;
import darkknight.jewelrycraft.item.ItemBaseJewelry;
-import darkknight.jewelrycraft.item.ItemBracelet;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.network.PacketClearColorCache;
import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
-import darkknight.jewelrycraft.network.PacketSendCurseStats;
-import darkknight.jewelrycraft.network.PacketSendPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
import darkknight.jewelrycraft.util.BlockUtils;
-import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
@@ -63,6 +54,8 @@ import darkknight.jewelrycraft.util.Variables;
*/
public class EntityEventHandler
{
+ int updateTime = 0;
+
/**
* @param event
*/
@@ -110,6 +103,7 @@ public class EntityEventHandler
EntityPlayer player = (EntityPlayer)entity;
NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (updateTime > 0) updateTime--;
if (playerInfo.getBoolean("stunned") && playerInfo.getInteger("stunTime") > 0){
player.motionX *= 0D;
player.motionZ *= 0D;
@@ -124,7 +118,7 @@ public class EntityEventHandler
if (playerInfo.hasKey("ext" + i)){
NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i);
ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
- if(item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
+ if (item != null) ((ItemBaseJewelry)item.getItem()).action(item, player);
}
if (!player.worldObj.isRemote){
if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")){
@@ -142,9 +136,9 @@ public class EntityEventHandler
JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false);
- if (playerInfo.getBoolean("sendInfo")){
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendCurseStats());
- playerInfo.setBoolean("sendInfo", false);
+ if (updateTime == 0){
+ JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ updateTime = 200;
}
for(Curse curse: Curse.getCurseList())
if (playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player);
@@ -152,6 +146,17 @@ public class EntityEventHandler
}
}
+ @SubscribeEvent
+ public void onEntityLivingDropItems(LivingDropsEvent event)
+ {
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
/**
* @param event
*/
@@ -259,10 +264,10 @@ public class EntityEventHandler
playerInfo.setBoolean("reselectCurses", false);
}
}
- playerInfo.setBoolean("sendInfo", true);
+
playerInfo.setFloat("BlueHeart", 0f);
playerInfo.setFloat("BlackHeart", 0f);
- playerInfo.setFloat("WhiteHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
for(Curse curse: Curse.getCurseList())
if (playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player);
}
@@ -281,7 +286,7 @@ public class EntityEventHandler
Curse cur = Curse.availableCurses.get(no);
playerInfo.setInteger(cur.getName(), 1);
Curse.availableCurses.remove(cur);
- playerInfo.setBoolean("sendInfo", true);
+
}
}
@@ -291,7 +296,7 @@ public class EntityEventHandler
if (Curse.availableCurses.size() > 0 && Curse.availableCurses.contains(cur)){
playerInfo.setInteger(cur.getName(), grade);
Curse.availableCurses.remove(cur);
- playerInfo.setBoolean("sendInfo", true);
+
}
}
@@ -351,13 +356,19 @@ public class EntityEventHandler
}
}
}
+ if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)event.source.getEntity();
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player);
+ }
}
if (entity instanceof EntityPlayer){
EntityPlayer player = (EntityPlayer)entity;
NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
playerInfo.setFloat("BlueHeart", 0f);
playerInfo.setFloat("BlackHeart", 0f);
- playerInfo.setFloat("WhiteHeart", 0f);
+ playerInfo.setFloat("WhiteHeart", 0f);
if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")){
for(Curse l: Curse.getCurseList()){
if (playerInfo.getInteger(l.getName()) == 1){
@@ -367,9 +378,9 @@ public class EntityEventHandler
}
if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
- playerInfo.setBoolean("sendInfo", true);
+
for(Curse curse: Curse.getCurseList())
- if (playerInfo.getInteger(curse.getName()) > 0) curse.deathAction(player.worldObj, player);
+ if (playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player);
}
if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
diff --git a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java
index 9919a3f..dea04f9 100644
--- a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java
@@ -1,7 +1,13 @@
package darkknight.jewelrycraft.events;
+import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
+import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.gameevent.TickEvent.Phase;
+import cpw.mods.fml.relauncher.Side;
+import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
/**
* @author Sorin
@@ -12,6 +18,10 @@ public class EventCommonHandler
@SubscribeEvent
public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
{
-// System.out.println(event.crafting + " " + event.craftMatrix.getInventoryName());
+ }
+
+ @SubscribeEvent
+ public void onPlayerTick(TickEvent.PlayerTickEvent event)
+ {
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
index 3ff5ed4..c5595fa 100644
--- a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
@@ -11,6 +11,8 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderPlayerEvent;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.curses.CurseList;
import darkknight.jewelrycraft.entities.renders.RenderHelper;
import darkknight.jewelrycraft.item.render.BraceletRender;
import darkknight.jewelrycraft.item.render.EarringsRender;
@@ -22,36 +24,22 @@ import darkknight.jewelrycraft.util.Variables;
public class PlayerRenderHandler
{
- MaskRender mask = new MaskRender();
EarringsRender earrings = new EarringsRender();
BraceletRender bracelet = new BraceletRender();
- public static String[] infamyCache = new String[]{};
+ public static NBTTagCompound playersInfo = new NBTTagCompound();
@SubscribeEvent
public void renderScreen(RenderPlayerEvent.Specials.Post event)
{
ModelBiped main = event.renderer.modelBipedMain;
Iterator<EntityPlayer> players = event.entityPlayer.worldObj.playerEntities.iterator();
- if (infamyCache != null){
+ if (playersInfo != null){
while (players.hasNext()){
EntityPlayer player = players.next();
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0){
- float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
- float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
- float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
- GL11.glPushMatrix();
- GL11.glColor4f(1, 1, 1, 1);
- GL11.glRotatef(yawOffset, 0, -1, 0);
- GL11.glRotatef(yaw - 90, 0, 1, 0);
- GL11.glRotatef(pitch, 0, 0, -1);
- GL11.glRotatef(90F, 0, 1F, 0F);
- RenderHelper.translateToHeadLevel(player);
- GL11.glScalef(1.6f, 1.6f, 1.6f);
- GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
- mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
- GL11.glPopMatrix();
- }
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(player.getDisplayName());
+ for(Curse curse: Curse.getCurseList())
+ if (playerInfo.getInteger(curse.getName()) > 0 && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0)
+ curse.playerRender(player, event);
if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())){
NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext17");
ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
@@ -115,8 +103,8 @@ public class PlayerRenderHandler
*/
private boolean checkPlayerInfamy(String string)
{
- for(int i = 0; i < infamyCache.length; i++)
- if (infamyCache[i].equals(string)) return true;
+ NBTTagCompound playerInfo = (NBTTagCompound)playersInfo.getTag(string);
+ if(playerInfo.getInteger(CurseList.infamy.getName()) > 0) return true;
return false;
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java
index 20bc0a8..8b87de0 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java
@@ -48,7 +48,7 @@ public class ItemGoldObj extends Item
public String getItemStackDisplayName(ItemStack stack)
{
- return "Golden " + ((JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
+ return "Golden " + ((Item.getItemById(Integer.valueOf(stack.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null && stack != null && JewelryNBT.item(stack) != null) ? JewelryNBT.item(stack).getDisplayName() : "Object");
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean displayInfo)
diff --git a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java
index a150ae0..9b12602 100644
--- a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java
+++ b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java
@@ -1,6 +1,7 @@
package darkknight.jewelrycraft.item.render;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockAnvil;
import net.minecraft.block.BlockHopper;
import net.minecraft.client.Minecraft;
@@ -76,17 +77,21 @@ public class ItemRender implements IItemRenderer
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object ... data)
{
- if (render != null && entity != null && JewelryNBT.item(item) == null){
- if (type == IItemRenderer.ItemRenderType.ENTITY){
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ if (item != null){
+ if (render != null && entity != null && JewelryNBT.item(item) == null){
+ if (type == IItemRenderer.ItemRenderType.ENTITY){
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glTranslatef(-0.5f, -0.5f, -0.4f);
+ }
+ render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
+ }else if (JewelryNBT.item(item) != null){
+ GL11.glPushMatrix();
+ GL11.glColor3f(1F, 1F, 0F);
+ if(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null)
+ renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
+ else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type);;
+ GL11.glPopMatrix();
}
- render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F);
- }else if (JewelryNBT.item(item) != null){
- GL11.glPushMatrix();
- GL11.glColor3f(1F, 1F, 0F);
- renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type);
- GL11.glPopMatrix();
}
}
@@ -94,100 +99,101 @@ public class ItemRender implements IItemRenderer
{
GL11.glPushMatrix();
TextureManager texturemanager = this.mc.getTextureManager();
- Item item = itemStack.getItem();
- Block block = Block.getBlockFromItem(item);
- IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
- if (customRenderer != null){
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
- ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
- }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
- texturemanager.bindTexture(texturemanager.getResourceLocation(0));
- if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
- GL11.glDepthMask(false);
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- GL11.glDepthMask(true);
+ if (itemStack != null){
+ Item item = itemStack.getItem();
+ Block block = Block.getBlockFromItem(item);
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type);
+ if (customRenderer != null){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F);
+ ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack);
+ }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){
+ texturemanager.bindTexture(texturemanager.getResourceLocation(0));
+ if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F);
+ if (itemStack != null && block != null && block.getRenderBlockPass() != 0){
+ GL11.glDepthMask(false);
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ GL11.glDepthMask(true);
+ }else{
+ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
+ }
}else{
- renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F);
- }
- }else{
- IIcon iicon = itemStack.getIconIndex();
- if (iicon == null){
- GL11.glPopMatrix();
- return;
- }
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_152777_a(false, false, 1.0F);
- Tessellator tessellator = Tessellator.instance;
- float f = iicon.getMinU();
- float f1 = iicon.getMaxU();
- float f2 = iicon.getMinV();
- float f3 = iicon.getMaxV();
- float f4 = 0.0F;
- float f5 = 0.3F;
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- float f6 = 1.6F;
- GL11.glScalef(f6, f6, f6);
- if(type.equals(type.ENTITY)){
- GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
- GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
- GL11.glScalef(0.625F, 0.625F, 0.625F);
- }
- if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(180f, 0f, 1f, 0f);
- GL11.glRotatef(30f, 1f, 0f, 0f);
- if (type.equals(type.EQUIPPED)){
- GL11.glRotatef(35f, 1f, 0f, 0f);
- GL11.glTranslatef(0F, -0.15F, -0.6F);
+ IIcon iicon = itemStack.getIconIndex();
+ if (iicon == null){
+ GL11.glPopMatrix();
+ return;
}
- GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
- }
- else if(type.equals(type.EQUIPPED_FIRST_PERSON)){
- GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
- GL11.glRotatef(45f, 0f, 1f, 0f);
- GL11.glRotatef(-25f, 0f, 0f, 1f);
- }
- if (itemStack.getItem().requiresMultipleRenderPasses()){
- for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
- iicon = itemStack.getItem().getIcon(itemStack, x);
- f = iicon.getMinU();
- f1 = iicon.getMaxU();
- f2 = iicon.getMinV();
- f3 = iicon.getMaxV();
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_152777_a(false, false, 1.0F);
+ Tessellator tessellator = Tessellator.instance;
+ float f = iicon.getMinU();
+ float f1 = iicon.getMaxU();
+ float f2 = iicon.getMinV();
+ float f3 = iicon.getMaxV();
+ float f4 = 0.0F;
+ float f5 = 0.3F;
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ float f6 = 1.6F;
+ GL11.glScalef(f6, f6, f6);
+ if (type.equals(type.ENTITY)){
+ GL11.glTranslatef(0.0F, 0.0265F, 0.0F);
+ GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
+ GL11.glScalef(0.625F, 0.625F, 0.625F);
+ }
+ if (!type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(180f, 0f, 1f, 0f);
+ GL11.glRotatef(30f, 1f, 0f, 0f);
+ if (type.equals(type.EQUIPPED)){
+ GL11.glRotatef(35f, 1f, 0f, 0f);
+ GL11.glTranslatef(0F, -0.15F, -0.6F);
+ }
+ GL11.glTranslatef(-0.5F, -0.5F, 0.0F);
+ }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){
+ GL11.glTranslatef(-0.35F, 0.4F, 0.93F);
+ GL11.glRotatef(45f, 0f, 1f, 0f);
+ GL11.glRotatef(-25f, 0f, 0f, 1f);
+ }
+ if (itemStack.getItem().requiresMultipleRenderPasses()){
+ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){
+ iicon = itemStack.getItem().getIcon(itemStack, x);
+ f = iicon.getMinU();
+ f1 = iicon.getMaxU();
+ f2 = iicon.getMinV();
+ f3 = iicon.getMaxV();
+ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ }
+ }else{
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
}
- }else{
- ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
+ GL11.glDepthFunc(GL11.GL_EQUAL);
+ texturemanager.bindTexture(RES_ITEM_GLINT);
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(768, 1, 1, 0);
+ GL11.glMatrixMode(GL11.GL_TEXTURE);
+ GL11.glPushMatrix();
+ float f8 = 0.325F;
+ GL11.glScalef(f8, f8, f8);
+ GL11.glTranslatef(17F, 0.0F, 0.0F);
+ GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glColor3f(1F, 1F, 0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glPushMatrix();
+ GL11.glScalef(f8, f8, f8);
+ float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
+ GL11.glTranslatef(-f9, 0.0F, 0.0F);
+ GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
+ ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
+ GL11.glPopMatrix();
+ GL11.glMatrixMode(GL11.GL_MODELVIEW);
+ GL11.glDisable(GL11.GL_BLEND);
+ GL11.glDepthFunc(GL11.GL_LEQUAL);
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
+ TextureUtil.func_147945_b();
}
- GL11.glDepthFunc(GL11.GL_EQUAL);
- texturemanager.bindTexture(RES_ITEM_GLINT);
- GL11.glEnable(GL11.GL_BLEND);
- OpenGlHelper.glBlendFunc(768, 1, 1, 0);
- GL11.glMatrixMode(GL11.GL_TEXTURE);
- GL11.glPushMatrix();
- float f8 = 0.325F;
- GL11.glScalef(f8, f8, f8);
- GL11.glTranslatef(17F, 0.0F, 0.0F);
- GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F);
- GL11.glColor3f(1F, 1F, 0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glScalef(f8, f8, f8);
- float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F;
- GL11.glTranslatef(-f9, 0.0F, 0.0F);
- GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F);
- ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
- GL11.glPopMatrix();
- GL11.glMatrixMode(GL11.GL_MODELVIEW);
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glDepthFunc(GL11.GL_LEQUAL);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber()));
- TextureUtil.func_147945_b();
}
GL11.glPopMatrix();
}
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java b/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java
index e6c7b40..0e48968 100644
--- a/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java
+++ b/src/main/java/darkknight/jewelrycraft/network/PacketRequestPlayerInfo.java
@@ -24,7 +24,7 @@ public class PacketRequestPlayerInfo implements IMessage, IMessageHandler<Packet
@Override
public IMessage onMessage(PacketRequestPlayerInfo message, MessageContext ctx)
{
- return new PacketSendPlayerInfo(PlayerUtils.getModPlayerPersistTag(ctx.getServerHandler().playerEntity, Variables.MODID));
+ return new PacketSendClientPlayerInfo(PlayerUtils.getModPlayerPersistTag(ctx.getServerHandler().playerEntity, Variables.MODID));
}
/**
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketSendPlayerInfo.java b/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java
index e2f66a0..05567a0 100644
--- a/src/main/java/darkknight/jewelrycraft/network/PacketSendPlayerInfo.java
+++ b/src/main/java/darkknight/jewelrycraft/network/PacketSendClientPlayerInfo.java
@@ -8,14 +8,14 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import darkknight.jewelrycraft.events.ScreenHandler;
-public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSendPlayerInfo, IMessage>
+public class PacketSendClientPlayerInfo implements IMessage, IMessageHandler<PacketSendClientPlayerInfo, IMessage>
{
public NBTTagCompound tagCompound;
/**
* @param tagCompound
*/
- public PacketSendPlayerInfo(NBTTagCompound tagCompound)
+ public PacketSendClientPlayerInfo(NBTTagCompound tagCompound)
{
this.tagCompound = tagCompound;
}
@@ -23,7 +23,7 @@ public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSen
/**
*
*/
- public PacketSendPlayerInfo()
+ public PacketSendClientPlayerInfo()
{}
/**
@@ -32,7 +32,7 @@ public class PacketSendPlayerInfo implements IMessage, IMessageHandler<PacketSen
* @return
*/
@Override
- public IMessage onMessage(PacketSendPlayerInfo message, MessageContext ctx)
+ public IMessage onMessage(PacketSendClientPlayerInfo message, MessageContext ctx)
{
ScreenHandler.tagCache = message.tagCompound;
return null;
diff --git a/src/main/java/darkknight/jewelrycraft/network/PacketSendCurseStats.java b/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java
index 0559f17..c87bf81 100644
--- a/src/main/java/darkknight/jewelrycraft/network/PacketSendCurseStats.java
+++ b/src/main/java/darkknight/jewelrycraft/network/PacketSendServerPlayersInfo.java
@@ -3,12 +3,11 @@
*/
package darkknight.jewelrycraft.network;
+import io.netty.buffer.ByteBuf;
import java.util.Iterator;
-import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
-import io.netty.buffer.ByteBuf;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
@@ -21,9 +20,9 @@ import darkknight.jewelrycraft.util.Variables;
* @author Sorin
*
*/
-public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSendCurseStats, IMessage>
+public class PacketSendServerPlayersInfo implements IMessage, IMessageHandler<PacketSendServerPlayersInfo, IMessage>
{
- public PacketSendCurseStats()
+ public PacketSendServerPlayersInfo()
{
}
@@ -34,7 +33,7 @@ public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSen
* @return
*/
@Override
- public IMessage onMessage(PacketSendCurseStats message, MessageContext ctx)
+ public IMessage onMessage(PacketSendServerPlayersInfo message, MessageContext ctx)
{
return null;
}
@@ -45,11 +44,11 @@ public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSen
@Override
public void fromBytes(ByteBuf buf)
{
- String temp = ByteBufUtils.readUTF8String(buf);
- if (temp != "")
- PlayerRenderHandler.infamyCache = temp.split(";");
+ NBTTagCompound temp = ByteBufUtils.readTag(buf);
+ if (temp != null)
+ PlayerRenderHandler.playersInfo = temp;
else
- PlayerRenderHandler.infamyCache = new String[] { };
+ PlayerRenderHandler.playersInfo = new NBTTagCompound();
}
/**
@@ -60,12 +59,12 @@ public class PacketSendCurseStats implements IMessage, IMessageHandler<PacketSen
{
Iterator<EntityPlayer> players = MinecraftServer.getServer().getConfigurationManager().playerEntityList.iterator();
String infamyPlayers = "";
+ NBTTagCompound nbt = new NBTTagCompound();
while (players.hasNext())
{
EntityPlayer current = players.next();
- if(PlayerUtils.getModPlayerPersistTag(current, Variables.MODID).getInteger(Variables.MODNAME + ":" + "Infamy") > 0)
- infamyPlayers = infamyPlayers + (infamyPlayers == "" ? "" : ";") + current.getDisplayName();
+ nbt.setTag(current.getDisplayName(), PlayerUtils.getModPlayerPersistTag(current, Variables.MODID));
}
- ByteBufUtils.writeUTF8String(buf, infamyPlayers);
+ ByteBufUtils.writeTag(buf, nbt);
}
}