and then the rest

This commit is contained in:
Bob 2021-07-18 21:48:47 +02:00
parent f98b0572b2
commit de904dc381
38 changed files with 612 additions and 441 deletions

View File

@ -933,6 +933,7 @@ public class ModBlocks {
public static final int guiID_fritz = 122; public static final int guiID_fritz = 122;
public static Block rbmk_rod; public static Block rbmk_rod;
public static Block rbmk_rod_reasim;
public static Block rbmk_control; public static Block rbmk_control;
public static Block rbmk_control_auto; public static Block rbmk_control_auto;
public static Block rbmk_blank; public static Block rbmk_blank;
@ -1747,6 +1748,7 @@ public class ModBlocks {
turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
rbmk_rod = new RBMKRod().setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); rbmk_rod = new RBMKRod().setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element");
rbmk_rod_reasim = new RBMKRodReaSim().setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim");
rbmk_control = new RBMKControl().setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control"); rbmk_control = new RBMKControl().setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control");
rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto"); rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto");
rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank"); rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank");
@ -2509,6 +2511,7 @@ public class ModBlocks {
GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName()); GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName());
GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName());
GameRegistry.registerBlock(rbmk_rod_reasim, rbmk_rod_reasim.getUnlocalizedName());
GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName());
GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName());
GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName());

View File

@ -0,0 +1,36 @@
package com.hbm.blocks.machine.rbmk;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.BossSpawnHandler;
import com.hbm.tileentity.TileEntityProxyInventory;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRodReaSim;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class RBMKRodReaSim extends RBMKBase {
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= this.offset)
return new TileEntityRBMKRodReaSim();
if(hasExtra(meta))
return new TileEntityProxyInventory();
return null;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
BossSpawnHandler.markFBI(player);
return openInv(world, x, y, z, player, ModBlocks.guiID_rbmk_rod);
}
@Override
public int getRenderType(){
return this.renderIDRods;
}
}

View File

@ -161,6 +161,7 @@ public class RodRecipes {
RecipesCommon.addRBMKRod(ModItems.billet_uranium, ModItems.rbmk_fuel_ueu); RecipesCommon.addRBMKRod(ModItems.billet_uranium, ModItems.rbmk_fuel_ueu);
RecipesCommon.addRBMKRod(ModItems.billet_uranium_fuel, ModItems.rbmk_fuel_meu); RecipesCommon.addRBMKRod(ModItems.billet_uranium_fuel, ModItems.rbmk_fuel_meu);
RecipesCommon.addRBMKRod(ModItems.billet_thorium_fuel, ModItems.rbmk_fuel_thmeu); RecipesCommon.addRBMKRod(ModItems.billet_thorium_fuel, ModItems.rbmk_fuel_thmeu);
RecipesCommon.addRBMKRod(ModItems.billet_mox_fuel, ModItems.rbmk_fuel_mox);
RecipesCommon.addRBMKRod(ModItems.billet_plutonium_fuel, ModItems.rbmk_fuel_lep); RecipesCommon.addRBMKRod(ModItems.billet_plutonium_fuel, ModItems.rbmk_fuel_lep);
RecipesCommon.addRBMKRod(ModItems.billet_pu_mix, ModItems.rbmk_fuel_mep); RecipesCommon.addRBMKRod(ModItems.billet_pu_mix, ModItems.rbmk_fuel_mep);
RecipesCommon.addRBMKRod(ModItems.billet_pu239, ModItems.rbmk_fuel_hep239); RecipesCommon.addRBMKRod(ModItems.billet_pu239, ModItems.rbmk_fuel_hep239);

View File

@ -122,6 +122,7 @@ public class ToolRecipes {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotAluminum", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotAluminum", 'I', "ingotIron" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotLead", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotLead", 'I', "ingotIron" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" }));
GameRegistry.addRecipe(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ModItems.ingot_advanced_alloy, 'C', ModItems.cinnebar, 'X', Items.compass });
//Bobmazon //Bobmazon
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string });

View File

@ -3,7 +3,9 @@ package com.hbm.entity.particle;
import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeGeneric;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityOrangeFX extends EntityModFX { public class EntityOrangeFX extends EntityModFX {
@ -75,10 +77,19 @@ public class EntityOrangeFX extends EntityModFX {
if(worldObj.getBlock((int) posX, (int) posY, (int) posZ).getMaterial() != Material.air) { if(worldObj.getBlock((int) posX, (int) posY, (int) posZ).getMaterial() != Material.air) {
this.setDead(); this.setDead();
for(int a = -1; a < 2; a++) for(int a = -1; a < 2; a++) {
for(int b = -1; b < 2; b++) for(int b = -1; b < 2; b++) {
for(int c = -1; c < 2; c++) for(int c = -1; c < 2; c++) {
ExplosionNukeGeneric.solinium(worldObj, (int) posX + a, (int) posY + b, (int) posZ + c);
Block bl = worldObj.getBlock((int) posX + a, (int) posY + b, (int) posZ + c);
if(bl == Blocks.grass) {
worldObj.setBlock((int) posX + a, (int) posY + b, (int) posZ + c, Blocks.dirt, 1, 3);
} else {
ExplosionNukeGeneric.solinium(worldObj, (int) posX + a, (int) posY + b, (int) posZ + c);
}
}
}
}
} }
} }
} }

View File

@ -1,10 +1,12 @@
package com.hbm.extprop; package com.hbm.extprop;
import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.handler.HbmKeybinds.EnumKeybind;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.IExtendedEntityProperties; import net.minecraftforge.common.IExtendedEntityProperties;
@ -48,9 +50,19 @@ public class HbmPlayerProps implements IExtendedEntityProperties {
if(key == EnumKeybind.TOGGLE_JETPACK) { if(key == EnumKeybind.TOGGLE_JETPACK) {
this.enableBackpack = !this.enableBackpack; this.enableBackpack = !this.enableBackpack;
if(this.enableBackpack)
MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Jetpack ON");
else
MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Jetpack OFF");
} }
if(key == EnumKeybind.TOGGLE_HEAD) { if(key == EnumKeybind.TOGGLE_HEAD) {
this.enableHUD = !this.enableHUD; this.enableHUD = !this.enableHUD;
if(this.enableHUD)
MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "HUD ON");
else
MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "HUD OFF");
} }
} }

View File

