more recipe handlers, some fixes, finished RPA, fixed furnace NEI

This commit is contained in:
Bob 2022-02-27 16:32:41 +01:00
parent 8fab1b25d0
commit d3b3cb64b7
50 changed files with 610 additions and 58 deletions

View File

@ -0,0 +1,9 @@
package com.hbm.blocks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
public interface IStepTickReceiver {
public void onPlayerStep(World world, int x, int y, int z, EntityPlayer player);
}

View File

@ -280,6 +280,7 @@ public class ModBlocks {
public static Block deco_rbmk;
public static Block deco_rbmk_smooth;
public static Block deco_emitter;
public static Block deco_loot;
public static Block bobblehead;
@ -1477,14 +1478,15 @@ public class ModBlocks {
deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side");
deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top");
deco_emitter = new BlockEmitter().setBlockName("deco_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":emitter");
deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":hazmat");
gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian");
gravel_diamond = new BlockFalling(Material.sand).setBlockName("gravel_diamond").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":gravel_diamond");
asphalt = new BlockSpeedy(Material.rock, 1.15).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt");
asphalt_light = new BlockSpeedy(Material.rock, 1.15).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light");
asphalt = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt");
asphalt_light = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light");
reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick");
reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F);
@ -2488,6 +2490,7 @@ public class ModBlocks {
GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName());
GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName());
GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName());
GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName());
GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName());
GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName());
GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName());

View File

@ -0,0 +1,243 @@
package com.hbm.blocks.generic;
import java.awt.Color;
import java.util.List;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.NBTPacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.INBTPacketReceiver;
import api.hbm.block.IToolable;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemDye;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockEmitter extends BlockContainer implements IToolable, ITooltipProvider {
public BlockEmitter() {
super(Material.iron);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityEmitter();
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
int l = BlockPistonBase.determineOrientation(world, x, y, z, player);
world.setBlockMetadataWithNotify(x, y, z, l, 2);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) {
if(world.isRemote)
return true;
TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z);
if(player.getHeldItem() != null) {
if(player.getHeldItem().getItem() instanceof ItemDye) {
te.color = ItemDye.field_150922_c[player.getHeldItem().getItemDamage()];
te.markDirty();
world.markBlockForUpdate(x, y, z);
player.getHeldItem().stackSize--;
return true;
}
}
return false;
}
@Override
public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) {
TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z);
if(tool == ToolType.SCREWDRIVER) {
te.girth += 0.125F;
te.markDirty();
return true;
}
if(tool == ToolType.DEFUSER) {
te.girth -= 0.125F;
if(te.girth < 0.125F) te.girth = 0.125F;
te.markDirty();
return true;
}
if(tool == ToolType.HAND_DRILL) {
te.effect = (te.effect + 1) % te.effectCount;
te.markDirty();
return true;
}
return false;
}
public static class TileEntityEmitter extends TileEntity implements INBTPacketReceiver {
public static final int range = 100;
public int color;
public int beam;
public float girth = 0.5F;
public int effect = 0;
public static final int effectCount = 5;
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
if(worldObj.getTotalWorldTime() % 20 == 0) {
for(int i = 1; i <= range; i++) {
beam = i;
int x = xCoord + dir.offsetX * i;
int y = yCoord + dir.offsetY * i;
int z = zCoord + dir.offsetZ * i;
Block b = worldObj.getBlock(x, y, z);
if(b.isBlockSolid(worldObj, x, y, z, dir.ordinal())) {
break;
}
}
}
if(effect == 4 && beam > 0) {
if(worldObj.getTotalWorldTime() % 5 == 0) {
double x = (int) (xCoord + dir.offsetX * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5;
double y = (int) (yCoord + dir.offsetY * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5;
double z = (int) (zCoord + dir.offsetZ * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5;
int prevColor = color;
if(color == 0) {
color = Color.HSBtoRGB(worldObj.getTotalWorldTime() / 50.0F, 0.5F, 0.25F) & 16777215;
}
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "plasmablast");
data.setFloat("r", ((float)((color & 0xff0000) >> 16)) / 256F);
data.setFloat("g", ((float)((color & 0x00ff00) >> 8)) / 256F);
data.setFloat("b", ((float)((color & 0x0000ff))) / 256F);
data.setFloat("scale", girth * 5);
if(this.getBlockMetadata() == 2) {
data.setFloat("pitch", 90);
}
if(this.getBlockMetadata() == 3) {
data.setFloat("pitch", -90);
}
if(this.getBlockMetadata() == 4) {
data.setFloat("pitch", 90);
data.setFloat("yaw", 90);
}
if(this.getBlockMetadata() == 5) {
data.setFloat("pitch", -90);
data.setFloat("yaw", 90);
}
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z),
new TargetPoint(worldObj.provider.dimensionId, x, y, z, 100));
color = prevColor;
}
}
NBTTagCompound data = new NBTTagCompound();
data.setInteger("beam", this.beam);
data.setInteger("color", this.color);
data.setFloat("girth", this.girth);
data.setInteger("effect", this.effect);
PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
}
}
@Override
public Packet getDescriptionPacket() {
NBTTagCompound nbt = new NBTTagCompound();
this.writeToNBT(nbt);
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt);
}
@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
this.readFromNBT(pkt.func_148857_g());
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
this.color = nbt.getInteger("color");
this.girth = nbt.getFloat("girth");
this.effect = nbt.getInteger("effect");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setInteger("color", this.color);
nbt.setFloat("girth", this.girth);
nbt.setInteger("effect", this.effect);
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
@Override
public void networkUnpack(NBTTagCompound nbt) {
this.beam = nbt.getInteger("beam");
this.color = nbt.getInteger("color");
this.girth = nbt.getFloat("girth");
this.effect = nbt.getInteger("effect");
}
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.GOLD + "Use screwdriver to widen beam");
list.add(EnumChatFormatting.GOLD + "Use defuser to narrow beam");
list.add(EnumChatFormatting.GOLD + "Use hand drill to cycle special effects");
list.add(EnumChatFormatting.GOLD + "Use dye to change color");
}
}

