gramfeld, why hast thou consumed all the pasta

This commit is contained in:
Boblet 2026-05-04 14:50:25 +02:00
parent 0356277506
commit 94a47a6f63
38 changed files with 265 additions and 426 deletions

View File

@ -12,8 +12,13 @@
* If two pipe anchors are connected, one having a type set and one still being "none", instead of erroring, the "none" pipe will assume the other one's type
* Self-chargers in battery sockets now produce unreliable power output which constantly fluctuates
* Self-chargers in battery sockets now cause static discharges in regular intervals
* Added more RoR functionality to the boilers, industrial combustion engine, CCGT and ZIRNOX
* Added more RoR functionality to the boilers, industrial combustion engine, heat exchangers, fluid burners, CCGT and ZIRNOX
* Turrets can now be toggled and configured with RoR
* Artillery turrets can now have targets enqueued with RoR
* The RBMK numeric displays can now be controlled via OpenComputers, and come with built-in settings for shortening numbers and displaying leading zeroes
* The industrial steam turbine now has OpenComputers integration
* The RBMK fuel crane can now report stats for the loaded fuel rod to OpenComputers
* The RBMK console can now detect and send all stored RBMK fuel rods in storage columns via OpenComputers
* Crates now open when right-clicked by default, holding shift is required to place them down
* The automatic buzzsaw can now burn coal tar creosote
* The old cluster type effect used by MPBs and cluster missiles now use the new generic projectile system with actual bomblet models
@ -24,9 +29,30 @@
* Tungsten carbide is made in the pyrolysis oven using syngas and tungsten powder
* Many recipes that used to use neutron reflectors now use alternative materials like HSS plates or weapon steel
* This effectively means that neutron reflectors are post oil 3
* PWR neutron reflectors have an alternate recipe allowing them to be made with weaponsteel
* Removed legacy battery items and selfchargers
* Added more QMAW pages
* Expensive mode plastic sheets now only use rubber instead of rubber or latex
* Updated the texture on the fop thing
* RoR info on tanks now displays the (0-3) value range of the mode setting
* Spike, tesla and microwave damage have now been categorized as physical, energy and energy respectively, making armors resistant against them
* Fau and DNT armor now have explicit physical resistances, making them harder to pierce
* The rubber recipe now yields two rubber per sulfur used
* Foundry scraps now show their material in the name instead of the description
* Bedrock ore minimum tier and bore fluid is no longer fixed at (1/NONE), rather it scales with the quality of the bedrock ore at that spot
* The bedrock ore density scanner will try to predict the required tier and bore fluid at the current spot, and show it as part of the HUD
* This only applies to newly generated bedrock ore patches
* Reduced industrial turbine cost from 3 titanium steam turbine blades to 2
* Motors now have yet another alternate recipe in the arc welder, using steel plates but substituting the coils with a dense red copper wires
* Dense red copper wires can now be welded
* The old factory hull blocks have been deprecated
* The singularity screwdriver, being with no purpose ever since the fwatz got removed, has been removed as well
* Desh motors now use dense golden wires instead of golden ring coils
* Added "desh from cracked oil" recipe
* Default recipe, doesn't need a blueprint
* Uses cracked light oil instead of regular light oil (500mB at 1 PU, or 2.5x more than the standard recipe, plus one compressor)
* Uses 100mB of mercury instead of 200mB
* All standard coils now have alternate recipes, using a steel core instead of an iron one
## Fixed
* Fixed uncrafting of the nickel RTG pellet not respecting item metadata
@ -35,4 +61,7 @@
* Fixed dispensed dynamites being considered impact grenades for some reason
* Fixed RBMK flux detection with RoR and OC not working
* Moved the soyuz launcher core component recipe to the assembler, fixing an issue where the component recipe is not available in 528 mode
* Fixed crash caused by using the copy tool on uncolored RBMK control rods
* Fixed crash caused by using the copy tool on uncolored RBMK control rods
* Fixed turbine blade smelting in the crucible only yielding 2 ingots worth of material
* Fixed cluster missiles never properly splitting before impact
* The final splitting height depends on the trajectory's arc, cluster missiles are therefore not suitable for very long distances

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=5671
mod_build_number=5685
credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\

View File

