sure, why not
14
changelog
@ -20,6 +20,7 @@
|
||||
* Also looks really cool to have on the roof of factories
|
||||
|
||||
## Changed
|
||||
* Updated russian and chinese localizations
|
||||
* .75 bolts now work as advertised
|
||||
* Updated lead pipe texture
|
||||
* Removed recipes from a few ancient melee weapons, as well as the creative tab listing
|
||||
@ -41,6 +42,15 @@
|
||||
* The xenon chemical plant recipes as well as biogas now require compressed air instead of no fluid at all
|
||||
* Removed old unused radar configs
|
||||
* The .22 SMG no longer comes with a silencer, instead a silencer can be attached as a weapon mod
|
||||
* Updated RT generator's GUI
|
||||
* Armor resistance stats are now configurable using `hbmArmor.json`
|
||||
* The config's format is a bit fragile, check the log when making changes to see if it fails loading
|
||||
* If the config fails to load, it will default to standard values
|
||||
* Also works with `/ntmreload`
|
||||
* Removed the unused transition hatch block
|
||||
* Removed the nuclear furnace (it was already deprecated months ago)
|
||||
* The diesel generator now uses a much more pleasant sound loop instead of the deafening vanilla fireworks pop noise
|
||||
* Renamed "heavy infinite water barrel" to "large infinite water barrel" because somehow people found that confusing
|
||||
|
||||
## Fixed
|
||||
* Fixed taint destroying bedrock
|
||||
@ -56,4 +66,6 @@
|
||||
* Fixed top left column not being selectable in the RBMK console
|
||||
* Fixed CIWS hitrate config being read wrong
|
||||
* Fixed DANI having broken equip animations
|
||||
* Fixed break-action revolver cockking sound not syncing up with the animation
|
||||
* Fixed break-action revolver cocking sound not syncing up with the animation
|
||||
* Fixed NBT name collision between ReaSim steam/water values and non-ReaSim steam/water tanks, causing incorrect data to be loaded when using non-ReaSim boilers with ReaSim enabled
|
||||
* Fixed gun equip animation not playing in certain circumstances
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=5279
|
||||
mod_build_number=5298
|
||||
|
||||
credits=HbMinecraft,\
|
||||
\ rodolphito (explosion algorithms),\
|
||||
|
||||
@ -696,8 +696,6 @@ public class ModBlocks {
|
||||
|
||||
public static Block machine_furnace_brick_off;
|
||||
public static Block machine_furnace_brick_on;
|
||||
public static Block machine_nuke_furnace_off;
|
||||
public static Block machine_nuke_furnace_on;
|
||||
public static Block machine_rtg_furnace_off;
|
||||
public static Block machine_rtg_furnace_on;
|
||||
|
||||
@ -1173,7 +1171,6 @@ public class ModBlocks {
|
||||
public static Block absorber_green;
|
||||
public static Block absorber_pink;
|
||||
public static Block decon;
|
||||
public static Block transission_hatch;
|
||||
|
||||
public static Block mud_block;
|
||||
public static Fluid mud_fluid;
|
||||
@ -1816,8 +1813,6 @@ public class ModBlocks {
|
||||
|
||||
machine_furnace_brick_off = new MachineBrickFurnace(false).setBlockName("machine_furnace_brick_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
machine_furnace_brick_on = new MachineBrickFurnace(true).setBlockName("machine_furnace_brick_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
|
||||
machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F);
|
||||
machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
|
||||
machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F);
|
||||
machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
|
||||
|
||||
@ -2325,7 +2320,6 @@ public class ModBlocks {
|
||||
absorber_green = new BlockAbsorber(Material.iron, 100F).setBlockName("absorber_green").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_green");
|
||||
absorber_pink = new BlockAbsorber(Material.iron, 10000F).setBlockName("absorber_pink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_pink");
|
||||
decon = new BlockDecon(Material.iron).setBlockName("decon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":decon_side");
|
||||
transission_hatch = new BlockTransission(Material.iron).setBlockName("transission_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transission_hatch");
|
||||
|
||||
volcano_core = new BlockVolcano().setBlockName("volcano_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_core");
|
||||
volcano_rad_core = new BlockVolcano().setBlockName("volcano_rad_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_rad_core");
|
||||
@ -3079,8 +3073,6 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_reactor_breeding, machine_reactor_breeding.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_nuke_furnace_off, machine_nuke_furnace_off.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName());
|
||||
register(machine_wood_burner);
|
||||
@ -3344,7 +3336,6 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(absorber_green, absorber_green.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(absorber_pink, absorber_pink.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(decon, decon.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(transission_hatch, transission_hatch.getUnlocalizedName());
|
||||
|
||||
//Solar Tower Blocks
|
||||
GameRegistry.registerBlock(machine_solar_boiler, machine_solar_boiler.getUnlocalizedName());
|
||||
|
||||
@ -103,7 +103,6 @@ public class BlockCrate extends BlockFalling {
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), 6);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_wood_burner), 10);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8);
|
||||
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4);
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockTransission extends Block {
|
||||
|
||||
public BlockTransission(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
if(world.isRemote) {
|
||||
return true;
|
||||
|
||||
} else if(!player.isSneaking()) {
|
||||
|
||||
if(side == 0) {
|
||||
player.setPositionAndUpdate(x + 0.5, y + 1, z + 0.5);
|
||||
}
|
||||
if(side == 1) {
|
||||
player.setPositionAndUpdate(x + 0.5, y - 2, z + 0.5);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,268 +0,0 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
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.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class MachineNukeFurnace extends BlockContainer {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private final boolean isActive;
|
||||
private static boolean keepInventory;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconFront;
|
||||
|
||||
public MachineNukeFurnace(boolean blockState) {
|
||||
super(Material.iron);
|
||||
isActive = blockState;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_base_alt");
|
||||
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_nuke_furnace_front_on_alt" : ":machine_nuke_furnace_front_off_alt"));
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_side_alt");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
|
||||
{
|
||||
return Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockAdded(World world, int x, int y, int z) {
|
||||
super.onBlockAdded(world, x, y, z);
|
||||
this.setDefaultDirection(world, x, y, z);
|
||||
}
|
||||
|
||||
private void setDefaultDirection(World world, int x, int y, int z) {
|
||||
if(!world.isRemote)
|
||||
{
|
||||
Block block1 = world.getBlock(x, y, z - 1);
|
||||
Block block2 = world.getBlock(x, y, z + 1);
|
||||
Block block3 = world.getBlock(x - 1, y, z);
|
||||
Block block4 = world.getBlock(x + 1, y, z);
|
||||
|
||||
byte b0 = 3;
|
||||
|
||||
if(block1.func_149730_j() && !block2.func_149730_j())
|
||||
{
|
||||
b0 = 3;
|
||||
}
|
||||
if(block2.func_149730_j() && !block1.func_149730_j())
|
||||
{
|
||||
b0 = 2;
|
||||
}
|
||||
if(block3.func_149730_j() && !block4.func_149730_j())
|
||||
{
|
||||
b0 = 5;
|
||||
}
|
||||
if(block4.func_149730_j() && !block3.func_149730_j())
|
||||
{
|
||||
b0 = 4;
|
||||
}
|
||||
|
||||
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
|
||||
|
||||
if(i == 0)
|
||||
{
|
||||
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
|
||||
}
|
||||
if(i == 3)
|
||||
{
|
||||
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
|
||||
}
|
||||
|
||||
if(itemStack.hasDisplayName())
|
||||
{
|
||||
((TileEntityNukeFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
if(world.isRemote)
|
||||
{
|
||||
return true;
|
||||
} else if(!player.isSneaking())
|
||||
{
|
||||
TileEntityNukeFurnace entity = (TileEntityNukeFurnace) world.getTileEntity(x, y, z);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityNukeFurnace();
|
||||
}
|
||||
|
||||
public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) {
|
||||
int i = world.getBlockMetadata(x, y, z);
|
||||
TileEntity entity = world.getTileEntity(x, y, z);
|
||||
keepInventory = true;
|
||||
|
||||
if(isProcessing)
|
||||
{
|
||||
world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_on);
|
||||
}else{
|
||||
world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_off);
|
||||
}
|
||||
|
||||
keepInventory = false;
|
||||
world.setBlockMetadataWithNotify(x, y, z, i, 2);
|
||||
|
||||
if(entity != null) {
|
||||
entity.validate();
|
||||
world.setTileEntity(x, y, z, entity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
|
||||
{
|
||||
if (!keepInventory)
|
||||
{
|
||||
TileEntityNukeFurnace tileentityfurnace = (TileEntityNukeFurnace)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
|
||||
|
||||
if (tileentityfurnace != null)
|
||||
{
|
||||
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
|
||||
{
|
||||
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
|
||||
|
||||
if (itemstack != null)
|
||||
{
|
||||
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
|
||||
while (itemstack.stackSize > 0)
|
||||
{
|
||||
int j1 = this.field_149933_a.nextInt(21) + 10;
|
||||
|
||||
if (j1 > itemstack.stackSize)
|
||||
{
|
||||
j1 = itemstack.stackSize;
|
||||
}
|
||||
|
||||
itemstack.stackSize -= j1;
|
||||
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
|
||||
|
||||
if (itemstack.hasTagCompound())
|
||||
{
|
||||
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
|
||||
}
|
||||
|
||||
float f3 = 0.05F;
|
||||
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
|
||||
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
p_149749_1_.spawnEntityInWorld(entityitem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
|
||||
}
|
||||
}
|
||||
|
||||
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand)
|
||||
{
|
||||
if (isActive)
|
||||
{
|
||||
int l = p_149734_1_.getBlockMetadata(x, y, z);
|
||||
float f = x + 0.5F;
|
||||
float f1 = y + 0.25F + rand.nextFloat() * 6.0F / 16.0F;
|
||||
float f2 = z + 0.5F;
|
||||
float f3 = 0.52F;
|
||||
float f4 = rand.nextFloat() * 0.6F - 0.3F;
|
||||
rand.nextFloat();
|
||||
rand.nextFloat();
|
||||
|
||||
if (l == 4)
|
||||
{
|
||||
p_149734_1_.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
|
||||
p_149734_1_.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
else if (l == 5)
|
||||
{
|
||||
p_149734_1_.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
|
||||
p_149734_1_.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
else if (l == 2)
|
||||
{
|
||||
p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
|
||||
p_149734_1_.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
else if (l == 3)
|
||||
{
|
||||
p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
|
||||
p_149734_1_.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_)
|
||||
{
|
||||
return Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off);
|
||||
}
|
||||
|
||||
}
|
||||
@ -119,7 +119,7 @@ public class WeaponRecipes {
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.BRONZE_DURA.ordinal()), new Object[] { BIGMT.plate(), ANY_BISMOIDBRONZE.plateCast(), ModItems.ducttape });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SILENCER.ordinal()), new Object[] { "P", "B", "P", 'P', ANY_PLASTIC.ingot(), 'B', STEEL.lightBarrel() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SCOPE.ordinal()), new Object[] { "SPS", "G G", "SPS", 'P', ANY_PLASTIC.ingot(), 'S', STEEL.plate(), 'G', KEY_ANYPANE });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SAW.ordinal()), new Object[] { "BBS", "BHB", 'B', STEEL.bolt(), 'S', KEY_STICK, 'H', DURA.plate() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SAW.ordinal()), new Object[] { "BBS", "BHS", 'B', STEEL.bolt(), 'S', KEY_STICK, 'H', DURA.plate() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SPEEDLOADER.ordinal()), new Object[] { " B ", "BSB", " B ", 'B', STEEL.bolt(), 'S', WEAPONSTEEL.plate() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SLOWDOWN.ordinal()), new Object[] { " I ", " M ", "I I", 'I', WEAPONSTEEL.ingot(), 'M', WEAPONSTEEL.mechanism() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SPEEDUP.ordinal()), new Object[] { "PIP", "WWW", "PIP", 'P', WEAPONSTEEL.plate(), 'I', GUNMETAL.ingot(), 'W', GOLD.wireDense() });
|
||||
|
||||
@ -1,122 +0,0 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotCraftingOutput;
|
||||
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
import com.hbm.util.InventoryUtil;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerNukeFurnace extends Container {
|
||||
|
||||
private TileEntityNukeFurnace diFurnace;
|
||||
private int dualCookTime;
|
||||
private int dualPower;
|
||||
|
||||
public ContainerNukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) {
|
||||
dualCookTime = 0;
|
||||
dualPower = 0;
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 56, 53) {
|
||||
@Override
|
||||
public int getSlotStackLimit() {
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 56, 17));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 116, 35));
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCraftingToCrafters(ICrafting crafting) {
|
||||
super.addCraftingToCrafters(crafting);
|
||||
crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime);
|
||||
crafting.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) {
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if(var4 != null && var4.getHasStack()) {
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if(par2 <= 2) {
|
||||
if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
|
||||
if(TileEntityNukeFurnace.getFuelValue(var5) > 0) {
|
||||
if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, 1, false))
|
||||
return null;
|
||||
} else {
|
||||
if(!this.mergeItemStack(var5, 1, 2, false))
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
if(var5.stackSize == 0) {
|
||||
var4.putStack((ItemStack) null);
|
||||
} else {
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detectAndSendChanges() {
|
||||
super.detectAndSendChanges();
|
||||
|
||||
for(int i = 0; i < this.crafters.size(); i++) {
|
||||
ICrafting par1 = (ICrafting) this.crafters.get(i);
|
||||
|
||||
if(this.dualCookTime != this.diFurnace.dualCookTime) {
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime);
|
||||
}
|
||||
|
||||
if(this.dualPower != this.diFurnace.dualPower) {
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower);
|
||||
}
|
||||
}
|
||||
|
||||
this.dualCookTime = this.diFurnace.dualCookTime;
|
||||
this.dualPower = this.diFurnace.dualPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgressBar(int i, int j) {
|
||||
if(i == 0) {
|
||||
diFurnace.dualCookTime = j;
|
||||
}
|
||||
if(i == 1) {
|
||||
diFurnace.dualPower = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,54 +0,0 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerNukeFurnace;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
|
||||
public class GUINukeFurnace extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_nuke_furnace.png");
|
||||
private TileEntityNukeFurnace furnace;
|
||||
|
||||
public GUINukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) {
|
||||
super(new ContainerNukeFurnace(invPlayer, tedf));
|
||||
furnace = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 55, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { furnace.dualPower + " operation(s) left" });
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.furnace.hasCustomInventoryName() ? this.furnace.getInventoryName() : I18n.format(this.furnace.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
if(furnace.hasPower())
|
||||
drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16);
|
||||
|
||||
int i = furnace.getDiFurnaceProgressScaled(24);
|
||||
drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 17);
|
||||
}
|
||||
}
|
||||
@ -834,7 +834,6 @@ public class ModItems {
|
||||
public static Item particle_lutece;
|
||||
|
||||
public static Item pellet_antimatter;
|
||||
public static Item singularity_micro;
|
||||
public static Item singularity;
|
||||
public static Item singularity_counter_resonant;
|
||||
public static Item singularity_super_heated;
|
||||
@ -2907,7 +2906,6 @@ public class ModItems {
|
||||
particle_sparkticle = new Item().setUnlocalizedName("particle_sparkticle").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_sparkticle");
|
||||
particle_digamma = new ItemDigamma(60).setUnlocalizedName("particle_digamma").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_digamma");
|
||||
particle_lutece = new Item().setUnlocalizedName("particle_lutece").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lutece");
|
||||
singularity_micro = new ItemDrop().setUnlocalizedName("singularity_micro").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_micro");
|
||||
|
||||
singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity");
|
||||
singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt");
|
||||
@ -5745,7 +5743,6 @@ public class ModItems {
|
||||
GameRegistry.registerItem(particle_lutece, particle_lutece.getUnlocalizedName());
|
||||
|
||||
//Singularities, black holes and other cosmic horrors
|
||||
GameRegistry.registerItem(singularity_micro, singularity_micro.getUnlocalizedName());
|
||||
GameRegistry.registerItem(singularity, singularity.getUnlocalizedName());
|
||||
GameRegistry.registerItem(singularity_counter_resonant, singularity_counter_resonant.getUnlocalizedName());
|
||||
GameRegistry.registerItem(singularity_super_heated, singularity_super_heated.getUnlocalizedName());
|
||||
|
||||
@ -74,9 +74,7 @@ public class ItemStarterKit extends Item {
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_difurnace_off, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_gascent, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_puf6_tank, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor_breeding, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_nuke_furnace_off, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 1));
|
||||
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.reactor_research, 1));
|
||||
|
||||
@ -14,6 +14,7 @@ import com.hbm.handler.HbmKeybinds.EnumKeybind;
|
||||
import com.hbm.interfaces.IItemHUD;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.gui.GUIWeaponTable;
|
||||
import com.hbm.items.IEquipReceiver;
|
||||
import com.hbm.items.IKeybindReceiver;
|
||||
import com.hbm.items.weapon.sedna.hud.IHUDComponent;
|
||||
import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
@ -47,7 +48,7 @@ import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||
|
||||
public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD {
|
||||
public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, IEquipReceiver {
|
||||
|
||||
/** Timestamp for rendering smoke nodes and muzzle flashes */
|
||||
public long[] lastShot;
|
||||
@ -230,8 +231,10 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEquip(EntityPlayer player, ItemStack stack) {
|
||||
for(int i = 0; i < this.configs_DNA.length; i++) {
|
||||
if(this.getLastAnim(stack, i) == AnimType.EQUIP && this.getAnimTimer(stack, i) < 5) continue;
|
||||
playAnimation(player, stack, AnimType.EQUIP, i);
|
||||
this.setPrimary(stack, i, false);
|
||||
this.setSecondary(stack, i, false);
|
||||
|
||||
@ -95,10 +95,10 @@ public class XFactory357 {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250))
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 300).addPos(0, 0, 0, 200))
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, 0, 1, 200));
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 1, 200));
|
||||
case CYCLE_DRY: return new BusAnimation()
|
||||
.addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 200).addPos(0, 0, 0, 200))
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, 0, 1, 200));
|
||||
.addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 1, 200));
|
||||
case RELOAD: return new BusAnimation()
|
||||
.addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 90, 300).addPos(0, 0, 90, 2000).addPos(0, 0, 0, 150))
|
||||
.addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 2000).addPos(0, 0, 0, 75))
|
||||
|
||||
@ -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 (5279)";
|
||||
public static final String VERSION = "1.0.27 BETA (5298)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -1673,13 +1673,16 @@ public class MainRegistry {
|
||||
ignoreMappings.add("hbm:item.mechanism_launcher_1");
|
||||
ignoreMappings.add("hbm:item.mechanism_launcher_2");
|
||||
ignoreMappings.add("hbm:item.mechanism_special");
|
||||
ignoreMappings.add("hbm:tile.transission_hatch");
|
||||
ignoreMappings.add("hbm:tile.machine_nuke_furnace_off");
|
||||
ignoreMappings.add("hbm:tile.machine_nuke_furnace_on");
|
||||
ignoreMappings.add("hbm:item.singularity_micro");
|
||||
|
||||
/// REMAP ///
|
||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||
remapItems.put("hbm:item.man_explosive8", ModItems.explosive_lenses);
|
||||
remapItems.put("hbm:item.briquette_lignite", ModItems.briquette);
|
||||
remapItems.put("hbm:item.antiknock", ModItems.fuel_additive);
|
||||
|
||||
remapItems.put("hbm:item.kit_toolbox_empty", ModItems.toolbox);
|
||||
remapItems.put("hbm:item.kit_toolbox", ModItems.legacy_toolbox);
|
||||
|
||||
@ -1697,7 +1700,6 @@ public class MainRegistry {
|
||||
}
|
||||
|
||||
if(mapping.type == GameRegistry.Type.ITEM) {
|
||||
|
||||
if(remapItems.get(mapping.name) != null) {
|
||||
mapping.remap(remapItems.get(mapping.name));
|
||||
continue;
|
||||
|
||||
@ -58,7 +58,6 @@ import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeCustom;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeCustom.CustomNukeEntry;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeCustom.EnumEntryType;
|
||||
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
import com.hbm.util.*;
|
||||
import com.hbm.util.ArmorRegistry.HazardClass;
|
||||
import com.hbm.wiaj.GuiWorldInAJar;
|
||||
@ -781,13 +780,6 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
|
||||
/// NUCLEAR FURNACE FUELS ///
|
||||
int breeder = TileEntityNukeFurnace.getFuelValue(stack);
|
||||
|
||||
if(breeder != 0) {
|
||||
list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", breeder));
|
||||
}
|
||||
|
||||
/// CUSTOM NUKE ///
|
||||
ComparableStack comp = new ComparableStack(stack).makeSingular();
|
||||
|
||||
|
||||
@ -49,13 +49,11 @@ public class NEIConfig implements IConfigureNEI {
|
||||
for(int i = 0; i < EnumSecretType.values().length; i++) API.hideItem(new ItemStack(ModItems.item_secret, 1, i));
|
||||
API.hideItem(new ItemStack(ModBlocks.machine_electric_furnace_on));
|
||||
API.hideItem(new ItemStack(ModBlocks.machine_difurnace_on));
|
||||
API.hideItem(new ItemStack(ModBlocks.machine_nuke_furnace_on));
|
||||
API.hideItem(new ItemStack(ModBlocks.machine_rtg_furnace_on));
|
||||
API.hideItem(new ItemStack(ModBlocks.reinforced_lamp_on));
|
||||
API.hideItem(new ItemStack(ModBlocks.statue_elb_f));
|
||||
API.hideItem(new ItemStack(ModBlocks.cheater_virus));
|
||||
API.hideItem(new ItemStack(ModBlocks.cheater_virus_seed));
|
||||
API.hideItem(new ItemStack(ModBlocks.transission_hatch));
|
||||
API.hideItem(new ItemStack(ModItems.euphemium_kit));
|
||||
API.hideItem(new ItemStack(ModItems.bobmazon_hidden));
|
||||
API.hideItem(new ItemStack(ModItems.book_lore)); //the broken nbt-less one shouldn't show up in normal play anyway
|
||||
|
||||
@ -260,6 +260,7 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
|
||||
public void setupEntity(ItemStack stack) {
|
||||
double scale = 0.125D;
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(-90, 0, 1, 0);
|
||||
}
|
||||
|
||||
public void setupModTable(ItemStack stack) {
|
||||
|
||||
@ -3,7 +3,6 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -46,10 +45,6 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer {
|
||||
|
||||
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
|
||||
|
||||
if(stack.getItem() instanceof ItemGunBaseNT) {
|
||||
GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) {
|
||||
GL11.glScaled(1.5, 1.5, 1.5);
|
||||
}
|
||||
|
||||
@ -62,7 +62,6 @@ public class TileMappings {
|
||||
put(TileEntityMachineUF6Tank.class, "tileentity_uf6_tank");
|
||||
put(TileEntityMachinePuF6Tank.class, "tileentity_puf6_tank");
|
||||
put(TileEntityMachineReactorBreeding.class, "tileentity_reactor");
|
||||
put(TileEntityNukeFurnace.class, "tileentity_nukefurnace");
|
||||
put(TileEntityRtgFurnace.class, "tileentity_rtgfurnace");
|
||||
put(TileEntityMachineElectricFurnace.class, "tileentity_electric_furnace");
|
||||
put(TileEntityDecoTapeRecorder.class, "tileentity_taperecorder");
|
||||
|
||||
@ -17,6 +17,8 @@ import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType;
|
||||
import com.hbm.inventory.gui.GUIMachineDiesel;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.IConfigurableMachine;
|
||||
import com.hbm.tileentity.IFluidCopiable;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
@ -40,10 +42,12 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC, IFluidCopiable {
|
||||
|
||||
public long power;
|
||||
public int soundCycle = 0;
|
||||
public long powerCap = maxPower;
|
||||
public FluidTank tank;
|
||||
|
||||
public boolean wasOn = false;
|
||||
private AudioWrapper audio;
|
||||
|
||||
/* CONFIGURABLE CONSTANTS */
|
||||
public static long maxPower = 50000;
|
||||
public static int fluidCap = 16000;
|
||||
@ -53,7 +57,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
fuelEfficiency.put(FuelGrade.HIGH, 0.75D);
|
||||
fuelEfficiency.put(FuelGrade.AERO, 0.1D);
|
||||
}
|
||||
public static boolean shutUp = false;
|
||||
|
||||
private static final int[] slots_top = new int[] { 0 };
|
||||
private static final int[] slots_bottom = new int[] { 1, 2 };
|
||||
@ -71,13 +74,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
if (i == 0)
|
||||
if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0)
|
||||
return true;
|
||||
if (i == 2)
|
||||
if (stack.getItem() instanceof IBatteryItem)
|
||||
return true;
|
||||
|
||||
if(i == 0) return FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0;
|
||||
if(i == 2) return stack.getItem() instanceof IBatteryItem;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -106,17 +104,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack stack, int j) {
|
||||
if(i == 1) {
|
||||
if(stack.getItem() == ModItems.canister_empty || stack.getItem() == ModItems.tank_steel) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(i == 2) {
|
||||
if(stack.getItem() instanceof IBatteryItem && ((IBatteryItem) stack.getItem()).getCharge(stack) == ((IBatteryItem) stack.getItem()).getMaxCharge(stack)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if(i == 1) return stack.getItem() == ModItems.canister_empty || stack.getItem() == ModItems.tank_steel;
|
||||
if(i == 2) return stack.getItem() instanceof IBatteryItem && ((IBatteryItem) stack.getItem()).getCharge(stack) == ((IBatteryItem) stack.getItem()).getMaxCharge(stack);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -129,6 +118,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.wasOn = false;
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
|
||||
this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
|
||||
@ -153,6 +144,49 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
generate();
|
||||
|
||||
this.networkPackNT(50);
|
||||
} else {
|
||||
|
||||
if(wasOn) {
|
||||
|
||||
if(audio == null) {
|
||||
audio = createAudioLoop();
|
||||
audio.startSound();
|
||||
} else if(!audio.isPlaying()) {
|
||||
audio = rebootAudio(audio);
|
||||
}
|
||||
|
||||
audio.keepAlive();
|
||||
audio.updateVolume(this.getVolume(1F));
|
||||
|
||||
} else {
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AudioWrapper createAudioLoop() {
|
||||
return MainRegistry.proxy.getLoopedSound("hbm:block.engine", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload() {
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -161,6 +195,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
super.serialize(buf);
|
||||
buf.writeInt((int) power);
|
||||
buf.writeInt((int) powerCap);
|
||||
buf.writeBoolean(wasOn);
|
||||
tank.serialize(buf);
|
||||
}
|
||||
|
||||
@ -169,6 +204,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
super.deserialize(buf);
|
||||
this.power = buf.readInt();
|
||||
this.powerCap = buf.readInt();
|
||||
this.wasOn = buf.readBoolean();
|
||||
tank.deserialize(buf);
|
||||
}
|
||||
|
||||
@ -200,15 +236,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
if(hasAcceptableFuel()) {
|
||||
if (tank.getFill() > 0) {
|
||||
|
||||
if(!shutUp) {
|
||||
if (soundCycle == 0) {
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", this.getVolume(0.75F), 0.5F);
|
||||
}
|
||||
soundCycle++;
|
||||
}
|
||||
|
||||
if(soundCycle >= 3)
|
||||
soundCycle = 0;
|
||||
this.wasOn = true;
|
||||
|
||||
tank.setFill(tank.getFill() - 1);
|
||||
if(tank.getFill() < 0)
|
||||
@ -227,30 +255,12 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPower() {
|
||||
return power;
|
||||
}
|
||||
@Override public long getPower() { return power; }
|
||||
@Override public void setPower(long i) { this.power = i; }
|
||||
@Override public long getMaxPower() { return this.maxPower; }
|
||||
|
||||
@Override
|
||||
public void setPower(long i) {
|
||||
this.power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return this.maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getReceivingTanks() {
|
||||
return new FluidTank[] {tank};
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getAllTanks() {
|
||||
return new FluidTank[] { tank };
|
||||
}
|
||||
@Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; }
|
||||
@Override public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; }
|
||||
|
||||
@Override
|
||||
public String getConfigName() {
|
||||
@ -268,7 +278,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
fuelEfficiency.put(grade, array.get(grade.ordinal()).getAsDouble());
|
||||
}
|
||||
}
|
||||
shutUp = IConfigurableMachine.grab(obj, "B:shutUp", shutUp);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -287,7 +296,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
|
||||
writer.value(d);
|
||||
}
|
||||
writer.endArray().setIndent(" ");
|
||||
writer.name("B:shutUp").value(shutUp);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,386 +0,0 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.hbm.blocks.machine.MachineNukeFurnace;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.container.ContainerNukeFurnace;
|
||||
import com.hbm.inventory.gui.GUINukeFurnace;
|
||||
import com.hbm.items.ItemCustomLore;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory, IGUIProvider {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public int dualCookTime;
|
||||
public int dualPower;
|
||||
public static final int maxPower = 1000;
|
||||
public static final int processingSpeed = 25;
|
||||
|
||||
private static final int[] slots_top = new int[] {1};
|
||||
private static final int[] slots_bottom = new int[] {2, 0};
|
||||
private static final int[] slots_side = new int[] {0};
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityNukeFurnace() {
|
||||
slots = new ItemStack[3];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if(slots[i] != null)
|
||||
{
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if(itemStack != null && itemStack.stackSize > getInventoryStackLimit())
|
||||
{
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.nukeFurnace";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
|
||||
{
|
||||
return false;
|
||||
}else{
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64;
|
||||
}
|
||||
}
|
||||
|
||||
//You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {}
|
||||
@Override
|
||||
public void closeInventory() {}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean hasItemPower(ItemStack itemStack) {
|
||||
return getItemPower(itemStack) > 0;
|
||||
}
|
||||
|
||||
private static int getItemPower(ItemStack stack) {
|
||||
if(stack == null) {
|
||||
return 0;
|
||||
} else {
|
||||
|
||||
int power = getFuelValue(stack);
|
||||
|
||||
return power;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if(slots[i] != null)
|
||||
{
|
||||
if(slots[i].stackSize <= j)
|
||||
{
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0)
|
||||
{
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
dualPower = nbt.getShort("powerTime");
|
||||
dualCookTime = nbt.getShort("CookTime");
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for(int i = 0; i < list.tagCount(); i++)
|
||||
{
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if(b0 >= 0 && b0 < slots.length)
|
||||
{
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setShort("powerTime", (short) dualPower);
|
||||
nbt.setShort("cookTime", (short) dualCookTime);
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for(int i = 0; i < slots.length; i++)
|
||||
{
|
||||
if(slots[i] != null)
|
||||
{
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte)i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_)
|
||||
{
|
||||
return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
if(i == 0)
|
||||
{
|
||||
if(itemStack.getItem() instanceof ItemCustomLore)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
if(i == 0)
|
||||
{
|
||||
if(itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty || itemStack.getItem() == ModItems.rod_quad_empty)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getDiFurnaceProgressScaled(int i) {
|
||||
return (dualCookTime * i) / processingSpeed;
|
||||
}
|
||||
|
||||
public int getPowerRemainingScaled(int i) {
|
||||
return (dualPower * i) / maxPower;
|
||||
}
|
||||
|
||||
public boolean canProcess() {
|
||||
if(slots[1] == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]);
|
||||
if(itemStack == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(slots[2] == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!slots[2].isItemEqual(itemStack)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) {
|
||||
return true;
|
||||
}else{
|
||||
return slots[2].stackSize < itemStack.getMaxStackSize();
|
||||
}
|
||||
}
|
||||
|
||||
private void processItem() {
|
||||
if(canProcess()) {
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]);
|
||||
|
||||
if(slots[2] == null)
|
||||
{
|
||||
slots[2] = itemStack.copy();
|
||||
}else if(slots[2].isItemEqual(itemStack)) {
|
||||
slots[2].stackSize += itemStack.stackSize;
|
||||
}
|
||||
|
||||
for(int i = 1; i < 2; i++)
|
||||
{
|
||||
if(slots[i].stackSize <= 0)
|
||||
{
|
||||
slots[i] = new ItemStack(slots[i].getItem().setFull3D());
|
||||
}else{
|
||||
slots[i].stackSize--;
|
||||
}
|
||||
if(slots[i].stackSize <= 0)
|
||||
{
|
||||
slots[i] = null;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
dualPower--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasPower() {
|
||||
return dualPower > 0;
|
||||
}
|
||||
|
||||
public boolean isProcessing() {
|
||||
return this.dualCookTime > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
this.hasPower();
|
||||
boolean flag1 = false;
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
{
|
||||
if(this.hasItemPower(this.slots[0]) && this.dualPower == 0)
|
||||
{
|
||||
this.dualPower += getItemPower(this.slots[0]);
|
||||
if(this.slots[0] != null)
|
||||
{
|
||||
flag1 = true;
|
||||
this.slots[0].stackSize--;
|
||||
if(this.slots[0].stackSize == 0)
|
||||
{
|
||||
this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(hasPower() && canProcess())
|
||||
{
|
||||
dualCookTime++;
|
||||
|
||||
if(this.dualCookTime == TileEntityNukeFurnace.processingSpeed)
|
||||
{
|
||||
this.dualCookTime = 0;
|
||||
this.processItem();
|
||||
flag1 = true;
|
||||
}
|
||||
}else{
|
||||
dualCookTime = 0;
|
||||
}
|
||||
|
||||
boolean trigger = true;
|
||||
|
||||
if(hasPower() && canProcess() && this.dualCookTime == 0)
|
||||
{
|
||||
trigger = false;
|
||||
}
|
||||
|
||||
if(trigger)
|
||||
{
|
||||
flag1 = true;
|
||||
MachineNukeFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
}
|
||||
|
||||
if(flag1)
|
||||
{
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
private static HashMap<ComparableStack, Integer> fuels = new HashMap();
|
||||
|
||||
/**
|
||||
* Returns an integer array of the fuel value of a certain stack
|
||||
* @param stack
|
||||
* @return an integer array (possibly null) with two fields, the HEAT value and the amount of operations
|
||||
*/
|
||||
public static int getFuelValue(ItemStack stack) {
|
||||
|
||||
if(stack == null)
|
||||
return 0;
|
||||
|
||||
ComparableStack sta = new ComparableStack(stack).makeSingular();
|
||||
if(fuels.get(sta) != null)
|
||||
return fuels.get(sta);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new ContainerNukeFurnace(player.inventory, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new GUINukeFurnace(player.inventory, this);
|
||||
}
|
||||
}
|
||||
@ -56,9 +56,9 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
|
||||
public double heat;
|
||||
|
||||
public int water;
|
||||
public int reasimWater;
|
||||
public static final int maxWater = 16000;
|
||||
public int steam;
|
||||
public int reasimSteam;
|
||||
public static final int maxSteam = 16000;
|
||||
|
||||
public boolean hasLid() {
|
||||
@ -130,15 +130,15 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
|
||||
double heatConsumption = RBMKDials.getBoilerHeatConsumption(worldObj);
|
||||
double availableHeat = (this.heat - 100) / heatConsumption;
|
||||
double availableWater = this.water;
|
||||
double availableSpace = maxSteam - this.steam;
|
||||
double availableWater = this.reasimWater;
|
||||
double availableSpace = maxSteam - this.reasimSteam;
|
||||
|
||||
int processedWater = (int) Math.floor(BobMathUtil.min(availableHeat, availableWater, availableSpace) * MathHelper.clamp_double(RBMKDials.getReaSimBoilerSpeed(worldObj), 0D, 1D));
|
||||
|
||||
if(processedWater <= 0) return;
|
||||
|
||||
this.water -= processedWater;
|
||||
this.steam += processedWater;
|
||||
this.reasimWater -= processedWater;
|
||||
this.reasimSteam += processedWater;
|
||||
this.heat -= processedWater * heatConsumption;
|
||||
}
|
||||
|
||||
@ -162,8 +162,8 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
List<TileEntityRBMKBase> rec = new ArrayList<>();
|
||||
rec.add(this);
|
||||
double heatTot = this.heat;
|
||||
int waterTot = this.water;
|
||||
int steamTot = this.steam;
|
||||
int waterTot = this.reasimWater;
|
||||
int steamTot = this.reasimSteam;
|
||||
|
||||
int index = 0;
|
||||
for(ForgeDirection dir : neighborDirs) {
|
||||
@ -188,8 +188,8 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
if(base != null) {
|
||||
rec.add(base);
|
||||
heatTot += base.heat;
|
||||
waterTot += base.water;
|
||||
steamTot += base.steam;
|
||||
waterTot += base.reasimWater;
|
||||
steamTot += base.reasimSteam;
|
||||
}
|
||||
}
|
||||
|
||||
@ -210,13 +210,13 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
rbmk.heat += delta * stepSize;
|
||||
|
||||
//set to the averages, rounded down
|
||||
rbmk.water = tWater;
|
||||
rbmk.steam = tSteam;
|
||||
rbmk.reasimWater = tWater;
|
||||
rbmk.reasimSteam = tSteam;
|
||||
}
|
||||
|
||||
//add the modulo to make up for the losses coming from rounding
|
||||
this.water += rWater;
|
||||
this.steam += rSteam;
|
||||
this.reasimWater += rWater;
|
||||
this.reasimSteam += rSteam;
|
||||
|
||||
this.markDirty();
|
||||
}
|
||||
@ -271,8 +271,8 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
}
|
||||
|
||||
this.heat = nbt.getDouble("heat");
|
||||
this.water = nbt.getInteger("water");
|
||||
this.steam = nbt.getInteger("steam");
|
||||
this.reasimWater = nbt.getInteger("reasimWater");
|
||||
this.reasimSteam = nbt.getInteger("reasimSteam");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -283,22 +283,22 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase {
|
||||
}
|
||||
|
||||
nbt.setDouble("heat", this.heat);
|
||||
nbt.setInteger("water", this.water);
|
||||
nbt.setInteger("steam", this.steam);
|
||||
nbt.setInteger("reasimWater", this.reasimWater);
|
||||
nbt.setInteger("reasimSteam", this.reasimSteam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
buf.writeDouble(this.heat);
|
||||
buf.writeInt(this.water);
|
||||
buf.writeInt(this.steam);
|
||||
buf.writeInt(this.reasimWater);
|
||||
buf.writeInt(this.reasimSteam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
this.heat = buf.readDouble();
|
||||
this.water = buf.readInt();
|
||||
this.steam = buf.readInt();
|
||||
this.reasimWater = buf.readInt();
|
||||
this.reasimSteam = buf.readInt();
|
||||
}
|
||||
|
||||
public void getDiagData(NBTTagCompound nbt) {
|
||||
|
||||
@ -41,8 +41,8 @@ public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidS
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te;
|
||||
|
||||
int prov = Math.min(rbmk.maxWater - rbmk.water, water.getFill());
|
||||
rbmk.water += prov;
|
||||
int prov = Math.min(rbmk.maxWater - rbmk.reasimWater, water.getFill());
|
||||
rbmk.reasimWater += prov;
|
||||
water.setFill(water.getFill() - prov);
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,8 +39,8 @@ public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluid
|
||||
if(te instanceof TileEntityRBMKBase) {
|
||||
TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te;
|
||||
|
||||
int prov = Math.min(steam.getMaxFill() - steam.getFill(), rbmk.steam);
|
||||
rbmk.steam -= prov;
|
||||
int prov = Math.min(steam.getMaxFill() - steam.getFill(), rbmk.reasimSteam);
|
||||
rbmk.reasimSteam -= prov;
|
||||
steam.setFill(steam.getFill() + prov);
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ public class DesertAtom001 extends WorldGenerator
|
||||
Block Block7 = ModBlocks.deco_tungsten;
|
||||
Block Block8 = ModBlocks.steel_poles;
|
||||
Block Block9 = ModBlocks.tape_recorder;
|
||||
Block Block10 = ModBlocks.machine_nuke_furnace_off;
|
||||
Block Block10 = ModBlocks.machine_rtg_furnace_off;
|
||||
Block Block11 = ModBlocks.reinforced_glass;
|
||||
Block Block12 = ModBlocks.reinforced_lamp_off;
|
||||
Block Block13 = ModBlocks.pole_satellite_receiver;
|
||||
|
||||
@ -27,7 +27,7 @@ public class DesertAtom002
|
||||
Block Block7 = ModBlocks.deco_tungsten;
|
||||
Block Block8 = ModBlocks.steel_poles;
|
||||
Block Block9 = ModBlocks.tape_recorder;
|
||||
Block Block10 = ModBlocks.machine_nuke_furnace_off;
|
||||
Block Block10 = ModBlocks.machine_rtg_furnace_off;
|
||||
Block Block11 = ModBlocks.reinforced_glass;
|
||||
Block Block12 = ModBlocks.reinforced_lamp_off;
|
||||
Block Block13 = ModBlocks.pole_satellite_receiver;
|
||||
|
||||
@ -30,7 +30,7 @@ public class DesertAtom003
|
||||
Block Block7 = ModBlocks.deco_tungsten;
|
||||
Block Block8 = ModBlocks.steel_poles;
|
||||
Block Block9 = ModBlocks.tape_recorder;
|
||||
Block Block10 = ModBlocks.machine_nuke_furnace_off;
|
||||
Block Block10 = ModBlocks.machine_rtg_furnace_off;
|
||||
Block Block11 = ModBlocks.reinforced_glass;
|
||||
Block Block12 = ModBlocks.reinforced_lamp_off;
|
||||
Block Block13 = ModBlocks.pole_satellite_receiver;
|
||||
|
||||
@ -1017,105 +1017,6 @@ item.alloy_pickaxe.name=Legierungsspitzhacke
|
||||
item.alloy_plate.name=Legierungsbrustpanzer
|
||||
item.alloy_shovel.name=Legierungsschaufel
|
||||
item.alloy_sword.name=Legierungsschwert
|
||||
item.ammo_12gauge.name=Kaliber 12 Schrot
|
||||
item.ammo_12gauge_du.name=Kaliber 12 Schrot (Uranbeschichtung)
|
||||
item.ammo_12gauge_incendiary.name=Kaliber 12 Schrot (Brand)
|
||||
item.ammo_12gauge_marauder.name=Kaliber 12 Taktische Anti-Marauder Schrotpatrone
|
||||
item.ammo_12gauge_percussion.name=Kaliber 12 Sprengkapsel
|
||||
item.ammo_12gauge_shrapnel.name=Kaliber 12 Schrot (Schrapnell)
|
||||
item.ammo_12gauge_sleek.name=Kaliber 12 Schrot (IF-F&E)
|
||||
item.ammo_20gauge.name=Kaliber 20 Schrot
|
||||
item.ammo_20gauge_caustic.name=Kaliber 20 Schrot (Ätzend)
|
||||
item.ammo_20gauge_explosive.name=Kaliber 20 Schrot (Explosiv)
|
||||
item.ammo_20gauge_flechette.name=Kaliber 20 Flechet
|
||||
item.ammo_20gauge_incendiary.name=Kaliber 20 Schrot (Brand)
|
||||
item.ammo_20gauge_shock.name=Kaliber 20 Schrot (Schock)
|
||||
item.ammo_20gauge_shrapnel.name=Kaliber 20 Schrot (Schrapnell)
|
||||
item.ammo_20gauge_sleek.name=Kaliber 20 Schrot (IF-F&E)
|
||||
item.ammo_20gauge_slug.name=Kaliber 20 Brenneke
|
||||
item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither)
|
||||
item.ammo_22lr.name=.22 lfB Patrone
|
||||
item.ammo_22lr_ap.name=.22 lfB Patrone (Panzerbrechend)
|
||||
item.ammo_22lr_chlorophyte.name=.22 lfB Patrone (Grünalgen)
|
||||
item.ammo_357_desh.name=.357 Magnum Deshkugel
|
||||
item.ammo_44.name=.44 Magnum Patrone
|
||||
item.ammo_44_ap.name=.44 Magnum Patrone (Panzerbrechend)
|
||||
item.ammo_44_bj.name=.44 Magnum Patrone (Boot)
|
||||
item.ammo_44_chlorophyte.name=.44 Magnum Patrone (Grünalgen)
|
||||
item.ammo_44_du.name=.44 Magnum Patrone (DU)
|
||||
item.ammo_44_phosphorus.name=.44 Magnum Patrone (WP)
|
||||
item.ammo_44_pip.name=.44 Magnum Patrone (Güterwagon)
|
||||
item.ammo_44_rocket.name=.44 Magnum Rakete
|
||||
item.ammo_44_silver.name=.44 Magnum Patrone (Gebäude)
|
||||
item.ammo_44_star.name=.44 Magnum Patrone (Sternenmetall)
|
||||
item.ammo_45.name=.45 ACP Patrone
|
||||
item.ammo_45_ap.name=.45 ACP Patrone (AP)
|
||||
item.ammo_45_du.name=.45 ACP Patrone (DU)
|
||||
item.ammo_4gauge.name=Kaliber 20 Schrot
|
||||
item.ammo_4gauge_balefire.name=23mm Balefire-Granate
|
||||
item.ammo_4gauge_canister.name=23mm Rakete (Katusche)
|
||||
item.ammo_4gauge_claw.name=Kaliber 4 Shrot (Krallen)
|
||||
item.ammo_4gauge_explosive.name=23mm Granate
|
||||
item.ammo_4gauge_flechette.name=Kaliber 4 Flechet
|
||||
item.ammo_4gauge_flechette_phosphorus.name=Kaliber 4 Flechet (WP)
|
||||
item.ammo_4gauge_kampf.name=23mm Rakete
|
||||
item.ammo_4gauge_semtex.name=23mm Bergbauladung
|
||||
item.ammo_4gauge_sleek.name=Kaliber 4 Schrot (IF-F&E)
|
||||
item.ammo_4gauge_slug.name=Kaliber 4 Brenneke
|
||||
item.ammo_4gauge_titan.name=Kaliber 4 Quak-Geschoss
|
||||
item.ammo_4gauge_vampire.name=Kaliber 4 Schrot (Holzpflöcke)
|
||||
item.ammo_4gauge_void.name=Kaliber 4 Schrot (Leere)
|
||||
item.ammo_50ae.name=.50 AE Patrone
|
||||
item.ammo_50ae_ap.name=.50 AE Patrone (Panzerbrechend)
|
||||
item.ammo_50ae_chlorophyte.name=.50 AE Patrone (Grünalgen)
|
||||
item.ammo_50ae_du.name=.50 AE Patrone (DU)
|
||||
item.ammo_50ae_star.name=.50 AE Patrone (Sternenmetall)
|
||||
item.ammo_50bmg.name=.50 BMG Patrone
|
||||
item.ammo_50bmg_ap.name=.50 BMG Patrone (Panzerbrechend)
|
||||
item.ammo_50bmg_chlorophyte.name=.50 BMG Patrone (Grünalgen)
|
||||
item.ammo_50bmg_du.name=.50 BMG Patrone (DU)
|
||||
item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv)
|
||||
item.ammo_50bmg_flechette.name=.50 BMG Flechetpatrone
|
||||
item.ammo_50bmg_flechette_am.name=.50 BMG Flechetpatrone (Americium)
|
||||
item.ammo_50bmg_flechette_po.name=.50 BMG Flechetpatrone (Polonium)
|
||||
item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand)
|
||||
item.ammo_50bmg_phosphorus.name=.50 BMG Patrone (WP)
|
||||
item.ammo_50bmg_sleek.name=.50 BMG Patrone (IF-F&E)
|
||||
item.ammo_50bmg_star.name=.50 BMG Patrone (Sternenmetall)
|
||||
item.ammo_556.name=5.56mm Patrone
|
||||
item.ammo_556_ap.name=5.56mm Patrone (Panzerbrechend)
|
||||
item.ammo_556_chlorophyte.name=5.56mm Patrone (Grünalgen)
|
||||
item.ammo_556_du.name=5.56mm Patrone (DU)
|
||||
item.ammo_556_flechette.name=5.56mm Flechetpatrone
|
||||
item.ammo_556_flechette_chlorophyte.name=5.56mm Flechetpatrone (Grünalgen)
|
||||
item.ammo_556_flechette_du.name=5.56mm Flechetpatrone (Uran-Penetrator)
|
||||
item.ammo_556_flechette_incendiary.name=5.56mm Flechetpatrone (Brand)
|
||||
item.ammo_556_flechette_phosphorus.name=5.56mm Flechetpatrone (Phosphorspitze)
|
||||
item.ammo_556_flechette_sleek.name=5.56mm Flechetpatrone (IF-F&E)
|
||||
item.ammo_556_k.name=5.56mm K-Patrone
|
||||
item.ammo_556_phosphorus.name=5.56mm Patrone (WP)
|
||||
item.ammo_556_sleek.name=5.56mm Patrone (IF-F&E)
|
||||
item.ammo_556_star.name=5.56mm Patrone (Sternenmetall)
|
||||
item.ammo_556_tracer.name=5.56mm Patrone (Leuchtspur)
|
||||
item.ammo_5mm.name=5mm Patrone
|
||||
item.ammo_5mm_chlorophyte.name=5mm Patrone (Grünalgen)
|
||||
item.ammo_5mm_du.name=5mm Patrone (DU)
|
||||
item.ammo_5mm_explosive.name=5mm Patrone (Explosiv)
|
||||
item.ammo_5mm_star.name=5mm Patrone (Sternenmetall)
|
||||
item.ammo_762.name=7.62mm Patrone
|
||||
item.ammo_762_ap.name=7.62mm Patrone (AP)
|
||||
item.ammo_762_du.name=7.62mm Patrone (DU)
|
||||
item.ammo_762_k.name=7.62mm K-Patrone
|
||||
item.ammo_762_phosphorus.name=7.62mm Patrone (WP)
|
||||
item.ammo_762_tracer.name=7.62mm Patrone (Leuchtspur)
|
||||
item.ammo_75bolt.name=30er .75 Bolzenmagazin
|
||||
item.ammo_75bolt_incendiary.name=30er .75 Bolzenmagazin (Brand)
|
||||
item.ammo_75bolt_he.name=30er .75 Bolzenmagazin (Explosiv)
|
||||
item.ammo_9mm.name=9mm Patrone
|
||||
item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend)
|
||||
item.ammo_9mm_chlorophyte.name=9mm Patrone (Grünalgen)
|
||||
item.ammo_9mm_du.name=9mm Patrone (DU)
|
||||
item.ammo_9mm_rocket.name=9mm Rakete
|
||||
item.ammo_arty.name=16" Artilleriegranate
|
||||
item.ammo_arty_cargo.name=16" Artilleriegranate (Expresslieferung)
|
||||
item.ammo_arty_chlorine.name=16" Artilleriegranate (Chlorgas)
|
||||
@ -1128,38 +1029,10 @@ item.ammo_arty_nuke.name=16" Atomare Artilleriegranate
|
||||
item.ammo_arty_phosgene.name=16" Artilleriegranate (Phosgen)
|
||||
item.ammo_arty_phosphorus.name=16" Phosphor-Artilleriegranate
|
||||
item.ammo_arty_phosphorus_multi.name=16" Mehrfach-Phosphor-Artilleriegranate
|
||||
item.ammo_cell.name=Energiezelle
|
||||
item.ammo_coilgun.name=Wolframkugel
|
||||
item.ammo_coilgun_du.name=Ferrourankugel
|
||||
item.ammo_coilgun_rubber.name=Gummikugel
|
||||
item.ammo_container.name=Munitionsbehälter
|
||||
item.ammo_dart.name=Plastikdart (Withernd)
|
||||
item.ammo_dart_nerf.name=NERF-Dart
|
||||
item.ammo_dart_nuclear.name=Plastikdart (Zeitbombe)
|
||||
item.ammo_dgk.name=Goalkeeper-Zwilling CIWS 200er Gürtel
|
||||
item.ammo_fireext.name=Feuerlöscher-Wassertank
|
||||
item.ammo_fireext_foam.name=Feuerlöscher-Schaumtank
|
||||
item.ammo_fireext_sand.name=Feuerlöscher-Sandtank
|
||||
item.ammo_folly.name=Silbernes Geschoss (Original)
|
||||
item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv)
|
||||
item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar)
|
||||
item.ammo_fuel.name=Dieselkatusche
|
||||
item.ammo_fuel_gas.name=Gaskatusche
|
||||
item.ammo_fuel_napalm.name=Napalmkatusche
|
||||
item.ammo_fuel_phosphorus.name=WP-Katusche
|
||||
item.ammo_fuel_vaporizer.name=Vaporisierer-Katusche
|
||||
item.ammo_grenade.name=40mm Granate
|
||||
item.ammo_grenade_concussion.name=40mm Granate (Erschütterung)
|
||||
item.ammo_grenade_finned.name=40mm Granate (Geflügelt)
|
||||
item.ammo_grenade_he.name=40mm Granate (HE)
|
||||
item.ammo_grenade_incendiary.name=40mm Granate (Brand)
|
||||
item.ammo_grenade_kampf.name=40mm Rakete
|
||||
item.ammo_grenade_leadburster.name=40mm Leadburster
|
||||
item.ammo_grenade_nuclear.name=40mm Granate (Привет)
|
||||
item.ammo_grenade_phosphorus.name=40mm Granate (WP)
|
||||
item.ammo_grenade_sleek.name=40mm Granate (IF-F&E)
|
||||
item.ammo_grenade_toxic.name=40mm Granate (Chemisch)
|
||||
item.ammo_grenade_tracer.name=40mm Übungsgranate
|
||||
item.ammo_himars_standard.name=227mm gelenkte Artillerierakete
|
||||
item.ammo_himars_standard_he.name=227mm Artillerielenkrakete (HE)
|
||||
item.ammo_himars_standard_lava.name=227mm Artillerielenkrakete (Lava)
|
||||
@ -1168,34 +1041,6 @@ item.ammo_himars_standard_tb.name=227mm Artillerielenkrakete (Thermobarisch)
|
||||
item.ammo_himars_standard_wp.name=227mm Artillerielenkrakete (WP)
|
||||
item.ammo_himars_single.name=610mm Artillerielenkrakete
|
||||
item.ammo_himars_single_tb.name=610mm Artillerielenkrakete (Thermobarisch)
|
||||
item.ammo_luna.name=Lunatic Sniper Sabot
|
||||
item.ammo_luna_explosive.name=Lunatic Sniper Explosivgeschoss
|
||||
item.ammo_luna_incendiary.name=Lunatic Sniper Brandgeschoss
|
||||
item.ammo_mirv.name=Mini-MIRV
|
||||
item.ammo_mirv_high.name=Mini-MIRV (Stark)
|
||||
item.ammo_mirv_low.name=Mini-MIRV (Schwach)
|
||||
item.ammo_mirv_safe.name=Mini-MIRV (Sicher)
|
||||
item.ammo_mirv_special.name=Mini-MILV
|
||||
item.ammo_nuke.name=Miniatombombe
|
||||
item.ammo_nuke_barrel.name=Mini-Atommüllfass
|
||||
item.ammo_nuke_high.name=Miniatombombe (Stark)
|
||||
item.ammo_nuke_low.name=Miniatombombe (Schwach)
|
||||
item.ammo_nuke_pumpkin.name=Kürbisbombe
|
||||
item.ammo_nuke_safe.name=Miniatombombe (Sicher)
|
||||
item.ammo_nuke_tots.name=Miniatombombe (Kleine Knirpse)
|
||||
item.ammo_rocket.name=84mm Rakete
|
||||
item.ammo_rocket_canister.name=84mm Rakete (Katusche)
|
||||
item.ammo_rocket_digamma.name=null
|
||||
item.ammo_rocket_emp.name=84mm Rakete (Impuls)
|
||||
item.ammo_rocket_glare.name=84mm Rakete (Roter Schein)
|
||||
item.ammo_rocket_he.name=84mm Rakete (HE)
|
||||
item.ammo_rocket_incendiary.name=84mm Rakete (Brand)
|
||||
item.ammo_rocket_nuclear.name=84mm Rakete (Привет)
|
||||
item.ammo_rocket_phosphorus.name=84mm Rakete (WP)
|
||||
item.ammo_rocket_rpc.name=84mm Raketengetriebene Kettensäge
|
||||
item.ammo_rocket_shrapnel.name=84mm Rakete (Schrapnell)
|
||||
item.ammo_rocket_sleek.name=84mm Rakete (IF-R&D)
|
||||
item.ammo_rocket_toxic.name=84mm Rakete (Chemisch)
|
||||
item.ammo_shell.name=240mm Geschoss
|
||||
item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
|
||||
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
|
||||
@ -1298,12 +1143,6 @@ item.ammo_standard.stone_ap.name=Feuerstein und Pulver
|
||||
item.ammo_standard.stone_iron.name=Eisenkugel und Pulver
|
||||
item.ammo_standard.stone_shot.name=Schrot und Pulver
|
||||
item.ammo_standard.tau_uranium.name=Erschöpfte Uran-235-Kiste
|
||||
item.ammo_stinger_rocket.name=Stinger-Rakete
|
||||
item.ammo_stinger_rocket_he.name=Stinger-Rakete (HE)
|
||||
item.ammo_stinger_rocket_incendiary.name=Stinger-Rakete (Brand)
|
||||
item.ammo_stinger_rocket_nuclear.name=Stinger-Rakete (Привет)
|
||||
item.ammo_stinger_rocket_bones.name=Stinger-Rakete (Knochensuchend)
|
||||
item.ammo_shell_w9.name=240mm W9 Atomares Geschoss
|
||||
item.ams_catalyst_aluminium.name=Aluminium-Reaktionskatalysator
|
||||
item.ams_catalyst_beryllium.name=Beryllium-Reaktionskatalysator
|
||||
item.ams_catalyst_blank.name=Blanker Reaktionskatalysator
|
||||
@ -2335,7 +2174,7 @@ item.inf_diesel.name=Unendlicher Dieseltank
|
||||
item.inf_sulfur.name=Unendlicher Schwefeltank
|
||||
item.inf_tritium.name=Unendlicher Tritiumtank
|
||||
item.inf_water.name=Unendlicher Wassertank
|
||||
item.inf_water_mk2.name=Schwerer unendlicher Wassertank
|
||||
item.inf_water_mk2.name=Großer unendlicher Wassertank
|
||||
item.ingot_actinium.name=Semistabiler Actiniumbarren
|
||||
item.ingot_advanced_alloy.name=Fortgeschrittene Legierung
|
||||
item.ingot_aluminium.name=Aluminiumbarren
|
||||
@ -4174,7 +4013,7 @@ tile.crane_partitioner.name=Erzauflöser-Partitionierer
|
||||
tile.crane_partitioner.desc=Speichert Input für den Erzazflöser$und gibt sie in der benötigten Itemanzahl aus.$Ungültige Items werden auch gespeichert, und müssen seitlich entfernt werden.
|
||||
tile.crane_router.name=Förderband-Sortierer
|
||||
tile.crane_router.desc=Sortiert Items basierend auf eingestellte Kriterien$Seiten können als Blacklist, Whitelist oder Wildcard eingestellt werden$Widlcard-Seiten werden nur verwendet, wenn kein anderer Filter zutrifft
|
||||
tile.crate_splitter.name=Förderband-Teiler
|
||||
tile.crane_splitter.name=Förderband-Teiler
|
||||
tile.crane_splitter.desc=Teilt Items und Stacks gleichmäßig auf zwei Förderbänder$Zählt selbst als Förderband, kann also direkt in Einsetzer und Sortierer führen
|
||||
tile.crane_unboxer.name=Förderband-Entpacker
|
||||
tile.crane_unboxer.desc=Öffnet boxen$Rechstclick mit Schraubenzieher um Ausgang zu definieren$Shiftclick mit Schraubenzieher um Eingang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren
|
||||
@ -4189,6 +4028,7 @@ tile.crate_lead.name=Gefahrenstoffkiste
|
||||
tile.crate_metal.name=Maschinenkiste
|
||||
tile.crate_red.name=Rote Kiste
|
||||
tile.crate_steel.name=Stahlkiste
|
||||
tile.crate_supply.name=Vorratskiste
|
||||
tile.crate_template.name=Vorlagenkiste
|
||||
tile.crate_tungsten.name=Wolframkiste
|
||||
tile.crate_weapon.name=Waffenkiste
|
||||
|
||||
@ -1742,105 +1742,6 @@ item.alloy_pickaxe.name=Advanced Alloy Pickaxe
|
||||
item.alloy_plate.name=Advanced Alloy Chestplate
|
||||
item.alloy_shovel.name=Advanced Alloy Shovel
|
||||
item.alloy_sword.name=Advanced Alloy Sword
|
||||
item.ammo_12gauge.name=12 Gauge Buckshot
|
||||
item.ammo_12gauge_du.name=12 Gauge Buckshot (Uranium Coated)
|
||||
item.ammo_12gauge_incendiary.name=12 Gauge Buckshot (Incendiary)
|
||||
item.ammo_12gauge_marauder.name=12 Gauge Tactical Anti-Marauder Shell
|
||||
item.ammo_12gauge_percussion.name=12 Gauge Percussion Cap
|
||||
item.ammo_12gauge_shrapnel.name=12 Gauge Buckshot (Shrapnel)
|
||||
item.ammo_12gauge_sleek.name=12 Gauge Buckshot (IF-R&D)
|
||||
item.ammo_20gauge.name=20 Gauge Buckshot
|
||||
item.ammo_20gauge_caustic.name=20 Gauge Buckshot (Caustic)
|
||||
item.ammo_20gauge_explosive.name=20 Gauge Buckshot (Explosive)
|
||||
item.ammo_20gauge_flechette.name=20 Gauge Flechette Shell
|
||||
item.ammo_20gauge_incendiary.name=20 Gauge Buckshot (Incendiary)
|
||||
item.ammo_20gauge_shock.name=20 Gauge Buckshot (Shock)
|
||||
item.ammo_20gauge_shrapnel.name=20 Gauge Buckshot (Shrapnel)
|
||||
item.ammo_20gauge_sleek.name=20 Gauge Buckshot (IF-R&D)
|
||||
item.ammo_20gauge_slug.name=20 Gauge Brenneke Slug
|
||||
item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering)
|
||||
item.ammo_22lr.name=.22 LR Round
|
||||
item.ammo_22lr_ap.name=.22 LR Round (Armor Piercing)
|
||||
item.ammo_22lr_chlorophyte.name=.22 LR Round (Chlorophyte)
|
||||
item.ammo_357_desh.name=.357 Magnum Desh Bullet
|
||||
item.ammo_44.name=.44 Magnum Bullet
|
||||
item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing)
|
||||
item.ammo_44_bj.name=.44 Magnum Bullet (Boat)
|
||||
item.ammo_44_chlorophyte.name=.44 Magnum Bullet (Chlorophyte)
|
||||
item.ammo_44_du.name=.44 Magnum Bullet (DU)
|
||||
item.ammo_44_phosphorus.name=.44 Magnum Bullet (WP)
|
||||
item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar)
|
||||
item.ammo_44_rocket.name=.44 Magnum Rocket
|
||||
item.ammo_44_silver.name=.44 Magnum Bullet (Building)
|
||||
item.ammo_44_star.name=.44 Magnum Bullet (Starmetal)
|
||||
item.ammo_45.name=.45 ACP Bullet
|
||||
item.ammo_45_ap.name=.45 ACP Bullet (AP)
|
||||
item.ammo_45_du.name=.45 ACP Bullet (DU)
|
||||
item.ammo_4gauge.name=4 Gauge Buckshot
|
||||
item.ammo_4gauge_balefire.name=23mm Balefire Grenade
|
||||
item.ammo_4gauge_canister.name=23mm Rocket (Canister Shot)
|
||||
item.ammo_4gauge_claw.name=4 Gauge Claw Shell
|
||||
item.ammo_4gauge_explosive.name=23mm Grenade
|
||||
item.ammo_4gauge_flechette.name=4 Gauge Flechette Shell
|
||||
item.ammo_4gauge_flechette_phosphorus.name=4 Gauge Flechette Shell (WP)
|
||||
item.ammo_4gauge_kampf.name=23mm Rocket
|
||||
item.ammo_4gauge_semtex.name=23mm Mining Charge
|
||||
item.ammo_4gauge_sleek.name=4 Gauge Buckshot (IF-R&D)
|
||||
item.ammo_4gauge_slug.name=4 Gauge Solid Steel Slug
|
||||
item.ammo_4gauge_titan.name=4 Gauge Quacker Round
|
||||
item.ammo_4gauge_vampire.name=4 Gauge Wooden Stake Shell
|
||||
item.ammo_4gauge_void.name=4 Gauge Void Shell
|
||||
item.ammo_50ae.name=.50 AE Round
|
||||
item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing)
|
||||
item.ammo_50ae_chlorophyte.name=.50 AE Round (Chlorophyte)
|
||||
item.ammo_50ae_du.name=.50 AE Round (DU)
|
||||
item.ammo_50ae_star.name=.50 AE Round (Starmetal)
|
||||
item.ammo_50bmg.name=.50 BMG Round
|
||||
item.ammo_50bmg_ap.name=.50 BMG Round (Armor Piercing)
|
||||
item.ammo_50bmg_chlorophyte.name=.50 BMG Round (Chlorophyte)
|
||||
item.ammo_50bmg_du.name=.50 BMG Round (DU)
|
||||
item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive)
|
||||
item.ammo_50bmg_flechette.name=.50 BMG Flechette Round
|
||||
item.ammo_50bmg_flechette_am.name=.50 BMG Flechette Round (Americium)
|
||||
item.ammo_50bmg_flechette_po.name=.50 BMG Flechette Round (Polonium)
|
||||
item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary)
|
||||
item.ammo_50bmg_phosphorus.name=.50 BMG Round (WP)
|
||||
item.ammo_50bmg_sleek.name=.50 BMG Round (IF-R&D)
|
||||
item.ammo_50bmg_star.name=.50 BMG Round (Starmetal)
|
||||
item.ammo_556.name=5.56mm Round
|
||||
item.ammo_556_ap.name=5.56mm Round (Armor Piercing)
|
||||
item.ammo_556_chlorophyte.name=5.56mm Round (Chlorophyte)
|
||||
item.ammo_556_du.name=5.56mm Round (DU)
|
||||
item.ammo_556_flechette.name=5.56mm Flechette Round
|
||||
item.ammo_556_flechette_chlorophyte.name=5.56mm Flechette Round (Chlorophyte)
|
||||
item.ammo_556_flechette_du.name=5.56mm Flechette Round (Uranium Penetrator)
|
||||
item.ammo_556_flechette_incendiary.name=5.56mm Flechette Round (Incendiary)
|
||||
item.ammo_556_flechette_phosphorus.name=5.56mm Flechette Round (Phosphorus-Tipped)
|
||||
item.ammo_556_flechette_sleek.name=5.56mm Flechette Round (IF-R&D)
|
||||
item.ammo_556_k.name=5.56mm K-Round
|
||||
item.ammo_556_phosphorus.name=5.56mm Round (WP)
|
||||
item.ammo_556_sleek.name=5.56mm Round (IF-R&D)
|
||||
item.ammo_556_star.name=5.56mm Round (Starmetal)
|
||||
item.ammo_556_tracer.name=5.56mm Round (Tracer)
|
||||
item.ammo_5mm.name=5mm Round
|
||||
item.ammo_5mm_chlorophyte.name=5mm Round (Chlorophyte)
|
||||
item.ammo_5mm_du.name=5mm Round (DU)
|
||||
item.ammo_5mm_explosive.name=5mm Round (Explosive)
|
||||
item.ammo_5mm_star.name=5mm Round (Starmetal)
|
||||
item.ammo_75bolt.name=.75 Bolt Magazine (30rnd)
|
||||
item.ammo_75bolt_incendiary.name=.75 Incendiary Bolt Magazine (30rnd)
|
||||
item.ammo_75bolt_he.name=.75 Bolt High-Explosive Magazine (30rnd)
|
||||
item.ammo_762.name=7.62mm Round
|
||||
item.ammo_762_ap.name=7.62mm Round (AP)
|
||||
item.ammo_762_du.name=7.62mm Round (DU)
|
||||
item.ammo_762_k.name=7.62mm K-Round
|
||||
item.ammo_762_phosphorus.name=7.62mm Round (WP)
|
||||
item.ammo_762_tracer.name=7.62mm Round (Tracer)
|
||||
item.ammo_9mm.name=9mm Round
|
||||
item.ammo_9mm_ap.name=9mm Round (Armor Piercing)
|
||||
item.ammo_9mm_chlorophyte.name=9mm Round (Chlorophyte)
|
||||
item.ammo_9mm_du.name=9mm Round (DU)
|
||||
item.ammo_9mm_rocket.name=9mm Rocket
|
||||
item.ammo_arty.name=16" Artillery Shell
|
||||
item.ammo_arty_cargo.name=16" Express Delivery Artillery Shell
|
||||
item.ammo_arty_chlorine.name=16" Chlorine Gas Artillery Shell
|
||||
@ -1853,38 +1754,11 @@ item.ammo_arty_nuke.name=16" Nuclear Artillery Shell
|
||||
item.ammo_arty_phosgene.name=16" Phosgene Artillery Shell
|
||||
item.ammo_arty_phosphorus.name=16" Phosphorus Shell
|
||||
item.ammo_arty_phosphorus_multi.name=16" Multi Phosphorus Shell
|
||||
item.ammo_cell.name=Energy Cell
|
||||
item.ammo_coilgun.name=Coilgun Tungsten Ball
|
||||
item.ammo_coilgun_du.name=Coilgun Ferrouranium Ball
|
||||
item.ammo_coilgun_rubber.name=Coilgun Rubber Ball
|
||||
item.ammo_container.name=Ammo Container
|
||||
item.ammo_dart.name=Plastic Dart (Withering)
|
||||
item.ammo_dart_nerf.name=NERF Dart
|
||||
item.ammo_dart_nuclear.name=Plastic Dart (Timed Explosive)
|
||||
item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt
|
||||
item.ammo_fireext.name=Fire Extinguisher Water Tank
|
||||
item.ammo_fireext_foam.name=Fire Extinguisher Foam Tank
|
||||
item.ammo_fireext_sand.name=Fire Extinguisher Sand Tank
|
||||
item.ammo_folly.name=Silver Bullet (Original)
|
||||
item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive)
|
||||
item.ammo_folly_nuclear.name=Silver Bullet (Nuclear)
|
||||
item.ammo_fuel.name=Diesel Tank
|
||||
item.ammo_fuel_gas.name=Gas Tank
|
||||
item.ammo_fuel_napalm.name=Napalm Tank
|
||||
item.ammo_fuel_phosphorus.name=WP Tank
|
||||
item.ammo_fuel_vaporizer.name=Vaporizer Tank
|
||||
item.ammo_grenade.name=40mm Grenade
|
||||
item.ammo_grenade_concussion.name=40mm Grenade (Concussion)
|
||||
item.ammo_grenade_finned.name=40mm Grenade (Finned)
|
||||
item.ammo_grenade_he.name=40mm Grenade (HE)
|
||||
item.ammo_grenade_incendiary.name=40mm Grenade (Incendiary)
|
||||
item.ammo_grenade_kampf.name=40mm Rocket
|
||||
item.ammo_grenade_leadburster.name=40mm Leadburster
|
||||
item.ammo_grenade_nuclear.name=40mm Grenade (Привет)
|
||||
item.ammo_grenade_phosphorus.name=40mm Grenade (WP)
|
||||
item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D)
|
||||
item.ammo_grenade_toxic.name=40mm Grenade (Chemical)
|
||||
item.ammo_grenade_tracer.name=40mm Training Grenade
|
||||
item.ammo_himars_standard.name=227mm Guided Artillery Rocket Pod
|
||||
item.ammo_himars_standard_he.name=227mm Guided Artillery Rocket Pod (HE)
|
||||
item.ammo_himars_standard_lava.name=227mm Guided Artillery Rocket Pod (Lava)
|
||||
@ -1893,34 +1767,6 @@ item.ammo_himars_standard_tb.name=227mm Guided Artillery Rocket Pod (Thermobaric
|
||||
item.ammo_himars_standard_wp.name=227mm Guided Artillery Rocket Pod (WP)
|
||||
item.ammo_himars_single.name=610mm Guided Artillery Rocket Pod
|
||||
item.ammo_himars_single_tb.name=610mm Guided Artillery Rocket Pod (Thermobaric)
|
||||
item.ammo_luna.name=Lunatic Sniper Sabot Round
|
||||
item.ammo_luna_explosive.name=Lunatic Sniper Explosive Round
|
||||
item.ammo_luna_incendiary.name=Lunatic Sniper Incendiary Round
|
||||
item.ammo_mirv.name=Mini MIRV
|
||||
item.ammo_mirv_high.name=Mini MIRV (High Yield)
|
||||
item.ammo_mirv_low.name=Mini MIRV (Low Yield)
|
||||
item.ammo_mirv_safe.name=Mini MIRV (Safe)
|
||||
item.ammo_mirv_special.name=Mini MILV
|
||||
item.ammo_nuke.name=Mini Nuke
|
||||
item.ammo_nuke_barrel.name=Mini Nuclear Waste Barrel
|
||||
item.ammo_nuke_high.name=Mini Nuke (High Yield)
|
||||
item.ammo_nuke_low.name=Mini Nuke (Low Yield)
|
||||
item.ammo_nuke_pumpkin.name=Pumpkin Bomb
|
||||
item.ammo_nuke_safe.name=Mini Nuke (Safe)
|
||||
item.ammo_nuke_tots.name=Mini Nuke (Tiny Tots)
|
||||
item.ammo_rocket.name=84mm Rocket
|
||||
item.ammo_rocket_canister.name=84mm Rocket (Canister Shot)
|
||||
item.ammo_rocket_digamma.name=null
|
||||
item.ammo_rocket_emp.name=84mm Rocket (Pulse)
|
||||
item.ammo_rocket_glare.name=84mm Rocket (Red Glare)
|
||||
item.ammo_rocket_he.name=84mm Rocket (HE)
|
||||
item.ammo_rocket_incendiary.name=84mm Rocket (Incendiary)
|
||||
item.ammo_rocket_nuclear.name=84mm Rocket (Привет)
|
||||
item.ammo_rocket_phosphorus.name=84mm Rocket (WP)
|
||||
item.ammo_rocket_rpc.name=84mm Rocket Propelled Chainsaw
|
||||
item.ammo_rocket_shrapnel.name=84mm Rocket (Shrapnel)
|
||||
item.ammo_rocket_sleek.name=84mm Rocket (IF-R&D)
|
||||
item.ammo_rocket_toxic.name=84mm Rocket (Chemical)
|
||||
item.ammo_shell.name=240mm Shell
|
||||
item.ammo_shell_apfsds_du.name=240mm APFSDS-DU
|
||||
item.ammo_shell_apfsds_t.name=240mm APFSDS-T
|
||||
@ -2023,11 +1869,6 @@ item.ammo_standard.stone_ap.name=Flint and Powder
|
||||
item.ammo_standard.stone_iron.name=Iron Ball and Powder
|
||||
item.ammo_standard.stone_shot.name=Shot and Powder
|
||||
item.ammo_standard.tau_uranium.name=Depleted Uranium-235 Box
|
||||
item.ammo_stinger_rocket.name=Stinger Rocket
|
||||
item.ammo_stinger_rocket_he.name=Stinger Rocket (HE)
|
||||
item.ammo_stinger_rocket_incendiary.name=Stinger Rocket (Incendiary)
|
||||
item.ammo_stinger_rocket_nuclear.name=Stinger Rocket (Привет)
|
||||
item.ammo_stinger_rocket_bones.name=Stinger Rocket (Bone-Seeking)
|
||||
item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst
|
||||
item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst
|
||||
item.ams_catalyst_blank.name=Blank Reaction Catalyst
|
||||
@ -3148,7 +2989,7 @@ item.inf_diesel.name=Infinite Diesel Tank
|
||||
item.inf_sulfur.name=Infinite Sulfur Tank
|
||||
item.inf_tritium.name=Infinite Tritium Tank
|
||||
item.inf_water.name=Infinite Water Tank
|
||||
item.inf_water_mk2.name=Heavy Infinite Water Tank
|
||||
item.inf_water_mk2.name=Large Infinite Water Tank
|
||||
item.ingot_actinium.name=Actinium-227 Ingot
|
||||
item.ingot_advanced_alloy.name=Advanced Alloy Ingot
|
||||
item.ingot_aluminium.name=Aluminium Ingot
|
||||
@ -5304,6 +5145,7 @@ tile.crate_lead.name=Hazmat Crate
|
||||
tile.crate_metal.name=Machine Crate
|
||||
tile.crate_red.name=Red Crate
|
||||
tile.crate_steel.name=Steel Crate
|
||||
tile.crate_supply.name=Supply Crate
|
||||
tile.crate_template.name=Template Crate
|
||||
tile.crate_tungsten.name=Tungsten Crate
|
||||
tile.crate_weapon.name=Weapon Crate
|
||||
|
||||
@ -66,6 +66,7 @@
|
||||
"block.squeakyToy": {"category": "block", "sounds": [{"name": "block/squeakyToy", "stream": false}]},
|
||||
"block.pyroOperate": {"category": "block", "sounds": [{"name": "block/pyroOperate", "stream": false}]},
|
||||
"block.motor": {"category": "block", "sounds": [{"name": "block/motor", "stream": false}]},
|
||||
"block.engine": {"category": "block", "sounds": [{"name": "block/engine", "stream": false}]},
|
||||
|
||||
"door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]},
|
||||
"door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/block/engine.ogg
Normal file
|
Before Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 452 B |
|
Before Width: | Height: | Size: 433 B |
|
Before Width: | Height: | Size: 410 B |
|
Before Width: | Height: | Size: 431 B |
|
Before Width: | Height: | Size: 455 B |
|
Before Width: | Height: | Size: 386 B |
|
Before Width: | Height: | Size: 415 B |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |