mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
power gauge, fixes
This commit is contained in:
parent
b077a65624
commit
24ef4cb0ca
11
changelog
11
changelog
@ -15,6 +15,12 @@
|
|||||||
* Industrial smokestack
|
* Industrial smokestack
|
||||||
* An even larger smokestack, matching the size of the coker unit
|
* An even larger smokestack, matching the size of the coker unit
|
||||||
* Reduced pollution by 90%, as opposed to the brick smokestack's 75%
|
* Reduced pollution by 90%, as opposed to the brick smokestack's 75%
|
||||||
|
* Power gauge
|
||||||
|
* Like the flow gauge pipe for cable networks
|
||||||
|
* Shows the total amount of power being transferred within the connected network
|
||||||
|
* Trenchmaster armor
|
||||||
|
* A new unique set of armor that is currently unobtainable
|
||||||
|
* Has new traits like faster reloads, a 33% chance of not using up ammo and step-assist
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
* Updated russian localization
|
* Updated russian localization
|
||||||
@ -36,6 +42,8 @@
|
|||||||
* Smokestacks now capture fly ash and are now compatible with ashpits
|
* Smokestacks now capture fly ash and are now compatible with ashpits
|
||||||
* Industrial smokestacks can also capture fine soot
|
* Industrial smokestacks can also capture fine soot
|
||||||
* Reduced strings required for making coal filters, filters are now also available in tier 2 anvils
|
* Reduced strings required for making coal filters, filters are now also available in tier 2 anvils
|
||||||
|
* Fireboxes and heating ovens can now be disassembled in tier 2 anvils, yielding most of the resources used for making them
|
||||||
|
* Signal beacons now only spawn half as often
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed the bomber not spawning if the chunkloading radios is too small
|
* Fixed the bomber not spawning if the chunkloading radios is too small
|
||||||
@ -49,3 +57,6 @@
|
|||||||
* Fixed logspam caused by custom machine crafting handler
|
* Fixed logspam caused by custom machine crafting handler
|
||||||
* Fixed issue with the assemblers and chemplants where recipes with larger input requirements would break the input funnel
|
* Fixed issue with the assemblers and chemplants where recipes with larger input requirements would break the input funnel
|
||||||
* Fixed crash caused by reloading when the ammo item is in the last slot
|
* Fixed crash caused by reloading when the ammo item is in the last slot
|
||||||
|
* Power and fluid networks will no longer transfer amounts less or equal than 0, preventing negative values and removing unnecessary operations where nothing would happen anyways
|
||||||
|
* Fixed bug where damage sources that bypass iframes would deal significantly more damage if the victim has taken a lot of damage prior
|
||||||
|
* Fixed duplicate balefire shell existing, the one that was usable was not the one that was craftable
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
mod_version=1.0.27
|
mod_version=1.0.27
|
||||||
# Empty build number makes a release type
|
# Empty build number makes a release type
|
||||||
mod_build_number=4711
|
mod_build_number=4724
|
||||||
|
|
||||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\
|
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\
|
||||||
|
|||||||
@ -153,6 +153,8 @@ public class PowerNet implements IPowerNet {
|
|||||||
|
|
||||||
public static long fairTransfer(List<IEnergyConnector> subscribers, long power) {
|
public static long fairTransfer(List<IEnergyConnector> subscribers, long power) {
|
||||||
|
|
||||||
|
if(power <= 0) return 0;
|
||||||
|
|
||||||
if(subscribers.isEmpty())
|
if(subscribers.isEmpty())
|
||||||
return power;
|
return power;
|
||||||
|
|
||||||
|
|||||||
@ -106,6 +106,8 @@ public class PipeNet implements IPipeNet {
|
|||||||
|
|
||||||
public static long fairTransfer(List<IFluidConnector> subList, FluidType type, int pressure, long fill) {
|
public static long fairTransfer(List<IFluidConnector> subList, FluidType type, int pressure, long fill) {
|
||||||
|
|
||||||
|
if(fill <= 0) return 0;
|
||||||
|
|
||||||
List<Long> weight = new ArrayList();
|
List<Long> weight = new ArrayList();
|
||||||
long totalReq = 0;
|
long totalReq = 0;
|
||||||
|
|
||||||
|
|||||||
@ -782,6 +782,7 @@ public class ModBlocks {
|
|||||||
public static Block red_cable;
|
public static Block red_cable;
|
||||||
public static Block red_cable_classic;
|
public static Block red_cable_classic;
|
||||||
public static Block red_cable_paintable;
|
public static Block red_cable_paintable;
|
||||||
|
public static Block red_cable_gauge;
|
||||||
public static Block red_connector;
|
public static Block red_connector;
|
||||||
public static Block red_pylon;
|
public static Block red_pylon;
|
||||||
public static Block red_pylon_large;
|
public static Block red_pylon_large;
|
||||||
@ -1949,6 +1950,7 @@ public class ModBlocks {
|
|||||||
red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo");
|
red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo");
|
||||||
red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic");
|
red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic");
|
||||||
red_cable_paintable = new BlockCablePaintable().setBlockName("red_cable_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
red_cable_paintable = new BlockCablePaintable().setBlockName("red_cable_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
|
red_cable_gauge = new BlockCableGauge().setBlockName("red_cable_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector");
|
red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector");
|
||||||
red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon");
|
red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon");
|
||||||
red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large");
|
red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large");
|
||||||
@ -3210,6 +3212,7 @@ public class ModBlocks {
|
|||||||
GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName());
|
GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName());
|
GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(red_cable_paintable, red_cable_paintable.getUnlocalizedName());
|
GameRegistry.registerBlock(red_cable_paintable, red_cable_paintable.getUnlocalizedName());
|
||||||
|
register(red_cable_gauge);
|
||||||
GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName());
|
GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName());
|
GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName());
|
GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName());
|
||||||
|
|||||||
165
src/main/java/com/hbm/blocks/network/BlockCableGauge.java
Normal file
165
src/main/java/com/hbm/blocks/network/BlockCableGauge.java
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
package com.hbm.blocks.network;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.hbm.blocks.IBlockMultiPass;
|
||||||
|
import com.hbm.blocks.ILookOverlay;
|
||||||
|
import com.hbm.blocks.ITooltipProvider;
|
||||||
|
import com.hbm.lib.RefStrings;
|
||||||
|
import com.hbm.render.block.RenderBlockMultipass;
|
||||||
|
import com.hbm.tileentity.INBTPacketReceiver;
|
||||||
|
import com.hbm.tileentity.network.TileEntityCableBaseNT;
|
||||||
|
import com.hbm.util.BobMathUtil;
|
||||||
|
import com.hbm.util.I18nUtil;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.Optional;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import li.cil.oc.api.machine.Arguments;
|
||||||
|
import li.cil.oc.api.machine.Callback;
|
||||||
|
import li.cil.oc.api.machine.Context;
|
||||||
|
import li.cil.oc.api.network.SimpleComponent;
|
||||||
|
import net.minecraft.block.BlockContainer;
|
||||||
|
import net.minecraft.block.BlockPistonBase;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.IIcon;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||||
|
|
||||||
|
public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, ILookOverlay, ITooltipProvider {
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT) protected IIcon overlayGauge;
|
||||||
|
|
||||||
|
public BlockCableGauge() {
|
||||||
|
super(Material.iron);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World world, int meta) {
|
||||||
|
return new TileEntityCableGauge();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void registerBlockIcons(IIconRegister reg) {
|
||||||
|
this.blockIcon = reg.registerIcon(RefStrings.MODID + ":deco_red_copper");
|
||||||
|
this.overlayGauge = reg.registerIcon(RefStrings.MODID + ":cable_gauge");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||||
|
|
||||||
|
if(RenderBlockMultipass.currentPass == 0) {
|
||||||
|
return blockIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
return side == world.getBlockMetadata(x, y, z) ? this.overlayGauge : this.blockIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 int getPasses() {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||||
|
this.addStandardInfo(stack, player, list, ext);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||||
|
|
||||||
|
TileEntity te = world.getTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if(!(te instanceof TileEntityCableGauge))
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileEntityCableGauge duct = (TileEntityCableGauge) te;
|
||||||
|
|
||||||
|
List<String> text = new ArrayList();
|
||||||
|
text.add(BobMathUtil.getShortNumber(duct.deltaTick) + "HE/t");
|
||||||
|
text.add(BobMathUtil.getShortNumber(duct.deltaLastSecond) + "HE/s");
|
||||||
|
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderType(){
|
||||||
|
return IBlockMultiPass.getRenderType();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
||||||
|
public static class TileEntityCableGauge extends TileEntityCableBaseNT implements INBTPacketReceiver, SimpleComponent {
|
||||||
|
|
||||||
|
private BigInteger lastMeasurement = BigInteger.valueOf(10);
|
||||||
|
private long deltaTick = 0;
|
||||||
|
private long deltaSecond = 0;
|
||||||
|
private long deltaLastSecond = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEntity() {
|
||||||
|
super.updateEntity();
|
||||||
|
|
||||||
|
if(!worldObj.isRemote) {
|
||||||
|
|
||||||
|
if(network != null) {
|
||||||
|
BigInteger total = network.getTotalTransfer();
|
||||||
|
BigInteger delta = total.subtract(this.lastMeasurement);
|
||||||
|
this.lastMeasurement = total;
|
||||||
|
|
||||||
|
try {
|
||||||
|
this.deltaTick = delta.longValueExact();
|
||||||
|
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||||
|
this.deltaLastSecond = this.deltaSecond;
|
||||||
|
this.deltaSecond = 0;
|
||||||
|
}
|
||||||
|
this.deltaSecond += deltaTick;
|
||||||
|
|
||||||
|
} catch(Exception ex) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
NBTTagCompound data = new NBTTagCompound();
|
||||||
|
data.setLong("deltaT", deltaTick);
|
||||||
|
data.setLong("deltaS", deltaLastSecond);
|
||||||
|
INBTPacketReceiver.networkPack(this, data, 25);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void networkUnpack(NBTTagCompound nbt) {
|
||||||
|
this.deltaTick = Math.max(nbt.getLong("deltaT"), 0);
|
||||||
|
this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComponentName() {
|
||||||
|
return "ntm_cable_gauge";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Callback(direct = true, limit = 8)
|
||||||
|
@Optional.Method(modid = "OpenComputers")
|
||||||
|
public Object[] getTransfer(Context context, Arguments args) {
|
||||||
|
return new Object[] {deltaTick, deltaSecond};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Callback(direct = true, limit = 8)
|
||||||
|
@Optional.Method(modid = "OpenComputers")
|
||||||
|
public Object[] getInfo(Context context, Arguments args) {
|
||||||
|
return new Object[] {deltaTick, deltaSecond, xCoord, yCoord, zCoord};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -98,7 +98,7 @@ public class WeaponRecipes {
|
|||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', STEEL.plate(), 'L', PB.plate(), 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', STEEL.plate(), 'L', PB.plate(), 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke, 1, AmmoFatman.BALEFIRE.ordinal()), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', IRON.plate(), 'I', STEEL.plate(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', IRON.plate(), 'I', STEEL.plate(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', STEEL.ingot(), 'S', ANY_PLASTIC.ingot(), 'G', ModItems.mechanism_launcher_1 });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', STEEL.ingot(), 'S', ANY_PLASTIC.ingot(), 'G', ModItems.mechanism_launcher_1 });
|
||||||
|
|||||||
@ -693,6 +693,23 @@ public class AnvilRecipes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void registerConstructionRecycling() {
|
public static void registerConstructionRecycling() {
|
||||||
|
|
||||||
|
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||||
|
new ComparableStack(ModBlocks.heater_firebox),
|
||||||
|
new AnvilOutput[] {
|
||||||
|
new AnvilOutput(new ItemStack(ModItems.plate_steel, 8)),
|
||||||
|
new AnvilOutput(new ItemStack(ModItems.ingot_copper, 6))
|
||||||
|
}
|
||||||
|
).setTier(2));
|
||||||
|
|
||||||
|
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||||
|
new ComparableStack(ModBlocks.heater_oven),
|
||||||
|
new AnvilOutput[] {
|
||||||
|
new AnvilOutput(new ItemStack(ModItems.ingot_firebrick, 16)),
|
||||||
|
new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8))
|
||||||
|
}
|
||||||
|
).setTier(2));
|
||||||
|
|
||||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||||
new ComparableStack(ModBlocks.barrel_tcalloy),
|
new ComparableStack(ModBlocks.barrel_tcalloy),
|
||||||
new AnvilOutput[] {
|
new AnvilOutput[] {
|
||||||
|
|||||||
@ -1542,7 +1542,6 @@ public class ModItems {
|
|||||||
public static Item gun_proto;
|
public static Item gun_proto;
|
||||||
public static Item gun_mirv;
|
public static Item gun_mirv;
|
||||||
public static Item gun_bf;
|
public static Item gun_bf;
|
||||||
public static Item gun_bf_ammo;
|
|
||||||
public static Item gun_chemthrower;
|
public static Item gun_chemthrower;
|
||||||
public static Item gun_mp40;
|
public static Item gun_mp40;
|
||||||
public static Item gun_thompson;
|
public static Item gun_thompson;
|
||||||
@ -4142,7 +4141,6 @@ public class ModItems {
|
|||||||
gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
||||||
gun_proto = new ItemGunBase(GunFatmanFactory.getProtoConfig()).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
gun_proto = new ItemGunBase(GunFatmanFactory.getProtoConfig()).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
||||||
gun_mirv = new ItemGunBase(GunFatmanFactory.getMIRVConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv");
|
gun_mirv = new ItemGunBase(GunFatmanFactory.getMIRVConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv");
|
||||||
gun_bf_ammo = new Item().setUnlocalizedName("gun_bf_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf_ammo");
|
|
||||||
gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf");
|
gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf");
|
||||||
gun_chemthrower = new ItemGunChemthrower().setUnlocalizedName("gun_chemthrower").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
gun_chemthrower = new ItemGunChemthrower().setUnlocalizedName("gun_chemthrower").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman");
|
||||||
gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40");
|
gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40");
|
||||||
@ -7065,7 +7063,6 @@ public class ModItems {
|
|||||||
//GameRegistry.registerItem(gun_stinger_ammo, gun_stinger_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_stinger_ammo, gun_stinger_ammo.getUnlocalizedName());
|
||||||
//GameRegistry.registerItem(gun_fatman_ammo, gun_fatman_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_fatman_ammo, gun_fatman_ammo.getUnlocalizedName());
|
||||||
//GameRegistry.registerItem(gun_mirv_ammo, gun_mirv_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_mirv_ammo, gun_mirv_ammo.getUnlocalizedName());
|
||||||
GameRegistry.registerItem(gun_bf_ammo, gun_bf_ammo.getUnlocalizedName());
|
|
||||||
//GameRegistry.registerItem(gun_mp40_ammo, gun_mp40_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_mp40_ammo, gun_mp40_ammo.getUnlocalizedName());
|
||||||
//GameRegistry.registerItem(gun_uzi_ammo, gun_uzi_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_uzi_ammo, gun_uzi_ammo.getUnlocalizedName());
|
||||||
//GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName());
|
//GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName());
|
||||||
|
|||||||
@ -393,7 +393,7 @@ public class HbmWorldGen implements IWorldGenerator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rand.nextInt(1000) == 0) {
|
if(rand.nextInt(2000) == 0) {
|
||||||
int x = i + rand.nextInt(16);
|
int x = i + rand.nextInt(16);
|
||||||
int z = j + rand.nextInt(16);
|
int z = j + rand.nextInt(16);
|
||||||
int y = world.getHeightValue(x, z);
|
int y = world.getHeightValue(x, z);
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
|||||||
public class RefStrings {
|
public class RefStrings {
|
||||||
public static final String MODID = "hbm";
|
public static final String MODID = "hbm";
|
||||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||||
public static final String VERSION = "1.0.27 BETA (4711)";
|
public static final String VERSION = "1.0.27 BETA (4724)";
|
||||||
//HBM's Beta Naming Convention:
|
//HBM's Beta Naming Convention:
|
||||||
//V T (X)
|
//V T (X)
|
||||||
//V -> next release version
|
//V -> next release version
|
||||||
|
|||||||
@ -259,7 +259,7 @@ public class CraftingManager {
|
|||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "RSR", "I I", "RSR", 'I', IRON.ingot(), 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', IRON.plate() });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "RSR", "I I", "RSR", 'I', IRON.ingot(), 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', IRON.plate() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 64), new Object[] { "LLL", "I I", "LLL", 'L', RUBBER.ingot(), 'I', IRON.ingot() });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor, 64), new Object[] { "LLL", "I I", "LLL", 'L', RUBBER.ingot(), 'I', IRON.ingot() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor_express, 16), new Object[] { "CCC", "CLC", "CCC", 'C', ModBlocks.conveyor, 'L', Fluids.LUBRICANT.getDict(1_000) });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor_express, 8), new Object[] { "CCC", "CLC", "CCC", 'C', ModBlocks.conveyor, 'L', Fluids.LUBRICANT.getDict(1_000) });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor_double, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor, 'P', IRON.plate() });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor_double, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor, 'P', IRON.plate() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor_triple, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor_double, 'P', STEEL.plate() });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor_triple, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor_double, 'P', STEEL.plate() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.conveyor_chute, 3), new Object[] { "IGI", "IGI", "ICI" , 'I', IRON.ingot(), 'G', ModBlocks.steel_grate, 'C', ModBlocks.conveyor });
|
addRecipeAuto(new ItemStack(ModBlocks.conveyor_chute, 3), new Object[] { "IGI", "IGI", "ICI" , 'I', IRON.ingot(), 'G', ModBlocks.steel_grate, 'C', ModBlocks.conveyor });
|
||||||
@ -281,6 +281,7 @@ public class CraftingManager {
|
|||||||
addRecipeAuto(new ItemStack(ModBlocks.red_cable, 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper });
|
addRecipeAuto(new ItemStack(ModBlocks.red_cable, 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper });
|
||||||
addShapelessAuto(new ItemStack(ModBlocks.red_cable_classic, 1), new Object[] { ModBlocks.red_cable });
|
addShapelessAuto(new ItemStack(ModBlocks.red_cable_classic, 1), new Object[] { ModBlocks.red_cable });
|
||||||
addShapelessAuto(new ItemStack(ModBlocks.red_cable, 1), new Object[] { ModBlocks.red_cable_classic });
|
addShapelessAuto(new ItemStack(ModBlocks.red_cable, 1), new Object[] { ModBlocks.red_cable_classic });
|
||||||
|
addShapelessAuto(new ItemStack(ModBlocks.red_cable_gauge), new Object[] { ModBlocks.red_wire_coated, STEEL.ingot(), ModItems.circuit_aluminium });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() });
|
addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.red_pylon, 4), new Object[] { "CWC", "PWP", " T ", 'C', ModItems.coil_copper, 'W', KEY_PLANKS, 'P', ModItems.plate_polymer, 'T', ModBlocks.red_wire_coated });
|
addRecipeAuto(new ItemStack(ModBlocks.red_pylon, 4), new Object[] { "CWC", "PWP", " T ", 'C', ModItems.coil_copper, 'W', KEY_PLANKS, 'P', ModItems.plate_polymer, 'T', ModBlocks.red_wire_coated });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', CU.ingot(), 'R', REDSTONE.block(), 'W', KEY_PLANKS });
|
addRecipeAuto(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', CU.ingot(), 'R', REDSTONE.block(), 'W', KEY_PLANKS });
|
||||||
|
|||||||
@ -1173,6 +1173,7 @@ public class MainRegistry {
|
|||||||
ignoreMappings.add("hbm:item.recycled_electronic");
|
ignoreMappings.add("hbm:item.recycled_electronic");
|
||||||
ignoreMappings.add("hbm:item.recycled_nuclear");
|
ignoreMappings.add("hbm:item.recycled_nuclear");
|
||||||
ignoreMappings.add("hbm:item.recycled_misc");
|
ignoreMappings.add("hbm:item.recycled_misc");
|
||||||
|
ignoreMappings.add("hbm:item.gun_bf_ammo");
|
||||||
|
|
||||||
/// REMAP ///
|
/// REMAP ///
|
||||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import com.hbm.blocks.machine.MachineCapacitor.TileEntityCapacitor;
|
|||||||
import com.hbm.blocks.machine.MachineFan.TileEntityFan;
|
import com.hbm.blocks.machine.MachineFan.TileEntityFan;
|
||||||
import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter;
|
import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter;
|
||||||
import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump;
|
import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump;
|
||||||
|
import com.hbm.blocks.network.BlockCableGauge.TileEntityCableGauge;
|
||||||
import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable;
|
import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable;
|
||||||
import com.hbm.blocks.network.CableDiode.TileEntityDiode;
|
import com.hbm.blocks.network.CableDiode.TileEntityDiode;
|
||||||
import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge;
|
import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge;
|
||||||
@ -190,6 +191,7 @@ public class TileMappings {
|
|||||||
put(TileEntityDeaerator.class, "tileentity_deaerator");
|
put(TileEntityDeaerator.class, "tileentity_deaerator");
|
||||||
put(TileEntityCableBaseNT.class, "tileentity_ohgod"); // what?
|
put(TileEntityCableBaseNT.class, "tileentity_ohgod"); // what?
|
||||||
put(TileEntityCablePaintable.class, "tileentity_cable_paintable");
|
put(TileEntityCablePaintable.class, "tileentity_cable_paintable");
|
||||||
|
put(TileEntityCableGauge.class, "tileentity_cable_gauge");
|
||||||
put(TileEntityPipeBaseNT.class, "tileentity_pipe_base");
|
put(TileEntityPipeBaseNT.class, "tileentity_pipe_base");
|
||||||
put(TileEntityPipePaintable.class, "tileentity_pipe_paintable");
|
put(TileEntityPipePaintable.class, "tileentity_pipe_paintable");
|
||||||
put(TileEntityPipeGauge.class, "tileentity_pipe_gauge");
|
put(TileEntityPipeGauge.class, "tileentity_pipe_gauge");
|
||||||
|
|||||||
@ -67,7 +67,11 @@ public class EntityDamageUtil {
|
|||||||
if(!victim.attackEntityFrom(src, damage)) {
|
if(!victim.attackEntityFrom(src, damage)) {
|
||||||
|
|
||||||
if(victim instanceof EntityLivingBase) {
|
if(victim instanceof EntityLivingBase) {
|
||||||
damage += ((EntityLivingBase) victim).lastDamage;
|
EntityLivingBase living = (EntityLivingBase) victim;
|
||||||
|
|
||||||
|
if(living.hurtResistantTime > living.maxHurtResistantTime / 2.0F) {
|
||||||
|
damage += living.lastDamage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return victim.attackEntityFrom(src, damage);
|
return victim.attackEntityFrom(src, damage);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -3244,6 +3244,10 @@ item.titanium_shovel.name=Titanschaufel
|
|||||||
item.titanium_sword.name=Titanschwert
|
item.titanium_sword.name=Titanschwert
|
||||||
item.toothpicks.name=Zahnstocher
|
item.toothpicks.name=Zahnstocher
|
||||||
item.train.cargo_tram.name=Elektrischer Flachwagen
|
item.train.cargo_tram.name=Elektrischer Flachwagen
|
||||||
|
item.trenchmaster_boots.name=Stiefel des Trenchmasters
|
||||||
|
item.trenchmaster_helmet.name=Helm des Trenchmasters
|
||||||
|
item.trenchmaster_legs.name=Hose des Trenchmasters
|
||||||
|
item.trenchmaster_plate.name=Brustpanzer des Trenchmasters
|
||||||
item.trinitite.name=Trinitit
|
item.trinitite.name=Trinitit
|
||||||
item.tritium_deuterium_cake.name=Tritium-Deuterium-Kuchen
|
item.tritium_deuterium_cake.name=Tritium-Deuterium-Kuchen
|
||||||
item.tsar_core.name=Fusionskern
|
item.tsar_core.name=Fusionskern
|
||||||
@ -4334,6 +4338,8 @@ tile.reactor_inserter.name=Reaktor-Brennstoffeinlass
|
|||||||
tile.red_barrel.name=Explosives Fass
|
tile.red_barrel.name=Explosives Fass
|
||||||
tile.red_cable.name=Rotes Kupferkabel
|
tile.red_cable.name=Rotes Kupferkabel
|
||||||
tile.red_cable_classic.name=Rotes Kupferkabel (Klassisch)
|
tile.red_cable_classic.name=Rotes Kupferkabel (Klassisch)
|
||||||
|
tile.red_cable_gauge.name=Strommessgerät
|
||||||
|
tile.red_cable_gauge.desc=Kabel welches anzeight, wie viel Strom$sich pro Tick im Netzwerk bewegt.$Geteilte Netzwerke die über Energiespeicherblöcke$verbunden sind, werden als ein einzelnes gezählt.
|
||||||
tile.red_cable_paintable.name=Geschirmtes rotes Kupferkabel (Färbbar)
|
tile.red_cable_paintable.name=Geschirmtes rotes Kupferkabel (Färbbar)
|
||||||
tile.red_connector.name=Stromverbindungsstück
|
tile.red_connector.name=Stromverbindungsstück
|
||||||
tile.red_pylon.name=Strommasten
|
tile.red_pylon.name=Strommasten
|
||||||
|
|||||||
@ -4161,6 +4161,10 @@ item.titanium_shovel.name=Titanium Shovel
|
|||||||
item.titanium_sword.name=Titanium Sword
|
item.titanium_sword.name=Titanium Sword
|
||||||
item.toothpicks.name=Toothpicks
|
item.toothpicks.name=Toothpicks
|
||||||
item.train.cargo_tram.name=Electric Flat Bed Tram
|
item.train.cargo_tram.name=Electric Flat Bed Tram
|
||||||
|
item.trenchmaster_boots.name=Trenchmaster's Boots
|
||||||
|
item.trenchmaster_helmet.name=Trenchmaster's Helmet
|
||||||
|
item.trenchmaster_legs.name=Trenchmaster's Leggings
|
||||||
|
item.trenchmaster_plate.name=Trenchmaster's Chestplate
|
||||||
item.trinitite.name=Trinitite
|
item.trinitite.name=Trinitite
|
||||||
item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake
|
item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake
|
||||||
item.tritium_deuterium_cake.desc=Not actual cake, but great$universal fusion fuel!
|
item.tritium_deuterium_cake.desc=Not actual cake, but great$universal fusion fuel!
|
||||||
@ -5311,6 +5315,8 @@ tile.reactor_inserter.name=Reactor Fuel Inserter
|
|||||||
tile.red_barrel.name=Explosive Barrel
|
tile.red_barrel.name=Explosive Barrel
|
||||||
tile.red_cable.name=Red Copper Cable
|
tile.red_cable.name=Red Copper Cable
|
||||||
tile.red_cable_classic.name=Red Copper Cable (Classic)
|
tile.red_cable_classic.name=Red Copper Cable (Classic)
|
||||||
|
tile.red_cable_gauge.name=Power Gauge
|
||||||
|
tile.red_cable_gauge.desc=Cable that displays how much power$moves within the network per tick.$Split networks connected by energy$stroage blocks are considered as one shared network.
|
||||||
tile.red_cable_paintable.name=Paintable Red Copper Cable
|
tile.red_cable_paintable.name=Paintable Red Copper Cable
|
||||||
tile.red_connector.name=Electricity Connector
|
tile.red_connector.name=Electricity Connector
|
||||||
tile.red_pylon.name=Electricity Pole
|
tile.red_pylon.name=Electricity Pole
|
||||||
|
|||||||
BIN
src/main/resources/assets/hbm/textures/blocks/cable_gauge.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/cable_gauge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 305 B |
Loading…
x
Reference in New Issue
Block a user