View File

@ -1,12 +1,19 @@
package com.hbm.blocks.generic;
import java.util.List;
import com.hbm.blocks.IStepTickReceiver;
import com.hbm.blocks.ITooltipProvider;
import codechicken.lib.math.MathHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
public class BlockSpeedy extends Block {
public class BlockSpeedy extends Block implements IStepTickReceiver, ITooltipProvider {
double speed;
@ -16,12 +23,19 @@ public class BlockSpeedy extends Block {
}
@Override
public void onEntityWalking(World world, int x, int y, int z, Entity entity) {
if(entity instanceof EntityLivingBase) { //prevents vehicles from going mach 5
double tan = Math.atan2(entity.motionX, entity.motionZ);
entity.motionX += Math.sin(tan) * speed;
entity.motionZ += Math.cos(tan) * speed;
public void onPlayerStep(World world, int x, int y, int z, EntityPlayer player) {
if(!world.isRemote)
return;
if(player.moveForward != 0 || player.moveStrafing != 0) {
player.motionX *= speed;
player.motionZ *= speed;
}
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.BLUE + "Increases speed by " + (MathHelper.floor_double((speed - 1) * 100)) + "%");
}
}

View File

@ -1,6 +1,5 @@
package com.hbm.blocks.machine;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityHadronDiode;
import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig;

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.Fluids;
import static com.hbm.inventory.OreDictManager.*;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumLegendaryType;
import com.hbm.main.CraftingManager;
import net.minecraft.init.Blocks;
@ -92,6 +93,10 @@ public class ArmorRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_plate, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_plate_jetpack, 'C', ModItems.singularity_spark });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_legs, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_legs, 'C', ModItems.coin_worm });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_boots, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_boots, 'C', ModItems.demon_core_closed });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_helmet, 1), new Object[] { "KPK", "PLP", " F ", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'F', ModItems.gas_mask_filter_combo });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_plate, 1), new Object[] { "P P", "MLM", "PKP", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'M', ModItems.motor_desh });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_legs, 1), new Object[] { "MPM", "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'M', ModItems.motor_desh });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_boots, 1), new Object[] { "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr });
//Euphemium armor
CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium });

View File

@ -402,7 +402,6 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_dirty, 1), new Object[] { " C ", "WLW", "WLW", 'C', CU.plate(), 'L', PB.plate(), 'W', ModItems.nuclear_waste });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_schrab, 1), new Object[] { " C ", "LUL", "LUL", 'C', CU.plate(), 'L', PB.plate(), 'U', SA326.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.demon_core_open, 1), new Object[] { "PRP", " CS", "PRP", 'P', TI.plate(), 'R', OreDictManager.getReflector(), 'C', ModItems.man_core, 'S', ModItems.screwdriver });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.lamp_demon, 1), new Object[] { " D ", "S S", 'D', ModItems.demon_core_closed, 'S', STEEL.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.crucible, 1, 3), new Object[] { "MEM", "YDY", "YCY", 'M', ModItems.ingot_meteorite_forged, 'E', EUPH.ingot(), 'Y', ModItems.billet_yharonite, 'D', ModItems.demon_core_closed, 'C', ModItems.ingot_chainsteel });

View File

@ -43,6 +43,7 @@ public class HazmatRegistry {
double ajr = 1.3D; // 95%
double bj = 1D; // 90%
double hev = 1.3D; // 95%
double rpa = 2D; // 99%
double fau = 4D; // 99.99%
double dns = 5D; // 99.999%
double security = 0.825D; // 85%
@ -114,6 +115,11 @@ public class HazmatRegistry {
HazmatRegistry.registerHazmat(ModItems.hev_legs, hev * legs);
HazmatRegistry.registerHazmat(ModItems.hev_boots, hev * boots);
HazmatRegistry.registerHazmat(ModItems.rpa_helmet, rpa * helmet);
HazmatRegistry.registerHazmat(ModItems.rpa_plate, rpa * chest);
HazmatRegistry.registerHazmat(ModItems.rpa_legs, rpa * legs);
HazmatRegistry.registerHazmat(ModItems.rpa_boots, rpa * boots);
HazmatRegistry.registerHazmat(ModItems.fau_helmet, fau * helmet);
HazmatRegistry.registerHazmat(ModItems.fau_plate, fau * chest);
HazmatRegistry.registerHazmat(ModItems.fau_legs, fau * legs);

View File

@ -280,17 +280,23 @@ public abstract class ToolAbility {
@Override
public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) {
//a band-aid on a gaping wound
if(block == Blocks.lit_redstone_ore)
block = Blocks.redstone_ore;
List<ItemStack> drops = block.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0);
ItemStack stack = new ItemStack(block, 1, meta);
ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack);
if(result != null) {
world.setBlockToAir(x, y, z);
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy()));
for(int i = 0; i < drops.size(); i++) {
ItemStack stack = drops.get(i).copy();
ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack);
if(result != null) {
result = result.copy();
result.stackSize *= stack.stackSize;
drops.set(i, result);
}
}
world.setBlockToAir(x, y, z);
for(ItemStack stack : drops)
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, stack.copy()));
}
@Override

View File

@ -0,0 +1,11 @@
package com.hbm.handler.nei;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.recipes.RefineryRecipes;
public class CrackingHandler extends NEIUniversalHandler {
public CrackingHandler() {
super("ntmCracking", "Cracking", ModBlocks.machine_catalytic_cracker, RefineryRecipes.getCrackingRecipesForNEI());
}
}

View File