@ -846,8 +846,8 @@ public class ModBlocks {
public static Block struct_watz_core;
public static Block struct_icf_core;
public static Block factory_titanium_hull;
public static Block factory_advanced_hull;
@Deprecated public static Block factory_titanium_hull;
@Deprecated public static Block factory_advanced_hull;
public static Block cm_block;
public static Block cm_sheet;
@ -1917,9 +1917,9 @@ public class ModBlocks {
pneumatic_tube = new PneumoTube().setBlockName("pneumatic_tube").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_tube");
pneumatic_tube_paintable = new PneumoTubePaintableBlock().setBlockName("pneumatic_tube_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
pneumatic_storage_access = new PneumoStorageAccess().setBlockName("pneumatic_storage_access").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_access");
pneumatic_storage_clutter = new PneumoStorageClutter().setBlockName("pneumatic_storage_clutter").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_clutter");
pneumatic_storage_mono = new PneumoStorageMono().setBlockName("pneumatic_storage_mono").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_mono");
pneumatic_storage_access = new PneumoStorageAccess().setBlockName("pneumatic_storage_access").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_access");
pneumatic_storage_clutter = new PneumoStorageClutter().setBlockName("pneumatic_storage_clutter").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_clutter");
pneumatic_storage_mono = new PneumoStorageMono().setBlockName("pneumatic_storage_mono").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pneumatic_storage_mono");
chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain");
@ -1962,8 +1962,8 @@ public class ModBlocks {
struct_watz_core = new BlockWatzStruct(Material.iron).setBlockName("struct_watz_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_watz_core");
struct_icf_core = new BlockICFStruct(Material.iron).setBlockName("struct_icf_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_icf_core");
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull");
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull");
cm_block = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_block").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_block");
cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_sheet");

View File

@ -12,38 +12,28 @@ import net.minecraft.world.World;
public class Spikes extends Block {
public Spikes(Material mat) {
super(mat);
}
public boolean isOpaqueCube()
{
return false;
}
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
{
return null;
}
public static int renderID = RenderingRegistry.getNextAvailableRenderId();
public int getRenderType()
{
return renderID;
}
public boolean renderAsNormalBlock()
{
return false;
public Spikes(Material mat) {
super(mat);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
return null;
}
public static int renderID = RenderingRegistry.getNextAvailableRenderId();
@Override public int getRenderType() { return renderID; }
@Override public boolean renderAsNormalBlock() { return false; }
@Override public boolean isOpaqueCube() { return false; }
@Override
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity ent) {
if(ent instanceof EntityLivingBase && ent.motionY < -0.1) {
if(ent.attackEntityFrom(ModDamageSource.spikes, 100))
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:entity.slicer", 1.0F, 1.0F);
}
}
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity ent) {
if(ent instanceof EntityLivingBase && ent.motionY < -0.1) {
if(ent.attackEntityFrom(ModDamageSource.spikes, 100))
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:entity.slicer", 1.0F, 1.0F);
}
}
}

View File

@ -1,23 +0,0 @@
package com.hbm.blocks.turret;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretBrandon;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class TurretBrandon extends TurretBaseNT {
public TurretBrandon(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12)
return new TileEntityTurretBrandon();
return new TileEntityProxyCombo().inventory().power();
}
}

View File

@ -149,7 +149,7 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen
motionY -= 0.05;
}
if(motionY < -velocity && this.isCluster) {
if(motionY < -1.5 && this.isCluster) {
cluster();
this.setDead();
return;

View File

@ -47,8 +47,8 @@ public class MatDistribution extends SerializableRecipe {
registerEntry(Items.minecart, MAT_IRON, INGOT.q(5));
//castables
registerEntry(ModItems.blade_titanium, MAT_TITANIUM, INGOT.q(2));
registerEntry(ModItems.blade_tungsten, MAT_TUNGSTEN, INGOT.q(2));
registerEntry(ModItems.blade_titanium, MAT_TITANIUM, INGOT.q(3));
registerEntry(ModItems.blade_tungsten, MAT_TUNGSTEN, INGOT.q(3));
registerEntry(ModItems.blades_steel, MAT_STEEL, INGOT.q(4));
registerEntry(ModItems.blades_titanium, MAT_TITANIUM, INGOT.q(4));
registerEntry(ModItems.blades_advanced_alloy, MAT_ALLOY, INGOT.q(4));

View File

@ -37,6 +37,8 @@ public class ArcWelderRecipes extends SerializableRecipe {
new OreDictStack(IRON.plate(), 2), new ComparableStack(ModItems.coil_copper), new ComparableStack(ModItems.coil_copper_torus)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.motor, 2), 100, 400L,
new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.coil_copper), new ComparableStack(ModItems.coil_copper_torus)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.motor, 2), 100, 400L,
new OreDictStack(STEEL.plate(), 2), new OreDictStack(MINGRADE.wireDense(), 2)));
recipes.add(new ArcWelderRecipe(DictFrame.fromOne(ModItems.part_generic, EnumPartType.LDE), 200, 5_000L,
new OreDictStack(AL.plate(), 4), new OreDictStack(FIBER.ingot(), 4), new OreDictStack(ANY_HARDPLASTIC.ingot())));
recipes.add(new ArcWelderRecipe(DictFrame.fromOne(ModItems.part_generic, EnumPartType.LDE), 200, 10_000L,
@ -47,6 +49,8 @@ public class ArcWelderRecipes extends SerializableRecipe {
//Dense Wires
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_COPPER.id), 100, 10_000L,
new OreDictStack(CU.wireFine(), 8)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_MINGRADE.id), 100, 10_000L,
new OreDictStack(MINGRADE.wireFine(), 8)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_ALLOY.id), 100, 10_000L,
new OreDictStack(ALLOY.wireFine(), 8)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_GOLD.id), 100, 10_000L,

View File

@ -383,7 +383,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
.inputItems(new OreDictStack(STEEL.pipe(), 12), 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))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(NB.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16), new ComparableStack(ModBlocks.glass_quartz, 16)));
this.register(new GenericRecipe("ass.iturbine").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_industrial_turbine, 1))
.inputItems(new OreDictStack(STEEL.plate(), 16), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.turbine_titanium, 3), new OreDictStack(GOLD.wireDense(), 4), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC))
.inputItems(new OreDictStack(STEEL.plate(), 16), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.turbine_titanium, 2), new OreDictStack(GOLD.wireDense(), 4), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.turbine_titanium, 3), new OreDictStack(GOLD.wireDense(), 16), new OreDictStack(DURA.pipe(), 16), new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.CIRCUIT)));
this.register(new GenericRecipe("ass.leviturbine").setup(600, 100).outputItems(new ItemStack(ModBlocks.machine_chungus, 1))
.inputItems(new OreDictStack(STEEL.shell(), 6), new OreDictStack(STEEL.plateWelded(), 16), new OreDictStack(TI.plate(), 12), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new ComparableStack(ModItems.turbine_tungsten, 5), new ComparableStack(ModItems.turbine_titanium, 3), new ComparableStack(ModItems.flywheel_beryllium, 1), new OreDictStack(GOLD.wireDense(), 48), new OreDictStack(DURA.pipe(), 16), new OreDictStack(STEEL.pipe(), 16))
@ -506,6 +506,9 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.pwrreflector").setup(200, 500).outputItems(new ItemStack(ModBlocks.pwr_reflector, 4))
.inputItems(new OreDictStack(STEEL.plateCast(), 2), new ComparableStack(ModItems.neutron_reflector, 4))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.STEEL_PLATING), new ComparableStack(ModItems.neutron_reflector, 16)));
this.register(new GenericRecipe("ass.pwrreflectoralt").setup(200, 500).outputItems(new ItemStack(ModBlocks.pwr_reflector, 4))
.inputItems(new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(WEAPONSTEEL.plate(), 16))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.STEEL_PLATING), new OreDictStack(WEAPONSTEEL.plate(), 32)));
this.register(new GenericRecipe("ass.pwrcasing").setup(200, 500).outputItems(new ItemStack(ModBlocks.pwr_casing, 4))
.inputItems(new OreDictStack(PB.plate(), 4), new OreDictStack(ANY_CONCRETE.any(), 4))
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_CONCRETE.any(), 4)));

View File

