OSDN Git Service

修正・変更
authorponkotate <ponkotate@users.sourceforge.jp>
Sun, 31 Mar 2013 02:07:25 +0000 (11:07 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Sun, 31 Mar 2013 02:07:25 +0000 (11:07 +0900)
・手榴弾の修正
・Formulaクラス修正

common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java
common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java
common/pcc/chemicraft/base/item/ItemAtomsGrenade.java
common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java
common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java
common/pcc/chemicraft/core/system/PacketHandler.java
common/pcc/chemicraft/util/Formula.java

index 51afe5f..87213d6 100644 (file)
@@ -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"));
 
                /*
index 46853df..cf3749d 100644 (file)
@@ -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<EntityLiving> itr = this.worldObj.getEntitiesWithinAABB(EntityLiving.class, this.boundingBox.expand(30, 30, 30)).iterator();
                        while(itr.hasNext()){
                                EntityLiving entity = itr.next();
index cfca3b1..6a72e32 100644 (file)
@@ -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;
        }
 
 }
index d19f7c1..55e040e 100644 (file)
@@ -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),
+               });
+
                /*
                 * 素材制作代のレシピ
                 */
index ac7912e..5e566ac 100644 (file)
@@ -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);
-                               }
-                       }
-               }
        }
 
 }
index 3485915..2eb7796 100644 (file)
@@ -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;
index c5a75cb..e145ecf 100644 (file)
@@ -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);
                }
        }