@ -0,0 +1,11 @@
package com.hbm.handler.nei;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.recipes.RefineryRecipes;
public class FractioningHandler extends NEIUniversalHandler {
public FractioningHandler() {
super("ntmFractioning", "Fractioning", ModBlocks.machine_fraction_tower, RefineryRecipes.getFractionRecipesForNEI());
}
}

View File

@ -50,7 +50,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
input = new PositionedStack[in.length];
for(int i = 0; i < in.length; i++) {
ItemStack[] sub = in[i];
this.input[i] = new PositionedStack(sub, 48 + i * 18, 24);
this.input[i] = new PositionedStack(sub, 48 + i * -18, 24);
}
output = new PositionedStack[out.length];
for(int i = 0; i < out.length; i++) {
@ -95,8 +95,14 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
@Override
public void drawBackground(int recipe) {
super.drawBackground(recipe);
drawTexturedModalRect(47, 23, 5, 87, 18, 18);
drawTexturedModalRect(101, 23, 5, 87, 18, 18);
RecipeSet rec = (RecipeSet) this.arecipes.get(recipe);
for(int i = 0; i < rec.input.length; i++)
drawTexturedModalRect(47 + i * -18, 23, 5, 87, 18, 18);
for(int i = 0; i < rec.output.length; i++)
drawTexturedModalRect(101 + i * 18, 23, 5, 87, 18, 18);
drawTexturedModalRect(74, 14, 59, 87, 18, 38);
}

View File

@ -154,8 +154,12 @@ public class HazardRegistry {
HazardSystem.register(ball_dynamite, makeData(EXPLOSIVE, 2F));
HazardSystem.register(ball_tnt, makeData(EXPLOSIVE, 3F));
HazardSystem.register(ingot_semtex, makeData(EXPLOSIVE, 5F));
HazardSystem.register(ingot_c4, makeData(EXPLOSIVE, 5F));
HazardSystem.register(stick_dynamite, makeData(EXPLOSIVE, 1F));
HazardSystem.register(stick_tnt, makeData(EXPLOSIVE, 1.5F));
HazardSystem.register(stick_semtex, makeData(EXPLOSIVE, 2.5F));
HazardSystem.register(stick_c4, makeData(EXPLOSIVE, 2.5F));
HazardSystem.register(dynamite, makeData(EXPLOSIVE, 6F));
HazardSystem.register(tnt, makeData(EXPLOSIVE, 8F));
@ -164,10 +168,8 @@ public class HazardRegistry {
HazardSystem.register("dustLignite", makeData(COAL, powder));
HazardSystem.register("dustTinyLignite", makeData(COAL, powder_tiny));
HazardSystem.register(ingot_semtex, makeData(EXPLOSIVE, 10F));
HazardSystem.register(block_semtex, makeData(EXPLOSIVE, 40F));
HazardSystem.register(ingot_c4, makeData(EXPLOSIVE, 10F));
HazardSystem.register(block_c4, makeData(EXPLOSIVE, 40F));
HazardSystem.register(block_semtex, makeData(EXPLOSIVE, 25F));
HazardSystem.register(block_c4, makeData(EXPLOSIVE, 25F));
HazardSystem.register(cordite, makeData(EXPLOSIVE, 2F));
HazardSystem.register(ballistite, makeData(EXPLOSIVE, 1F));

View File

@ -456,7 +456,7 @@ public class OreDictManager {
}
public static void registerGroups() {
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true);
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true);
ANY_TAR.addPrefix(ANY, false);
}
@ -547,6 +547,9 @@ public class OreDictManager {
public static ItemStack fromOne(Item item, Enum en) {
return new ItemStack(item, 1, en.ordinal());
}
public static ItemStack fromOne(Item item, Enum en, int stacksize) {
return new ItemStack(item, stacksize, en.ordinal());
}
/** Same as fromOne but with an array of ItemStacks. The array type is Object[] so that the ODM methods work with it. Generates ItemStacks for the entire enum class. */
public static Object[] fromAll(Item item, Class<? extends Enum> en) {
Enum[] vals = en.getEnumConstants();

View File

@ -414,8 +414,8 @@ public class MachineRecipes {
getFurnaceOutput(new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone)).copy());
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel) },
getFurnaceOutput(new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel)).copy());
recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getContainerColor()), new ItemStack(Items.slime_ball) },
getFurnaceOutput(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getContainerColor()), new ItemStack(Items.slime_ball)).copy());
recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new ItemStack(Items.slime_ball) },
getFurnaceOutput(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new ItemStack(Items.slime_ball)).copy());
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium) },
getFurnaceOutput(new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium)).copy());
recipes.put(new ItemStack[] { new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold) },

View File

@ -134,4 +134,40 @@ public class RefineryRecipes {
protected static Map<FluidType, Pair<FluidStack, FluidStack>> getCrackingRecipes() {
return cracking;
}
public static HashMap<Object, Object> getFractionRecipesForNEI() {
HashMap<Object, Object> recipes = new HashMap();
for(Entry<FluidType, Pair<FluidStack, FluidStack>> recipe : fractions.entrySet()) {
ItemStack[] out = new ItemStack[] {
ItemFluidIcon.make(recipe.getValue().getKey()),
ItemFluidIcon.make(recipe.getValue().getValue())
};
recipes.put(ItemFluidIcon.make(recipe.getKey(), 100), out);
}
return recipes;
}
public static HashMap<Object, Object> getCrackingRecipesForNEI() {
HashMap<Object, Object> recipes = new HashMap();
for(Entry<FluidType, Pair<FluidStack, FluidStack>> recipe : cracking.entrySet()) {
ItemStack[] in = new ItemStack[] {
ItemFluidIcon.make(recipe.getKey(), 100),
ItemFluidIcon.make(Fluids.STEAM, 200)
};
ItemStack[] out = new ItemStack[] {
ItemFluidIcon.make(recipe.getValue().getKey()),
ItemFluidIcon.make(recipe.getValue().getValue())
};
recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out);
}
return recipes;
}
}

View File

