From a398fb9631fb44caaca237cf489bc47f0dd15037 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Mon, 24 Sep 2012 23:53:22 -0400 Subject: [PATCH] v4.0.9 Release Bugfixes! *Added range packets for machines. *Fixed machines changing facing after you go more than 40 blocks away. *Updated IC2 hooks to run on startup. *Fixed gold dust turning into iron ingots in Platinum Compressor when IC2 is installed. *Fixed iron dust turning into gold ingots in Platinum Compressor when IC2 is installed. *Fixed machine blockNames. *Added smelting for Platinum Dust to turn into Platinum Ingots. *Added macerator recipe for Platinum ore to turn into 2 Platinum Dust. *Fixed block creative tab. *Bumped version to 4.0.9. --- bin/minecraft/obsidian/terrain.png | Bin 14622 -> 15188 bytes .../uberkat/obsidian/common/BlockMachine.java | 1 + .../obsidian/common/ObsidianHooks.java | 7 +++-- .../obsidian/common/ObsidianIngots.java | 21 +++++++------ .../obsidian/common/PacketHandler.java | 29 ++++++++++++++++++ .../obsidian/common/TileEntityMachine.java | 17 ++++++++++ 6 files changed, 63 insertions(+), 12 deletions(-) diff --git a/bin/minecraft/obsidian/terrain.png b/bin/minecraft/obsidian/terrain.png index 1b293d139ffc9c0a5627b627ece21816f83299f0..01823951afe00e87e6ba6551b3218e87ada6efac 100755 GIT binary patch literal 15188 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 Qw=Ce|IqS29XI!5AFY^$ZhyVZp delta 13629 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 diff --git a/src/common/net/uberkat/obsidian/common/BlockMachine.java b/src/common/net/uberkat/obsidian/common/BlockMachine.java index 6006d4a10..1c0adc702 100644 --- a/src/common/net/uberkat/obsidian/common/BlockMachine.java +++ b/src/common/net/uberkat/obsidian/common/BlockMachine.java @@ -17,6 +17,7 @@ public class BlockMachine extends BlockContainer super(id, Material.iron); setHardness(3.5F); setResistance(8F); + setCreativeTab(CreativeTabs.tabDeco); } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving entityliving) diff --git a/src/common/net/uberkat/obsidian/common/ObsidianHooks.java b/src/common/net/uberkat/obsidian/common/ObsidianHooks.java index 01cd6b1b9..c6f1bda52 100644 --- a/src/common/net/uberkat/obsidian/common/ObsidianHooks.java +++ b/src/common/net/uberkat/obsidian/common/ObsidianHooks.java @@ -1,5 +1,6 @@ package net.uberkat.obsidian.common; +import ic2.api.Ic2Recipes; import net.minecraft.src.*; /** @@ -22,8 +23,10 @@ public class ObsidianHooks if(IC2Loaded) { - IC2IronDust = getIC2Item("goldDust", false); - IC2GoldDust = getIC2Item("ironDust", false); + IC2IronDust = getIC2Item("ironDust", false); + IC2GoldDust = getIC2Item("goldDust", false); + + Ic2Recipes.addMaceratorRecipe(new ItemStack(ObsidianIngots.MultiBlock, 1, 0), new ItemStack(ObsidianIngots.PlatinumDust, 2)); } } diff --git a/src/common/net/uberkat/obsidian/common/ObsidianIngots.java b/src/common/net/uberkat/obsidian/common/ObsidianIngots.java index e3a7c0da0..de487ee27 100644 --- a/src/common/net/uberkat/obsidian/common/ObsidianIngots.java +++ b/src/common/net/uberkat/obsidian/common/ObsidianIngots.java @@ -35,7 +35,7 @@ import cpw.mods.fml.common.registry.TickRegistry; * @author AidanBrady * */ -@Mod(modid = "ObsidianIngots", name = "Obsidian Ingots", version = "4.0.8") +@Mod(modid = "ObsidianIngots", name = "Obsidian Ingots", version = "4.0.9") @NetworkMod(channels = { "ObsidianIngots" }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class) public class ObsidianIngots { @@ -57,7 +57,7 @@ public class ObsidianIngots public static Configuration configuration; /** Obsidian Ingots version number */ - public static Version versionNumber = new Version(4, 0, 8); + public static Version versionNumber = new Version(4, 0, 9); /** The latest version number which is received from the Obsidian Ingots server */ public static String latestVersionNumber; @@ -486,6 +486,7 @@ public class ObsidianIngots //Smelting GameRegistry.addSmelting(new ItemStack(MultiBlock, 1, 0).itemID, new ItemStack(PlatinumIngot), 1.0F); + GameRegistry.addSmelting(PlatinumDust.shiftedIndex, new ItemStack(PlatinumIngot, 1), 1.0F); } /** @@ -800,12 +801,12 @@ public class ObsidianIngots ObsidianTNT = new BlockObsidianTNT(obsidianTNTID).setBlockName("ObsidianTNT").setCreativeTab(CreativeTabs.tabBlock); if(extrasEnabled == true) { - TheoreticalElementizer = new BlockTheoreticalElementizer(elementizerID).setBlockName("TheoreticalElementizer").setCreativeTab(CreativeTabs.tabBlock); + TheoreticalElementizer = new BlockTheoreticalElementizer(elementizerID).setBlockName("TheoreticalElementizer"); } - EnrichmentChamber = new BlockEnrichmentChamber(enrichmentChamberID).setBlockName("EnrichmentChamberIdle").setCreativeTab(CreativeTabs.tabBlock); - PlatinumCompressor = new BlockPlatinumCompressor(platinumCompressorID).setBlockName("PlatinumCompressorIdle").setCreativeTab(CreativeTabs.tabBlock); - Combiner = new BlockCombiner(combinerID).setBlockName("CombinerIdle").setCreativeTab(CreativeTabs.tabBlock); - Crusher = new BlockCrusher(crusherID).setBlockName("CrusherIdle").setCreativeTab(CreativeTabs.tabBlock); + EnrichmentChamber = new BlockEnrichmentChamber(enrichmentChamberID).setBlockName("EnrichmentChamber"); + PlatinumCompressor = new BlockPlatinumCompressor(platinumCompressorID).setBlockName("PlatinumCompressor"); + Combiner = new BlockCombiner(combinerID).setBlockName("Combiner"); + Crusher = new BlockCrusher(crusherID).setBlockName("Crusher"); //Registrations GameRegistry.registerBlock(ObsidianTNT); @@ -872,7 +873,10 @@ public class ObsidianIngots @PostInit public void postInit(FMLPostInitializationEvent event) { + hooks = new ObsidianHooks(); + hooks.hook(); addIntegratedItems(); + System.out.println("[ObsidianIngots] Hooking complete."); } @PreInit @@ -893,9 +897,6 @@ public class ObsidianIngots proxy.loadTickHandler(); //Hook with mods Obsidian Ingots has implemented - hooks = new ObsidianHooks(); - hooks.hook(); - System.out.println("[ObsidianIngots] Hooking complete."); //Add all items addItems(); diff --git a/src/common/net/uberkat/obsidian/common/PacketHandler.java b/src/common/net/uberkat/obsidian/common/PacketHandler.java index cfd8d3f9b..97355f996 100644 --- a/src/common/net/uberkat/obsidian/common/PacketHandler.java +++ b/src/common/net/uberkat/obsidian/common/PacketHandler.java @@ -133,6 +133,35 @@ public class PacketHandler implements IPacketHandler } } + public static void sendMachinePacketWithRange(TileEntityMachine sender, double distance) + { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + DataOutputStream output = new DataOutputStream(bytes); + + try { + output.writeInt(2); + output.writeInt(sender.xCoord); + output.writeInt(sender.yCoord); + output.writeInt(sender.zCoord); + output.writeInt(sender.facing); + output.writeByte(sender.isActive ? 1 : 0); + output.writeInt(sender.machineBurnTime); + output.writeInt(sender.machineCookTime); + output.writeInt(sender.currentItemBurnTime); + } catch (IOException e) + { + System.err.println("[ObsidianIngots] Error while writing tile entity packet."); + e.printStackTrace(); + } + + Packet250CustomPayload packet = new Packet250CustomPayload(); + packet.channel = "ObsidianIngots"; + packet.data = bytes.toByteArray(); + packet.length = packet.data.length; + + PacketDispatcher.sendPacketToAllAround(sender.xCoord, sender.yCoord, sender.zCoord, distance, sender.worldObj.provider.worldType, packet); + } + /** * Sends the server the defined packet data int. * @param type - packet type diff --git a/src/common/net/uberkat/obsidian/common/TileEntityMachine.java b/src/common/net/uberkat/obsidian/common/TileEntityMachine.java index 8bf76bb96..ffb59f8b9 100644 --- a/src/common/net/uberkat/obsidian/common/TileEntityMachine.java +++ b/src/common/net/uberkat/obsidian/common/TileEntityMachine.java @@ -51,6 +51,9 @@ public abstract class TileEntityMachine extends TileEntity implements IInventory /** An integer that constantly cycles from 0 to 15. Used for animated textures. */ public int textureIndex = 0; + /** Amount of ticks passed since Tile Entity init. Used for update packets. */ + public int packetTick = 0; + /** * Instance of TileEntityMachine. Extend this for a head start on machine making. * @param time - time it takes to smelt an item @@ -94,6 +97,8 @@ public abstract class TileEntityMachine extends TileEntity implements IInventory } updateTick(); + updatePacketTick(); + if(machineCookTime == 0 || machineCookTime == maxBurnTime && currentItemBurnTime != 0) { currentItemBurnTime = 0; @@ -118,6 +123,18 @@ public abstract class TileEntityMachine extends TileEntity implements IInventory } } + public void updatePacketTick() + { + if(packetTick % 100 == 0) + { + packetTick++; + PacketHandler.sendMachinePacketWithRange(this, 50); + } + else { + packetTick++; + } + } + /** * Check to see when to run updateTexture(). Called every tick, but functions every 3. */