@ -1117,6 +1117,7 @@ public class ModItems {
public static Item survey_scanner; public static Item survey_scanner;
public static Item mirror_tool; public static Item mirror_tool;
public static Item rbmk_tool; public static Item rbmk_tool;
public static Item coltan_tool;
public static Item template_folder; public static Item template_folder;
public static Item journal_pip; public static Item journal_pip;
@ -1744,6 +1745,7 @@ public class ModItems {
public static Item battery_spark_cell_2500; public static Item battery_spark_cell_2500;
public static Item battery_spark_cell_10000; public static Item battery_spark_cell_10000;
public static Item battery_spark_cell_power; public static Item battery_spark_cell_power;
public static Item cube_power;
public static Item battery_su; public static Item battery_su;
public static Item battery_su_l; public static Item battery_su_l;
@ -4228,6 +4230,7 @@ public class ModItems {
battery_spark_cell_2500 = new ItemBattery(100000000L * 2500L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); battery_spark_cell_2500 = new ItemBattery(100000000L * 2500L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500");
battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000");
battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power");
cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power");
battery_potato = new ItemBattery(100, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potato = new ItemBattery(100, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato");
battery_potatos = new ItemPotatos(5000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); battery_potatos = new ItemPotatos(5000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos");
@ -4399,6 +4402,7 @@ public class ModItems {
survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner"); survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner");
mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool"); mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool");
rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool"); rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool");
coltan_tool = new ItemColtanCompass().setUnlocalizedName("coltan_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coltass");
key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key"); key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key");
key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red"); key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red");
@ -5920,6 +5924,7 @@ public class ModItems {
GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName()); GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName());
GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName()); GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName());
GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName()); GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName());
GameRegistry.registerItem(cube_power, cube_power.getUnlocalizedName());
GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName());
GameRegistry.registerItem(battery_su, battery_su.getUnlocalizedName()); GameRegistry.registerItem(battery_su, battery_su.getUnlocalizedName());
GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName()); GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName());
@ -6356,6 +6361,7 @@ public class ModItems {
GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName()); GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName());
GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName()); GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName());
GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName());
GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName());
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName()); GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName());
GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName());

View File

@ -1,5 +1,6 @@
package com.hbm.items.armor; package com.hbm.items.armor;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.render.model.ModelArmorWings; import com.hbm.render.model.ModelArmorWings;
@ -35,6 +36,9 @@ public class WingsMurk extends ItemArmor {
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
if(player.onGround)
return;
if(player.fallDistance > 0) if(player.fallDistance > 0)
player.fallDistance = 0; player.fallDistance = 0;
@ -45,21 +49,59 @@ public class WingsMurk extends ItemArmor {
if(player.isSneaking()) { if(player.isSneaking()) {
if(player.motionY < -0.08) { if(player.motionY < -0.08) {
double mo = player.motionY * -0.2;
player.motionY += mo;
Vec3 vec = player.getLookVec();
vec.xCoord *= mo;
vec.yCoord *= mo;
vec.zCoord *= mo;
player.motionX += vec.xCoord; double mo = player.motionY * -0.2;
player.motionY += vec.yCoord; player.motionY += mo;
player.motionZ += vec.zCoord;
} Vec3 vec = player.getLookVec();
vec.xCoord *= mo;
vec.yCoord *= mo;
vec.zCoord *= mo;
player.motionX += vec.xCoord;
player.motionY += vec.yCoord;
player.motionZ += vec.zCoord;
} }
}
}
HbmPlayerProps props = HbmPlayerProps.getData(player);
if(this == ModItems.wings_murk) {
if(props.isJetpackActive()) {
if(player.motionY < 0.6D)
player.motionY += 0.2D;
} else if(props.enableBackpack && !player.isSneaking()) {
if(player.motionY < -1)
player.motionY += 0.4D;
else if(player.motionY < -0.1)
player.motionY += 0.2D;
else if(player.motionY < 0)
player.motionY = 0;
}
if(props.enableBackpack) {
Vec3 orig = player.getLookVec();
Vec3 look = Vec3.createVectorHelper(orig.xCoord, 0, orig.zCoord).normalize();
double mod = player.isSneaking() ? 0.25D : 1D;
if(player.moveForward != 0) {
player.motionX += look.xCoord * 0.35 * player.moveForward * mod;
player.motionZ += look.zCoord * 0.35 * player.moveForward * mod;
}
if(player.moveStrafing != 0) {
look.rotateAroundY((float) Math.PI * 0.5F);
player.motionX += look.xCoord * 0.15 * player.moveStrafing * mod;
player.motionZ += look.zCoord * 0.15 * player.moveStrafing * mod;
}
}
} }
} }
} }

View File

@ -0,0 +1,137 @@
package com.hbm.items.tool;
import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.client.renderer.texture.TextureCompass;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class ItemColtanCompass extends Item {
public int lastX = 0;
public int lastZ = 0;
public long lease = 0;
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inhand) {
if(world.isRemote) {
if(stack.hasTagCompound()) {
lastX = stack.stackTagCompound.getInteger("colX");
lastZ = stack.stackTagCompound.getInteger("colZ");
lease = System.currentTimeMillis() + 1000;
}
if(ItemColtanCompass.this.lease < System.currentTimeMillis()) {
lastX = 0;
lastZ = 0;
}
} else {
if(!stack.hasTagCompound()) {
stack.stackTagCompound = new NBTTagCompound();
Random colRand = new Random(world.getSeed() + 5);
int colX = (int) (colRand.nextGaussian() * 1500);
int colZ = (int) (colRand.nextGaussian() * 1500);
stack.stackTagCompound.setInteger("colX", colX);
stack.stackTagCompound.setInteger("colZ", colZ);
}
}
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register) {
if(register instanceof TextureMap) {
TextureMap map = (TextureMap) register;
TextureColtass cumpiss = new TextureColtass(this.getIconString());
map.setTextureEntry(this.getIconString(), cumpiss);
this.itemIcon = cumpiss;
} else {
this.itemIcon = register.registerIcon(this.getIconString());
}
}
@SideOnly(Side.CLIENT)
public class TextureColtass extends TextureCompass {
public TextureColtass(String texture) {
super(texture);
}
public void updateAnimation() {
Minecraft minecraft = Minecraft.getMinecraft();
if(minecraft.theWorld != null && minecraft.thePlayer != null && !(ItemColtanCompass.this.lastX == 0 && ItemColtanCompass.this.lastZ == 0)) {
this.updateCompass(minecraft.theWorld, minecraft.thePlayer.posX, minecraft.thePlayer.posZ, (double) minecraft.thePlayer.rotationYaw, false, false);
} else {
this.updateCompass((World) null, 0.0D, 0.0D, 0.0D, true, false);
}
}
public void updateCompass(World world, double x, double z, double yaw, boolean ignoreDestination, boolean instantSnap) {
if(!this.framesTextureData.isEmpty()) {
double angle = 0.0D;
if(world != null && !ignoreDestination && world.provider.isSurfaceWorld() && ItemColtanCompass.this.lease > System.currentTimeMillis()) {
double d4 = (double) ItemColtanCompass.this.lastX - x;
double d5 = (double) ItemColtanCompass.this.lastZ - z;
yaw %= 360.0D;
angle = -((yaw - 90.0D) * Math.PI / 180.0D - Math.atan2(d5, d4));
} else {
angle = Math.random() * Math.PI * 2.0D;
}
if(instantSnap) {
this.currentAngle = angle;
} else {
double d6;
for(d6 = angle - this.currentAngle; d6 < -Math.PI; d6 += (Math.PI * 2D)) {
;
}
while(d6 >= Math.PI) {
d6 -= (Math.PI * 2D);
}
if(d6 < -1.0D) {
d6 = -1.0D;
}
if(d6 > 1.0D) {
d6 = 1.0D;
}
this.angleDelta += d6 * 0.1D;
this.angleDelta *= 0.8D;
this.currentAngle += this.angleDelta;
}
int i;
for(i = (int) ((this.currentAngle / (Math.PI * 2D) + 1.0D) * (double) this.framesTextureData.size()) % this.framesTextureData.size(); i < 0; i = (i + this.framesTextureData.size()) % this.framesTextureData.size()) {
;
}
if(i != this.frameCounter) {
this.frameCounter = i;
TextureUtil.uploadTextureMipmap((int[][]) this.framesTextureData.get(this.frameCounter), this.width, this.height, this.originX, this.originY, false, false);
}
}
}
}
}