@ -193,6 +193,12 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200)} :
new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200), new FluidStack(Fluids.MERCURY, 200)})
.outputItems(new ItemStack(ModItems.ingot_desh)));
this.register(new GenericRecipe("chem.deshcracked").setupNamed(100, 100)
.inputItems(new ComparableStack(ModItems.powder_desh_mix))
.inputFluids((GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ?
new FluidStack[] {new FluidStack(Fluids.LIGHTOIL_CRACK, 500)} :
new FluidStack[] {new FluidStack(Fluids.LIGHTOIL_CRACK, 500, 1), new FluidStack(Fluids.MERCURY, 100)})
.outputItems(new ItemStack(ModItems.ingot_desh)));
this.register(new GenericRecipe("chem.polymer").setup(100, 100)
.inputItems(new OreDictStack(COAL.dust(), 2), new OreDictStack(F.dust()))
@ -206,7 +212,7 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("chem.rubber").setup(100, 200)
.inputItems(new OreDictStack(S.dust()))
.inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528PressurizedRecipes ? 2 : 0))
.outputItems(new ItemStack(ModItems.ingot_rubber)));
.outputItems(new ItemStack(ModItems.ingot_rubber, 2)));
this.register(new GenericRecipe("chem.hardplastic").setup(100, 1_000)
.inputFluids(new FluidStack(Fluids.XYLENE, 500, GeneralConfig.enable528PressurizedRecipes ? 2 : 0), new FluidStack(Fluids.PHOSGENE, 500, GeneralConfig.enable528PressurizedRecipes ? 2 : 0))

View File

@ -216,7 +216,7 @@ public class AnvilRecipes extends SerializableRecipe {
new AStack[] {new OreDictStack(IRON.plate(), 2), new ComparableStack(ModItems.coil_copper), new ComparableStack(ModItems.coil_copper_torus)},
new AnvilOutput(new ItemStack(ModItems.motor, 2))).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {new ComparableStack(ModItems.motor), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(DESH.ingot(), 2), new ComparableStack(ModItems.coil_gold_torus)},
new AStack[] {new ComparableStack(ModItems.motor), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(DESH.ingot(), 2), new OreDictStack(GOLD.wireDense())},
new AnvilOutput(new ItemStack(ModItems.motor_desh, 1))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(

View File

@ -1565,7 +1565,6 @@ public class ModItems {
public static Item blowtorch;
public static Item acetylene_torch;
public static Item boltgun;
public static Item overfuse;
public static Item arc_electrode;
public static Item arc_electrode_burnt;
@ -3731,7 +3730,6 @@ public class ModItems {
blowtorch = new ItemBlowtorch().setUnlocalizedName("blowtorch");
acetylene_torch = new ItemBlowtorch().setUnlocalizedName("acetylene_torch");
boltgun = new ItemBoltgun().setUnlocalizedName("boltgun");
overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse");
arc_electrode = new ItemArcElectrode().setUnlocalizedName("arc_electrode").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode");
arc_electrode_burnt = new ItemArcElectrodeBurnt().setUnlocalizedName("arc_electrode_burnt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode_burnt");
@ -5284,7 +5282,6 @@ public class ModItems {
GameRegistry.registerItem(blowtorch, blowtorch.getUnlocalizedName());
GameRegistry.registerItem(acetylene_torch, acetylene_torch.getUnlocalizedName());
GameRegistry.registerItem(boltgun, boltgun.getUnlocalizedName());
GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName());
GameRegistry.registerItem(arc_electrode, arc_electrode.getUnlocalizedName());
GameRegistry.registerItem(arc_electrode_burnt, arc_electrode_burnt.getUnlocalizedName());

View File

@ -87,14 +87,18 @@ public class ItemScraps extends ItemAutogen {
@Override
public String getItemStackDisplayName(ItemStack stack) {
if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) {
MaterialStack contents = getMats(stack);
if(contents != null) {
return I18nUtil.resolveKey(contents.material.getUnlocalizedName());
MaterialStack contents = getMats(stack);
if(contents != null) {
String matName = contents.material.getUnlocalizedName();
if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) {
return I18nUtil.resolveKey(matName);
} else {
return ("" + StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".name", matName)).trim();
}
}
return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim();
return "Foundry Scraps";
}
@Override
@ -103,11 +107,11 @@ public class ItemScraps extends ItemAutogen {
if(contents != null) {
list.add(Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)));
if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) {
list.add(Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)));
if(contents.material.smeltable == contents.material.smeltable.ADDITIVE) list.add(EnumChatFormatting.DARK_RED + "Additive, not castable!");
} else {
list.add(I18nUtil.resolveKey(contents.material.getUnlocalizedName()) + ", " + Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)));
}
}
}

View File

