/*
* 代入
*/
- 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");
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;
+ 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();
}
package pcc.chemicraft.core.item;
import java.util.List;
+import java.util.Random;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
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;
@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);
}
}
}
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;
};
- public static final Integer[] RI = new Integer[]{
- 92
- };
-
-
/**
* X, Y, Z座標
*/
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;
}
--- /dev/null
+package pcc.chemicraft.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class FormulaTestTest
+{
+
+ @Test
+ public void test()
+ {
+ fail("まだ実装されていません");
+ }
+
+}