View File

@ -1,355 +1,66 @@
package com.hbm.items.tool; package com.hbm.items.tool;
import java.util.List; import java.util.Random;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IBomb;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
public class ItemSurveyScanner extends Item { public class ItemSurveyScanner extends Item {
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool)
{
list.add("Right click to perform scan.");
list.add("Shift click to change mode.");
list.add("Current mode: " + (getMode(stack) == 0 ? "Resources" : "Structures"));
}
public int getMode(ItemStack stack) {
if(!stack.hasTagCompound()) {
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("mode", 0);
return 0;
} else {
return stack.stackTagCompound.getInteger("mode");
}
}
public void setMode(ItemStack stack, int mode) {
if(!stack.hasTagCompound()) {
stack.stackTagCompound = new NBTTagCompound();
}
stack.stackTagCompound.setInteger("mode", mode);
}
public int getLevel(Block b, int meta, int i) {
if(i == 0) {
int[] ids = OreDictionary.getOreIDs(new ItemStack(b, 1, meta));
for(int j = 0; j < ids.length; j++) {
String s = OreDictionary.getOreName(ids[j]);
if(s.length() > 3 && s.substring(0, 3).equals("ore"))
return 1;
}
} else {
if(b == Blocks.planks || b == Blocks.cobblestone || b == Blocks.glass || b == Blocks.stonebrick)
return 1;
if(b instanceof IBomb)
return 100;
if(b instanceof ITileEntityProvider)
return 10;
if(b == Blocks.nether_brick)
return 5;
}
return 0;
}
@Override @Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking()) { if(!world.isRemote) {
setMode(stack, (getMode(stack) == 1 ? 0 : 1));
world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); int x = (int)Math.floor(player.posX);
int y = (int)Math.floor(player.posY);
if(world.isRemote) int z = (int)Math.floor(player.posZ);
{
player.addChatMessage(new ChatComponentText("Mode switched.")); boolean hasOil = false;
boolean hasColtan = false;
boolean hasDepth = false;
boolean hasSchist = false;
boolean hasAussie = false;
for(int a = -5; a <= 5; a++) {
for(int b = -5; b <= 5; b++) {
for(int i = y + 15; i > 1; i -= 2) {
Block block = world.getBlock(x + a * 5, i, z + b * 5);
if(block == ModBlocks.ore_oil)
hasOil = true;
else if(block == ModBlocks.ore_coltan)
hasColtan = true;
else if(block == ModBlocks.stone_depth)
hasDepth = true;
else if(block == ModBlocks.stone_gneiss)
hasSchist = true;
else if(block == ModBlocks.ore_australium)
hasAussie = true;
}
}
} }
} else {
int x = (int)player.posX; if(hasOil)
int y = (int)player.posY; player.addChatComponentMessage(new ChatComponentText("Found OIL!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.BLACK)));
int z = (int)player.posZ; if(hasColtan)
player.addChatComponentMessage(new ChatComponentText("Found COLTAN!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD)));
int level = 0; if(hasDepth)
int xOff = -25; player.addChatComponentMessage(new ChatComponentText("Found DEPTH ROCK!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GRAY)));
if(hasSchist)
for(int i = y + 15; i > 5; i--) player.addChatComponentMessage(new ChatComponentText("Found SCHIST!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_AQUA)));
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack)); if(hasAussie)
for(int i = y + 15; i > 5; i--) player.addChatComponentMessage(new ChatComponentText("Found AUSTRALIUM!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
xOff += 5;
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -25), world.getBlockMetadata(x + xOff, i, z + -25), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -20), world.getBlockMetadata(x + xOff, i, z + -20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -15), world.getBlockMetadata(x + xOff, i, z + -15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -10), world.getBlockMetadata(x + xOff, i, z + -10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + -5), world.getBlockMetadata(x + xOff, i, z + -5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 0), world.getBlockMetadata(x + xOff, i, z + 0), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 5), world.getBlockMetadata(x + xOff, i, z + 5), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 10), world.getBlockMetadata(x + xOff, i, z + 10), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 15), world.getBlockMetadata(x + xOff, i, z + 15), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 20), world.getBlockMetadata(x + xOff, i, z + 20), getMode(stack));
for(int i = y + 15; i > 5; i--)
level += getLevel(world.getBlock(x + xOff, i, z + 25), world.getBlockMetadata(x + xOff, i, z + 25), getMode(stack));
world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F);
if(world.isRemote)
{
player.addChatMessage(new ChatComponentText("Scanned! Result: " + level));
}
} }
player.swingItem(); player.swingItem();
@ -358,14 +69,13 @@ public class ItemSurveyScanner extends Item {
} }
@Override @Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) {
{ if(world.getBlock(x, y, z) == ModBlocks.block_beryllium && player.inventory.hasItem(ModItems.entanglement_kit)) {
if(world.getBlock(x, y, z) == ModBlocks.block_beryllium && player.inventory.hasItem(ModItems.entanglement_kit)) { player.travelToDimension(1);
player.travelToDimension(1); return true;
return true; }
}
return false;
return false; }
}
} }

View File