@ -1,10 +1,12 @@
package com.hbm.items.tool;
import com.hbm.inventory.FluidStack;
import com.hbm.items.special.ItemBedrockOreBase;
import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.PlayerInformPacket;
import com.hbm.util.ChatBuilder;
import com.hbm.world.feature.BedrockOre;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
@ -22,6 +24,8 @@ public class ItemOreDensityScanner extends Item {
EntityPlayerMP player = (EntityPlayerMP) entity;
double totalLevel = 0D;
for(BedrockOreType type : BedrockOreType.values()) {
double level = ItemBedrockOreBase.getOreLevel((int) Math.floor(player.posX), (int) Math.floor(player.posZ), type);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(
@ -30,7 +34,21 @@ public class ItemOreDensityScanner extends Item {
.nextTranslation(translateDensity(level)).color(getColor(level))
.next(")").color(EnumChatFormatting.RESET).flush(),
777 + type.ordinal(), 4000), player);
totalLevel += level;
}
totalLevel /= BedrockOreType.values().length;
int tier = BedrockOre.getTier(totalLevel);
FluidStack boreFluid = BedrockOre.getBoreFluid(totalLevel);
ChatBuilder builder = ChatBuilder.start("Tier " + tier);
if(boreFluid != null) {
builder.next(" - " + boreFluid.fill + "mB ")
.nextTranslation(boreFluid.type.getUnlocalizedName());
}
builder.color(EnumChatFormatting.YELLOW);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(builder.flush(), 777 + BedrockOreType.values().length, 4000), player);
}
public static String translateDensity(double density) {

View File

@ -146,7 +146,7 @@ public class HbmWorldGen implements IWorldGenerator {
int randPosX = i + rand.nextInt(2) + 8;
int randPosZ = j + rand.nextInt(2) + 8;
BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.bedrock_ore_base), null, 0xD78A16, 1);
BedrockOre.generateAuto(world, randPosX, randPosZ);
}
} else {

View File

@ -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 (5671)";
public static final String VERSION = "1.0.27 BETA (5685)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -240,7 +240,6 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHowardDamaged.class, new RenderTurretHowardDamaged());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretMaxwell.class, new RenderTurretMaxwell());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFritz.class, new RenderTurretFritz());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretBrandon.class, new RenderTurretBrandon());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretArty.class, new RenderTurretArty());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHIMARS.class, new RenderTurretHIMARS());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentry.class, new RenderTurretSentry());

View File

@ -170,20 +170,25 @@ public class CraftingManager {
addShapelessAuto(new ItemStack(ModItems.biomass, 4), new Object[] { DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED), DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) });
addRecipeAuto(new ItemStack(ModItems.coil_copper, 1), new Object[] { "WWW", "WIW", "WWW", 'W', MINGRADE.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_copper, 1), new Object[] { "WWW", "WIW", "WWW", 'W', MINGRADE.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_alloy, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ALLOY.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_alloy, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ALLOY.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_gold, 1), new Object[] { "WWW", "WIW", "WWW", 'W', GOLD.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_advanced_alloy });
addRecipeAuto(new ItemStack(ModItems.coil_gold_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_gold });
addRecipeAuto(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_advanced_alloy });
addRecipeAuto(new ItemStack(ModItems.coil_gold_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_gold });
addRecipeAuto(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', W.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_gold, 1), new Object[] { "WWW", "WIW", "WWW", 'W', GOLD.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_magnetized_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', MAGTUNG.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_magnetized_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', MAGTUNG.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', W.wireFine(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', W.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_advanced_alloy });
addRecipeAuto(new ItemStack(ModItems.coil_advanced_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_advanced_alloy });
addRecipeAuto(new ItemStack(ModItems.coil_gold_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', IRON.plate(), 'C', ModItems.coil_gold });
addRecipeAuto(new ItemStack(ModItems.coil_gold_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', STEEL.plate(), 'C', ModItems.coil_gold });
addRecipeAuto(new ItemStack(ModItems.tank_steel, 2), new Object[] { "STS", "S S", "STS", 'S', STEEL.plate(), 'T', TI.plate() });
addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", "ITI", 'R', MINGRADE.wireFine(), 'T', ModItems.coil_copper_torus, 'I', IRON.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", " T ", 'R', MINGRADE.wireFine(), 'T', ModItems.coil_copper_torus, 'I', STEEL.plate(), 'C', ModItems.coil_copper });
addRecipeAuto(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.coil_gold_torus, 'D', DESH.ingot(), 'M', ModItems.motor });
addRecipeAuto(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', GOLD.wireDense(), 'D', DESH.ingot(), 'M', ModItems.motor });
addRecipeAuto(new ItemStack(ModItems.motor_bismuth, 1), new Object[] { "BCB", "SDS", "BCB", 'B', BI.nugget(), 'C', ModBlocks.hadron_coil_alloy, 'S', STEEL.plateCast(), 'D', DURA.ingot() });
addRecipeAuto(new ItemStack(ModItems.deuterium_filter, 1), new Object[] { "TST", "SCS", "TST", 'T', ANY_RESISTANTALLOY.ingot(), 'S', S.dust(), 'C', ModItems.catalyst_clay });
@ -320,9 +325,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.upgrade_template, 1), new Object[] { "WIW", "PCP", "WIW", 'W', CU.wireFine(), 'I', IRON.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'P', ModItems.plate_polymer });
addRecipeAuto(new ItemStack(ModItems.upgrade_template, 1), new Object[] { "WIW", "PCP", "WIW", 'W', CU.wireFine(), 'I', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', ModItems.plate_polymer });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 8), new Object[] { "PIP", "I I", "PIP", 'P', TI.plate(), 'I', TI.ingot() });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 8), new Object[] { "PIP", "I I", "PIP", 'P', ALLOY.plate(), 'I', ALLOY.ingot() });
addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.GRAPHITE), new Object[] { "C", "T", "C", 'C', GRAPHITE.ingot(), 'T', STEEL.bolt() });
addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.GRAPHITE), new Object[] { "C", "T", "C", 'C', PETCOKE.gem(), 'T', ANY_TAR.any() });
addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.LANTHANIUM), new Object[] { "C", "T", "C", 'C', LA.ingot(), 'T', KEY_BRICK });
@ -343,8 +345,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.crystal_xen, 1), new Object[] { "EEE", "EIE", "EEE", 'E', ModItems.powder_power, 'I', EUPH.ingot() });
addShapelessAuto(new ItemStack(ModItems.fuse, 1), new Object[] { STEEL.plate(), ModItems.plate_polymer, W.wireFine() });
addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), CU.plateCast(), ModItems.black_hole, CS.dust() });
addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), ST.dust(), BR.dust(), CO.dust(), TS.dust(), NB.dust(), CU.plateCast(), ModItems.black_hole, CE.dust() });
addRecipeAuto(new ItemStack(ModItems.blades_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', STEEL.plate(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.blades_titanium, 1), new Object[] { " P ", "PIP", " P ", 'P', TI.plate(), 'I', TI.ingot() });

View File

@ -1604,6 +1604,7 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.battery_sc_gold");
ignoreMappings.add("hbm:item.battery_sc_lead");
ignoreMappings.add("hbm:item.battery_sc_americium");
ignoreMappings.add("hbm:item.overfuse");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -27,7 +27,6 @@ public class ResourceManager {
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")).asVBO();
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")).asVBO();
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")).asVBO();
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")).asVBO();
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asVBO();
public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asVBO();
public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asVBO();
@ -444,7 +443,6 @@ public class ResourceManager {
public static final ResourceLocation turret_howard_barrels_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/howard_barrels.png");
public static final ResourceLocation turret_maxwell_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/maxwell.png");
public static final ResourceLocation turret_fritz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/fritz.png");
public static final ResourceLocation turret_brandon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/brandon.png");
public static final ResourceLocation turret_arty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/arty.png");
public static final ResourceLocation turret_himars_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/himars.png");
public static final ResourceLocation turret_sentry_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/sentry.png");
@ -458,8 +456,6 @@ public class ResourceManager {
public static final ResourceLocation turret_howard_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/howard.png");
public static final ResourceLocation turret_howard_barrels_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/howard_barrels.png");
public static final ResourceLocation brandon_explosive = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/brandon_drum.png");
//Landmines
public static final ResourceLocation mine_ap_grass_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_grass.png");
public static final ResourceLocation mine_ap_desert_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_desert.png");

View File

@ -1,43 +0,0 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.turret.TileEntityTurretBrandon;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Vec3;
public class RenderTurretBrandon extends RenderTurretBase {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
TileEntityTurretBrandon turret = (TileEntityTurretBrandon)te;
Vec3 pos = turret.getHorizontalOffset();
GL11.glPushMatrix();
GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
this.renderConnectors(turret, true, false, Fluids.NONE);
bindTexture(ResourceManager.turret_base_tex);
ResourceManager.turret_chekhov.renderPart("Base");
double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp);
GL11.glTranslated(0, 1.5, 0);
GL11.glRotated(pitch, 0, 0, 1);
GL11.glTranslated(0, -1.5, 0);
bindTexture(ResourceManager.turret_brandon_tex);
ResourceManager.turret_brandon.renderPart("Launcher");
bindTexture(ResourceManager.brandon_explosive);
ResourceManager.turret_brandon.renderPart("Barrel");
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -285,7 +285,6 @@ public class TileMappings {
put(TileEntityTurretHowardDamaged.class, "tileentity_turret_howard_damaged");
put(TileEntityTurretMaxwell.class, "tileentity_turret_maxwell");
put(TileEntityTurretFritz.class, "tileentity_turret_fritz");
put(TileEntityTurretBrandon.class, "tileentity_turret_brandon");
put(TileEntityTurretArty.class, "tileentity_turret_arty");
put(TileEntityTurretHIMARS.class, "tileentity_turret_himars");
put(TileEntityTurretSentry.class, "tileentity_turret_sentry");

View File

@ -609,7 +609,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
PREFIX_VALUE + "steam",
PREFIX_VALUE + "co2",
PREFIX_VALUE + "state",
PREFIX_FUNCTION + "setState" + NAME_SEPARATOR + "active",
PREFIX_FUNCTION + "setState" + NAME_SEPARATOR + "active (0 or 1)",
PREFIX_FUNCTION + "ventCO2"
};
}

View File

@ -412,8 +412,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom
PREFIX_VALUE + "type",
PREFIX_VALUE + "fill",
PREFIX_VALUE + "fillpercent",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
};
}

View File

@ -312,11 +312,11 @@ public class TileEntityBatterySocket extends TileEntityBatteryBase implements IR
PREFIX_VALUE + "fill",
PREFIX_VALUE + "fillpercent",
PREFIX_VALUE + "delta",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority (0-2)",
};
}

