mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
the malicious gigglefish from the silly dimension
This commit is contained in:
parent
ba8aa1e4b1
commit
4482e10999
12
changelog
12
changelog
@ -4,6 +4,7 @@
|
||||
* Has some design similarities with the RBMK, but in 3D
|
||||
* Relatively easy to build and safe to operate
|
||||
* Does not use any tile entity rendering and all math is pre-calculated when the reactor is assembled, making this one even more performant than the old large reactor
|
||||
* Balancing might change, so keep that in mind when updating in the future
|
||||
* Sodalite
|
||||
* A gem that can be extracted from fluorite or lapis ore
|
||||
* Can be heated in the combination oven to make sodium and chlorine
|
||||
@ -27,6 +28,16 @@
|
||||
* Fluorite ore is now centrifugable
|
||||
* Fluorite crystals now centrifuge into slightly less fluorite but also yield sodalite
|
||||
* Blast resistance values for most resistant blocks have been changed, most blocks now have much lower resistance which means there's now a practical difference between concrete and ducrete. Resistance values also match the block's cost more closely.
|
||||
* Using a screwdriver, the input and output sides of conveyor cranes (inserters, ejectors, etc) can now be configured, allowing them to operate around corners
|
||||
* Sandstone's blast resistance is now as high as stone's, but only against nuclear explosions
|
||||
* The tsar bomba model has been updated
|
||||
* The nuclear explosion animation has been replaced with the TOREX system, instead of a static model that moves around, the mushroom clouds are now made of simulated particles
|
||||
* Sellafite now uses random ticks instead of scheduled ticks every second, while this does reduce its radioactivity quite a bit, it prevents the tick queue from slowing down to a crawl with large amounts of sellafite from nuclear explosions
|
||||
* Conveyor blocks now have tooltips explaining what they do and how they can be configured
|
||||
* The large reactor still works despite the PWR being added, but the parts have been made uncraftable
|
||||
* Unused watz parts have been hidden from the creative inventory
|
||||
* Removed the bedrok coltan ore, since it was replaced by generic bedrock ores anyway
|
||||
* Updated decal on the congo lake grenade launcher
|
||||
|
||||
## Fixed
|
||||
* Fixed FEnSU's IO limit not working properly
|
||||
@ -40,3 +51,4 @@
|
||||
* Corium is now a finite fluid, fixing an issue where a single fuel rod can be used to create a giant blob of corium, lagging out the server
|
||||
* Fixed bullets not being able to pass things like tall grass
|
||||
* Whether the player has received a guide book is now saved as part of the extprop which might fix an issue where offline mode players get a new book on every start
|
||||
* Fixed electrolyser fluid recipes not showing the input amount
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=4690
|
||||
mod_build_number=4704
|
||||
|
||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\
|
||||
@ -8,11 +8,11 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al
|
||||
\ (chinese localization), Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures,\
|
||||
\ various machines, models, weapons), Vær (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide),\
|
||||
\ Adam29 (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon\
|
||||
\ (calculator, chunk-based fallout), haru315 (spiral point algorithm), Sten89 (models), Pixelguru26\
|
||||
\ (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\
|
||||
\ (calculator, chunk-based fallout, bendable cranes), haru315 (spiral point algorithm), Sten89 (models), Pixelguru26\
|
||||
\ (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings), Nos (models),\
|
||||
\ Burningwater202 (laminate glass), OvermindDL1 (project settings), TehTemmie (reacher radiation function),\
|
||||
\ Toshayo (satellite loot system, project settings, gradle curse task), Silly541 (config for safe ME drives),\
|
||||
\ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen\
|
||||
\ (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid,\
|
||||
\ particle emitter), sdddddf80 (recipe configs, chinese localization, custom machine holograms),\
|
||||
\ SuperCraftAlex (tooltips) LePeep (coilgun model, BDCL QC), Maksymisio (polish localization)
|
||||
\ SuperCraftAlex (tooltips) LePeep (coilgun model, BDCL QC), 70k (textures), Maksymisio (polish localization)
|
||||
|
||||
@ -88,8 +88,6 @@ public class ModBlocks {
|
||||
public static Block ore_bedrock;
|
||||
public static Block ore_volcano;
|
||||
|
||||
public static Block ore_bedrock_coltan;
|
||||
|
||||
public static Block ore_nether_coal;
|
||||
public static Block ore_nether_smoldering;
|
||||
public static Block ore_nether_uranium;
|
||||
@ -1398,8 +1396,6 @@ public class ModBlocks {
|
||||
ore_cinnebar = new BlockOre(Material.rock).setBlockName("ore_cinnebar").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_cinnebar");
|
||||
ore_coltan = new BlockOre(Material.rock).setBlockName("ore_coltan").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_coltan");
|
||||
|
||||
ore_bedrock_coltan = new BlockBedrockOre().setBlockName("ore_bedrock_coltan").setCreativeTab(null).setBlockUnbreakable().setResistance(1_000_000).setBlockTextureName(RefStrings.MODID + ":ore_bedrock_coltan");
|
||||
|
||||
ore_oil = new BlockOre(Material.rock).setBlockName("ore_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil");
|
||||
ore_oil_empty = new BlockGeneric(Material.rock).setBlockName("ore_oil_empty").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_empty");
|
||||
ore_oil_sand = new BlockFalling(Material.sand).setBlockName("ore_oil_sand").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_sand_alt");
|
||||
@ -1579,7 +1575,7 @@ public class ModBlocks {
|
||||
brick_concrete_cracked = new BlockGeneric(Material.rock).setBlockName("brick_concrete_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_cracked");
|
||||
brick_concrete_broken = new BlockGeneric(Material.rock).setBlockName("brick_concrete_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(45.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_broken");
|
||||
brick_concrete_marked = new BlockWriting(Material.rock, RefStrings.MODID + ":brick_concrete").setBlockName("brick_concrete_marked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_marked");
|
||||
brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(2400.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian");
|
||||
brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian");
|
||||
brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":brick_light");
|
||||
brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound");
|
||||
cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(5000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick");
|
||||
@ -1990,7 +1986,6 @@ public class ModBlocks {
|
||||
crane_unboxer = new CraneUnboxer().setBlockName("crane_unboxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_side");
|
||||
fan = new MachineFan().setBlockName("fan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
piston_inserter = new PistonInserter().setBlockName("piston_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain");
|
||||
@ -2082,9 +2077,9 @@ public class ModBlocks {
|
||||
watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side");
|
||||
watz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_cooler_top").setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler_side");
|
||||
watz_end = new BlockToolConversion(Material.iron).addVariant("_bolted").setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing");
|
||||
watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch");
|
||||
watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top");
|
||||
watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer");
|
||||
watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_hatch");
|
||||
watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top");
|
||||
watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_computer");
|
||||
watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
watz_pump = new WatzPump().setBlockName("watz_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
@ -2485,7 +2480,6 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(cluster_copper, ItemBlockBase.class, cluster_copper.getUnlocalizedName());
|
||||
|
||||
//Bedrock ores
|
||||
GameRegistry.registerBlock(ore_bedrock_coltan, ore_bedrock_coltan.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(ore_bedrock_oil, ore_bedrock_oil.getUnlocalizedName());
|
||||
|
||||
//Nice Meme
|
||||
@ -3233,21 +3227,20 @@ public class ModBlocks {
|
||||
register(radio_torch_receiver);
|
||||
register(radio_torch_counter);
|
||||
|
||||
GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_grabber, crane_grabber.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_router, crane_router.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_boxer, crane_boxer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_unboxer, crane_unboxer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor, conveyor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_double, conveyor_double.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_triple, conveyor_triple.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_chute, conveyor_chute.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_lift, conveyor_lift.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_splitter, crane_splitter.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(fan, fan.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerBlock(piston_inserter, piston_inserter.getUnlocalizedName());
|
||||
register(crane_extractor);
|
||||
register(crane_inserter);
|
||||
register(crane_grabber);
|
||||
register(crane_router);
|
||||
register(crane_boxer);
|
||||
register(crane_unboxer);
|
||||
register(conveyor);
|
||||
register(conveyor_double);
|
||||
register(conveyor_triple);
|
||||
register(conveyor_chute);
|
||||
register(conveyor_lift);
|
||||
register(crane_splitter);
|
||||
register(fan);
|
||||
register(piston_inserter);
|
||||
|
||||
GameRegistry.registerBlock(chain, chain.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(ladder_sturdy, ladder_sturdy.getUnlocalizedName());
|
||||
|
||||
@ -2,7 +2,7 @@ package com.hbm.blocks.bomb;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.explosion.ExplosionNT;
|
||||
@ -78,12 +78,7 @@ public class ExplosiveCharge extends Block implements IBomb, IDetConnectible {
|
||||
}
|
||||
if(this == ModBlocks.det_nuke) {
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.missileRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, BombConfig.missileRadius * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.effect.EntityCloudFleija;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.grenade.EntityGrenadeZOMG;
|
||||
import com.hbm.entity.logic.EntityBalefire;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
@ -169,7 +169,7 @@ public class NukeCustom extends BlockContainer implements IBomb {
|
||||
bf.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5);
|
||||
bf.destructionRange = (int) amat;
|
||||
worldObj.spawnEntityInWorld(bf);
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFacBale(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, amat * 1.5F, 1000));
|
||||
EntityNukeTorex.statFacBale(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, amat);
|
||||
|
||||
/// HYDROGEN ///
|
||||
} else if(hydro > 0) {
|
||||
@ -179,7 +179,7 @@ public class NukeCustom extends BlockContainer implements IBomb {
|
||||
dirty *= 0.25F;
|
||||
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)hydro, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).moreFallout((int)dirty));
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro));
|
||||
EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro);
|
||||
|
||||
/// NUCLEAR ///
|
||||
} else if(nuke > 0) {
|
||||
@ -188,7 +188,7 @@ public class NukeCustom extends BlockContainer implements IBomb {
|
||||
nuke = Math.min(nuke, maxNuke);
|
||||
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)nuke, xCoord + 0.5, yCoord + 5, zCoord + 0.5).moreFallout((int)dirty));
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke));
|
||||
EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke);
|
||||
|
||||
/// NON-NUCLEAR ///
|
||||
} else if(tnt >= 75) {
|
||||
@ -196,7 +196,7 @@ public class NukeCustom extends BlockContainer implements IBomb {
|
||||
tnt = Math.min(tnt, maxTnt);
|
||||
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, (int)tnt, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5));
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt));
|
||||
EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt);
|
||||
} else if(tnt > 0) {
|
||||
|
||||
ExplosionLarge.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, tnt, true, true, true);
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -130,13 +130,8 @@ public class NukeGadget extends BlockContainer implements IBomb {
|
||||
tetn.clearSlots();
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.gadgetRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, BombConfig.gadgetRadius * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.gadgetRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.gadgetRadius);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -124,12 +124,7 @@ public class NukeMan extends BlockContainer implements IBomb {
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.manRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, BombConfig.manRadius * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.manRadius);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -131,12 +131,7 @@ public class NukeMike extends BlockContainer implements IBomb {
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.mikeRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.mikeRadius);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -120,12 +120,7 @@ public class NukeN2 extends BlockContainer implements IBomb {
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(world, r, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, r);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -127,18 +127,9 @@ public class NukeTsar extends BlockContainer implements IBomb {
|
||||
public boolean igniteTestBomb(World world, int x, int y, int z, int r) {
|
||||
if(!world.isRemote) {
|
||||
tetn.clearSlots();
|
||||
// world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0);
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, r, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
|
||||
// ExplosionNukeAdvanced.mush(world, x, y, z);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, r);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -1,51 +0,0 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.block.IDrillInteraction;
|
||||
import api.hbm.block.IMiningDrill;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockBedrockOre extends Block implements IDrillInteraction {
|
||||
|
||||
public BlockBedrockOre() {
|
||||
super(Material.rock);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBreak(World world, int x, int y, int z, int meta, IMiningDrill drill) {
|
||||
return drill.getDrillRating() > 70;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack extractResource(World world, int x, int y, int z, int meta, IMiningDrill drill) {
|
||||
|
||||
if(drill.getDrillRating() > 70)
|
||||
return null;
|
||||
|
||||
Item drop = this.getDrop();
|
||||
|
||||
if(drop == null)
|
||||
return null;
|
||||
|
||||
return world.rand.nextInt(50) == 0 ? new ItemStack(drop) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getRelativeHardness(World world, int x, int y, int z, int meta, IMiningDrill drill) {
|
||||
return 30;
|
||||
}
|
||||
|
||||
private Item getDrop() {
|
||||
|
||||
if(this == ModBlocks.ore_bedrock_coltan)
|
||||
return ModItems.fragment_coltan;
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -138,6 +138,7 @@ public class BlockHazard extends Block implements ITooltipProvider {
|
||||
public void onBlockAdded(World world, int x, int y, int z) {
|
||||
super.onBlockAdded(world, x, y, z);
|
||||
|
||||
// who wrote this???
|
||||
rad = HazardSystem.getHazardLevelFromStack(new ItemStack(this), HazardRegistry.RADIATION) * 0.1F;
|
||||
|
||||
if(this.rad > 0)
|
||||
|
||||
@ -29,6 +29,8 @@ public class BlockSellafield extends BlockHazard {
|
||||
public BlockSellafield(Material mat) {
|
||||
super(mat);
|
||||
this.setCreativeTab(MainRegistry.blockTab);
|
||||
this.needsRandomTick = true;
|
||||
this.rad = 0.5F;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -41,19 +43,20 @@ public class BlockSellafield extends BlockHazard {
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
|
||||
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, this.rad);
|
||||
|
||||
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if(rand.nextInt(meta == 0 ? 30 * 60 : 15 * 60) == 0) {
|
||||
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, this.rad * (meta + 1));
|
||||
|
||||
if(rand.nextInt(meta == 0 ? 25 : 15) == 0) {
|
||||
if(meta > 0)
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta - 1, 2);
|
||||
else
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
}
|
||||
|
||||
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@Override public void onBlockAdded(World world, int x, int y, int z) { }
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected IIcon[] icons;
|
||||
@ -86,6 +89,4 @@ public class BlockSellafield extends BlockHazard {
|
||||
public IIcon getIcon(int side, int meta) {
|
||||
return this.icons[meta % this.icons.length];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -12,7 +12,6 @@ import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityBarrel;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
|
||||
@ -12,7 +12,6 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityMachineBAT9000;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
|
||||
@ -2,6 +2,8 @@ package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
|
||||
import api.hbm.block.IBlowable;
|
||||
import api.hbm.block.IToolable;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -20,7 +22,7 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineFan extends BlockContainer implements IToolable {
|
||||
public class MachineFan extends BlockContainer implements IToolable, ITooltipProvider {
|
||||
|
||||
public MachineFan() {
|
||||
super(Material.iron);
|
||||
@ -142,4 +144,9 @@ public class MachineFan extends BlockContainer implements IToolable {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,6 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityMachineBattery;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockContainerBase;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.tileentity.INBTPacketReceiver;
|
||||
|
||||
import api.hbm.block.IInsertable;
|
||||
@ -21,7 +24,7 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class PistonInserter extends BlockContainerBase {
|
||||
public class PistonInserter extends BlockContainerBase implements ITooltipProvider {
|
||||
|
||||
public PistonInserter() {
|
||||
super(Material.iron);
|
||||
@ -383,4 +386,9 @@ public class PistonInserter extends BlockContainerBase {
|
||||
@Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return true; }
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.entity.item.EntityMovingItem;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
@ -13,6 +16,7 @@ import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.IIcon;
|
||||
@ -22,7 +26,7 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public abstract class BlockConveyorBase extends Block implements IConveyorBelt {
|
||||
public abstract class BlockConveyorBase extends Block implements IConveyorBelt, ITooltipProvider {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected IIcon sideIcon;
|
||||
@ -159,4 +163,9 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.blocks.network;
|
||||
|
||||
import api.hbm.block.IToolable;
|
||||
import com.hbm.blocks.IBlockSideRotation;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.items.tool.ItemTooling;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -27,9 +28,10 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public abstract class BlockCraneBase extends BlockContainer implements IBlockSideRotation, IToolable {
|
||||
public abstract class BlockCraneBase extends BlockContainer implements IBlockSideRotation, IToolable, ITooltipProvider {
|
||||
|
||||
@SideOnly(Side.CLIENT) protected IIcon iconSide;
|
||||
@SideOnly(Side.CLIENT) protected IIcon iconIn;
|
||||
@ -304,4 +306,9 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid
|
||||
|
||||
super.breakBlock(world, x, y, z, block, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.IBlockMultiPass;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.entity.item.EntityMovingItem;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -32,7 +33,7 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnterableBlock {
|
||||
public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnterableBlock, ITooltipProvider {
|
||||
|
||||
@SideOnly(Side.CLIENT) protected IIcon iconOverlay;
|
||||
|
||||
@ -194,11 +195,11 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) {
|
||||
return false;
|
||||
}
|
||||
@Override public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { return false; }
|
||||
@Override public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { }
|
||||
|
||||
@Override
|
||||
public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { }
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.entity.item.EntityMovingItem;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.network.TileEntityCraneSplitter;
|
||||
@ -14,6 +17,7 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
@ -22,7 +26,7 @@ import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnterableBlock {
|
||||
public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnterableBlock, ITooltipProvider {
|
||||
|
||||
@SideOnly(Side.CLIENT) public IIcon iconTopLeft;
|
||||
@SideOnly(Side.CLIENT) public IIcon iconTopRight;
|
||||
@ -154,4 +158,9 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt
|
||||
if(meta >= 12) return ForgeDirection.getOrientation(meta - offset);
|
||||
return ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.blocks.test;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -27,12 +27,7 @@ public class TestCore extends Block {
|
||||
|
||||
world.setBlockToAir(x, y, z);
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.missileRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, BombConfig.missileRadius * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius);
|
||||
|
||||
} else if(meta > 0) {
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@Deprecated
|
||||
public class EntityNukeCloudSmall extends Entity {
|
||||
|
||||
public int maxAge = 1000;
|
||||
|
||||
@ -2,6 +2,8 @@ package com.hbm.entity.effect;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.hbm.util.TrackerUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
@ -34,6 +36,7 @@ public class EntityNukeTorex extends Entity {
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
this.dataWatcher.addObject(10, new Float(1));
|
||||
this.dataWatcher.addObject(11, new Integer(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -60,7 +63,7 @@ public class EntityNukeTorex extends Entity {
|
||||
lastSpawnY = posY - 3;
|
||||
}
|
||||
|
||||
int spawnTarget = worldObj.getHeightValue((int) Math.floor(posX), (int) Math.floor(posZ)) - 3;
|
||||
int spawnTarget = Math.max(worldObj.getHeightValue((int) Math.floor(posX), (int) Math.floor(posZ)) - 3, 1);
|
||||
double moveSpeed = 0.5D;
|
||||
|
||||
if(Math.abs(spawnTarget - lastSpawnY) < moveSpeed) {
|
||||
@ -69,6 +72,7 @@ public class EntityNukeTorex extends Entity {
|
||||
lastSpawnY += moveSpeed * Math.signum(spawnTarget - lastSpawnY);
|
||||
}
|
||||
|
||||
// spawn mush clouds
|
||||
double range = (torusWidth - rollerSize) * 0.25;
|
||||
double simSpeed = getSimulationSpeed();
|
||||
int toSpawn = (int) Math.ceil(10 * simSpeed * simSpeed);
|
||||
@ -82,7 +86,8 @@ public class EntityNukeTorex extends Entity {
|
||||
cloudlets.add(cloud);
|
||||
}
|
||||
|
||||
if(ticksExisted < 50) {
|
||||
// spawn shock clouds
|
||||
if(ticksExisted < 100) {
|
||||
|
||||
int cloudCount = ticksExisted * 5;
|
||||
int shockLife = Math.max(300 - ticksExisted * 20, 50);
|
||||
@ -97,6 +102,7 @@ public class EntityNukeTorex extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
// spawn ring clouds
|
||||
if(ticksExisted < 200) {
|
||||
for(int i = 0; i < 2; i++) {
|
||||
Cloudlet cloud = new Cloudlet(posX, posY + coreHeight, posZ, (float)(rand.nextDouble() * 2D * Math.PI), 0, lifetime, TorexType.RING);
|
||||
@ -133,6 +139,11 @@ public class EntityNukeTorex extends Entity {
|
||||
return this;
|
||||
}
|
||||
|
||||
public EntityNukeTorex setType(int type) {
|
||||
this.dataWatcher.updateObject(11, type);
|
||||
return this;
|
||||
}
|
||||
|
||||
public double getSimulationSpeed() {
|
||||
|
||||
int lifetime = getMaxAge();
|
||||
@ -404,11 +415,21 @@ public class EntityNukeTorex extends Entity {
|
||||
dist = Math.max(dist, 1);
|
||||
double col = 2D / dist;
|
||||
|
||||
this.color = Vec3.createVectorHelper(
|
||||
Math.max(col * 2, 0.25),
|
||||
Math.max(col * 1.5, 0.25),
|
||||
Math.max(col * 0.5, 0.25)
|
||||
);
|
||||
int type = EntityNukeTorex.this.dataWatcher.getWatchableObjectInt(11);
|
||||
|
||||
if(type == 1) {
|
||||
this.color = Vec3.createVectorHelper(
|
||||
Math.max(col * 1, 0.25),
|
||||
Math.max(col * 2, 0.25),
|
||||
Math.max(col * 0.5, 0.25)
|
||||
);
|
||||
} else {
|
||||
this.color = Vec3.createVectorHelper(
|
||||
Math.max(col * 2, 0.25),
|
||||
Math.max(col * 1.5, 0.25),
|
||||
Math.max(col * 0.5, 0.25)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public Vec3 getInterpPos(float interp) {
|
||||
@ -461,15 +482,27 @@ public class EntityNukeTorex extends Entity {
|
||||
RING
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound nbt) { }
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound nbt) { }
|
||||
@Override protected void writeEntityToNBT(NBTTagCompound nbt) { }
|
||||
@Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; }
|
||||
@Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); }
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isInRangeToRenderDist(double distance) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void statFac(World world, double x, double y, double z, float scale) {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float(scale * 0.01F, 0.5F, 5F));
|
||||
torex.setPosition(x, y, z);
|
||||
world.spawnEntityInWorld(torex);
|
||||
TrackerUtil.setTrackingRange(world, torex, 1000);
|
||||
}
|
||||
|
||||
public static void statFacBale(World world, double x, double y, double z, float scale) {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float(scale * 0.01F, 0.5F, 5F)).setType(1);
|
||||
torex.setPosition(x, y, z);
|
||||
world.spawnEntityInWorld(torex);
|
||||
TrackerUtil.setTrackingRange(world, torex, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.hbm.entity.missile;
|
||||
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
|
||||
@ -37,12 +37,7 @@ public class EntityMIRV extends EntityThrowable {
|
||||
if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) {
|
||||
if(!this.worldObj.isRemote) {
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.mirvRadius, posX, posY, posZ));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, BombConfig.mirvRadius * 0.005F);
|
||||
entity2.posX = this.posX;
|
||||
entity2.posY = this.posY;
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.mirvRadius);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.bomb.BlockTaint;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityBalefire;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.entity.logic.IChunkLoader;
|
||||
@ -327,11 +328,7 @@ public class EntityMissileCustom extends Entity implements IChunkLoader, IRadarD
|
||||
case NUCLEAR:
|
||||
case TX:
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) strength, posX, posY, posZ));
|
||||
EntityNukeCloudSmall nuke = new EntityNukeCloudSmall(worldObj, 1000, strength * 0.005F);
|
||||
nuke.posX = posX;
|
||||
nuke.posY = posY;
|
||||
nuke.posZ = posZ;
|
||||
worldObj.spawnEntityInWorld(nuke);
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, strength);
|
||||
break;
|
||||
case BALEFIRE:
|
||||
EntityBalefire bf = new EntityBalefire(worldObj);
|
||||
@ -340,15 +337,11 @@ public class EntityMissileCustom extends Entity implements IChunkLoader, IRadarD
|
||||
bf.posZ = this.posZ;
|
||||
bf.destructionRange = (int) strength;
|
||||
worldObj.spawnEntityInWorld(bf);
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFacBale(worldObj, posX, posY + 5, posZ, strength * 1.5F, 1000));
|
||||
EntityNukeTorex.statFacBale(worldObj, posX, posY, posZ, strength);
|
||||
break;
|
||||
case N2:
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, (int) strength, posX, posY, posZ));
|
||||
EntityNukeCloudSmall n2 = new EntityNukeCloudSmall(worldObj, 1000, strength * 0.005F);
|
||||
n2.posX = posX;
|
||||
n2.posY = posY;
|
||||
n2.posZ = posZ;
|
||||
worldObj.spawnEntityInWorld(n2);
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, strength);
|
||||
break;
|
||||
case TAINT:
|
||||
int r = (int) strength;
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
@ -25,12 +25,7 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced {
|
||||
public void onImpact() {
|
||||
|
||||
worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, BombConfig.missileRadius * 2 * 0.005F);
|
||||
entity2.posX = this.posX;
|
||||
entity2.posY = this.posY - 9;
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
@ -25,12 +25,7 @@ public class EntityMissileNuclear extends EntityMissileBaseAdvanced {
|
||||
public void onImpact() {
|
||||
|
||||
this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, BombConfig.missileRadius * 0.005F);
|
||||
entity2.posX = this.posX;
|
||||
entity2.posY = this.posY;
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -5,7 +5,7 @@ import java.util.List;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityBlackHole;
|
||||
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.effect.EntityRagingVortex;
|
||||
import com.hbm.entity.effect.EntityVortex;
|
||||
import com.hbm.entity.grenade.EntityGrenadeZOMG;
|
||||
@ -490,7 +490,7 @@ public class EntityModBeam extends Entity implements IProjectile {
|
||||
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 100.0f, this.worldObj.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.gadgetRadius, posX, posY, posZ));
|
||||
this.worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFac(worldObj, posX, posY, posZ, BombConfig.gadgetRadius));
|
||||
EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.gadgetRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ public class ExplosionNukeRayBatched {
|
||||
Block block = world.getBlock(iX, iY, iZ);
|
||||
|
||||
if(!block.getMaterial().isLiquid())
|
||||
res -= Math.pow(block.getExplosionResistance(null), 7.5D - fac);
|
||||
res -= Math.pow(masqueradeResistance(block), 7.5D - fac);
|
||||
//else
|
||||
// res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); // air is 0, might want to raise that is necessary
|
||||
|
||||
@ -150,6 +150,13 @@ public class ExplosionNukeRayBatched {
|
||||
isAusf3Complete = true;
|
||||
}
|
||||
|
||||
public static float masqueradeResistance(Block block) {
|
||||
|
||||
if(block == Blocks.sandstone) return Blocks.stone.getExplosionResistance(null);
|
||||
if(block == Blocks.obsidian) return Blocks.stone.getExplosionResistance(null) * 3;
|
||||
return block.getExplosionResistance(null);
|
||||
}
|
||||
|
||||
/** little comparator for roughly sorting chunks by distance to the center */
|
||||
public class CoordComparator implements Comparator<ChunkCoordIntPair> {
|
||||
|
||||
|
||||
@ -16,59 +16,50 @@ private TileEntityNukeTsar nukeTsar;
|
||||
|
||||
nukeTsar = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 35, 17));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 71, 17));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 35, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 71, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 53, 35));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 98, 35));
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 48, 101));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 66, 101));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 84, 101));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 102, 101));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 55, 51));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 138, 101));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, 9 + j + i * 9, 48 + j * 18, 151 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 48 + i * 18, 209));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) {
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
|
||||
if(var4 != null && var4.getHasStack()) {
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 5) {
|
||||
if (!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true))
|
||||
{
|
||||
|
||||
if(par2 <= 5) {
|
||||
if(!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
|
||||
if(var5.stackSize == 0) {
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
|
||||
@ -8,6 +8,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerNukeTsar;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeTsar;
|
||||
import com.hbm.util.I18nUtil;
|
||||
@ -15,14 +16,15 @@ import com.hbm.util.I18nUtil;
|
||||
public class GUINukeTsar extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/tsarBombaSchematic.png");
|
||||
private TileEntityNukeTsar testNuke;
|
||||
private static ResourceLocation textureMike = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/ivyMikeSchematic.png");
|
||||
private TileEntityNukeTsar tsar;
|
||||
|
||||
public GUINukeTsar(InventoryPlayer invPlayer, TileEntityNukeTsar tedf) {
|
||||
super(new ContainerNukeTsar(invPlayer, tedf));
|
||||
testNuke = tedf;
|
||||
tsar = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
this.xSize = 256;
|
||||
this.ySize = 233;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -35,10 +37,10 @@ public class GUINukeTsar extends GuiInfoContainer {
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName());
|
||||
String name = this.tsar.hasCustomInventoryName() ? this.tsar.getInventoryName() : I18n.format(this.tsar.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 48, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -46,16 +48,23 @@ public class GUINukeTsar extends GuiInfoContainer {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(textureMike);
|
||||
|
||||
if(testNuke.isReady())
|
||||
{
|
||||
drawTexturedModalRect(guiLeft + 133, guiTop + 34, 176, 0, 16, 16);
|
||||
}
|
||||
if(tsar.isFilled()) drawTexturedModalRect(guiLeft + 18, guiTop + 50, 176, 18, 16, 16);
|
||||
else if(tsar.isReady()) drawTexturedModalRect(guiLeft + 18, guiTop + 50, 176, 0, 16, 16);
|
||||
|
||||
if(testNuke.isFilled())
|
||||
{
|
||||
drawTexturedModalRect(guiLeft + 133, guiTop + 34, 176, 18, 16, 16);
|
||||
for(int i = 0; i < 4; i++) {
|
||||
if(tsar.getStackInSlot(i) != null && tsar.getStackInSlot(i).getItem() == ModItems.explosive_lenses) switch(i) {
|
||||
case 0: drawTexturedModalRect(guiLeft + 24 + 16, guiTop + 20 + 16, 209, 1, 23, 23); break;
|
||||
case 2: drawTexturedModalRect(guiLeft + 47 + 16, guiTop + 20 + 16, 232, 1, 23, 23); break;
|
||||
case 1: drawTexturedModalRect(guiLeft + 24 + 16, guiTop + 43 + 16, 209, 24, 23, 23); break;
|
||||
case 3: drawTexturedModalRect(guiLeft + 47 + 16, guiTop + 43 + 16, 232, 24, 23, 23); break;
|
||||
}
|
||||
}
|
||||
|
||||
if(tsar.getStackInSlot(5) != null && tsar.getStackInSlot(5).getItem() == ModItems.tsar_core)
|
||||
drawTexturedModalRect(guiLeft + 75 + 16, guiTop + 25 + 16, 176, 220, 80, 36);
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 16, 16, 16, 2);
|
||||
}
|
||||
|
||||
@ -391,9 +391,9 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_solid_hexdecuple, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DURA.ingot(), 12), new ComparableStack(ModItems.coil_tungsten, 6), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 4), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 1), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_short, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModBlocks.reactor_element, 1), new OreDictStack(DESH.ingot(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.board_copper, 2), new ComparableStack(ModItems.ingot_uranium_fuel, 4), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.reactor_element, 2), new OreDictStack(DESH.ingot(), 16), new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_large, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.reactor_element, 2), new OreDictStack(DESH.ingot(), 24), new OreDictStack(BIGMT.plate(), 32), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_short, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModBlocks.pwr_fuel, 1), new OreDictStack(DESH.ingot(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.board_copper, 2), new ComparableStack(ModItems.ingot_uranium_fuel, 4), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 16), new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_large, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 24), new OreDictStack(BIGMT.plate(), 32), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 16), new OreDictStack(STEEL.plate(), 12), new OreDictStack(DESH.ingot(), 8), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 4), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_triple, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 12), new OreDictStack(STEEL.plate(), 8), new OreDictStack(DESH.ingot(), 6), },500);
|
||||
@ -1029,11 +1029,6 @@ public class AssemblerRecipes {
|
||||
|
||||
if(!GeneralConfig.enable528) {
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_hephaestus, 1), new AStack[] { new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(STEEL.ingot(), 24), new OreDictStack(CU.plate(), 24), new OreDictStack(NB.ingot(), 4), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModBlocks.glass_quartz, 16) }, 150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_element, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(PB.plate(), 2), new OreDictStack(ZR.ingot(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_control, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(PB.ingot(), 6), new ComparableStack(ModItems.bolt_tungsten, 6), new ComparableStack(ModItems.motor, 1), },100);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.brick_concrete, 1), new OreDictStack(STEEL.plate(), 6), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(CU.plate(), 12), new ComparableStack(ModItems.wire_tungsten, 4), },130);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), },400);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_reactor_breeding, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1)},150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.reactor_research, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.motor_desh, 2), new OreDictStack(B.ingot(), 5), new OreDictStack(PB.plate(), 8), new ComparableStack(ModItems.crt_display, 3), new ComparableStack(ModItems.circuit_copper, 2), },300);
|
||||
|
||||
@ -12,7 +12,6 @@ import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.inventory.FluidStack;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFluidIcon;
|
||||
@ -45,7 +44,7 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe {
|
||||
if(recipe.output2.type != Fluids.NONE) outputs.add(ItemFluidIcon.make(recipe.output2));
|
||||
for(ItemStack byproduct : recipe.byproduct) outputs.add(byproduct);
|
||||
|
||||
recipes.put(new ComparableStack(ItemFluidIcon.make(input)), outputs.toArray());
|
||||
recipes.put(ItemFluidIcon.make(input), outputs.toArray());
|
||||
}
|
||||
|
||||
return recipes;
|
||||
|
||||
@ -84,7 +84,6 @@ public class ItemModLens extends ItemArmorMod implements ISatChip {
|
||||
if(addIf(ModBlocks.ore_oil, b, 300, aX, seg, aZ, "Oil", 0xa0a0a0, player)) hits++;
|
||||
if(addIf(ModBlocks.ore_bedrock_oil, b, 300, aX, seg, aZ, "Bedrock Oil", 0xa0a0a0, player)) hits++;
|
||||
if(addIf(ModBlocks.ore_coltan, b, 5, aX, seg, aZ, "Coltan", 0xa0a000, player)) hits++;
|
||||
if(addIf(ModBlocks.ore_bedrock_coltan, b, 1, aX, seg, aZ, "Bedrock Coltan", 0xa0a000, player)) hits++;
|
||||
if(addIf(ModBlocks.stone_gneiss, b, 5000, aX, seg, aZ, "Schist", 0x8080ff, player)) hits++;
|
||||
if(addIf(ModBlocks.ore_australium, b, 1000, aX, seg, aZ, "Australium", 0xffff00, player)) hits++;
|
||||
if(addIf(Blocks.end_portal_frame, b, 1, aX, seg, aZ, "End Portal", 0x40b080, player)) hits++;
|
||||
|
||||
@ -64,6 +64,7 @@ public class ItemWandD extends Item {
|
||||
EntityNukeTorex torex = new EntityNukeTorex(world);
|
||||
torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0);
|
||||
torex.setScale(1.5F);
|
||||
torex.setType(1);
|
||||
world.spawnEntityInWorld(torex);
|
||||
/*EntityTracker entitytracker = ((WorldServer) world).getEntityTracker();
|
||||
IntHashMap map = ReflectionHelper.getPrivateValue(EntityTracker.class, entitytracker, "trackedEntityIDs", "field_72794_c");
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.entity.projectile.EntityRubble;
|
||||
import com.hbm.items.ModItems;
|
||||
@ -152,12 +152,7 @@ public class WeaponSpecial extends ItemSword {
|
||||
if(entityPlayer.fallDistance >= 20 && !((EntityPlayer)entityPlayer).capabilities.isCreativeMode) {
|
||||
if(!world.isRemote) {
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, 100, entity.posX, entity.posY, entity.posZ));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, 100 * 0.005F);
|
||||
entity2.posX = entity.posX;
|
||||
entity2.posY = entity.posY;
|
||||
entity2.posZ = entity.posZ;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, entity.posX, entity.posY, entity.posZ, 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityMist;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.entity.projectile.EntityArtilleryShell;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
@ -263,11 +263,7 @@ public class ItemAmmoArty extends Item {
|
||||
this.itemTypes[NUKE] = new ArtilleryShell("ammo_arty_nuke", SpentCasing.COLOR_CASE_16INCH_NUKE) {
|
||||
public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) {
|
||||
shell.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(shell.worldObj, BombConfig.missileRadius, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord));
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(shell.worldObj, 1000, BombConfig.missileRadius * 0.005F);
|
||||
entity2.posX = mop.hitVec.xCoord;
|
||||
entity2.posY = mop.hitVec.yCoord;
|
||||
entity2.posZ = mop.hitVec.zCoord;
|
||||
shell.worldObj.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, BombConfig.missileRadius);
|
||||
shell.setDead();
|
||||
}
|
||||
};
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (4690)";
|
||||
public static final String VERSION = "1.0.27 BETA (4704)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -1056,8 +1056,6 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', ModItems.circuit_red_copper, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier4, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.struct_soyuz_core, 1), new Object[] { "CUC", "TST", "TBT", 'C', ModItems.circuit_targeting_tier4, 'U', ModItems.upgrade_power_3, 'T', ModBlocks.barrel_steel, 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.machine_lithium_battery });
|
||||
addRecipeAuto(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', PB.plate(), 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', PB.plate(), 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', CU.plate(), 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'G', KEY_ANYPANE, 'C', ModItems.circuit_targeting_tier3 });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'C', ModItems.circuit_targeting_tier3 });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium });
|
||||
|
||||
@ -1166,6 +1166,7 @@ public class MainRegistry {
|
||||
ignoreMappings.add("hbm:item.primer_9");
|
||||
ignoreMappings.add("hbm:item.primer_50");
|
||||
ignoreMappings.add("hbm:item.primer_buckshot");
|
||||
ignoreMappings.add("hbm:tile.ore_bedrock_coltan");
|
||||
|
||||
/// REMAP ///
|
||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||
|
||||
@ -68,7 +68,6 @@ import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.ItemStackUtil;
|
||||
import com.hbm.util.LoggingUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.wiaj.GuiWorldInAJar;
|
||||
import com.hbm.wiaj.cannery.CanneryBase;
|
||||
import com.hbm.wiaj.cannery.Jars;
|
||||
|
||||
@ -4,8 +4,6 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.bomb.LaunchPad;
|
||||
import com.hbm.inventory.container.ContainerLaunchPadTier1;
|
||||
import com.hbm.inventory.gui.GUILaunchPadTier1;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemDesingator;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hbm.tileentity.bomb;
|
||||
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityBalefire;
|
||||
import com.hbm.inventory.container.ContainerNukeFstbmb;
|
||||
import com.hbm.inventory.gui.GUINukeFstbmb;
|
||||
@ -128,7 +128,7 @@ public class TileEntityNukeBalefire extends TileEntityMachineBase implements IGU
|
||||
bf.posZ = zCoord + 0.5;
|
||||
bf.destructionRange = (int) 250;
|
||||
worldObj.spawnEntityInWorld(bf);
|
||||
worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFacBale(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, 250 * 1.5F, 1000));
|
||||
EntityNukeTorex.statFacBale(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 250);
|
||||
}
|
||||
|
||||
public String getMinutes() {
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.effect.EntityNukeTorex;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK5;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.inventory.container.ContainerNukeN45;
|
||||
@ -262,12 +262,7 @@ public class TileEntityNukeN45 extends TileEntity implements ISidedInventory, IG
|
||||
break;
|
||||
case 4:
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int)(BombConfig.missileRadius * 0.75F), x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, BombConfig.missileRadius * 0.005F * 0.75F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius * 0.75F);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,7 +231,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
|
||||
|
||||
this.flux = newFlux;
|
||||
|
||||
if(tanks[0].getTankType().hasTrait(FT_PWRModerator.class)) {
|
||||
if(tanks[0].getTankType().hasTrait(FT_PWRModerator.class) && tanks[0].getFill() > 0) {
|
||||
this.flux *= tanks[0].getTankType().getTrait(FT_PWRModerator.class).getMultiplier();
|
||||
}
|
||||
|
||||
|
||||
@ -107,19 +107,26 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu
|
||||
slots[i] = new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, meta);
|
||||
}
|
||||
|
||||
if(item == ModItems.ingot_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 100) == 0) {
|
||||
if(item == ModItems.ingot_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 20) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.ingot_mercury, 1, meta);
|
||||
}
|
||||
if(item == ModItems.ingot_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 20) == 0) {
|
||||
if(item == ModItems.nugget_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 100) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.nugget_mercury, 1, meta);
|
||||
}
|
||||
|
||||
if(item == ModItems.ingot_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 50) == 0) {
|
||||
if(item == ModItems.ingot_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 10) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.ingot_bismuth, 1, meta);
|
||||
}
|
||||
if(item == ModItems.nugget_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 10) == 0) {
|
||||
if(item == ModItems.nugget_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 50) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.nugget_bismuth, 1, meta);
|
||||
}
|
||||
|
||||
if(item == ModItems.powder_sr90 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 10) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.powder_zirconium, 1, meta);
|
||||
}
|
||||
if(item == ModItems.nugget_sr90 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 50) == 0) {
|
||||
slots[i] = new ItemStack(ModItems.nugget_zirconium, 1, meta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@ import com.hbm.saveddata.TomSaveData;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
@ -33,7 +33,6 @@ import com.hbm.tileentity.IOverpressurable;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.ParticleUtil;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
|
||||
@ -13,7 +13,7 @@ import net.minecraft.world.biome.BiomeGenBase.TempCategory;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class BiomeCave {
|
||||
|
||||
@ -52,7 +52,7 @@ public class BiomeCave {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
World world = event.world;
|
||||
|
||||
|
||||
@ -11,14 +11,14 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class DeepLayer {
|
||||
|
||||
NoiseGeneratorPerlin noise;
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
World world = event.world;
|
||||
if(world.provider == null || world.provider.dimensionId != 0) return;
|
||||
|
||||
@ -13,7 +13,7 @@ import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class OreCave {
|
||||
|
||||
@ -71,7 +71,7 @@ public class OreCave {
|
||||
|
||||
@SuppressWarnings("incomplete-switch")
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
World world = event.world;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class OreLayer {
|
||||
|
||||
@ -65,7 +65,7 @@ public class OreLayer {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
World world = event.world;
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class OreLayer3D {
|
||||
|
||||
@ -51,7 +51,7 @@ public class OreLayer3D {
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
World world = event.world;
|
||||
|
||||
|
||||
@ -9,14 +9,14 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
|
||||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
|
||||
public class SchistStratum {
|
||||
|
||||
NoiseGeneratorPerlin noise;
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDecorate(DecorateBiomeEvent.Pre event) {
|
||||
public void onDecorate(PopulateChunkEvent.Pre event) {
|
||||
|
||||
if(this.noise == null) {
|
||||
this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed()), 4);
|
||||
|
||||
@ -275,6 +275,7 @@ container.amsLimiter=AMS-Stabilisator (Deko)
|
||||
container.anvil=Stufe %s Amboss
|
||||
container.arcFurnace=Lichtbogenofen
|
||||
container.armorTable=Rüstungsmodifikationstisch
|
||||
container.ashpit=Aschekasten
|
||||
container.assembler=Fertigungsmaschine
|
||||
container.autocrafter=Automatische Werkbank
|
||||
container.barrel=Fass
|
||||
@ -1893,6 +1894,7 @@ item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY)
|
||||
item.gun_calamity_dual.name=Sattelkanone
|
||||
item.gun_chemthrower.name=Chemowerfer
|
||||
item.gun_coilgun.name=Gaußpistole
|
||||
item.gun_cryocannon.name=Kyro-Kanone
|
||||
item.gun_cryolator.name=Der Cryolator
|
||||
item.gun_cryolator_ammo.name=Kryozelle
|
||||
item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe
|
||||
@ -3710,18 +3712,30 @@ tile.concrete_stairs.name=Betonfliesentreppe
|
||||
tile.concrete_super.name=Super Beton
|
||||
tile.concrete_super_broken.name=Schimmliger Schutt
|
||||
tile.conveyor.name=Förderband
|
||||
tile.conveyor.desc=Bewegt Items$Kann mit Schraubenzieher im Uhrzeigersinn gedreht werden$Shiftclick umdas Band zu biegen
|
||||
tile.conveyor_chute.name=Förderschütte
|
||||
tile.conveyor_chute.desc=Bewegt Items nach unten$Die unterste Schütte verhält sich wie ein normales Förderband
|
||||
tile.conveyor_double.name=Zweispuriges Förderband
|
||||
tile.conveyor_double.desc=Bewegt Items$Kann mit Schraubenzieher im Uhrzeigersinn gedreht werden$Shiftclick umdas Band zu biegen
|
||||
tile.conveyor_lift.name=Kettenaufzug
|
||||
tile.conveyor_lift.desc=Bewegt Items nach oben$Benötigt mindestens zwei Aufzüge übereinander um richtig zu funktionieren
|
||||
tile.conveyor_triple.name=Dreispuriges Förderband
|
||||
tile.conveyor_triple.desc=Bewegt Items$Kann mit Schraubenzieher im Uhrzeigersinn gedreht werden$Shiftclick umdas Band zu biegen
|
||||
tile.corium_block.name=Corium
|
||||
tile.crane_boxer.name=Förderband-Verpacker
|
||||
tile.crane_boxer.desc=Lädt eine konfigurierbare Menge Stacks in Boxen$Rechstclick mit Schraubenzieher um Eingang zu definieren$Shiftclick mit Schraubenzieher um Ausgang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
tile.crane_extractor.name=Förderband-Auswerfer
|
||||
tile.crane_extractor.desc=Nimmt Items aus behältern und legt sie auf Förderbänder$Hat bis zu 9 Filterslots mit Black- und Whitelist$Rechstclick mit Schraubenzieher um Ausgang zu definieren$Shiftclick mit Schraubenzieher um Eingang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
tile.crane_grabber.name=Förderband-Greifer
|
||||
tile.crane_grabber.desc=Nimmt Items von vorbeilaufenden Förderbändern und legt sie in Behälter$Nimmt nur Items von der nähesten Spur$Hat bis zu 9 Filterslots mit Black- und Whitelist$Rechstclick mit Schraubenzieher um Eingang zu definieren$Shiftclick mit Schraubenzieher um Ausgang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
tile.crane_inserter.name=Förderband-Einsetzer
|
||||
tile.crane_inserter.desc=Akzeptiert Items von Förderbändern und legt sie in Behälter$Rechstclick mit Schraubenzieher um Eingang zu definieren$Shiftclick mit Schraubenzieher um Ausgang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
tile.crane_router.name=Förderband-Sortierer
|
||||
tile.crane_router.desc=Sortiert Items basierend auf eingestellte Kriterien$Seiten können als Blacklist, Whitelist oder Wildcard eingestellt werden$Widlcard-Seiten werden nur verwendet, wenn kein anderer Filter zutrifft
|
||||
tile.crate_splitter.name=Förderband-Teiler
|
||||
tile.crane_splitter.desc=Teilt Items und Stacks gleichmäßig auf zwei Förderbänder$Zählt selbst als Förderband, kann also direkt in Einsetzer und Sortierer führen
|
||||
tile.crane_unboxer.name=Förderband-Entpacker
|
||||
tile.crane_unboxer.desc=Öffnet boxen$Rechstclick mit Schraubenzieher um Ausgang zu definieren$Shiftclick mit Schraubenzieher um Eingang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
tile.crashed_bomb.name=Blindgänger
|
||||
tile.crate.name=Vorratskiste
|
||||
tile.crate_ammo.name=Sternenmetallkiste
|
||||
@ -3814,6 +3828,7 @@ tile.factory_titanium_furnace.name=Einfache Fabrikzugriffsluke
|
||||
tile.factory_titanium_hull.name=Fabrikblock
|
||||
tile.fallout.name=Fallout
|
||||
tile.fan.name=Ventilator
|
||||
tile.fan.desc=Kann mit Redstone aktiviert werden$Bewegt Entities bis zu 10 Blöcke$Rechtsclick mit Schraubenzieher um den Ventilator umzudrehen
|
||||
tile.fence_metal.name=Maschendrahtzaun
|
||||
tile.field_disturber.name=Hochenergiefeld-Jammer
|
||||
tile.fire_digamma.name=Verweilendes Digamma
|
||||
@ -3961,7 +3976,7 @@ tile.machine_amgen.name=Umgebungsstrahlungs-Generator
|
||||
tile.machine_arc_furnace_off.name=Lichtbogenofen
|
||||
tile.machine_arc_furnace_on.name=Lichtbogenofen
|
||||
tile.machine_armor_table.name=Rüstungsmodifikationstisch
|
||||
tile.machine_ashpit.name=Ashekasten
|
||||
tile.machine_ashpit.name=Aschekasten
|
||||
tile.machine_ashpit.desc=Sammelt Asche von Feuerbüchsen und Heizöfen
|
||||
tile.machine_assembler.name=Fertigungsmaschine
|
||||
tile.machine_assemfac.name=Fertigungsfabrik
|
||||
@ -4211,6 +4226,8 @@ tile.pink_log.name=Pinkes Holz
|
||||
tile.pink_planks.name=Pinke Holzbretter
|
||||
tile.pink_slab.name=Pinke Holzstufe
|
||||
tile.pink_stairs.name=Pinke Holztreppen
|
||||
tile.piston_inserter.name=Einsetzer-Kolben
|
||||
tile.piston_inserter.desc=Kann ein Item halten$Wenn mit Redstone aktiviert, setzt das Item in gebohrten Graphit ein$Alle Items in gebohrten Graphitblöcken in der Linie werden einen Block verschoben$Benötigt einen Luftblock zwischen sich selbst und dem Graphit
|
||||
tile.plant_dead.name=Tote Pflanze
|
||||
tile.plant_flower.cd0.name=Senf-Weide
|
||||
tile.plant_flower.cd1.name=Senf-Weide
|
||||
@ -4232,6 +4249,25 @@ tile.pribris.name=RBMK-Schutt
|
||||
tile.pribris_burning.name=Flammender RBMK-Schutt
|
||||
tile.pribris_digamma.name=Geschwärzter RBMK-Schutt
|
||||
tile.pribris_radiating.name=Glühender RBMK-Schutt
|
||||
tile.pwr_block.name=PWR
|
||||
tile.pwr_casing.name=PWR Druckbehälter
|
||||
tile.pwr_casing.desc=Muss alle internen Teile des PWRs abdecken$Platzierung: Hülle
|
||||
tile.pwr_channel.name=PWR Kühlmittelkanal
|
||||
tile.pwr_channel.desc=Nutzt Hitze aus der Hülle um Kühlmittle zu erhitzen$Platzierung: Egal
|
||||
tile.pwr_control.name=PWR Steuerstäbe
|
||||
tile.pwr_control.desc=Reguliert verbundene Brennstäbe$Platzierung: Gitter, zwischen Brennstäben
|
||||
tile.pwr_controller.name=PWR Controller
|
||||
tile.pwr_controller.desc=Zugangsterminal zum PWR$Platzierung: Hülle, nur eines pro Reaktor$Rechtsclick um Reaktor zusammenzubauen
|
||||
tile.pwr_fuel.name=PWR Brennstäbe
|
||||
tile.pwr_fuel.desc=Erhöht die Kapazität für Brennelemente$Platzierung: Gitter, für höhere Reaktivität
|
||||
tile.pwr_heatex.name=PWR Waärmetauscher
|
||||
tile.pwr_heatex.desc=Gleicht Kerntemparatur mit Hülltemparatur aus$Platzierung: Egal
|
||||
tile.pwr_neutron_source.name=PWR Neutronenquelle
|
||||
tile.pwr_neutron_source.desc=Fügt dem Kern 20 Flux hinzu$Platzierung: Egal$Flux erreicht den Kern nur, wenn Steuerstäbe offen sind
|
||||
tile.pwr_port.name=PWR Zugangsport
|
||||
tile.pwr_port.desc=Erlaubt IO für Items und Flüssigkeiten$Platzierung: Hülle
|
||||
tile.pwr_reflector.name=PWR Neutronenreflektor
|
||||
tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle
|
||||
tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler
|
||||
tile.radio_torch_counter.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Signal basiert auf Anzahl passender Items
|
||||
tile.radio_torch_receiver.name=Redstone-over-Radio Empfänger
|
||||
|
||||
@ -632,6 +632,7 @@ container.amsLimiter=AMS Stabilizer (Deco)
|
||||
container.anvil=Tier %s Anvil
|
||||
container.arcFurnace=Arc Furnace
|
||||
container.armorTable=Armor Modification Table
|
||||
container.ashpit=Ashpit
|
||||
container.assembler=Assembly Machine
|
||||
container.autocrafter=Automatic Crafting Table
|
||||
container.barrel=Barrel
|
||||
@ -2610,6 +2611,7 @@ item.gun_calamity_dual.name=Saddle Gun
|
||||
item.gun_chemthrower.name=Chemthrower
|
||||
item.gun_coilgun.name=Coilgun
|
||||
item.gun_congolake.name=Congo Lake
|
||||
item.gun_cryocannon.name=Cryo Cannon
|
||||
item.gun_cryolator.name=The Cryolator
|
||||
item.gun_cryolator_ammo.name=Cryo Cell
|
||||
item.gun_dampfmaschine.name=Totally Not a Joke Weapon
|
||||
@ -4680,18 +4682,30 @@ tile.concrete_stairs.name=Concrete Tile Stairs
|
||||
tile.concrete_super.name=Über Concrete
|
||||
tile.concrete_super_broken.name=Moldy Debris
|
||||
tile.conveyor.name=Conveyor Belt
|
||||
tile.conveyor.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend
|
||||
tile.conveyor_chute.name=Conveyor Chute
|
||||
tile.conveyor_chute.desc=Moves items down$The bottom-most chute will act like a regular conveyor belt
|
||||
tile.conveyor_double.name=Double-Lane Conveyor Belt
|
||||
tile.conveyor_double.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend
|
||||
tile.conveyor_lift.name=Conveyor Chain Lift
|
||||
tile.conveyor_lift.desc=Moves items up$Requires at least two blocks on top of each other to work properly
|
||||
tile.conveyor_triple.name=Triple-Lane Conveyor Belt
|
||||
tile.conveyor_triple.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend
|
||||
tile.corium_block.name=Corium
|
||||
tile.crane_boxer.name=Conveyor Boxer
|
||||
tile.crane_boxer.desc=Loads a configurable amount of stacks into boxes which move along conveyor belts$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side
|
||||
tile.crane_extractor.name=Conveyor Ejector
|
||||
tile.crane_extractor.desc=Takes items from inventories and places them on covneyor belts$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set output side$Shift-click with screwdriver to set the input side$Click twice to set the opposite side
|
||||
tile.crane_grabber.name=Conveyor Grabber
|
||||
tile.crane_grabber.desc=Takes items from passing conveyors and places them into containers$Will only take items from the closest lane$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side
|
||||
tile.crane_inserter.name=Conveyor Inserter
|
||||
tile.crane_inserter.desc=Accepts items from conveyors and places them into containers$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side
|
||||
tile.crane_router.name=Conveyor Sorter
|
||||
tile.crane_router.desc=Sorts item based on defined criteria$Sides can be defined as blacklist, whitelist or wildcard$Wildcard sides are only chosen if no other filter matches
|
||||
tile.crane_splitter.name=Conveyor Splitter
|
||||
tile.crane_splitter.desc=Splits items and stacks evenly onto two conveyor belts$Is a conveyor belt itself, so it can directly input into an inserter or sorter
|
||||
tile.crane_unboxer.name=Conveyor Unboxer
|
||||
tile.crane_unboxer.desc=Receives boxes and extracts their contents$Right-click with screwdriver to set output side$Shift-click with screwdriver to set the input side$Click twice to set the opposite side
|
||||
tile.crashed_bomb.name=Dud
|
||||
tile.crate.name=Supply Crate
|
||||
tile.crate_ammo.name=Starmetal Crate
|
||||
@ -4714,27 +4728,6 @@ tile.deco_asbestos.name=Asbestos Roof
|
||||
tile.deco_beryllium.name=Beryllium Deco Block
|
||||
tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL
|
||||
tile.deco_emitter.name=Deco Light Emitter
|
||||
tile.part_emitter.name=Deco Particle Emitter
|
||||
tile.piston_inserter.name=Inserter
|
||||
tile.pwr_block.name=PWR
|
||||
tile.pwr_casing.name=PWR Pressure Vessel
|
||||
tile.pwr_casing.desc=Needs to cover all internal parts for the reactor to form$Placement: Casing
|
||||
tile.pwr_channel.name=PWR Coolant Channel
|
||||
tile.pwr_channel.desc=Uses hull heat to heat up coolant$Placement: Any
|
||||
tile.pwr_control.name=PWR Control Rod
|
||||
tile.pwr_control.desc=Allows connected fuel rods to be controlled$Placement: Grid, between control rods
|
||||
tile.pwr_controller.name=PWR Controller
|
||||
tile.pwr_controller.desc=Access terminal for the PWR$Placement: Casing, only one per reactor$Right-click to assemble the reactor
|
||||
tile.pwr_fuel.name=PWR Fuel Rod
|
||||
tile.pwr_fuel.desc=Increases PWR fuel capacity$Placement: Grid, for increased reactivity
|
||||
tile.pwr_heatex.name=PWR Heat Exchanger
|
||||
tile.pwr_heatex.desc=Moves core heat to the hull$Placement: Any
|
||||
tile.pwr_neutron_source.name=PWR Neutron Source
|
||||
tile.pwr_neutron_source.desc=Adds 20 flux to the core$Placement: Any$Flux only reaches fuel rods if connections are open
|
||||
tile.pwr_port.name=PWR Access Port
|
||||
tile.pwr_port.desc=Allows item and fluid IO$Placement: Casing
|
||||
tile.pwr_reflector.name=PWR Neutron Reflector
|
||||
tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for increased reactivity$Valid casing material
|
||||
tile.deco_lead.name=Lead Deco Block
|
||||
tile.deco_rbmk.name=RBMK Deco Block
|
||||
tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block
|
||||
@ -4806,6 +4799,7 @@ tile.factory_titanium_furnace.name=Basic Factory Access Hatch
|
||||
tile.factory_titanium_hull.name=Factory Block
|
||||
tile.fallout.name=Fallout
|
||||
tile.fan.name=Fan
|
||||
tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip
|
||||
tile.fence_metal.name=Chainlink Fence
|
||||
tile.field_disturber.name=High Energy Field Jammer
|
||||
tile.filing_cabinet.green.name=Dusty Filing Cabinet
|
||||
@ -5205,11 +5199,14 @@ tile.ore_uranium_scorched.name=Scorched Uranium Ore
|
||||
tile.ore_verticium.name=Dollar Green Mineral
|
||||
tile.ore_volcano.name=Geothermal Vent
|
||||
tile.ore_weidanium.name=Weidite
|
||||
tile.part_emitter.name=Deco Particle Emitter
|
||||
tile.pink_barrel.name=Kerosene Barrel
|
||||
tile.pink_log.name=Pink Log
|
||||
tile.pink_planks.name=Pink Wood Planks
|
||||
tile.pink_slab.name=Pink Wood Slab
|
||||
tile.pink_stairs.name=Pink Wood Stairs
|
||||
tile.piston_inserter.name=Inserter
|
||||
tile.piston_inserter.desc=Can receive one item using automation$Using redstone, it will insert the item into drilled graphite$All drilled graphite in the chain will have their items pushed by one block$Needs one block of air between the graphite
|
||||
tile.plant_dead.name=Dead Plant
|
||||
tile.plant_flower.cd0.name=Mustard Willow
|
||||
tile.plant_flower.cd1.name=Mustard Willow
|
||||
@ -5231,6 +5228,25 @@ tile.pribris.name=RBMK Debris
|
||||
tile.pribris_burning.name=Flaming RBMK Debris
|
||||
tile.pribris_digamma.name=Blackened RBMK Debris
|
||||
tile.pribris_radiating.name=Smoldering RBMK Debris
|
||||
tile.pwr_block.name=PWR
|
||||
tile.pwr_casing.name=PWR Pressure Vessel
|
||||
tile.pwr_casing.desc=Needs to cover all internal parts for the reactor to form$Placement: Casing
|
||||
tile.pwr_channel.name=PWR Coolant Channel
|
||||
tile.pwr_channel.desc=Uses hull heat to heat up coolant$Placement: Any
|
||||
tile.pwr_control.name=PWR Control Rod
|
||||
tile.pwr_control.desc=Allows connected fuel rods to be controlled$Placement: Grid, between fuel rods
|
||||
tile.pwr_controller.name=PWR Controller
|
||||
tile.pwr_controller.desc=Access terminal for the PWR$Placement: Casing, only one per reactor$Right-click to assemble the reactor
|
||||
tile.pwr_fuel.name=PWR Fuel Rod
|
||||
tile.pwr_fuel.desc=Increases PWR fuel capacity$Placement: Grid, for increased reactivity
|
||||
tile.pwr_heatex.name=PWR Heat Exchanger
|
||||
tile.pwr_heatex.desc=Moves core heat to the hull$Placement: Any
|
||||
tile.pwr_neutron_source.name=PWR Neutron Source
|
||||
tile.pwr_neutron_source.desc=Adds 20 flux to the core$Placement: Any$Flux only reaches fuel rods if connections are open
|
||||
tile.pwr_port.name=PWR Access Port
|
||||
tile.pwr_port.desc=Allows item and fluid IO$Placement: Casing
|
||||
tile.pwr_reflector.name=PWR Neutron Reflector
|
||||
tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for increased reactivity$Valid casing material
|
||||
tile.radio_torch_counter.name=Redstone-over-Radio Item Counter
|
||||
tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items
|
||||
tile.radio_torch_receiver.name=Redstone-over-Radio Receiver
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 9.4 KiB |
Loading…
x
Reference in New Issue
Block a user