@ -46,7 +46,6 @@ import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.NoiseGeneratorOctaves; import net.minecraft.world.gen.NoiseGeneratorOctaves;
import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.IWorldGenerator;
public class HbmWorldGen implements IWorldGenerator { public class HbmWorldGen implements IWorldGenerator {
@ -166,6 +165,19 @@ public class HbmWorldGen implements IWorldGenerator {
DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_cinnebar, rand, 16); DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_cinnebar, rand, 16);
DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_zirconium, rand, 16); DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_zirconium, rand, 16);
Random colRand = new Random(world.getSeed() + 5);
int colX = (int) (colRand.nextGaussian() * 1500);
int colZ = (int) (colRand.nextGaussian() * 1500);
int colRange = 500;
for (int k = 0; k < 6; k++) {
int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(25) + 15;
int randPosZ = j + rand.nextInt(16);
if(randPosX <= colX + colRange && randPosX >= colX - colRange && randPosZ <= colZ + colRange && randPosZ >= colZ - colRange)
(new WorldGenMinable(ModBlocks.ore_coltan, 3)).generate(world, rand, randPosX, randPosY, randPosZ);
}
for (int k = 0; k < rand.nextInt(4); k++) { for (int k = 0; k < rand.nextInt(4); k++) {
int randPosX = i + rand.nextInt(16); int randPosX = i + rand.nextInt(16);
int randPosY = rand.nextInt(15) + 15; int randPosY = rand.nextInt(15) + 15;

View File

@ -77,6 +77,8 @@ public class Library {
public static String lag_add = "259785a0-20e9-4c63-9286-ac2f93ff528f"; public static String lag_add = "259785a0-20e9-4c63-9286-ac2f93ff528f";
public static String Pu_238 = "c95fdfd3-bea7-4255-a44b-d21bc3df95e3"; public static String Pu_238 = "c95fdfd3-bea7-4255-a44b-d21bc3df95e3";
public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03"; public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03";
public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4";
public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531";
public static Set<String> contributors = Sets.newHashSet(new String[] { public static Set<String> contributors = Sets.newHashSet(new String[] {
"06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings { public class RefStrings {
public static final String MODID = "hbm"; public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod"; public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (3920)"; public static final String VERSION = "1.0.27 BETA (3934)";
//HBM's Beta Naming Convention: //HBM's Beta Naming Convention:
//V T (X) //V T (X)
//V -> next release version //V -> next release version

View File

@ -224,6 +224,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_outgasser")); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_outgasser"));
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_reflector")); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_reflector"));
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element")); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element"));
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element_reasim"));
//ITER //ITER
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater());

View File

@ -752,6 +752,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "C", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "C", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control });
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank });
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', "ingotZirconium" }));
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank });
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel }));
@ -984,6 +985,7 @@ public class CraftingManager {
GameRegistry.addSmelting(ModItems.crystal_lithium, new ItemStack(ModItems.lithium, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_lithium, new ItemStack(ModItems.lithium, 2), 2.0F);
GameRegistry.addSmelting(ModItems.crystal_starmetal, new ItemStack(ModItems.ingot_starmetal, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_starmetal, new ItemStack(ModItems.ingot_starmetal, 2), 2.0F);
GameRegistry.addSmelting(ModItems.crystal_trixite, new ItemStack(ModItems.ingot_plutonium, 4), 2.0F); GameRegistry.addSmelting(ModItems.crystal_trixite, new ItemStack(ModItems.ingot_plutonium, 4), 2.0F);
GameRegistry.addSmelting(ModItems.gem_tantalium, new ItemStack(ModItems.ingot_tantalium, 1), 2.0F);
GameRegistry.addSmelting(ModItems.circuit_schrabidium, new ItemStack(ModItems.circuit_gold, 1), 1.0F); GameRegistry.addSmelting(ModItems.circuit_schrabidium, new ItemStack(ModItems.circuit_gold, 1), 1.0F);
GameRegistry.addSmelting(ModItems.circuit_gold, new ItemStack(ModItems.circuit_red_copper, 1), 1.0F); GameRegistry.addSmelting(ModItems.circuit_gold, new ItemStack(ModItems.circuit_red_copper, 1), 1.0F);

View File

@ -85,6 +85,7 @@ import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
@Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION) @Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION)
public class MainRegistry { public class MainRegistry {
@ -479,6 +480,7 @@ public class MainRegistry {
GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus"); GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus");
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod"); GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim");
GameRegistry.registerTileEntity(TileEntityRBMKControlManual.class, "tileentity_rbmk_control"); GameRegistry.registerTileEntity(TileEntityRBMKControlManual.class, "tileentity_rbmk_control");
GameRegistry.registerTileEntity(TileEntityRBMKControlAuto.class, "tileentity_rbmk_control_auto"); GameRegistry.registerTileEntity(TileEntityRBMKControlAuto.class, "tileentity_rbmk_control_auto");
GameRegistry.registerTileEntity(TileEntityRBMKBlank.class, "tileentity_rbmk_blank"); GameRegistry.registerTileEntity(TileEntityRBMKBlank.class, "tileentity_rbmk_blank");
@ -1174,9 +1176,11 @@ public class MainRegistry {
MinecraftForge.EVENT_BUS.register(radiationSystem); MinecraftForge.EVENT_BUS.register(radiationSystem);
FMLCommonHandler.instance().bus().register(radiationSystem); FMLCommonHandler.instance().bus().register(radiationSystem);
HbmKeybinds.register(); if(event.getSide() == Side.CLIENT) {
HbmKeybinds keyHandler = new HbmKeybinds(); HbmKeybinds.register();
FMLCommonHandler.instance().bus().register(keyHandler); HbmKeybinds keyHandler = new HbmKeybinds();
FMLCommonHandler.instance().bus().register(keyHandler);
}
} }
//yes kids, this is where we would usually register commands //yes kids, this is where we would usually register commands

View File

@ -732,6 +732,54 @@ public class ModEventHandler {
((ArmorFSB)((EntityPlayer)e).inventory.armorInventory[2].getItem()).handleFall((EntityPlayer)e); ((ArmorFSB)((EntityPlayer)e).inventory.armorInventory[2].getItem()).handleFall((EntityPlayer)e);
} }
@SubscribeEvent
public void onWingFlop(TickEvent.PlayerTickEvent event) {
EntityPlayer player = event.player;
if(event.phase == TickEvent.Phase.START && player.getUniqueID().toString().equals(Library.SolsticeUnlimitd)) {
if(player.getCurrentArmor(2) == null && !player.onGround) {
if(player.fallDistance > 0)
player.fallDistance = 0;
if(player.motionY < -0.4D)
player.motionY = -0.4D;
HbmPlayerProps props = HbmPlayerProps.getData(player);
if(player.getFoodStats().getFoodLevel() > 6) {
if(props.isJetpackActive()) {
if(player.motionY < 0.4D)
player.motionY += 0.15D;
if(player.getFoodStats().getSaturationLevel() > 0F)
player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect
else
player.addExhaustion(0.2F); //4:1 -> 0.05 hunger per tick or 1 per second
}
}
Vec3 orig = player.getLookVec();
Vec3 look = Vec3.createVectorHelper(orig.xCoord, 0, orig.zCoord).normalize();
double mod = props.isJetpackActive() ? 0.25D : 0.125D;
if(player.moveForward != 0) {
player.motionX += look.xCoord * 0.35 * player.moveForward * mod;
player.motionZ += look.zCoord * 0.35 * player.moveForward * mod;
}
if(player.moveStrafing != 0) {
look.rotateAroundY((float) Math.PI * 0.5F);
player.motionX += look.xCoord * 0.15 * player.moveStrafing * mod;
player.motionZ += look.zCoord * 0.15 * player.moveStrafing * mod;
}
}
}
}
@SubscribeEvent @SubscribeEvent
public void onPlayerTick(TickEvent.PlayerTickEvent event) { public void onPlayerTick(TickEvent.PlayerTickEvent event) {

View File

@ -318,7 +318,7 @@ public class ModEventHandlerClient {
} }
} }
if(player.getCurrentArmor(2) == null) if(player.getCurrentArmor(2) == null && player.getUniqueID().toString().equals(Library.SolsticeUnlimitd))
RenderAccessoryUtility.renderSol(event); RenderAccessoryUtility.renderSol(event);
} }