@ -246,6 +246,13 @@ public class AnvilRecipes {
new ComparableStack(ModItems.nuclear_waste_vitrified, 10)
}, new AnvilOutput(new ItemStack(ModBlocks.vitrified_barrel))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {
new ComparableStack(ModItems.man_core, 1),
new OreDictStack(BE.ingot(), 4),
new ComparableStack(ModItems.screwdriver, 1)
}, new AnvilOutput(new ItemStack(ModItems.demon_core_open))).setTier(3));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(DURA.ingot(), 1)},
new AnvilOutput(new ItemStack(ModItems.plate_desh, 4))).setTier(3));
@ -509,7 +516,7 @@ public class AnvilRecipes {
new AnvilOutput[] {
new AnvilOutput(new ItemStack(Items.redstone, 4)),
new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 2)),
new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_bismuth : ModItems.ingot_asbestos, 2)),
new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_tantalium : ModItems.ingot_asbestos, 2)),
new AnvilOutput(new ItemStack(ModItems.ingot_bismuth, 1))
}
).setTier(4));
@ -519,7 +526,7 @@ public class AnvilRecipes {
new AnvilOutput(new ItemStack(Items.redstone, 2)),
new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 1)),
new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 1), 0.5F),
new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_bismuth : ModItems.ingot_asbestos, 1)),
new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_tantalium : ModItems.ingot_asbestos, 1)),
new AnvilOutput(new ItemStack(ModItems.ingot_bismuth, 1), 0.75F)
}
).setTier(4));

View File

@ -19,4 +19,10 @@ public class ItemEnums {
CRACK,
COAL
}
public static enum EnumLegendaryType {
TIER1,
TIER2,
TIER3
}
}

View File

@ -9,6 +9,7 @@ import com.hbm.handler.WeaponAbility;
import com.hbm.handler.guncfg.*;
import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemEnums.EnumLegendaryType;
import com.hbm.items.armor.*;
import com.hbm.items.bomb.*;
import com.hbm.items.food.*;
@ -530,6 +531,8 @@ public class ModItems {
public static Item component_emitter;
public static Item chlorine_pinwheel;
public static Item deuterium_filter;
public static Item parts_legendary;
public static Item circuit_raw;
public static Item circuit_aluminium;
@ -2994,6 +2997,7 @@ public class ModItems {
ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal");
flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium");
deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter");
parts_legendary = new ItemEnumMulti(EnumLegendaryType.class, false, true).setUnlocalizedName("parts_legendary").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":parts_legendary");
cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium");
hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel");
@ -4739,10 +4743,10 @@ public class ModItems {
chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null);
fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier");
fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon");
fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_infinite = new Item().setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite");
@ -4914,18 +4918,18 @@ public class ModItems {
ajro_legs = new ArmorAJRO(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs");
ajro_boots = new ArmorAJRO(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots");
rpa_helmet = new ArmorRPA(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F)
rpa_helmet = new ArmorRPA(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.1F).setCap(6.0F).setThreshold(20F)
.setFireproof(true)
.enableVATS(true)
.setHasGeigerSound(true)
.setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.jump.id, 20, 0))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3))
.setBlastProtection(0.25F)
.setStep("hbm:step.metal")
.setJump("hbm:step.iron_jump")
.setFall("hbm:step.iron_land")
.addResistance("monoxide", 0F)
.setProjectileProtection(0.25F)
.setProtectionLevel(1500)
.setStep("hbm:step.powered")
.setJump("hbm:step.powered")
.setFall("hbm:step.powered")
.addResistance("fall", 0).setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet");
rpa_plate = new ArmorRPA(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate");
rpa_legs = new ArmorRPA(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs");
@ -6067,6 +6071,7 @@ public class ModItems {
GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName());
GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName());
GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName());
GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName());
//Teleporter Parts
GameRegistry.registerItem(telepad, telepad.getUnlocalizedName());

View File

@ -5,7 +5,6 @@ import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;

View File

@ -28,10 +28,10 @@ public class ItemChemistryIcon extends Item {
public String getItemStackDisplayName(ItemStack stack) {
ChemRecipe chem = ChemplantRecipes.recipes.get(stack.getItemDamage() % ChemplantRecipes.recipes.size());
ChemRecipe recipe = ChemplantRecipes.indexMapping.get(stack.getItemDamage());
String s = ("" + StatCollector.translateToLocal(ModItems.chemistry_template.getUnlocalizedName() + ".name")).trim();
String s1 = ("" + StatCollector.translateToLocal("chem." + chem.name)).trim();
String s1 = ("" + StatCollector.translateToLocal("chem." + recipe.name)).trim();
if(s1 != null) {
s = s + " " + s1;
@ -59,6 +59,6 @@ public class ItemChemistryIcon extends Item {
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int i) {
return this.icons[ChemplantRecipes.indexMapping.get(i).listing];
return this.icons[ChemplantRecipes.indexMapping.get(i).listing % this.icons.length];
}
}

View File

@ -1,6 +1,8 @@
package com.hbm.items.machine;
import java.util.List;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
@ -50,6 +52,10 @@ public class ItemFluidIcon extends Item {
return stack;
}
public static ItemStack make(FluidStack stack) {
return make(stack.type, stack.fill);
}
public static ItemStack make(FluidType fluid, int i) {
return addQuantity(new ItemStack(ModItems.fluid_icon, 1, fluid.ordinal()), i);
}

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

View File

@ -38,6 +38,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter;
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
import com.hbm.entity.effect.*;
import com.hbm.entity.grenade.*;
@ -111,6 +112,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter());
//bombs
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy());

View File

