diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-07-09 21:33:49 +0100 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-07-09 21:33:49 +0100 |
| commit | d773e5214c5308bbd461f558b9e17a4839027d5e (patch) | |
| tree | dd8915e043f7c2aa18c6c23d1c1fd631ad05e537 | |
| parent | 05e82be19ee915a42ada1d69e12c4de55590562f (diff) | |
- Pentagram now reduces the total health the victim has instead of
damaging it (this is to prevent getting infinite hearts);
- Fixed server-client sync issues (thanks domi)
5 files changed, 26 insertions, 21 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java index 2b3faa0..59f5e91 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java @@ -78,7 +78,7 @@ public class GuiCurseInfo extends GuiContainer { if (playerInfo.getInteger(curse.getName()) > 0) {
mc.renderEngine.bindTexture(Variables.MISC_TEXTURE);
drawTexturedModalRect(guiLeft + 43, guiTop + 5 + (size - 8) * ind, 0, 32, 112, 22);
- if (playerInfo.getInteger(curse.getName()) == 1) {
+ if (playerInfo.getInteger(curse.getName()) == 2) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java index faefe84..730542a 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java @@ -37,7 +37,7 @@ public class CursePentagram extends Curse { 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);
+ ((EntityLivingBase) entity).getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(((EntityLivingBase) entity).getMaxHealth() - 2f);//attackEntityFrom(DamageSourceList.shadows, 2f);
if (player.shouldHeal()) player.heal(2F);
else player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f);
}
diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java index aa8f5c8..793fcd5 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java @@ -8,6 +8,7 @@ import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
@@ -15,6 +16,7 @@ import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
import darkknight.jewelrycraft.util.Variables;
@@ -70,12 +72,14 @@ public class EntityHeart extends EntityLiving { }
} else if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F) {
playerInfo.setFloat(getType() + "Heart", 0F);
- player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + playerInfo.getFloat("WhiteHeart"));
+ player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f);
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
+// player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + playerInfo.getFloat("WhiteHeart"));
this.setDead();
} else if (!getType().equals("Red")) {
if(playerInfo.hasKey(getType() + "Heart")) playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + getQuantity());
- else playerInfo.setFloat(getType() + "Heart", getQuantity());
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ else playerInfo.setFloat(getType() + "Heart", getQuantity());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
this.setDead();
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 0419c7f..ce2bb25 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -50,6 +50,7 @@ import darkknight.jewelrycraft.item.ItemBaseJewelry; import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.network.PacketClearColorCache;
import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
+import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo;
import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo;
import darkknight.jewelrycraft.potions.PotionList;
import darkknight.jewelrycraft.random.WeightedRandomCurse;
@@ -147,7 +148,7 @@ public class EntityEventHandler { playerInfo.setInteger("curseTime", 23000);
playerInfo.setBoolean("reselectCurses", false);
}
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
if (addedCurses) {
JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("curse." + Variables.MODID + ".activated")));
@@ -211,13 +212,13 @@ public class EntityEventHandler { if (!player.worldObj.isRemote && !player.capabilities.isCreativeMode && (float) player.hurtResistantTime <= (float) player.maxHurtResistantTime / 2.0F && !event.source.isUnblockable()) {
if (playerInfo.getFloat("WhiteHeart") > 0) {
playerInfo.setFloat("WhiteHeart", 0f);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
}
if (playerInfo.getFloat("BlueHeart") > 0) {
float damage = playerInfo.getFloat("BlueHeart") - event.ammount;
if (damage >= 0) playerInfo.setFloat("BlueHeart", damage);
else playerInfo.setFloat("BlueHeart", 0f);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
if (damage < 0) {
System.out.println(damage);
player.attackEntityFrom(event.source, Math.abs(damage));
@@ -239,7 +240,7 @@ public class EntityEventHandler { float damage = playerInfo.getFloat("BlackHeart") - event.ammount;
if (damage >= 0) playerInfo.setFloat("BlackHeart", damage);
else playerInfo.setFloat("BlackHeart", 0f);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
if (damage < 0) player.attackEntityFrom(event.source, Math.abs(damage));
player.hurtResistantTime = player.maxHurtResistantTime;
player.hurtTime = player.maxHurtTime = 10;
@@ -307,13 +308,12 @@ public class EntityEventHandler { }
}
}
- if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ //if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
if (!player.worldObj.isRemote) {
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
if (addedCurses) {
JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
- // player.openGui(JewelrycraftMod.instance, 4, player.worldObj,
- // 0, 0, 0);
addedCurses = false;
}
}
@@ -330,8 +330,9 @@ public class EntityEventHandler { playerInfo.setInteger(cur.getName(), 1);
Curse.availableCurses.remove(cur);
addedCurses = true;
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+// JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
+ JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player);
}
}
diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java index cb4b8c8..0ff7be6 100644 --- a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java @@ -58,11 +58,11 @@ public class PlayerRenderHandler { EntityPlayer player = players.next();
NBTTagCompound playerInfo = (NBTTagCompound) playersInfo.getTag(player.getDisplayName());
if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0 && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0) curse.playerRender(player, event);
+ if (curse != null && curse.canCurseBeActivated(player.worldObj) && playerInfo != null && curse.getName() != null && playerInfo.getInteger(curse.getName()) > 0 && event.entityPlayer != null && player != null && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0) curse.playerRender(player, event);
int no = 0;
ModelRenderer arm = rightArm;
for (int i = 0; i <= 9; i++)
- if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
gem = -1;
ingot = -1;
if (no > 4) arm = leftArm;
@@ -101,13 +101,13 @@ public class PlayerRenderHandler { no++;
}
for (int i = 10; i <= 13; i++)
- if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i);
ItemStack item = ItemStack.loadItemStackFromNBT(nbt);
if (JewelryNBT.ingot(item) != null) ingotColor[i - 10] = JewelrycraftUtil.getColor(JewelryNBT.ingot(item));
if (JewelryNBT.gem(item) != null) gemColor[i - 10] = JewelrycraftUtil.getColor(JewelryNBT.gem(item));
}
- if ((playerInfo.hasKey("ext10") || playerInfo.hasKey("ext11")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && (playerInfo.hasKey("ext10") || playerInfo.hasKey("ext11")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
GL11.glPushMatrix();
GL11.glColor4f(1, 1, 1, 1);
if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) {
@@ -127,7 +127,7 @@ public class PlayerRenderHandler { bracelet.doRender(event.entityPlayer, (float) ingotColor[0], (float) gemColor[0], (float) ingotColor[1], (float) gemColor[1], 0.0F);
GL11.glPopMatrix();
}
- if ((playerInfo.hasKey("ext12") || playerInfo.hasKey("ext13")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && (playerInfo.hasKey("ext12") || playerInfo.hasKey("ext13")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
GL11.glPushMatrix();
GL11.glColor4f(1, 1, 1, 1);
if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) {
@@ -149,7 +149,7 @@ public class PlayerRenderHandler { }
no = 0;
for (int i = 14; i <= 16; i++)
- if (playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
gem = -1;
ingot = -1;
NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i);
@@ -175,7 +175,7 @@ public class PlayerRenderHandler { GL11.glPopMatrix();
no++;
}
- if (playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
+ if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) {
gem = -1;
ingot = -1;
NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext17");
|