View File

@ -51,7 +51,7 @@ public class ModelArmorWings extends ModelArmorBase {
double px = 0.0625D; double px = 0.0625D;
double rot = Math.sin((entity.ticksExisted) * 0.2D) * 20; double rot = Math.sin((entity.ticksExisted) * 0.2D) * 20;
double rot2 = Math.sin((entity.ticksExisted) * 0.2D - Math.PI * 0.5) * 50 + 35; double rot2 = Math.sin((entity.ticksExisted) * 0.2D - Math.PI * 0.5) * 50 + 30;
int pivotSideOffset = 1; int pivotSideOffset = 1;
int pivotFrontOffset = 5; int pivotFrontOffset = 5;

View File

@ -6,6 +6,7 @@ import com.hbm.blocks.machine.rbmk.RBMKBase;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRod;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
@ -78,6 +79,8 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer {
cherenkov = false; cherenkov = false;
} }
if(control instanceof TileEntityRBMKBoiler && meta != RBMKBase.DIR_GLASS_LID.ordinal())
ResourceManager.rbmk_rods.renderPart("Lid");
ResourceManager.rbmk_element.renderPart("Lid"); ResourceManager.rbmk_element.renderPart("Lid");
GL11.glPopMatrix(); GL11.glPopMatrix();
} }

View File

@ -38,6 +38,7 @@ public class RenderAccessoryUtility {
private static ResourceLocation leftnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeLeftNugget.png"); private static ResourceLocation leftnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeLeftNugget.png");
private static ResourceLocation rightnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeRightNugget.png"); private static ResourceLocation rightnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeRightNugget.png");
private static ResourceLocation tankish = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeTankish.png"); private static ResourceLocation tankish = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeTankish.png");
private static ResourceLocation frizzlefrazzle = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeFrizzleFrazzle.png");
public static ResourceLocation getCloakFromPlayer(EntityPlayer player) { public static ResourceLocation getCloakFromPlayer(EntityPlayer player) {
@ -113,6 +114,9 @@ public class RenderAccessoryUtility {
if(uuid.equals(Library.Tankish)) { if(uuid.equals(Library.Tankish)) {
return tankish; return tankish;
} }
if(uuid.equals(Library.FrizzleFrazzle)) {
return frizzlefrazzle;
}
if(Library.contributors.contains(uuid)) { if(Library.contributors.contains(uuid)) {
return wiki; return wiki;
} }

View File

@ -17,7 +17,11 @@ public class RBMKDials {
public static final String KEY_REACTIVITY_MOD = "dialReactivityMod"; public static final String KEY_REACTIVITY_MOD = "dialReactivityMod";
public static final String KEY_SAVE_DIALS = "dialSaveDials"; public static final String KEY_SAVE_DIALS = "dialSaveDials";
public static final String KEY_OUTGASSER_MOD = "dialOutgasserSpeedMod"; public static final String KEY_OUTGASSER_MOD = "dialOutgasserSpeedMod";
public static final String KEV_SURGE_MOD = "dialControlSurgeMod"; public static final String KEY_SURGE_MOD = "dialControlSurgeMod";
public static final String KEY_FLUX_RANGE = "dialFluxRange";
public static final String KEY_REASIM_RANGE = "dialReasimRange";
public static final String KEY_REASIM_COUNT = "dialReasimCount";
public static final String KEY_REASIM_MOD = "dialReasimOutputMod";
public static void createDials(World world) { public static void createDials(World world) {
GameRules rules = world.getGameRules(); GameRules rules = world.getGameRules();
@ -34,7 +38,11 @@ public class RBMKDials {
rules.setOrCreateGameRule(KEY_REACTIVITY_MOD, "1.0"); rules.setOrCreateGameRule(KEY_REACTIVITY_MOD, "1.0");
rules.setOrCreateGameRule(KEY_SAVE_DIALS, "true"); rules.setOrCreateGameRule(KEY_SAVE_DIALS, "true");
rules.setOrCreateGameRule(KEY_OUTGASSER_MOD, "1.0"); rules.setOrCreateGameRule(KEY_OUTGASSER_MOD, "1.0");
rules.setOrCreateGameRule(KEV_SURGE_MOD, "1.0"); rules.setOrCreateGameRule(KEY_SURGE_MOD, "1.0");
rules.setOrCreateGameRule(KEY_FLUX_RANGE, "5");
rules.setOrCreateGameRule(KEY_REASIM_RANGE, "10");
rules.setOrCreateGameRule(KEY_REASIM_COUNT, "6");
rules.setOrCreateGameRule(KEY_REASIM_MOD, "1.0");
} }
} }
@ -129,12 +137,48 @@ public class RBMKDials {
} }
/** /**
* A multiplier for how high the power surge goes when inserting control rods * A multiplier for how high the power surge goes when inserting control rods.
* @param world * @param world
* @return >0 * @return >0
*/ */
public static double getSurgeMod(World world) { public static double getSurgeMod(World world) {
return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEV_SURGE_MOD), 1.0D), 0.0D); return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEY_SURGE_MOD), 1.0D), 0.0D);
}
/**
* Simple integer that decides how far the flux of a normal fuel rod reaches.
* @param world
* @return [1;100]
*/
public static int getFluxRange(World world) {
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_FLUX_RANGE), 5), 1, 100);
}
/**
* Simple integer that decides how far the flux of a ReaSim fuel rod reaches.
* @param world
* @return [1;100]
*/
public static int getReaSimRange(World world) {
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_RANGE), 10), 1, 100);
}
/**
* Simple integer that decides how many neutrons are created from ReaSim fuel rods.
* @param world
* @return [1;24]
*/
public static int getReaSimCount(World world) {
return MathHelper.clamp_int(shittyWorkaroundParseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_COUNT), 6), 1, 24);
}
/**
* Returns a modifier for the outgoing flux of individual streams from the ReaSim fuel rod to compensate for the potentially increased stream count.
* @param world
* @return >0
*/
public static double getReaSimOutputMod(World world) {
return Math.max(shittyWorkaroundParseDouble(world.getGameRules().getGameRuleStringValue(KEY_REASIM_MOD), 1.0D), 0.0D);
} }
//why make the double representation accessible in a game rule when you can just force me to add a second pointless parsing operation? //why make the double representation accessible in a game rule when you can just force me to add a second pointless parsing operation?