@ -13,6 +13,7 @@ import com.hbm.inventory.fluid.Fluids;
import static com.hbm.inventory.OreDictManager.*;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumLegendaryType;
import com.hbm.items.machine.ItemBattery;
import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType;
import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage;
@ -238,6 +239,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', W.ingot(), 'T', ModBlocks.machine_transformer, 'P', ModItems.board_copper, 'F', Blocks.furnace });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', MINGRADE.ingot(), 'R', ModItems.wire_red_copper });
addRecipeAuto(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated });
addRecipeAuto(new ItemStack(ModBlocks.cable_detector, 1), new Object[] { "S", "W", 'S', REDSTONE.dust(), 'W', ModBlocks.red_wire_coated });
addRecipeAuto(new ItemStack(ModBlocks.machine_detector, 1), new Object[] { "IRI", "CTC", "IRI", 'I', ModItems.plate_polymer, 'R', REDSTONE.dust(), 'C', ModItems.wire_red_copper, 'T', ModItems.coil_tungsten });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper });
addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() });
@ -460,8 +462,8 @@ public class CraftingManager {
addShapelessAuto(new ItemStack(ModItems.solid_fuel_presto_triplet, 1), new Object[] { ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.ball_dynamite });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion });
addRecipeAuto(new ItemStack(ModBlocks.det_cord, 8), new Object[] { "TNT", "NGN", "TNT", 'T', IRON.plate(), 'N', KNO.dust(), 'G', Items.gunpowder });
addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ModItems.ingot_semtex });
addRecipeAuto(new ItemStack(ModBlocks.det_cord, 4), new Object[] { " P ", "PGP", " P ", 'P', Items.paper, 'G', Items.gunpowder });
addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ANY_PLASTICEXPLOSIVE.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PDP", "DCD", "PDP", 'P', ModItems.plate_desh, 'D', ModBlocks.det_charge, 'C', ModItems.man_core });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 4), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', ModItems.ball_dynamite });
addRecipeAuto(new ItemStack(ModBlocks.det_miner, 12), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', STEEL.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() });
@ -848,6 +850,8 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_rim_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_rim_green, 'C', KEY_GREEN });
addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_quad_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_quad_green, 'C', KEY_GREEN });
addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_framed_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_framed_green, 'C', KEY_GREEN });
addRecipeAuto(new ItemStack(ModBlocks.deco_emitter), new Object[] { "IDI", "DRD", "IDI", 'I', IRON.ingot(), 'D', DIAMOND.gem(), 'R', REDSTONE.block() });
addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', KEY_SLIME, 'P', Items.paper });
addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', ANY_TAR.any(), 'P', Items.paper });
@ -883,6 +887,12 @@ public class CraftingManager {
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.LIGHTOIL.getID()), new Object[] { ModItems.canister_lightoil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.BIOFUEL.getID()), new Object[] { ModItems.canister_biofuel });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.ETHANOL.getID()), new Object[] { ModItems.canister_ethanol });
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1), new Object[] { ModItems.ingot_chainsteel, ASBESTOS.ingot(), ModItems.gem_alexandrite });
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2) });
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_bismuth, ModItems.gem_alexandrite, ModItems.gem_alexandrite });
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3) });
addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_smore, ModItems.gem_alexandrite, ModItems.gem_alexandrite, ModItems.gem_alexandrite });
if(GeneralConfig.enableBabyMode) {
addShapelessAuto(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) });

View File

@ -13,6 +13,7 @@ import org.apache.commons.lang3.math.NumberUtils;
import org.apache.logging.log4j.Level;
import com.google.common.collect.Multimap;
import com.hbm.blocks.IStepTickReceiver;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockAshes;
import com.hbm.config.GeneralConfig;
@ -61,6 +62,7 @@ import com.hbm.util.EntityDamageUtil;
import com.hbm.world.WorldProviderNTM;
import com.hbm.world.generator.TimedGenerator;
import codechicken.lib.math.MathHelper;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@ -1099,6 +1101,18 @@ public class ModEventHandler {
if(player.ticksExisted == 100 || player.ticksExisted == 200)
CraftingManager.crumple();
if(event.phase == TickEvent.Phase.START) {
int x = MathHelper.floor_double(player.posX);
int y = MathHelper.floor_double(player.posY - player.yOffset - 0.5);
int z = MathHelper.floor_double(player.posZ);
Block b = player.worldObj.getBlock(x, y, z);
if(b instanceof IStepTickReceiver) {
IStepTickReceiver step = (IStepTickReceiver) b;
step.onPlayerStep(player.worldObj, x, y, z, player);
}
}
if(!player.worldObj.isRemote && event.phase == TickEvent.Phase.START) {
/// GHOST FIX START ///

View File

@ -71,6 +71,10 @@ public class NEIConfig implements IConfigureNEI {
API.registerUsageHandler(new LiquefactionHandler());
API.registerRecipeHandler(new SolidificationHandler());
API.registerUsageHandler(new SolidificationHandler());
API.registerRecipeHandler(new CrackingHandler());
API.registerUsageHandler(new CrackingHandler());
API.registerRecipeHandler(new FractioningHandler());
API.registerUsageHandler(new FractioningHandler());
//Some things are even beyond my control...or are they?
API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory));

View File

@ -0,0 +1,79 @@
package com.hbm.render.tileentity;
import java.awt.Color;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter;
import com.hbm.render.util.BeamPronter;
import com.hbm.render.util.BeamPronter.EnumBeamType;
import com.hbm.render.util.BeamPronter.EnumWaveType;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Vec3;
public class RenderEmitter extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata()) {
case 0:
GL11.glTranslated(0.0D, 0.5D, -0.5D);
GL11.glRotatef(90, 1F, 0F, 0F); break;
case 1:
GL11.glTranslated(0.0D, 0.5D, 0.5D);
GL11.glRotatef(90, -1F, 0F, 0F); break;
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
GL11.glTranslated(0, 0.5, 0.5);
TileEntityEmitter emitter = (TileEntityEmitter) tileEntity;
int range = emitter.beam - 1;
int originalColor = emitter.color == 0 ? Color.HSBtoRGB(tileEntity.getWorldObj().getTotalWorldTime() / 50.0F, 0.5F, 0.25F) & 16777215 : emitter.color;
float girth = emitter.girth;
int r = (originalColor & 0xff0000) >> 16;
int g = (originalColor & 0x00ff00) >> 8;
int b = (originalColor & 0x0000ff);
float innerMult = 0.85F;
float outerMult = 0.1F;
int colorInner = ((int)(r * innerMult) << 16) | ((int)(g * innerMult) << 8) | ((int)(b * innerMult));
int colorOuter = ((int)(r * outerMult) << 16) | ((int)(g * outerMult) << 8) | ((int)(b * outerMult));
if(range > 0) {
int segments = (int)Math.max(Math.sqrt(girth * 50), 2);
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, 0, 1, 0F, segments, girth);
if(emitter.effect == 1) {
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorInner, (int) tileEntity.getWorldObj().getTotalWorldTime() / 2, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorInner, (int) tileEntity.getWorldObj().getTotalWorldTime() / 2 + 15, (int)Math.max(range / girth / 4, 1), girth * 2, 4, girth * 0.1F);
}
if(emitter.effect == 2) {
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 180, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
}
if(emitter.effect == 3) {
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 120, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 240, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F);
}
}
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}

