more recipe handlers, some fixes, finished RPA, fixed furnace NEI
9
src/main/java/com/hbm/blocks/IStepTickReceiver.java
Normal 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);
|
||||
}
|
||||
@ -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());
|
||||
|
||||
243
src/main/java/com/hbm/blocks/generic/BlockEmitter.java
Normal 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");
|
||||
}
|
||||
}
|
||||
@ -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)) + "%");
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 });
|
||||
|
||||
@ -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 });
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
11
src/main/java/com/hbm/handler/nei/CrackingHandler.java
Normal 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());
|
||||
}
|
||||
}
|
||||
11
src/main/java/com/hbm/handler/nei/FractioningHandler.java
Normal 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());
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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));
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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) },
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -19,4 +19,10 @@ public class ItemEnums {
|
||||
CRACK,
|
||||
COAL
|
||||
}
|
||||
|
||||
public static enum EnumLegendaryType {
|
||||
TIER1,
|
||||
TIER2,
|
||||
TIER3
|
||||
}
|
||||
}
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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) });
|
||||
|
||||
@ -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 ///
|
||||
|
||||
@ -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));
|
||||
|
||||
79
src/main/java/com/hbm/render/tileentity/RenderEmitter.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/footsteps/powered1.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/footsteps/powered2.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/footsteps/powered3.ogg
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/emitter.png
Normal file
|
After Width: | Height: | Size: 380 B |
|
After Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 500 B |
|
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 333 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
BIN
src/main/resources/assets/hbm/textures/items/rpa_boots.png
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
src/main/resources/assets/hbm/textures/items/rpa_helmet.png
Normal file
|
After Width: | Height: | Size: 397 B |
BIN
src/main/resources/assets/hbm/textures/items/rpa_legs.png
Normal file
|
After Width: | Height: | Size: 249 B |
BIN
src/main/resources/assets/hbm/textures/items/rpa_plate.png
Normal file
|
After Width: | Height: | Size: 347 B |
@ -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": "",
|
||||
|
||||