View File

@ -82,6 +82,8 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
this.fluxSlow = 0; this.fluxSlow = 0;
hasRod = false; hasRod = false;
super.updateEntity();
} }
} }
} }
@ -112,81 +114,100 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
ForgeDirection.WEST ForgeDirection.WEST
}; };
private void spreadFlux(NType type, double fluxOut) { protected static NType stream;
protected void spreadFlux(NType type, double fluxOut) {
int range = 5; int range = RBMKDials.getFluxRange(worldObj);
for(ForgeDirection dir : fluxDirs) { for(ForgeDirection dir : fluxDirs) {
NType stream = type; stream = type;
double flux = fluxOut; double flux = fluxOut;
for(int i = 1; i <= range; i++) { for(int i = 1; i <= range; i++) {
TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i); flux = runInteraction(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i, flux);
//burn baby burn if(flux <= 0)
if(te instanceof TileEntityRBMKRod) {
TileEntityRBMKRod rod = (TileEntityRBMKRod)te;
if(rod.getStackInSlot(0) != null && rod.getStackInSlot(0).getItem() instanceof ItemRBMKRod) {
rod.receiveFlux(stream, flux);
break;
}
}
if(te instanceof IRBMKFluxReceiver) {
IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te;
rod.receiveFlux(stream, flux);
break; break;
}
//set neutrons to slow
if(te instanceof TileEntityRBMKControl) {
TileEntityRBMKControl control = (TileEntityRBMKControl)te;
if(control.getMult() == 0.0D)
break;
flux *= control.getMult();
continue;
}
//set neutrons to slow
if(te instanceof TileEntityRBMKModerator) {
stream = NType.SLOW;
continue;
}
//return the neutrons back to this with no further action required
if(te instanceof TileEntityRBMKReflector) {
this.receiveFlux(stream, flux);
break;
}
//break the neutron flow and nothign else
if(te instanceof TileEntityRBMKAbsorber) {
break;
}
if(te instanceof TileEntityRBMKBase) {
continue;
}
int limit = RBMKDials.getColumnHeight(worldObj);
int hits = 0;
for(int h = 0; h <= limit; h++) {
if(!worldObj.getBlock(xCoord + dir.offsetX * i, yCoord + h, zCoord + dir.offsetZ * i).isOpaqueCube())
hits++;
}
if(hits > 0)
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F * hits / (float)limit));
} }
} }
} }
protected double runInteraction(int x, int y, int z, double flux) {
TileEntity te = worldObj.getTileEntity(x, y, z);
if(te instanceof TileEntityRBMKBase) {
TileEntityRBMKBase base = (TileEntityRBMKBase) te;
if(!base.hasLid())
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F));
}
//burn baby burn
if(te instanceof TileEntityRBMKRod) {
TileEntityRBMKRod rod = (TileEntityRBMKRod)te;
if(rod.getStackInSlot(0) != null && rod.getStackInSlot(0).getItem() instanceof ItemRBMKRod) {
rod.receiveFlux(stream, flux);
return 0;
}
}
if(te instanceof IRBMKFluxReceiver) {
IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te;
rod.receiveFlux(stream, flux);
return 0;
}
//set neutrons to slow
if(te instanceof TileEntityRBMKControl) {
TileEntityRBMKControl control = (TileEntityRBMKControl)te;
if(control.getMult() == 0.0D)
return 0;
flux *= control.getMult();
return flux;
}
//set neutrons to slow
if(te instanceof TileEntityRBMKModerator) {
stream = NType.SLOW;
return flux;
}
//return the neutrons back to this with no further action required
if(te instanceof TileEntityRBMKReflector) {
this.receiveFlux(stream, flux);
return 0;
}
//break the neutron flow and nothign else
if(te instanceof TileEntityRBMKAbsorber) {
return 0;
}
if(te instanceof TileEntityRBMKBase) {
return flux;
}
int limit = RBMKDials.getColumnHeight(worldObj);
int hits = 0;
for(int h = 0; h <= limit; h++) {
if(!worldObj.getBlock(x, y, z).isOpaqueCube())
hits++;
}
if(hits > 0)
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F * hits / (float)limit));
return 0;
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt); super.readFromNBT(nbt);

View File

@ -0,0 +1,44 @@
package com.hbm.tileentity.machine.rbmk;
import net.minecraft.util.Vec3;
public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
@Override
public String getName() {
return "container.rbmkReaSim";
}
@Override
protected void spreadFlux(NType type, double fluxOut) {
int range = RBMKDials.getReaSimRange(worldObj);
int count = RBMKDials.getReaSimCount(worldObj);
Vec3 dir = Vec3.createVectorHelper(1, 0, 0);
for(int i = 1; i < count; i++) {
stream = type;
double flux = fluxOut * RBMKDials.getReaSimOutputMod(worldObj);
dir.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble()));
for(int j = 1; j <= range; j++) {
//skip if the position is on the rod itself
if((int)Math.floor(dir.xCoord * j) == 0 && (int)Math.floor(dir.zCoord * j) == 0)
continue;
//skip if the current position is equal to the last position
if((int)Math.floor(dir.xCoord * j) == (int)Math.floor(dir.xCoord * (j - 1)) && (int)Math.floor(dir.zCoord * j) == (int)Math.floor(dir.zCoord * (j - 1)))
continue;
flux = runInteraction(xCoord + (int)Math.floor(dir.xCoord * j), yCoord, zCoord + (int)Math.floor(dir.zCoord * j), flux);
if(flux <= 0)
break;
}
}
}
}

View File

