OSDN Git Service

修正・変更
authorponkotate <ponkotate@users.sourceforge.jp>
Sun, 31 Mar 2013 05:01:09 +0000 (14:01 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Sun, 31 Mar 2013 05:01:09 +0000 (14:01 +0900)
・バグ潰し

common/pcc/chemicraft/base/ChemiCraftRegisterItem.java
common/pcc/chemicraft/core/ChemiCraftCore.java
common/pcc/chemicraft/core/item/ItemAtoms.java
common/pcc/chemicraft/util/AtomInfo.java
common/pcc/chemicraft/util/FormulaTestTest.java [new file with mode: 0644]

index 92eb001..2982592 100644 (file)
@@ -17,7 +17,7 @@ public class ChemiCraftRegisterItem extends ChemiCraftBaseRegister {
                /*
                 * 代入
                 */
-               this.mod.itemAtomGrenade = new ItemAtomsGrenade(this.mod.atomGrenadeID).setItemName("grenade").setIconIndex(0);
+               this.mod.itemAtomGrenade = new ItemAtomsGrenade(this.mod.atomGrenadeID).setItemName("grenade").setIconIndex(1);
                this.mod.itemDust = new ItemDust(this.mod.dustID).setItemName("dust").setIconIndex(12);
                this.mod.itemRadiationGun = new ItemRadiationGun(this.mod.radiationGunID).setIconIndex(4).setItemName("RadiationGun");
                this.mod.itemRadiationBallet = new ItemRadiationBallet(this.mod.radiationBalletID).setIconIndex(5).setItemName("RadiationBallet");
index 1698c16..f4ae874 100644 (file)
@@ -5,21 +5,21 @@ import java.util.Iterator;
 import java.util.List;
 
 import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
 import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
+import net.minecraft.util.EntityDamageSource;
 import net.minecraftforge.common.Configuration;
 import net.minecraftforge.common.Property;
 import pcc.chemicraft.ChemiCraft;
 import pcc.chemicraft.ChemiCraftConfiguration;
 import pcc.chemicraft.ChemiCraftRegister;
-import pcc.chemicraft.core.compounds.CompoundDebug;
 import pcc.chemicraft.core.creativetab.CreativeTabChemiCraft;
 import pcc.chemicraft.core.debug.CommandDeleteItem;
 import pcc.chemicraft.core.debug.CommandGenDebugRoom;
 import pcc.chemicraft.core.debug.CommandSetTile;
-import pcc.chemicraft.core.item.ItemChemiCell;
 import pcc.chemicraft.core.system.CommonProxy;
 import pcc.chemicraft.core.system.PacketHandler;
 import cpw.mods.fml.common.Loader;
@@ -288,6 +288,17 @@ public class ChemiCraftCore extends ChemiCraft{
 
 
 
+       public static EntityDamageSource getRadiationDamageSource(Entity par1Entity){
+               return new EntityDamageSource("radiation", par1Entity){
+                       @Override
+                       public String getDeathMessage(EntityPlayer par1EntityPlayer){
+                               return par1EntityPlayer.username + " is dead by radiation.";
+                               }
+                       };
+       }
+
+
+
        private void debug(final FMLInitializationEvent event) {
                this.proxy.registerTickHandler();
        }
index afc31d6..48e4714 100644 (file)
@@ -1,6 +1,7 @@
 package pcc.chemicraft.core.item;
 
 import java.util.List;
+import java.util.Random;
 
 import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.entity.Entity;
@@ -8,6 +9,8 @@ import net.minecraft.entity.EntityLiving;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EntityDamageSource;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
 import pcc.chemicraft.core.ChemiCraftCore;
@@ -30,13 +33,14 @@ public class ItemAtoms extends Item {
        @Override
        public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
        {
-               if (AtomInfo.isRI(par1ItemStack.getItemDamage())){
-                       if (par3Entity instanceof EntityLiving){
-                               EntityLiving entity = (EntityLiving)par3Entity;
-                               entity.addPotionEffect(new PotionEffect(2, 1, 1));
-                               entity.addPotionEffect(new PotionEffect(4, 1, 1));
-                               entity.addPotionEffect(new PotionEffect(18, 1, 1));
-                               entity.addPotionEffect(new PotionEffect(19, 1, 1));
+               if (AtomInfo.isRI(par1ItemStack.getItemDamage() + 1)){
+                       Random random = new Random();
+                       if (random.nextInt(100) == 0){
+                               if (par3Entity instanceof EntityLiving){
+                                       EntityLiving entity = (EntityLiving)par3Entity;
+                                       entity.attackEntityFrom(ChemiCraftCore.getRadiationDamageSource(entity), 1);
+                               }
+                               par1ItemStack.setItemDamage(AtomInfo.collapseUraniumSeries(par1ItemStack.getItemDamage() + 1) - 1);
                        }
                }
        }
index f6ffacb..b6ab74e 100644 (file)
@@ -1,5 +1,6 @@
 package pcc.chemicraft.util;
 
+import pcc.chemicraft.util.Auxiliary.Probability;
 import net.minecraft.block.Block;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.world.World;
@@ -54,11 +55,6 @@ public final class AtomInfo {
        };
 
 
-       public static final Integer[] RI = new Integer[]{
-               92
-       };
-
-
        /**
         * X, Y, Z座標
         */
@@ -194,12 +190,87 @@ public final class AtomInfo {
 
 
        public static boolean isRI(int par1){
-               for (int var2:RI){
-                       if (par1 == var2){
-                               return true;
-                       }
+               return collapseUraniumSeries(par1) != -1;
+       }
+
+
+
+       public static int collapseUraniumSeries(int par1){
+               int var1 = 0;
+               Probability var2 = new Probability();
+               switch (par1){
+                       case 92:
+                               var1 = 90;
+                               break;
+                       case 91:
+                               var1 = 92;
+                               break;
+                       case 90:
+                               switch (var2.getProbability(1, 1)){
+                                       case 0:
+                                               var1 = 91;
+                                               break;
+                                       case 1:
+                                               var1 = 88;
+                                               break;
+                               }
+                               break;
+                       case 88:
+                               var1 = 86;
+                               break;
+                       case 86:
+                               var1 = 84;
+                               break;
+                       case 85:
+                               switch (var2.getProbability(1, 1)){
+                                       case 0:
+                                               var1 = 86;
+                                               break;
+                                       case 1:
+                                               var1 = 83;
+                                               break;
+                               }
+                               break;
+                       case 84:
+                               switch (var2.getProbability(1, 1)){
+                                       case 0:
+                                               var1 = 85;
+                                               break;
+                                       case 1:
+                                               var1 = 82;
+                                               break;
+                               }
+                               break;
+                       case 83:
+                               switch (var2.getProbability(1, 1)){
+                                       case 0:
+                                               var1 = 84;
+                                               break;
+                                       case 1:
+                                               var1 = 81;
+                                               break;
+                               }
+                               break;
+                       case 82:
+                               switch (var2.getProbability(1, 1)){
+                                       case 0:
+                                               var1 = 83;
+                                               break;
+                                       case 1:
+                                               var1 = 80;
+                                               break;
+                               }
+                               break;
+                       case 81:
+                               var1 = 82;
+                               break;
+                       case 80:
+                               var1 = 81;
+                               break;
+                       default:
+                               return -1;
                }
-               return false;
+               return var1;
        }
 
 
diff --git a/common/pcc/chemicraft/util/FormulaTestTest.java b/common/pcc/chemicraft/util/FormulaTestTest.java
new file mode 100644 (file)
index 0000000..3e6f97f
--- /dev/null
@@ -0,0 +1,16 @@
+package pcc.chemicraft.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class FormulaTestTest
+{
+
+       @Test
+       public void test()
+       {
+               fail("まだ実装されていません");
+       }
+
+}