View File

@ -59,7 +59,8 @@ public class BeamPronter {
spinner.rotateAroundY((float) Math.PI * (float) start / 180F);
spinner.rotateAroundY((float) Math.PI * 45F / 180F * i);
} else if(wave == EnumWaveType.RANDOM) {
spinner.rotateAroundY((float) Math.PI * 4 * rand.nextFloat());
spinner.rotateAroundY((float) Math.PI * 2 * rand.nextFloat());
spinner.rotateAroundY((float) Math.PI * 2 * rand.nextFloat());
}
double pX = unit.xCoord * segLength * i + spinner.xCoord;
@ -82,7 +83,20 @@ public class BeamPronter {
for(int j = 1; j <= layers; j++) {
float inter = (float) (j - 1) / (float) (layers - 1);
int color = (int) (outerColor + (innerColor - outerColor) * inter);
int r1 = ((outerColor & 0xFF0000) >> 16);
int g1 = ((outerColor & 0x00FF00) >> 8);
int b1 = ((outerColor & 0x0000FF) >> 0);
int r2 = ((innerColor & 0xFF0000) >> 16);
int g2 = ((innerColor & 0x00FF00) >> 8);
int b2 = ((innerColor & 0x0000FF) >> 0);
int r = ((int)(r1 + (r2 - r1) * inter)) << 16;
int g = ((int)(g1 + (g2 - g1) * inter)) << 8;
int b = ((int)(b1 + (b2 - b1) * inter)) << 0;
int color = r | g | b;
tessellator.startDrawingQuads();
tessellator.setColorOpaque_I(color);

View File

@ -3,6 +3,7 @@ package com.hbm.tileentity;
import java.util.HashMap;
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter;
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
import com.hbm.tileentity.bomb.*;
import com.hbm.tileentity.conductor.*;
@ -188,6 +189,7 @@ public class TileMappings {
put(TileEntityLoot.class, "tileentity_ntm_loot");
put(TileEntityBobble.class, "tileentity_ntm_bobblehead");
put(TileEntityEmitter.class, "tileentity_ntm_emitter");
put(TileEntityDoorGeneric.class, "tileentity_ntm_door");

View File

@ -1,6 +1,5 @@
package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.interfaces.IFluidAcceptor;

View File

@ -130,6 +130,17 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
}
this.networkPack(data, 150);
} else {
if(isProgressing && this.worldObj.getTotalWorldTime() % 3 == 0) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
double x = xCoord + 0.5 + dir.offsetX * 1.125 + rot.offsetX * 0.125;
double y = yCoord + 3;
double z = zCoord + 0.5 + dir.offsetZ * 1.125 + rot.offsetZ * 0.125;
worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0);
}
}
}

View File

@ -59,6 +59,7 @@ public class ArmorUtil {
ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
//Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht!
registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);

View File