@ -252,7 +252,8 @@ container.rbmkBoiler=RBMK Dampfkanal
container.rbmkControl=RBMK Steuerstäbe container.rbmkControl=RBMK Steuerstäbe
container.rbmkControlAuto=RBMK Automatische Steuerstäbe container.rbmkControlAuto=RBMK Automatische Steuerstäbe
container.rbmkOutgasser=RBMK Bestrahlungskanal container.rbmkOutgasser=RBMK Bestrahlungskanal
container.rbmkRod=RBMK Steuerstäbe container.rbmkReaSim=RBMK Brennstäbe (ReaSim)
container.rbmkRod=RBMK Brennstäbe
container.reactor=Brutreaktor container.reactor=Brutreaktor
container.reactorControl=Reaktorfernsteuerung container.reactorControl=Reaktorfernsteuerung
container.reactorLarge=Großer Atomreaktor container.reactorLarge=Großer Atomreaktor
@ -377,6 +378,11 @@ hadron.noresult=Kein Ergebnis.
hadron.progress=Verarbeite... hadron.progress=Verarbeite...
hadron.success=Abgeschlossen! hadron.success=Abgeschlossen!
hbm.key=NTM Hotkeys
hbm.key.toggleBack=Rucksack umschalten
hbm.key.toggleHUD=HUD umschalten
hbm.key.reload=Nachladen
hbmfluid.acid=Wasserstoffperoxid hbmfluid.acid=Wasserstoffperoxid
hbmfluid.amat=Antimaterie hbmfluid.amat=Antimaterie
hbmfluid.aschrab=Antischrabidium hbmfluid.aschrab=Antischrabidium
@ -998,6 +1004,7 @@ item.coin_radiation.name=Strahlungs-Münze
item.coin_ufo.name=UFO-Münze item.coin_ufo.name=UFO-Münze
item.coin_worm.name=Balls-O-Tron-Münze item.coin_worm.name=Balls-O-Tron-Münze
item.coke.name=Koks item.coke.name=Koks
item.coltan_tool.name=Koltass
item.combine_scrap.name=CMB Schrott item.combine_scrap.name=CMB Schrott
item.component_emitter.name=Emitterkomponente item.component_emitter.name=Emitterkomponente
item.component_limiter.name=Stabilisatorkomponente item.component_limiter.name=Stabilisatorkomponente
@ -1035,6 +1042,7 @@ item.crystal_trixite.name=Trixitkristalle
item.crystal_tungsten.name=Wolframkristalle item.crystal_tungsten.name=Wolframkristalle
item.crystal_uranium.name=Urankristalle item.crystal_uranium.name=Urankristalle
item.crystal_xen.name=Künstlicher Xen-Kristall item.crystal_xen.name=Künstlicher Xen-Kristall
item.cube_power.name=Electroniumwürfel
item.custom_amat.name=AB - Antimaterie-Element item.custom_amat.name=AB - Antimaterie-Element
item.custom_dirty.name=AB - Schmutziges Element item.custom_dirty.name=AB - Schmutziges Element
item.custom_fall.name=AB - Abwurf-Upgrade item.custom_fall.name=AB - Abwurf-Upgrade
@ -1482,7 +1490,7 @@ item.jetpack_break.name=Bauarbeiter-Raketenrucksack
item.jetpack_fly.name=Raketenrucksack item.jetpack_fly.name=Raketenrucksack
item.jetpack_tank.name=Raketenrucksack-Reservetank item.jetpack_tank.name=Raketenrucksack-Reservetank
item.jetpack_vector.name=Schubvektorgesteuerter Raketenrucksack item.jetpack_vector.name=Schubvektorgesteuerter Raketenrucksack
item.journal_bj.name=Mit Whiskey durchnässtes Notizbuch item.journal_bj.name=Mit Whisky durchnässtes Notizbuch
item.journal_pip.name=Tagebuch des Überlebenskünstlers item.journal_pip.name=Tagebuch des Überlebenskünstlers
item.journal_silver.name=Notizen des Kontraktor's item.journal_silver.name=Notizen des Kontraktor's
item.key.name=Schlüssel item.key.name=Schlüssel
@ -1837,6 +1845,7 @@ item.particle_lead.name=Bleiionenkapsel
item.particle_muon.name=Myonenkapsel item.particle_muon.name=Myonenkapsel
item.particle_sparkticle.name=Sparktikelkapsel item.particle_sparkticle.name=Sparktikelkapsel
item.particle_strange.name=Strange-Quark-Kapsel item.particle_strange.name=Strange-Quark-Kapsel
item.particle_tachyon.name=Tachyonenkapsel
item.peas.name=Erbsen item.peas.name=Erbsen
item.pedestal_steel.name=Stahlsockel item.pedestal_steel.name=Stahlsockel
item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet
@ -2446,7 +2455,9 @@ item.weapon_pipe_rusty.name=Der Einstellungskorrigierer
item.weapon_saw.name=Ärztlich autorisierter Mord item.weapon_saw.name=Ärztlich autorisierter Mord
item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r
item.wd40.name=VT-40 item.wd40.name=VT-40
item.wild_p.name=Wild Pegasus Trockener Wiskey item.wild_p.name=Wild Pegasus Trockener Whisky
item.wings_limp.name=Schlaffe Flügel
item.wings_murk.name=Trübe Flügel
item.wire_advanced_alloy.name=Supraleiter item.wire_advanced_alloy.name=Supraleiter
item.wire_aluminium.name=Aluminiumdraht item.wire_aluminium.name=Aluminiumdraht
item.wire_copper.name=Kupferdraht item.wire_copper.name=Kupferdraht
@ -3050,6 +3061,7 @@ tile.rbmk_moderator.name=RBMK Graphitmoderator
tile.rbmk_outgasser.name=RBMK Bestrahlungskanal tile.rbmk_outgasser.name=RBMK Bestrahlungskanal
tile.rbmk_reflector.name=RBMK Wolframcarbid-Moderator tile.rbmk_reflector.name=RBMK Wolframcarbid-Moderator
tile.rbmk_rod.name=RBMK Brennstäbe tile.rbmk_rod.name=RBMK Brennstäbe
tile.rbmk_rod_reasim.name=RBMK Brennstäbe (ReaSim)
tile.reactor_computer.name=Reaktorsteuerung tile.reactor_computer.name=Reaktorsteuerung
tile.reactor_conductor.name=Reaktorboiler tile.reactor_conductor.name=Reaktorboiler
tile.reactor_control.name=Steuerstäbe tile.reactor_control.name=Steuerstäbe

View File

