From e487b5d18c213783e857ccaf2261bb3d21768ad6 Mon Sep 17 00:00:00 2001 From: ponkotate Date: Sun, 31 Mar 2013 11:07:25 +0900 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=AD=A3=E3=83=BB=E5=A4=89=E6=9B=B4=20?= =?utf8?q?=E3=83=BB=E6=89=8B=E6=A6=B4=E5=BC=BE=E3=81=AE=E4=BF=AE=E6=AD=A3?= =?utf8?q?=20=E3=83=BBFormula=E3=82=AF=E3=83=A9=E3=82=B9=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../base/ChemiCraftRegisterBaseRecipe.java | 3 +- .../chemicraft/base/entity/EntityAtomsGrenade.java | 6 +-- .../pcc/chemicraft/base/item/ItemAtomsGrenade.java | 3 +- .../core/ChemiCraftRegisterCoreRecipe.java | 26 +++++++---- .../ContainerChemicalCombinationTable.java | 16 ------- .../pcc/chemicraft/core/system/PacketHandler.java | 12 ++--- common/pcc/chemicraft/util/Formula.java | 52 +++++++++++----------- 7 files changed, 57 insertions(+), 61 deletions(-) diff --git a/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java b/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java index 51afe5f..87213d6 100644 --- a/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java +++ b/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java @@ -41,7 +41,8 @@ public class ChemiCraftRegisterBaseRecipe extends ChemiCraftBaseRegister { // 鉱石 this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(Block.oreCoal), new Formula("C")); this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(Item.coal), new Formula("C")); - this.mod.api.addChemicalCombinationRecipe(new ItemStack(Item.diamond), new Formula("C64Si16")); + this.mod.api.addChemicalCombinationRecipe(new ItemStack(Item.diamond), + new Formula("C64Si16")); this.mod.api.addReversibleOfPyrolysis(new ItemStack(Item.emerald), new Formula("Be3Al2Si6O18")); /* diff --git a/common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java b/common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java index 46853df..cf3749d 100644 --- a/common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java +++ b/common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java @@ -40,7 +40,7 @@ public class EntityAtomsGrenade extends EntityThrowable } if(isNuke){ - this.explodeSize = 20.0F; + this.explodeSize = 35.0F; } if (par1MovingObjectPosition.entityHit != null) { @@ -49,10 +49,10 @@ public class EntityAtomsGrenade extends EntityThrowable } if (!this.worldObj.isRemote && !isNuke) { - this.worldObj.createExplosion((Entity)null, this.posX, this.posY, this.posZ, explodeSize, onFire); + this.worldObj.newExplosion((Entity)null, this.posX, this.posY, this.posZ, explodeSize, onFire, true); this.isDead = true; }else if(!this.worldObj.isRemote && isNuke){ - this.worldObj.createExplosion((Entity)null, this.posX, this.posY, this.posZ, explodeSize, onFire); + this.worldObj.newExplosion((Entity)null, this.posX, this.posY, this.posZ, explodeSize, onFire, true); Iterator itr = this.worldObj.getEntitiesWithinAABB(EntityLiving.class, this.boundingBox.expand(30, 30, 30)).iterator(); while(itr.hasNext()){ EntityLiving entity = itr.next(); diff --git a/common/pcc/chemicraft/base/item/ItemAtomsGrenade.java b/common/pcc/chemicraft/base/item/ItemAtomsGrenade.java index cfca3b1..6a72e32 100644 --- a/common/pcc/chemicraft/base/item/ItemAtomsGrenade.java +++ b/common/pcc/chemicraft/base/item/ItemAtomsGrenade.java @@ -8,6 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; +import pcc.chemicraft.ChemiCraft; import pcc.chemicraft.base.entity.EntityAtomsGrenade; public class ItemAtomsGrenade extends Item { @@ -73,7 +74,7 @@ public class ItemAtomsGrenade extends Item { @Override public String getTextureFile(){ - return "/chemicraft/items/items.png"; + return ChemiCraft.ITEM_TEXTURE; } } diff --git a/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java b/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java index d19f7c1..55e040e 100644 --- a/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java +++ b/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java @@ -20,20 +20,20 @@ public class ChemiCraftRegisterCoreRecipe extends ChemiCraftCoreRegister { */ GameRegistry.addRecipe(new ItemStack(this.mod.blockPyrolysisTable), new Object[]{ - "XYX", "ZAZ", "ZZZ", - Character.valueOf('X'), new ItemStack(Item.ingotIron), - Character.valueOf('Y'), new ItemStack(Block.workbench), - Character.valueOf('Z'), new ItemStack(Block.stone), - Character.valueOf('A'), new ItemStack(Item.bucketLava), + "XXX", "ZAZ", "ZYZ", + Character.valueOf('X'), new ItemStack(Block.stone), + Character.valueOf('Y'), new ItemStack(Item.bucketLava), + Character.valueOf('Z'), new ItemStack(Item.ingotGold), + Character.valueOf('A'), new ItemStack(this.mod.blockElectrolysisTable), }); GameRegistry.addRecipe(new ItemStack(this.mod.blockElectrolysisTable), new Object[]{ - " Y ", "ZXZ", "XAX", + "XAX", "YZY", "ZZZ", Character.valueOf('X'), new ItemStack(Item.redstone), - Character.valueOf('Y'), new ItemStack(Item.redstone), - Character.valueOf('Z'), new ItemStack(this.mod.itemChemicalCells), - Character.valueOf('A'), new ItemStack(Block.blockGold), + Character.valueOf('Y'), new ItemStack(this.mod.itemChemicalCells), + Character.valueOf('Z'), new ItemStack(Item.ingotGold), + Character.valueOf('A'), new ItemStack(Block.workbench), }); GameRegistry.addRecipe(new ItemStack(this.mod.blockChemicalCombinationTable), @@ -65,6 +65,14 @@ public class ChemiCraftRegisterCoreRecipe extends ChemiCraftCoreRegister { Character.valueOf('A'), new ItemStack(this.mod.itemAtoms, 1, 0), }); + GameRegistry.addRecipe(new ItemStack(this.mod.itemChemicalCells, 1, 0), + new Object[]{ + " X ", "ZYZ", "ZYZ", + Character.valueOf('X'), new ItemStack(Item.redstone), + Character.valueOf('Y'), new ItemStack(Item.ingotGold), + Character.valueOf('Z'), new ItemStack(Item.ingotIron), + }); + /* * 素材制作代のレシピ */ diff --git a/common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java b/common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java index ac7912e..5e566ac 100644 --- a/common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java +++ b/common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java @@ -151,22 +151,6 @@ public class ContainerChemicalCombinationTable extends Container { public void onCraftGuiClosed(EntityPlayer par1EntityPlayer) { super.onCraftGuiClosed(par1EntityPlayer); - - if (!this.worldObj.isRemote) - { - for (int var2 = 0; var2 < 18; var2++){ - ItemStack var3 = null; - if (var2 < 15){ - var3 = this.invm.getStackInSlotOnClosing(var2); - } else if (var2 < 16) { - var3 = this.invr.getStackInSlotOnClosing(var2 - 15); - } - - if (var3 != null){ - par1EntityPlayer.dropPlayerItem(var3); - } - } - } } } diff --git a/common/pcc/chemicraft/core/system/PacketHandler.java b/common/pcc/chemicraft/core/system/PacketHandler.java index 3485915..2eb7796 100644 --- a/common/pcc/chemicraft/core/system/PacketHandler.java +++ b/common/pcc/chemicraft/core/system/PacketHandler.java @@ -33,7 +33,7 @@ public class PacketHandler implements IPacketHandler { @Override public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) { - if (packet.channel.equals("chemicraft")) { + if (packet.channel.equals("chemicraftcore")) { ByteArrayDataInput badi = ByteStreams.newDataInput(packet.data); World worldClient; @@ -94,7 +94,7 @@ public class PacketHandler implements IPacketHandler { // パケットの作成 Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.channel = "chemicraft"; + packet.channel = "chemicraftcore"; packet.data = var1.toByteArray(); packet.length = var1.size(); packet.isChunkDataPacket = true; @@ -125,7 +125,7 @@ public class PacketHandler implements IPacketHandler { // パケットの作成 Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.channel = "chemicraft"; + packet.channel = "chemicraftcore"; packet.data = var1.toByteArray(); packet.length = var1.size(); packet.isChunkDataPacket = true; @@ -156,7 +156,7 @@ public class PacketHandler implements IPacketHandler { // パケットの作成 Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.channel = "chemicraft"; + packet.channel = "chemicraftcore"; packet.data = var1.toByteArray(); packet.length = var1.size(); packet.isChunkDataPacket = true; @@ -187,7 +187,7 @@ public class PacketHandler implements IPacketHandler { // パケットの作成 Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.channel = "chemicraft"; + packet.channel = "chemicraftcore"; packet.data = var1.toByteArray(); packet.length = var1.size(); packet.isChunkDataPacket = true; @@ -220,7 +220,7 @@ public class PacketHandler implements IPacketHandler { // パケットの作成 Packet250CustomPayload packet = new Packet250CustomPayload(); - packet.channel = "chemicraft"; + packet.channel = "chemicraftcore"; packet.data = var1.toByteArray(); packet.length = var1.size(); packet.isChunkDataPacket = true; diff --git a/common/pcc/chemicraft/util/Formula.java b/common/pcc/chemicraft/util/Formula.java index c5a75cb..e145ecf 100644 --- a/common/pcc/chemicraft/util/Formula.java +++ b/common/pcc/chemicraft/util/Formula.java @@ -30,62 +30,64 @@ public class Formula { char[] var2 = par1.toCharArray(); String var3 = null; - int var4 = 1; - Formula var5 = null; + int var4 = 0; + int var5 = 1; + Formula var6 = null; for (int i = 0; i < var2.length; i++) { if (Character.isLetter(var2[i])){ if (Character.isUpperCase(var2[i])){ + if (var4 < 0){ + var4 = 1; + } if (var3 != null) { - this.setAtom(var3, var4); - } else if (var5 != null) { - this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4); - var5 = null; + this.setAtom(var3, var4 * var5); + } else if (var6 != null) { + this.setAtoms(var6.getAtoms(), var6.getAmonts(), var4 * var5); + var6 = null; } var3 = Character.toString(var2[i]); } else { var3 = var3.concat(Character.toString(var2[i])); } + var4 = 0; } else if (Character.isDigit(var2[i])) { - if (var3 != null) - { - this.setAtom(var3, var4 * Integer.valueOf(Character.toString(var2[i]))); - } else if (var5 != null) { - this.setAtoms(var5.getAtoms(), var5.getAmonts(), Integer.valueOf(Character.toString(var2[i]))); - var5 = null; + if (var3 != null || var6 != null) { + var4 = var4 * 10 + Integer.valueOf(Character.toString(var2[i])); } else { - var4 = Integer.valueOf(Character.toString(var2[i])); + var5 = Integer.valueOf(Character.toString(var2[i])); } - var3 = null; } else if (var2[i] == '・') { if (var3 != null) { - this.setAtom(var3, var4); - } else if (var5 != null) { - this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4); + this.setAtom(var3, var4 * var5); + } else if (var6 != null) { + this.setAtoms(var6.getAtoms(), var6.getAmonts(), var4 * var5); } var3 = null; - var4 = 1; - var5 = null; + var4 = 0; + var5 = 1; + var6 = null; } else if (var2[i] == '(') { if (var3 != null) { - this.setAtom(var3, var4); + this.setAtom(var3, var4 * var5); var3 = null; + var4 = 1; } - int var6 = par1.indexOf(')'); - String var7 = par1.substring(i + 1, var6); - var5 = new Formula(var7); - i = var6; + int var7 = par1.indexOf(')'); + String var8 = par1.substring(i + 1, var7); + var6 = new Formula(var8); + i = var7; } else { throw new IllegalArgumentException(); } } if (var3 != null) { - this.setAtom(var3, var4); + this.setAtom(var3, var4 * var5); } } -- 2.11.0