View File

@ -378,11 +378,11 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
PREFIX_VALUE + "fill",
PREFIX_VALUE + "fillpercent",
PREFIX_VALUE + "delta",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority (0-2)",
};
}

View File

@ -552,8 +552,8 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
PREFIX_VALUE + "type",
PREFIX_VALUE + "fill",
PREFIX_VALUE + "fillpercent",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode (0-3)",
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback (0-3)",
};
}

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.IRadarCommandReceiver;
import api.hbm.redstoneoverradio.IRORInteractive;
import cpw.mods.fml.common.Optional;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
@ -14,7 +15,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.util.Vec3;
import net.minecraftforge.common.util.ForgeDirection;
public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBaseNT implements IRadarCommandReceiver {
public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBaseNT implements IRadarCommandReceiver, IRORInteractive {
protected List<Vec3> targetQueue = new ArrayList();
@ -91,4 +92,35 @@ public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBase
public Object[] getTargetDistance(Context context, Arguments args) {
return new Object[] {Math.sqrt(Math.pow(xCoord - args.checkDouble(0), 2)+Math.pow(yCoord - args.checkDouble(1), 2)+Math.pow(zCoord - args.checkDouble(2), 2))};
}
@Override
public String[] getFunctionInfo() {
return new String[] {
PREFIX_FUNCTION + "setActive" + NAME_SEPARATOR + "active (0 or 1)",
PREFIX_FUNCTION + "targetPlayers" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetAnimals" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetMobs" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetMachines" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "addWhitelist" + NAME_SEPARATOR + "name",
PREFIX_FUNCTION + "removeWhitelist" + NAME_SEPARATOR + "name",
PREFIX_FUNCTION + "enqueue" + NAME_SEPARATOR + "x" + PARAM_SEPARATOR + "y" + PARAM_SEPARATOR + "z",
};
}
@Override
public String runRORFunction(String name, String[] params) {
super.runRORFunction(name, params);
if((PREFIX_FUNCTION + "enqueue").equals(name) && params.length > 2) {
try {
int x = Integer.parseInt(params[0]);
int y = Integer.parseInt(params[1]);
int z = Integer.parseInt(params[2]);
this.sendCommandPosition(x, y, z);
this.markChanged();
} catch(NumberFormatException e) {}
}
return null;
}
}

View File

@ -30,6 +30,7 @@ import com.hbm.util.CompatExternal;
import api.hbm.energymk2.IEnergyReceiverMK2;
import api.hbm.entity.IRadarDetectableNT;
import api.hbm.redstoneoverradio.IRORInteractive;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
@ -66,7 +67,7 @@ import net.minecraftforge.common.util.ForgeDirection;
*
*/
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase implements IEnergyReceiverMK2, IControlReceiver, IGUIProvider, SimpleComponent, CompatHandler.OCComponent {
public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase implements IEnergyReceiverMK2, IControlReceiver, IGUIProvider, SimpleComponent, IRORInteractive, CompatHandler.OCComponent {
@Override
public boolean hasPermission(EntityPlayer player) {
@ -1057,4 +1058,50 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
}
throw new NoSuchMethodException();
}
@Override
public String[] getFunctionInfo() {
return new String[] {
PREFIX_FUNCTION + "setActive" + NAME_SEPARATOR + "active (0 or 1)",
PREFIX_FUNCTION + "targetPlayers" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetAnimals" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetMobs" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "targetMachines" + NAME_SEPARATOR + "enabled (0 or 1)",
PREFIX_FUNCTION + "addWhitelist" + NAME_SEPARATOR + "name",
PREFIX_FUNCTION + "removeWhitelist" + NAME_SEPARATOR + "name",
};
}
@Override
public String runRORFunction(String name, String[] params) {
if((PREFIX_FUNCTION + "setActive").equals(name) && params.length > 0) {
try { this.isOn = (Integer.parseInt(params[0]) == 1); this.markChanged(); } catch(NumberFormatException e) {}
}
if((PREFIX_FUNCTION + "targetPlayers").equals(name) && params.length > 0) {
try { this.targetPlayers = (Integer.parseInt(params[0]) == 1); this.markChanged(); } catch(NumberFormatException e) {}
}
if((PREFIX_FUNCTION + "targetAnimals").equals(name) && params.length > 0) {
try { this.targetAnimals = (Integer.parseInt(params[0]) == 1); this.markChanged(); } catch(NumberFormatException e) {}
}
if((PREFIX_FUNCTION + "targetMobs").equals(name) && params.length > 0) {
try { this.targetMobs = (Integer.parseInt(params[0]) == 1); this.markChanged(); } catch(NumberFormatException e) {}
}
if((PREFIX_FUNCTION + "targetMachines").equals(name) && params.length > 0) {
try { this.targetMachines = (Integer.parseInt(params[0]) == 1); this.markChanged(); } catch(NumberFormatException e) {}
}
if((PREFIX_FUNCTION + "addWhitelist").equals(name) && params.length > 0) {
String playerName = params[0];
List<String> whitelist = this.getWhitelist();
if(!whitelist.contains(playerName)) this.addName(playerName);
this.markChanged();
}
if((PREFIX_FUNCTION + "removeWhitelist").equals(name) && params.length > 0) {
String playerName = params[0];
List<String> whitelist = this.getWhitelist();
if(whitelist.contains(playerName)) this.removeName(whitelist.indexOf(playerName));
this.markChanged();
}
return null;
}
}

View File

@ -1,48 +0,0 @@
package com.hbm.tileentity.turret;
import java.util.List;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.world.World;
public class TileEntityTurretBrandon extends TileEntityTurretBaseNT {
@Override
public long getMaxPower() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void updateFiringTick() {
// TODO Auto-generated method stub
}
@Override
protected List<Integer> getAmmoList() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return null;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return null;
}
}

