From 46d95ca3622b4c56f515a392594c7a27fc047d38 Mon Sep 17 00:00:00 2001 From: pahimar Date: Wed, 19 Dec 2012 16:56:49 -0500 Subject: [PATCH] Some tweaks, some fixes, some removals of redundancies --- .../handlers/WorldTransmutationHandler.java | 8 ++- .../com/pahimar/ee3/item/ItemMiniumStone.java | 4 +- .../ee3/item/ItemPhilosopherStone.java | 22 ++++++-- ee3_common/com/pahimar/ee3/lib/PacketIds.java | 18 ------- ee3_common/com/pahimar/ee3/lib/Sounds.java | 2 + .../ee3/network/PacketTypeHandler.java | 4 +- .../ee3/network/packet/PacketResultEvent.java | 52 +++++++++++++++++++ 7 files changed, 84 insertions(+), 26 deletions(-) delete mode 100644 ee3_common/com/pahimar/ee3/lib/PacketIds.java create mode 100644 ee3_common/com/pahimar/ee3/network/packet/PacketResultEvent.java diff --git a/ee3_common/com/pahimar/ee3/core/handlers/WorldTransmutationHandler.java b/ee3_common/com/pahimar/ee3/core/handlers/WorldTransmutationHandler.java index facb4a47..5fff750b 100644 --- a/ee3_common/com/pahimar/ee3/core/handlers/WorldTransmutationHandler.java +++ b/ee3_common/com/pahimar/ee3/core/handlers/WorldTransmutationHandler.java @@ -16,9 +16,11 @@ import com.pahimar.ee3.lib.ActionTypes; import com.pahimar.ee3.lib.Particles; import com.pahimar.ee3.lib.Sounds; import com.pahimar.ee3.network.PacketTypeHandler; +import com.pahimar.ee3.network.packet.PacketResultEvent; import com.pahimar.ee3.network.packet.PacketSpawnParticle; import cpw.mods.fml.common.network.PacketDispatcher; +import cpw.mods.fml.common.network.Player; public class WorldTransmutationHandler { @@ -97,7 +99,11 @@ public class WorldTransmutationHandler { hasSoundPlayed = true; thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.TRANSMUTE, 0.5F, 1.0F); } - + + if ((x == 0) && (y == 0) && (z == 0)) { + PacketDispatcher.sendPacketToPlayer(PacketTypeHandler.populatePacket(new PacketResultEvent(true, false)), (Player)thePlayer); + } + PacketDispatcher.sendPacketToAllAround(originX + x, originY + y, originZ + z, 64D, thePlayer.worldObj.provider.dimensionId, PacketTypeHandler.populatePacket(new PacketSpawnParticle(Particles.LARGE_SMOKE, originX + x + (xShift * xSign), originY + y + (yShift * ySign), originZ + z + (zShift * zSign), 0D * xSign, 0.05D * ySign, 0D * zSign))); PacketDispatcher.sendPacketToAllAround(originX + x, originY + y, originZ + z, 64D, thePlayer.worldObj.provider.dimensionId, PacketTypeHandler.populatePacket(new PacketSpawnParticle(Particles.LARGE_EXPLODE, originX + x + (xShift * xSign), originY + y + (yShift * ySign), originZ + z + (zShift * zSign), 0D * xSign, 0.15D * ySign, 0D * zSign))); } diff --git a/ee3_common/com/pahimar/ee3/item/ItemMiniumStone.java b/ee3_common/com/pahimar/ee3/item/ItemMiniumStone.java index 2ea752f1..defabdd5 100644 --- a/ee3_common/com/pahimar/ee3/item/ItemMiniumStone.java +++ b/ee3_common/com/pahimar/ee3/item/ItemMiniumStone.java @@ -100,7 +100,9 @@ public class ItemMiniumStone extends ItemEE openPortableCrafting(thePlayer); } else if (keyBinding.equals(ConfigurationSettings.KEYBINDING_TOGGLE)) { - TransmutationHelper.targetBlockStack = TransmutationHelper.getNextBlock(TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage(), true); + if (TransmutationHelper.targetBlockStack != null) { + TransmutationHelper.targetBlockStack = TransmutationHelper.getNextBlock(TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage(), true); + } } } diff --git a/ee3_common/com/pahimar/ee3/item/ItemPhilosopherStone.java b/ee3_common/com/pahimar/ee3/item/ItemPhilosopherStone.java index 06a0e543..e3928561 100644 --- a/ee3_common/com/pahimar/ee3/item/ItemPhilosopherStone.java +++ b/ee3_common/com/pahimar/ee3/item/ItemPhilosopherStone.java @@ -179,16 +179,28 @@ public class ItemPhilosopherStone extends ItemEE openPortableCrafting(thePlayer); } else if (keyBinding.equals(ConfigurationSettings.KEYBINDING_TOGGLE)) { - TransmutationHelper.targetBlockStack = TransmutationHelper.getNextBlock(TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage(), true); + if (TransmutationHelper.targetBlockStack != null) { + TransmutationHelper.targetBlockStack = TransmutationHelper.getNextBlock(TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage(), true); + } } else if (keyBinding.equals(ConfigurationSettings.KEYBINDING_CHARGE)) { if (!thePlayer.isSneaking()) { - increaseCharge(itemStack); - thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_UP, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); + if (getCharge(itemStack) == maxChargeLevel) { + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_FAIL, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); + } + else { + increaseCharge(itemStack); + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_UP, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); + } } else { - decreaseCharge(itemStack); - thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_DOWN, 0.5F, 1.0F - (0.5F - (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel)))); + if (getCharge(itemStack) == 0) { + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_FAIL, 0.5F, 0.5F + (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel))); + } + else { + decreaseCharge(itemStack); + thePlayer.worldObj.playSoundAtEntity(thePlayer, Sounds.CHARGE_DOWN, 0.5F, 1.0F - (0.5F - (0.5F * (getCharge(itemStack) * 1.0F / maxChargeLevel)))); + } } } diff --git a/ee3_common/com/pahimar/ee3/lib/PacketIds.java b/ee3_common/com/pahimar/ee3/lib/PacketIds.java deleted file mode 100644 index f70b0c91..00000000 --- a/ee3_common/com/pahimar/ee3/lib/PacketIds.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.pahimar.ee3.lib; - -/** - * PacketIds - * - * Library containing the various ids for different packets in the mod - * - * @author pahimar - * @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html) - * - */ -public class PacketIds { - - public static final int KEYBINDING_PRESSED = 0; - public static final int TILEENTITY_UPDATE = 1; - public static final int WORLD_TRANSMUTATION_EVENT = 2; - -} diff --git a/ee3_common/com/pahimar/ee3/lib/Sounds.java b/ee3_common/com/pahimar/ee3/lib/Sounds.java index a3c822d9..cb57ecba 100644 --- a/ee3_common/com/pahimar/ee3/lib/Sounds.java +++ b/ee3_common/com/pahimar/ee3/lib/Sounds.java @@ -44,5 +44,7 @@ public class Sounds { public static final String WALL = SOUND_PREFIX + "wall"; public static final String WATER_BALL = SOUND_PREFIX + "waterball"; public static final String WIND = SOUND_PREFIX + "wind"; + + public static final String CHARGE_FAIL = "mob.enderdragon.hit"; } \ No newline at end of file diff --git a/ee3_common/com/pahimar/ee3/network/PacketTypeHandler.java b/ee3_common/com/pahimar/ee3/network/PacketTypeHandler.java index 9ed9610d..f9ff9e49 100644 --- a/ee3_common/com/pahimar/ee3/network/PacketTypeHandler.java +++ b/ee3_common/com/pahimar/ee3/network/PacketTypeHandler.java @@ -10,6 +10,7 @@ import com.pahimar.ee3.lib.Reference; import com.pahimar.ee3.network.packet.PacketEE; import com.pahimar.ee3.network.packet.PacketKeyPressed; import com.pahimar.ee3.network.packet.PacketRequestEvent; +import com.pahimar.ee3.network.packet.PacketResultEvent; import com.pahimar.ee3.network.packet.PacketSpawnParticle; import com.pahimar.ee3.network.packet.PacketTileUpdate; @@ -27,7 +28,8 @@ public enum PacketTypeHandler { KEY(PacketKeyPressed.class), TILE(PacketTileUpdate.class), REQUEST_EVENT(PacketRequestEvent.class), - SPAWN_PARTICLE(PacketSpawnParticle.class); + SPAWN_PARTICLE(PacketSpawnParticle.class), + RESULT_EVENT(PacketResultEvent.class); private Class clazz; diff --git a/ee3_common/com/pahimar/ee3/network/packet/PacketResultEvent.java b/ee3_common/com/pahimar/ee3/network/packet/PacketResultEvent.java new file mode 100644 index 00000000..1545807e --- /dev/null +++ b/ee3_common/com/pahimar/ee3/network/packet/PacketResultEvent.java @@ -0,0 +1,52 @@ +package com.pahimar.ee3.network.packet; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; + +import com.pahimar.ee3.core.helper.TransmutationHelper; +import com.pahimar.ee3.network.PacketTypeHandler; + +import cpw.mods.fml.common.network.Player; + +public class PacketResultEvent extends PacketEE { + + public boolean shouldChangeNextBlock; + public boolean shouldDestroyCurrentlyHeldItem; + + public PacketResultEvent() { + + super(PacketTypeHandler.RESULT_EVENT, false); + } + + public PacketResultEvent(boolean shouldChangeNextBlock, boolean shouldDestroyCurrentlyHeldItem) { + + super(PacketTypeHandler.RESULT_EVENT, false); + this.shouldChangeNextBlock = shouldChangeNextBlock; + this.shouldDestroyCurrentlyHeldItem = shouldDestroyCurrentlyHeldItem; + } + + public void writeData(DataOutputStream data) throws IOException { + + data.writeBoolean(shouldChangeNextBlock); + data.writeBoolean(shouldDestroyCurrentlyHeldItem); + } + + public void readData(DataInputStream data) throws IOException { + + this.shouldChangeNextBlock = data.readBoolean(); + this.shouldDestroyCurrentlyHeldItem = data.readBoolean(); + } + + public void execute(INetworkManager manager, Player player) { + System.out.println(shouldChangeNextBlock); + if (shouldChangeNextBlock) { + System.out.format("previous %d:%d, current %d:%d, target %d:%d\n", TransmutationHelper.previousBlockStack.itemID, TransmutationHelper.previousBlockStack.getItemDamage(), TransmutationHelper.currentBlockStack.itemID, TransmutationHelper.currentBlockStack.getItemDamage(), TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage()); + TransmutationHelper.targetBlockStack = TransmutationHelper.getNextBlock(TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage(), true); + System.out.format("previous %d:%d, current %d:%d, target %d:%d\n", TransmutationHelper.previousBlockStack.itemID, TransmutationHelper.previousBlockStack.getItemDamage(), TransmutationHelper.currentBlockStack.itemID, TransmutationHelper.currentBlockStack.getItemDamage(), TransmutationHelper.targetBlockStack.itemID, TransmutationHelper.targetBlockStack.getItemDamage()); + } + } +}