@ -320,6 +320,7 @@ container.rbmkBoiler=RBMK Steam Channel
container.rbmkControl=RBMK Control Rods container.rbmkControl=RBMK Control Rods
container.rbmkControlAuto=RBMK Automatic Control Rods container.rbmkControlAuto=RBMK Automatic Control Rods
container.rbmkOutgasser=RBMK Irradiation Channel container.rbmkOutgasser=RBMK Irradiation Channel
container.rbmkReaSim=RBMK Fuel Rod (ReaSim)
container.rbmkRod=RBMK Fuel Rod container.rbmkRod=RBMK Fuel Rod
container.reactor=Breeding Reactor container.reactor=Breeding Reactor
container.reactorControl=Reactor Remote Control Block container.reactorControl=Reactor Remote Control Block
@ -445,6 +446,11 @@ hadron.noresult=No Result.
hadron.progress=In Progress... hadron.progress=In Progress...
hadron.success=Completed! hadron.success=Completed!
hbm.key=NTM Hotkeys
hbm.key.toggleBack=Toggle Backpack
hbm.key.toggleHUD=Toggle HUD
hbm.key.reload=Reload
hbmfluid.acid=Hydrogen Peroxide hbmfluid.acid=Hydrogen Peroxide
hbmfluid.amat=Antimatter hbmfluid.amat=Antimatter
hbmfluid.aschrab=Antischrabidium hbmfluid.aschrab=Antischrabidium
@ -972,7 +978,7 @@ item.chopper_head.name=Hunter Chopper Cockpit
item.chopper_tail.name=Hunter Chopper Tail item.chopper_tail.name=Hunter Chopper Tail
item.chopper_torso.name=Hunter Chopper Body item.chopper_torso.name=Hunter Chopper Body
item.chopper_wing.name=Hunter Chopper Wing item.chopper_wing.name=Hunter Chopper Wing
item.cinnebar.name=Cinnibar item.cinnebar.name=Cinnabar
item.circuit_aluminium.name=Basic Circuit item.circuit_aluminium.name=Basic Circuit
item.circuit_bismuth.name=Versatile Chipset item.circuit_bismuth.name=Versatile Chipset
item.circuit_bismuth_raw.name=Versatile Chipset Assembly item.circuit_bismuth_raw.name=Versatile Chipset Assembly
@ -1066,6 +1072,7 @@ item.coin_radiation.name=Radiation Coin
item.coin_ufo.name=UFO Coin item.coin_ufo.name=UFO Coin
item.coin_worm.name=Balls-O-Tron Coin item.coin_worm.name=Balls-O-Tron Coin
item.coke.name=Coke item.coke.name=Coke
item.coltan_tool.name=Coltass
item.combine_scrap.name=CMB Scrap Metal item.combine_scrap.name=CMB Scrap Metal
item.component_emitter.name=Emitter Component item.component_emitter.name=Emitter Component
item.component_limiter.name=Stabilizer Component item.component_limiter.name=Stabilizer Component
@ -1103,6 +1110,7 @@ item.crystal_trixite.name=Trixite Crystals
item.crystal_tungsten.name=Tungsten Crystals item.crystal_tungsten.name=Tungsten Crystals
item.crystal_uranium.name=Uranium Crystals item.crystal_uranium.name=Uranium Crystals
item.crystal_xen.name=Artificial Xen Crystal item.crystal_xen.name=Artificial Xen Crystal
item.cube_power.name=Electronium Cube
item.custom_amat.name=Custom Nuke Antimatter Rod item.custom_amat.name=Custom Nuke Antimatter Rod
item.custom_dirty.name=Custom Nuke Dirty Rod item.custom_dirty.name=Custom Nuke Dirty Rod
item.custom_fall.name=Custom Nuke Drop Upgrade item.custom_fall.name=Custom Nuke Drop Upgrade
@ -1905,6 +1913,7 @@ item.particle_lead.name=Lead Ion Capsule
item.particle_muon.name=Muon Capsule item.particle_muon.name=Muon Capsule
item.particle_sparkticle.name=Sparkticle Capsule item.particle_sparkticle.name=Sparkticle Capsule
item.particle_strange.name=Strange Quark Capsule item.particle_strange.name=Strange Quark Capsule
item.particle_tachyon.name=Tachyon Capsule
item.peas.name=Peas item.peas.name=Peas
item.pedestal_steel.name=Steel Pedestal item.pedestal_steel.name=Steel Pedestal
item.pellet_advanced.name=Advanced Watz Performance Improver item.pellet_advanced.name=Advanced Watz Performance Improver
@ -2515,6 +2524,8 @@ item.weapon_saw.name=Doctor Assisted Homicide
item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r
item.wd40.name=VT-40 item.wd40.name=VT-40
item.wild_p.name=Wild Pegasus Dry Whiskey item.wild_p.name=Wild Pegasus Dry Whiskey
item.wings_limp.name=Limp Wings
item.wings_murk.name=Murky Wings
item.wire_advanced_alloy.name=Super Conductor item.wire_advanced_alloy.name=Super Conductor
item.wire_aluminium.name=Aluminium Wire item.wire_aluminium.name=Aluminium Wire
item.wire_copper.name=Copper Wire item.wire_copper.name=Copper Wire
@ -3049,13 +3060,13 @@ tile.ore_aluminium.name=Aluminium Ore
tile.ore_asbestos.name=Asbestos Ore tile.ore_asbestos.name=Asbestos Ore
tile.ore_australium.name=Australian Ore tile.ore_australium.name=Australian Ore
tile.ore_beryllium.name=Beryllium Ore tile.ore_beryllium.name=Beryllium Ore
tile.ore_cinnebar.name=Cinnibar Ore tile.ore_cinnebar.name=Cinnabar Ore
tile.ore_coal_oil.name=Oily Coal Ore tile.ore_coal_oil.name=Oily Coal Ore
tile.ore_coal_oil_burning.name=Burning Oily Coal Ore tile.ore_coal_oil_burning.name=Burning Oily Coal Ore
tile.ore_coltan.name=Coltan Ore tile.ore_coltan.name=Coltan Ore
tile.ore_copper.name=Copper Ore tile.ore_copper.name=Copper Ore
tile.ore_daffergon.name=Dellite tile.ore_daffergon.name=Dellite
tile.ore_depth_cinnebar.name=Depth Cinnibar Ore tile.ore_depth_cinnebar.name=Depth Cinnabar Ore
tile.ore_depth_zirconium.name=Depth Zirconium Ore tile.ore_depth_zirconium.name=Depth Zirconium Ore
tile.ore_fluorite.name=Fluorite Ore tile.ore_fluorite.name=Fluorite Ore
tile.ore_gneiss_asbestos.name=Schist Asbestos Ore tile.ore_gneiss_asbestos.name=Schist Asbestos Ore
@ -3134,6 +3145,7 @@ tile.rbmk_moderator.name=RBMK Graphite Moderator
tile.rbmk_outgasser.name=RBMK Irradiation Channel tile.rbmk_outgasser.name=RBMK Irradiation Channel
tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector
tile.rbmk_rod.name=RBMK Fuel Rod tile.rbmk_rod.name=RBMK Fuel Rod
tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim)
tile.reactor_computer.name=Reactor Control tile.reactor_computer.name=Reactor Control
tile.reactor_conductor.name=Reactor Boiler tile.reactor_conductor.name=Reactor Boiler
tile.reactor_control.name=Control Rods tile.reactor_control.name=Control Rods

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,3 @@
{
"animation": {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

View File

@ -3,7 +3,7 @@
"modid": "hbm", "modid": "hbm",
"name": "Hbm's Nuclear Tech", "name": "Hbm's Nuclear Tech",
"description": "A mod that adds weapons, nuclear themed stuff and machines", "description": "A mod that adds weapons, nuclear themed stuff and machines",
"version":"1.0.27-3920", "version":"1.0.27-3934",
"mcversion": "1.7.10", "mcversion": "1.7.10",
"url": "", "url": "",
"updateUrl": "", "updateUrl": "",