View File

@ -19,6 +19,7 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.entity.mob.EntityCreeperNuclear;
import com.hbm.items.ModItems;
import com.hbm.items.armor.ArmorFSBPowered;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.util.Tuple.Quartet;
import com.hbm.util.i18n.I18nUtil;
@ -222,12 +223,14 @@ public class DamageResistanceHandler {
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(2F, 0.25F));
registerSet(ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots, new ResistanceStats()
.addCategory(CATEGORY_PHYSICAL, 100F, 0.99F)
.addCategory(CATEGORY_EXPLOSION, 50F, 0.95F)
.addCategory(CATEGORY_FIRE, 0F, 1F)
.addCategory(CATEGORY_FIRE, 100F, 1F)
.addExact(DamageClass.LASER.name(), 25F, 0.95F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(100F, 0.99F));
registerSet(ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots, new ResistanceStats()
.addCategory(CATEGORY_PHYSICAL, 1000F, 1F)
.addCategory(CATEGORY_EXPLOSION, 100F, 0.99F)
.addCategory(CATEGORY_FIRE, 0F, 1F)
.setOther(1000F, 1F));
@ -472,6 +475,9 @@ public class DamageResistanceHandler {
if(source.damageType.toLowerCase(Locale.US).equals(DamageClass.SUBATOMIC.name().toLowerCase(Locale.US))) return CATEGORY_ENERGY;
if(source.damageType.toLowerCase(Locale.US).equals(DamageClass.ELECTRIC.name().toLowerCase(Locale.US))) return CATEGORY_ENERGY;
if(source == DamageSource.cactus) return CATEGORY_PHYSICAL;
if(source == ModDamageSource.spikes) return CATEGORY_PHYSICAL;
if(source == ModDamageSource.electricity) return CATEGORY_ENERGY;
if(source == ModDamageSource.microwave) return CATEGORY_ENERGY;
if(source instanceof EntityDamageSource) return CATEGORY_PHYSICAL;
return source.damageType;
}

View File

@ -12,7 +12,9 @@ import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemEnums.EnumChunkType;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOreBase;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType;
import com.hbm.util.WeightedRandomGeneric;
import net.minecraft.block.Block;
@ -61,6 +63,37 @@ public class BedrockOre {
generate(world, x, z, stack, acid, color, tier, ModBlocks.stone_depth);
}
public static void generateAuto(World world, int x, int z) {
double totalLevel = 0;
for(BedrockOreType type : BedrockOreType.values()) {
totalLevel += ItemBedrockOreBase.getOreLevel(x, z, type);
}
totalLevel /= BedrockOreType.values().length;
FluidStack acid = getBoreFluid(totalLevel);
int tier = getTier(totalLevel);
generate(world, x, z, new ItemStack(ModItems.bedrock_ore_base), acid, 0xD78A16, tier, ModBlocks.stone_depth);
}
public static final FluidStack BORE_TIER_1 = null;
public static final FluidStack BORE_TIER_2 = new FluidStack(Fluids.WATER, 1_000);
public static final FluidStack BORE_TIER_3 = new FluidStack(Fluids.SULFURIC_ACID, 1_000);
public static final FluidStack BORE_TIER_4 = new FluidStack(Fluids.SOLVENT, 2_000);
public static FluidStack getBoreFluid(double density) {
if(density > 1.5) return BORE_TIER_4;
if(density > 1) return BORE_TIER_3;
if(density > 0.75) return BORE_TIER_2;
return BORE_TIER_1;
}
public static int getTier(double density) {
if(density > 1.5) return 4;
if(density > 1) return 3;
if(density > 0.75) return 2;
return 1;
}
public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color, int tier, Block depthRock) {
for(int ix = x - 1; ix <= x + 1; ix++) {

View File

@ -206,110 +206,7 @@ chem.coallube=Schmiermittel aus Kohleteer
chem.heavylube=Schmiermittel aus Schweröl
chem.oilelectrodes=Instant-Elektroden (Heizöl)
chem.lubeelectrodes=Instant-Elektroden (Schmiermittel)
chem.ARSENIC=Arsenextraktion
chem.ASPHALT=Asphaltherstellung
chem.BAKELITE=Bakelitherstellung
chem.BALEFIRE=BF-Raketentreibstoffherstellung
chem.BP_BIOFUEL=Biodieselumesterung
chem.BP_BIOGAS=Biogasherstellung
chem.C4=C4-Synthese
chem.CC_CENTRIFUGE=Chlorokalzitspaltung
chem.CC_ELECTROLYSIS=Kalziumchloridelektrolyse
chem.CC_HEATING=Fortgeschrittene Kohleverflüssigung
chem.CC_HEAVY=Einfache Kohleverflüssigung
chem.CC_I=Erweiterte Kohleverflüssigung
chem.CC_NAPHTHA=Naphtha-Kohleverflüssigung
chem.CC_OIL=Kohleverflüssigung
chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung
chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung
chem.CO2=CO2-Herstellung
chem.COALGAS_LEADED=Bleikohlebenzin mischen
chem.COLTAN_CLEANING=Coltanreinigung
chem.COLTAN_CRYSTAL=Tantal-Kristallisierung
chem.COLTAN_PAIN=Pandemonium(III)tantalit-Herstellung
chem.CONCRETE=Betonherstellung
chem.CONCRETE_ASBESTOS=Asbestbetonherstellung
chem.COOLANT=Kühlflüssigkeit mischen
chem.CORDITE=Korditherstellung
chem.CRYOGEL=Kryogel mischen
chem.DESH=Deshherstellung
chem.DEUTERIUM=Deuteriumextrahierung
chem.DYN_DNT=Dineutronium-Dynosynthese
chem.DYN_EUPH=Euphemium-Dynosynthese
chem.DYN_SCHRAB=Schrabidium-Dynosynthese
chem.DYNAMITE=Dynamitherstellung
chem.ELECTROLYSIS=Kryo-Elektrolyse
chem.EPEARL=Enderperlen-Synthese
chem.ETHANOL=Ethanolherstellung
chem.FC_BITUMEN=Bitumen-Cracking
chem.FC_DIESEL_KEROSENE=Diesel-Cracking
chem.FC_GAS_PETROLEUM=Erdgas-Cracking
chem.FC_I_NAPHTHA=Industriöl-Cracking
chem.FC_KEROSENE_PETROLEUM=Kerosin-Cracking
chem.FP_HEAVYOIL=Schwerölverarbeitung
chem.FP_LIGHTOIL=Leichtölverarbeitung
chem.FP_NAPHTHA=Mitteldestillatsverarbeitung
chem.FP_SMEAR=Industrieölverarbeitung
chem.FR_PETROIL=Gemischherstellung
chem.FR_REOIL=Öl-Wiederaufbereitung
chem.GASOLINE=Benzinherstellung
chem.GASOLINE_LEADED=Bleibenzin mischen
chem.HELIUM3=Helium-3-Extraktion aus Mondgestein
chem.KEVLAR=Kevlarverbundherstellung
chem.LAMINATE=Laminatherstellung
chem.LPG=Petroleumgasverflüssigung
chem.LUBRICANT=Schmieröl mischen
chem.NITAN=NITAN-Supertreibstoff mischen
chem.NITRIC_ACID=Salpetersäureherstellung
chem.OIL_SAND=Teersand-Extraktion
chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung
chem.PC=Polycarbonatherstellung
chem.PC_ELECTROLYSIS=Kaliumchloridelektrolyse
chem.PEROXIDE=Wasserstoffperoxidherstellung
chem.PET=PET-Synthese
chem.PETROIL_LEADED=Bleigemisch mischen
chem.POLYMER=Polymersynthese
chem.PUF6=Plutoniumhexafluoridproduktion
chem.PVC=Polyvinylchloridherstellung
chem.RUBBER=Gummiherstellung
chem.SAS3=Schrabidiumtrisulfatherstellung
chem.SATURN=Saturnitherstellung
chem.SCHRABIDATE=Eisenschrabidatherstellung
chem.SCHRABIDIC=Schrabidische Säure mischen
chem.SF_BIOFUEL=Biodieselverfestigung
chem.SF_BIOGAS=Biogasverfestigung
chem.SF_DIESEL=Dieselverfestigung
chem.SF_GAS=Erdgasverfestigung
chem.SF_HEATINGOIL=Heizölverfestigung
chem.SF_HEAVYOIL=Schwerölverfestigung
chem.SF_KEROSENE=Kerosinverfestigung
chem.SF_LIGHTOIL=Leichtölverfestigung
chem.SF_LUBRICANT=Schmiermittelverfestigung
chem.SF_NAPHTHA=Mitteldestillatsverfestigung
chem.SF_OIL=Rohölverfestigung
chem.SF_PETROIL=Gemischverfestigung
chem.SF_PETROLEUM=Petroleumgasverfestigung
chem.SF_RECLAIMED=Verfestigung von wiederaufbereitetem Industrieöl
chem.SF_SMEAR=Industrieölverfestigung
chem.SHELL_CHLORINE=Chlorgas-Artilleriegeschoss-Herstellung
chem.SHELL_MUSTARD=Senfgas-Artilleriegeschoss-Herstellung
chem.SHELL_PHOSGENE=Phosgen-Artilleriegeschoss-Herstellung
chem.SOLID_FUEL=Festbrennstoffherstellung
chem.SOLVENT=Organisches Lösungsmittel mischen
chem.STEAM=Wasser kochen
chem.SULFURIC_ACID=Schwefelsäureherstellung
chem.TATB=TATB-Synthese
chem.TEL=TEL mischen
chem.TEST=Test
chem.THORIUM_SALT=Thoriumsalz-Anreicherung
chem.TNT=TNT-Synthese
chem.UF6=Uranhexafluoridproduktion
chem.VIT_GAS=Gas-Atommüllvitrifizierung
chem.VIT_LIQUID=Flüssig-Atommüllvitrifizierung
chem.XENON=Lindeverfahren (Xenon)
chem.XENON_OXY=Verbessertes Lindeverfahren (Xenon)
chem.YELLOWCAKE=Yellowcakeproduktion
chem.deshcracked=Desh aus Cracköl
container.ammoBag=Mun-Tasche
container.annihilator=Vernichter
@ -3402,7 +3299,7 @@ item.scrap.name=Schrott
item.scrap_nuclear.name=Radioaktiver Schutt
item.scrap_oil.name=Öliger Schutt
item.scrap_plastic.name=Geschreddertes Plastik
item.scraps.name=Gießerei-Schutt
item.scraps.name=%s-Schutt
item.screwdriver.name=Schraubenzieher
item.screwdriver.desc=Könnte statt einer Sicherung verwendet werden...
item.screwdriver_desh.name=Desh-Schraubenzieher

View File

@ -596,115 +596,7 @@ chem.coallube=Lubricant from Coal Tar Creosote
chem.heavylube=Lubricant from Heavy Oil
chem.oilelectrodes=Instant Electrodes (Heating Oil)
chem.lubeelectrodes=Instant Electrodes (Lubricant)
chem.ARSENIC=Arsenic Extraction
chem.ASPHALT=Asphalt Production
chem.BAKELITE=Bakelite Production
chem.BALEFIRE=BF Rocket Fuel Mixing
chem.BP_BIOFUEL=Biofuel Transesterification
chem.BP_BIOGAS=Biogas Production
chem.C4=C-4 Synthesis
chem.CC_CENTRIFUGE=Chlorocalcite Separation
chem.CC_ELECTROLYSIS=Calcium Chloride Electrolysis
chem.CC_HEATING=Advanced Coal Liquefaction
chem.CC_HEAVY=Basic Coal Liquefaction
chem.CC_I=Enhanced Coal Liquefaction
chem.CC_NAPHTHA=Naphtha Coal Liquefaction
chem.CC_OIL=Coal Liquefaction
chem.CIRCUIT_4=Overclocked Circuit Production
chem.CIRCUIT_5=High Performance Circuit Production
chem.CO2=Carbon Dioxide Production
chem.COALGAS_LEADED=Leaded Coal Gasoline Mixing
chem.COLTAN_CLEANING=Coltan Purifying
chem.COLTAN_CRYSTAL=Tantalum Crystallizing
chem.COLTAN_PAIN=Pandemonium(III)tantalite Production
chem.CONCRETE=Concrete Production
chem.CONCRETE_ASBESTOS=Asbestos Concrete Production
chem.COOLANT=Coolant Mixing
chem.CORDITE=Cordite Production
chem.CRYOGEL=Cryogel Mixing
chem.DESH=Desh Production
chem.DEUTERIUM=Deuterium Extraction
chem.DUCRETE=Ducrete Production
chem.DYN_DNT=Dineutronium Dynosynthesis
chem.DYN_EUPH=Euphemium Dynosynthesis
chem.DYN_SCHRAB=Schrabidium Dynosynthesis
chem.DYNAMITE=Dynamite Synthesis
chem.ELECTROLYSIS=Cryo-Electrolysis
chem.EPEARL=Ender Pearl Synthesis
chem.ETHANOL=Ethanol Production
chem.FC_BITUMEN=Bitumen Cracking
chem.FC_DIESEL_KEROSENE=Diesel Cracking
chem.FC_GAS_PETROLEUM=Gas Cracking
chem.FC_I_NAPHTHA=Industrial Oil Cracking
chem.FC_KEROSENE_PETROLEUM=Kerosene Cracking
chem.FP_HEAVYOIL=Heavy Oil Processing
chem.FP_LIGHTOIL=Light Oil Processing
chem.FP_NAPHTHA=Naphtha Processing
chem.FP_SMEAR=Industrial Oil Processing
chem.FR_PETROIL=Petroil Mixing
chem.FR_REOIL=Oil Reprocessing
chem.FRACKSOL=Fracking Solution Production
chem.GASOLINE=Gasoline Production
chem.GASOLINE_LEADED=Leaded Gasoline Mixing
chem.HEAVY_ELECTROLYSIS=Heavy Water Cryo-Electrolysis
chem.HELIUM3=Helium-3 Extraction from Moon Turf
chem.KEVLAR=Kevlar Compound Production
chem.LAMINATE=Laminate Production
chem.LPG=Petroleum Gas Liquefaction
chem.LUBRICANT=Lubricant Mixing
chem.METH=Methamphetamine Synthesis
chem.MEAT_PROCESSING=Glyphid Meat Mineral Extraction
chem.NITAN=NITAN Super Fuel Mixing
chem.NITRIC_ACID=Nitric Acid Production
chem.OIL_SAND=Tar Sand Extraction
chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production
chem.PC=Polycarbonate Synthesis
chem.PC_ELECTROLYSIS=Potassium Chloride Electrolysis
chem.PEROXIDE=Hydrogen Peroxide Production
chem.PET=PET Synthesis
chem.PETROIL_LEADED=Leaded Petroil Mixing
chem.POLYMER=Polymer Synthesis
chem.PUF6=Plutonium Hexafluoride Production
chem.PVC=Polyvinylchloride Synthesis
chem.RUBBER=Rubber Production
chem.SAS3=Schrabidium Trisulfide Production
chem.SATURN=Saturnite Production
chem.SCHRABIDATE=Ferric Schrabidate Production
chem.SCHRABIDIC=Schrabidic Acid Mixing
chem.SF_BIOFUEL=Biofuel Solidification
chem.SF_BIOGAS=Biogas Solidification
chem.SF_DIESEL=Diesel Solidification
chem.SF_GAS=Natural Gas Solidification
chem.SF_HEATINGOIL=Heating Oil Solidification
chem.SF_HEAVYOIL=Heavy Oil Solidification
chem.SF_KEROSENE=Kerosene Solidification
chem.SF_LIGHTOIL=Light Oil Solidification
chem.SF_LUBRICANT=Lubricant Solidification
chem.SF_NAPHTHA=Naphtha Solidification
chem.SF_OIL=Crude Oil Solidification
chem.SF_PETROIL=Petroil Solidification
chem.SF_PETROLEUM=Petroleum Gas Solidification
chem.SF_RECLAIMED=Reclaimed Oil Solidification
chem.SF_SMEAR=Industrial Oil Solidification
chem.SHELL_CHLORINE=Chlorine Gas Artillery Shell Production
chem.SHELL_MUSTARD=Mustard Gas Artillery Shell Production
chem.SHELL_PHOSGENE=Phosgene Artillery Shell Production
chem.SOLID_FUEL=Solid Rocket Fuel Production
chem.SOLVENT=Organic Solvent Mixing
chem.STEAM=Water Boiling
chem.SULFURIC_ACID=Sulfuric Acid Production
chem.TATB=TATB Synthesis
chem.TEL=TEL Mixing
chem.TEST=Test
chem.THORIUM_SALT=Thorium Salt Enrichment
chem.TNT=TNT Synthesis
chem.UF6=Uranium Hexafluoride Production
chem.VIT_GAS=Gaseous Nuclear Waste Vitrification
chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification
chem.XENON=Linde Xenon Cycle
chem.XENON_OXY=Boosted Linde Xenon Cycle
chem.YELLOWCAKE=Yellowcake Production
chem.deshcracked=Desh from Cracked Oil
commands.satellite.no_active_satellites=No active satellites found!
commands.satellite.no_satellite=No satellite using this frequency found!
@ -4503,7 +4395,7 @@ item.scrap.name=Scrap
item.scrap_nuclear.name=Radioactive Scraps
item.scrap_oil.name=Oily Scraps
item.scrap_plastic.name=Plastic Scraps
item.scraps.name=Foundry Scraps
item.scraps.name=%s Scraps
item.screwdriver.name=Screwdriver
item.screwdriver.desc=Could be used instead of a fuse...
item.screwdriver_desh.name=Desh Screwdriver

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 B