@ -365,8 +365,10 @@ public class InventoryUtil {
if(o instanceof ItemStack[]) {
ItemStack[] ingredients = (ItemStack[]) o;
ItemStack[][] stacks = new ItemStack[1][0];
stacks[0] = ingredients;
ItemStack[][] stacks = new ItemStack[ingredients.length][1];
for(int i = 0; i < ingredients.length; i++) {
stacks[i][0] = ingredients[i];
}
return stacks;
}

View File

@ -110,9 +110,11 @@ bomb.triggered=Erfolgreich ausgelöst!
book.test.page1=Testseite 1
chem.ASPHALT=Asphaltherstellung
chem.BAKELITE=Bakelitherstellung
chem.BALEFIRE=BF-Raketentreibstoffherstellung
chem.BP_BIOFUEL=Biodieselumesterung
chem.BP_BIOGAS=Biogasherstellung
chem.C4=C4-Synthese
chem.CC_HEATING=Fortgeschrittene Kohleverflüssigung
chem.CC_HEAVY=Einfache Kohleverflüssigung
chem.CC_I=Erweiterte Kohleverflüssigung
@ -120,6 +122,8 @@ 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
@ -148,15 +152,19 @@ 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.LPG=Petroleumgasverflüssigung
chem.LUBRICANT=Schmieröl mischen
chem.NITAN=NITAN-Supertreibstoff mischen
chem.OIL_SAND=Teersand-Extraktion
chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung
chem.PEROXIDE=Wasserstoffperoxidherstellung
chem.PETROIL_LEADED=Bleigemisch mischen
chem.POLYMER=Polymersynthese
chem.PUF6=Plutoniumhexafluoridproduktion
chem.RUBBER=Gummiherstellung
chem.SAS3=Schrabidiumtrisulfatherstellung
chem.SATURN=Saturnitherstellung
chem.SCHRABIDATE=Eisenschrabidatherstellung
@ -180,6 +188,7 @@ chem.SOLID_FUEL=Festbrennstoffherstellung
chem.STEAM=Wasser kochen
chem.TEL=TEL mischen
chem.TEST=Test
chem.TNT=TNT-Synthese
chem.UF6=Uranhexafluoridproduktion
chem.VIT_GAS=Gas-Atommüllvitrifizierung
chem.VIT_LIQUID=Flüssig-Atommüllvitrifizierung
@ -463,6 +472,7 @@ hbmfluid.bitumen=Bitumen
hbmfluid.carbondioxide=Kohlenstoffdioxid
hbmfluid.coolant=Kühlflüssigkeit
hbmfluid.coalgas=Kohlebenzin
hbmfluid.coalgas_leaded=Bleikohlebenzin
hbmfluid.coaloil=Kohleöl
hbmfluid.crackoil=Crack-Öl
hbmfluid.cryogel=Kryogel
@ -474,7 +484,8 @@ hbmfluid.ethanol=Ethanol
hbmfluid.enderjuice=Endersaft
hbmfluid.fracksol=Frackinglösung
hbmfluid.gas=Erdgas
hbmfluid.gasoline=Bleibenzin
hbmfluid.gasoline=Benzin
hbmfluid.gasoline_leaded=Bleibenzin
hbmfluid.heatingoil=Heizöl
hbmfluid.heavyoil=Schweröl
hbmfluid.heavywater=Schweres Wasser
@ -498,6 +509,7 @@ hbmfluid.oil=Rohöl
hbmfluid.oxygen=Flüssiger Sauerstoff
hbmfluid.pain=Pandemonium(III)tantalit-Lösung
hbmfluid.petroil=Gemisch
hbmfluid.petroil_leaded=Bleigemisch
hbmfluid.petroleum=Petroleumgas
hbmfluid.plasma_bf=Balefire-Plasma
hbmfluid.plasma_dh3=Deuterium-Helium-3-Plasma
@ -2073,6 +2085,7 @@ item.particle_muon.name=Myonenkapsel
item.particle_sparkticle.name=Sparktikelkapsel
item.particle_strange.name=Strange-Quark-Kapsel
item.particle_tachyon.name=Tachyonenkapsel
item.parts_legendary.name=Legendäre Teile
item.peas.name=Erbsen
item.pedestal_steel.name=Stahlsockel
item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet
@ -2607,7 +2620,9 @@ item.steel_pickaxe.name=Stahlspitzhacke
item.steel_plate.name=Stahlbrustpanzer
item.steel_shovel.name=Stahlschaufel
item.steel_sword.name=Stahlschwert
item.stick_c4.name=Stange C4
item.stick_dynamite.name=Stange Dynamit
item.stick_semtex.name=Stange Semtex
item.stick_tnt.name=Stange TNT
item.stopsign.name=Stopschild-Streitaxt
item.sulfur.name=Schwefel
@ -2868,6 +2883,7 @@ tile.block_advanced_alloy.name=Fortgeschrittener Legierungsblock
tile.block_aluminium.name=Aluminiumblock
tile.block_asbestos.name=Asbestblock
tile.block_australium.name=Australiumblock
tile.block_bakelite.name=Bakelitblock
tile.block_beryllium.name=Berylliumblock
tile.block_bismuth.name=Bismutblock
tile.block_boron.name=Borblock
@ -2921,6 +2937,7 @@ tile.block_niobium.name=Niobblock
tile.block_plutonium.name=Plutoniumblock
tile.block_plutonium_fuel.name=Plutoniumkernbrennstoffblock
tile.block_polonium.name=Polonium-210-Block
tile.block_polymer.name=Polymerblock
tile.block_pu_mix.name=Reaktorfähiger Plutoniumblock
tile.block_pu238.name=Plutonium-238-Block
tile.block_pu239.name=Plutonium-239-Block
@ -2928,6 +2945,7 @@ tile.block_pu240.name=Plutonium-240-Block
tile.block_red_copper.name=Roter Kupferblock
tile.block_red_phosphorus.name=Roter Phosphorblock
tile.block_reiium.name=Reiiumblock
tile.block_rubber.name=Gummiblock
tile.block_schrabidate.name=Eisenschrabidatblock
tile.block_schrabidium.name=Schrabidiumblock
tile.block_schrabidium_cluster.name=Schrabidium-Cluster
@ -3048,6 +3066,7 @@ tile.crystal_virus.name=Dunkler Kristall
tile.deco_aluminium.name=Aluminium-Dekoblock
tile.deco_asbestos.name=Asbestdach
tile.deco_beryllium.name=Beryllium-Dekoblock
tile.deco_emitter.name=Deko-Lichtemitter
tile.deco_lead.name=Blei-Dekoblock
tile.deco_rbmk.name=RBMK-Dekoblock
tile.deco_rbmk_smooth.name=Glatter RBMK-Dekoblock

View File

@ -277,9 +277,11 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea
#book.rbmk.page16=§4§lAvoid.
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_HEATING=Advanced Coal Liquefaction
chem.CC_HEAVY=Basic Coal Liquefaction
chem.CC_I=Enhanced Coal Liquefaction
@ -288,6 +290,7 @@ 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=Tantalium Crystallizing
chem.COLTAN_PAIN=Pandemonium(III)tantalite Production
@ -318,17 +321,21 @@ 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.LPG=Petroleum Gas Liquefaction
chem.LUBRICANT=Lubricant Mixing
chem.METH=Methamphetamine Synthesis
chem.NITAN=NITAN Super Fuel Mixing
chem.OIL_SAND=Tar Sand Extraction
chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production
chem.PEROXIDE=Hydrogen Peroxide Production
chem.PETROIL_LEADED=Leaded Petroil Mixing
chem.POLYMER=Polymer Synthesis
chem.PUF6=Plutonium Hexafluoride Production
chem.RUBBER=Rubber Production
chem.SAS3=Schrabidium Trisulfide Production
chem.SATURN=Saturnite Production
chem.SCHRABIDATE=Ferric Schrabidate Production
@ -352,6 +359,7 @@ chem.SOLID_FUEL=Solid Rocket Fuel Production
chem.STEAM=Water Boiling
chem.TEL=TEL Mixing
chem.TEST=Test
chem.TNT=TNT Synthesis
chem.UF6=Uranium Hexafluoride Production
chem.VIT_GAS=Gaseous Nuclear Waste Vitrification
chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification
@ -655,6 +663,7 @@ hbmfluid.biogas=Biogas
hbmfluid.bitumen=Bitumen
hbmfluid.carbondioxide=Carbon Dioxide
hbmfluid.coalgas=Coal Gasoline
hbmfluid.coalgas_leaded=Leaded Coal Gasoline
hbmfluid.coaloil=Coal Oil
hbmfluid.coolant=Coolant
hbmfluid.crackoil=Cracked Oil
@ -667,7 +676,8 @@ hbmfluid.ethanol=Ethanol
hbmfluid.enderjuice=Ender Juice
hbmfluid.fracksol=Fracking Solution
hbmfluid.gas=Natural Gas
hbmfluid.gasoline=Leaded Gasoline
hbmfluid.gasoline=Gasoline
hbmfluid.gasoline_leaded=Leaded Gasoline
hbmfluid.heatingoil=Heating Oil
hbmfluid.heavyoil=Heavy Oil
hbmfluid.heavywater=Heavy Water
@ -691,6 +701,7 @@ hbmfluid.oil=Crude Oil
hbmfluid.oxygen=Liquid Oxygen
hbmfluid.pain=Pandemonium(III)tantalite Solution
hbmfluid.petroil=Petroil
hbmfluid.petroil_leaded=Leaded Petroil
hbmfluid.petroleum=Petroleum Gas
hbmfluid.plasma_bf=Balefire Plasma
hbmfluid.plasma_dh3=Deuterium-Helium-3 Plasma
@ -2335,6 +2346,7 @@ item.particle_muon.name=Muon Capsule
item.particle_sparkticle.name=Sparkticle Capsule
item.particle_strange.name=Strange Quark Capsule
item.particle_tachyon.name=Tachyon Capsule
item.parts_legendary.name=Legendary Parts
item.peas.name=Peas
item.pedestal_steel.name=Steel Pedestal
item.pellet_advanced.name=Advanced Watz Performance Improver
@ -2961,7 +2973,9 @@ item.steel_pickaxe.name=Steel Pickaxe
item.steel_plate.name=Steel Chestplate
item.steel_shovel.name=Steel Shovel
item.steel_sword.name=Steel Sword
item.stick_c4.name=Stick of C-4
item.stick_dynamite.name=Stick of Dynamite
item.stick_semtex.name=Stick of Semtex
item.stick_tnt.name=Stick of TNT
item.stopsign.name=Stop Sign Battle Axe
item.sulfur.name=Sulfur
@ -3232,6 +3246,7 @@ tile.block_advanced_alloy.name=Block of Advanced Alloy
tile.block_aluminium.name=Block of Aluminium
tile.block_asbestos.name=Block of Asbestos
tile.block_australium.name=Block of Australium
tile.block_bakelite.name=Block of Bakelite
tile.block_beryllium.name=Block of Beryllium
tile.block_bismuth.name=Block of Bismuth
tile.block_boron.name=Block of Boron
@ -3285,6 +3300,7 @@ tile.block_niobium.name=Block of Niobium
tile.block_plutonium.name=Block of Plutonium
tile.block_plutonium_fuel.name=Block of Plutonium Fuel
tile.block_polonium.name=Block of Polonium-210
tile.block_polymer.name=Block of Polymer
tile.block_pu_mix.name=Block of Reactor Grade Plutonium
tile.block_pu238.name=Block of Plutonium-238
tile.block_pu239.name=Block of Plutonium-239
@ -3293,6 +3309,7 @@ tile.block_ra226.name=Block of Radium-226
tile.block_red_copper.name=Block of Red Copper
tile.block_red_phosphorus.name=Block of Red Phosphorus
tile.block_reiium.name=Block of Reiium
tile.block_rubber.name=Block of Rubber
tile.block_schrabidate.name=Block of Ferric Schrabidate
tile.block_schrabidium.name=Block of Schrabidium
tile.block_schrabidium_cluster.name=Schrabidium Cluster
@ -3413,6 +3430,7 @@ tile.crystal_virus.name=Dark Crystal
tile.deco_aluminium.name=Aluminium Deco Block
tile.deco_asbestos.name=Asbestos Roof
tile.deco_beryllium.name=Beryllium Deco Block
tile.deco_emitter.name=Deco Light Emitter
tile.deco_lead.name=Lead Deco Block
tile.deco_rbmk.name=RBMK Deco Block
tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block

View File

@ -194,6 +194,7 @@
"step.iron_land": {"category": "player", "sounds": [{"name": "footsteps/iron_land", "stream": false}]},
"step.iron": {"category": "player", "sounds": ["footsteps/iron1", "footsteps/iron2", "footsteps/iron3", "footsteps/iron4"]},
"step.metalBlock": {"category": "block", "sounds": ["footsteps/metalStep1", "footsteps/metalStep2", "footsteps/metalStep3", "footsteps/metalStep4"]},
"step.powered": {"category": "player", "sounds": ["footsteps/powered1", "footsteps/powered2", "footsteps/powered3"]},
"player.vomit": {"category": "player", "sounds": [{"name": "player/vomit", "stream": false}]},
"player.cough": {"category": "player", "sounds": ["player/cough1", "player/cough2", "player/cough3", "player/cough4"]},

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

View File

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