diff --git a/changelog b/changelog index 739285b0a..986a2f483 100644 --- a/changelog +++ b/changelog @@ -25,6 +25,8 @@ * This means that in system with slow input, the time window when items can be added to the arc furance is now more forgiving * Pipe anchors now have a look overlay showing the currently configured fluid type * Removed ammo duping using nitra, instead, four large piles can now be combined into an ammo container + * Ammo containers crafted from nitra cannot give "expensive" ammo types + * This mainly excludes mini nukes and .35 * Using a defuser, creepers can now be rendered harmless manually * Defusing creepers now also works if the creeper hasn't lit its fuse yet * Defused creepers are now permanently harmless, they can no longer be manually re-ignited at all @@ -33,6 +35,11 @@ * Doing so will also drop one usable demolition mini nuke * The painsaw ability no longer plays the blood splash particle effect * Instead, it will outright gib the target +* Pile plutonium rods can now be reprocessed in the PUREX in addition to the old anvil recipes + * The recipes require 100mB of sulfuric acid and 100HE/t, the lowest requirement for all reprocessing recipes + * The recipes are part of a shared auto switch group, meaning that even if different rod types are produced, only one PUREX is necessary +* Grass is no longer a valid paint block for paintable cables and ducts +* Multiblocks are no longer affected by collapses caused by nuclear explosions ## Fixed * Fixed arc furnace only allowing electrodes to be inserted when the lid is down instead of up @@ -42,4 +49,6 @@ * Fixed foundry channels being overly laggy in certain setups * Fixed potential mod incompatibilities with world generation mods that use outdated forge hooks * Fixed the buzzsaw not properly replanting trees using the `leaves2` block type -* Fixed creepers regaining their exploding AI task upon relog, if defused \ No newline at end of file +* Fixed creepers regaining their exploding AI task upon relog, if defused +* Fixed assembly and chemical factories not properly saving their recipe fluid buffers +* Fixed light blue and light gray dyes not working when dyeing cables diff --git a/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java b/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java index 3587df3c5..4b37262ff 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java @@ -13,6 +13,7 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -73,7 +74,7 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - if(block.renderAsNormalBlock() && block != this) { + if(allowedPaint(block, this)) { TileEntity tile = world.getTileEntity(x, y, z); @@ -93,6 +94,11 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB return super.onBlockActivated(world, x, y, z, player, side, fX, fY, fZ); } + + public static boolean allowedPaint(Block paint, Block that) { + if(paint == Blocks.grass) return false; + return paint.renderAsNormalBlock() && paint != that; + } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java b/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java index b7f994a5d..71bb8d246 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java @@ -98,7 +98,7 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - if(block.renderAsNormalBlock() && block != this) { + if(BlockCablePaintable.allowedPaint(block, this)) { TileEntity tile = world.getTileEntity(x, y, z); diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java b/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java index 382c79c8b..21d3bd899 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java @@ -102,7 +102,7 @@ public class FluidDuctPaintableBlockExhaust extends FluidDuctBase implements ITo ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - if(block.renderAsNormalBlock() && block != this) { + if(BlockCablePaintable.allowedPaint(block, this)) { TileEntity tile = world.getTileEntity(x, y, z); diff --git a/src/main/java/com/hbm/blocks/network/PneumoTubePaintableBlock.java b/src/main/java/com/hbm/blocks/network/PneumoTubePaintableBlock.java index 24beaae17..bae313ad7 100644 --- a/src/main/java/com/hbm/blocks/network/PneumoTubePaintableBlock.java +++ b/src/main/java/com/hbm/blocks/network/PneumoTubePaintableBlock.java @@ -36,10 +36,10 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl @SideOnly(Side.CLIENT) public IIcon overlayIn; @SideOnly(Side.CLIENT) public IIcon overlayOut; - public PneumoTubePaintableBlock() {super(Material.iron);} + public PneumoTubePaintableBlock() { super(Material.iron); } @Override - public TileEntity createNewTileEntity(World world, int meta) {return new TileEntityPneumoTubePaintable();} + public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPneumoTubePaintable(); } @Override @SideOnly(Side.CLIENT) @@ -55,18 +55,18 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityPneumoTubePaintable) { + if(tile instanceof TileEntityPneumoTubePaintable) { TileEntityPneumoTubePaintable tube = (TileEntityPneumoTubePaintable) tile; - if (RenderBlockMultipass.currentPass == 0) { - if (tube.block != null) { + if(RenderBlockMultipass.currentPass == 0) { + if(tube.block != null) { return tube.block.getIcon(side, tube.meta); } else { return this.blockIcon; } - } else if (tube.ejectionDir.ordinal() == side) { + } else if(tube.ejectionDir.ordinal() == side) { return this.overlayIn; - } else if (tube.insertionDir.ordinal() == side) { + } else if(tube.insertionDir.ordinal() == side) { return this.overlayOut; } else { return this.overlay; @@ -84,39 +84,43 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - if (tool == ToolType.HAND_DRILL) { + if(tool == ToolType.HAND_DRILL) { TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityPneumoTubePaintable) { + if(tile instanceof TileEntityPneumoTubePaintable) { TileEntityPneumoTubePaintable tube = (TileEntityPneumoTubePaintable) tile; - if (tube.block != null) { + if(tube.block != null) { tube.block = null; world.markBlockForUpdate(x, y, z); tube.markDirty(); } } - } else if (tool == ToolType.SCREWDRIVER) { + } else if(tool == ToolType.SCREWDRIVER) { - if (world.isRemote) return true; + if(world.isRemote) return true; TileEntityPneumoTube tube = (TileEntityPneumoTube) world.getTileEntity(x, y, z); ForgeDirection rot = player.isSneaking() ? tube.ejectionDir : tube.insertionDir; ForgeDirection oth = player.isSneaking() ? tube.insertionDir : tube.ejectionDir; - for (int i = 0; i < 7; i++) { + for(int i = 0; i < 7; i++) { rot = ForgeDirection.getOrientation((rot.ordinal() + 1) % 7); - if (rot == ForgeDirection.UNKNOWN) break; //unknown is always valid, simply disables this part - if (rot == oth) continue; //skip if both positions collide + if(rot == ForgeDirection.UNKNOWN) break; // unknown is always valid, simply disables this part + if(rot == oth) continue; // skip if both positions collide TileEntity tile = Compat.getTileStandard(world, x + rot.offsetX, y + rot.offsetY, z + rot.offsetZ); - if (tile instanceof TileEntityPneumoTube) continue; - if (tile instanceof IInventory) break; //valid if connected to an IInventory + if(tile instanceof TileEntityPneumoTube) continue; + if(tile instanceof IInventory) break; // valid if connected to an IInventory } - if(player.isSneaking()) tube.ejectionDir = rot; else tube.insertionDir = rot; + if(player.isSneaking()) + tube.ejectionDir = rot; + else + tube.insertionDir = rot; tube.markDirty(); - if(world instanceof WorldServer) ((WorldServer) world).getPlayerManager().markBlockForUpdate(x, y, z); + if(world instanceof WorldServer) + ((WorldServer) world).getPlayerManager().markBlockForUpdate(x, y, z); return true; } @@ -127,16 +131,16 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { ItemStack stack = player.getHeldItem(); - if (stack != null && stack.getItem() instanceof ItemBlock) { + if(stack != null && stack.getItem() instanceof ItemBlock) { ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - if (block.renderAsNormalBlock() && block != this) { + if(BlockCablePaintable.allowedPaint(block, this)) { TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityPneumoTubePaintable) { + if(tile instanceof TileEntityPneumoTubePaintable) { TileEntityPneumoTubePaintable tube = (TileEntityPneumoTubePaintable) tile; - if (tube.block == null) { + if(tube.block == null) { tube.block = block; tube.meta = stack.getItemDamage() & 15; world.markBlockForUpdate(x, y, z); @@ -145,20 +149,22 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl } } } - } else if (ToolType.getType(stack) == ToolType.SCREWDRIVER || ToolType.getType(stack) == ToolType.HAND_DRILL) return false; - if (!player.isSneaking()) { - TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityPneumoTube) { - TileEntityPneumoTube tube = (TileEntityPneumoTube) tile; - if (tube.isCompressor()) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - return true; - } else if(tube.isEndpoint()) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 1, world, x, y, z); - return true; - } + } else if(ToolType.getType(stack) == ToolType.SCREWDRIVER || ToolType.getType(stack) == ToolType.HAND_DRILL) return false; + + if(!player.isSneaking()) { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TileEntityPneumoTube) { + TileEntityPneumoTube tube = (TileEntityPneumoTube) tile; + if(tube.isCompressor()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } else if(tube.isEndpoint()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 1, world, x, y, z); + return true; } } + } + return false; } @@ -173,7 +179,7 @@ public class PneumoTubePaintableBlock extends BlockContainer implements IToolabl public void updateEntity() { super.updateEntity(); - if (worldObj.isRemote && (lastMeta != meta || lastBlock != block )) { + if(worldObj.isRemote && (lastMeta != meta || lastBlock != block)) { worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); lastBlock = block; lastMeta = meta; diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index d4a0b7d6f..f0299b959 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -422,7 +422,7 @@ public class MineralRecipes { GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 9), new Object[] { "#", '#', ModItems.egg_balefire }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra, 1), new Object[] { "##", "##", '#', ModItems.nitra_small }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra_small, 4), new Object[] { "#", '#', ModItems.nitra }); - GameRegistry.addRecipe(new ItemStack(ModItems.ammo_container, 1), new Object[] { "##", "##", '#', ModItems.nitra }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_container, 1, 1), new Object[] { "##", "##", '#', ModItems.nitra }); GameRegistry.addRecipe(new ItemStack(ModBlocks.glass_polarized, 4), new Object[] { "##", "##", '#', DictFrame.fromOne(ModItems.part_generic, EnumPartType.GLASS_POLARIZED) }); add1To9Pair(ModItems.powder_paleogenite, ModItems.powder_paleogenite_tiny); add1To9Pair(ModItems.ingot_osmiridium, ModItems.nugget_osmiridium); diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 660b2833a..09fa5c9db 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -1,5 +1,6 @@ package com.hbm.entity.effect; +import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; import com.hbm.config.FalloutConfigJSON; @@ -197,7 +198,7 @@ public class EntityFalloutRain extends EntityExplosionChunkloading { } float hardness = b.getBlockHardness(worldObj, x, y, z); - if(y > 0 && dist < 65 && hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0/* && !b.hasTileEntity(worldObj.getBlockMetadata(x, y, z))*/) { + if(y > 0 && dist < 65 && hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0/* && !b.hasTileEntity(worldObj.getBlockMetadata(x, y, z))*/ && !(b instanceof BlockDummyable)) { if(worldObj.getBlock(x, y - 1, z) == Blocks.air) { for(int i = 0; i <= depth; i++) { diff --git a/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java b/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java index 7af2b9299..a47c08024 100644 --- a/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java @@ -34,11 +34,31 @@ public class PUREXRecipes extends GenericRecipes { @Override public void registerDefaults() { + long pilePower = 100; long zirnoxPower = 1_000; long platePower = 1_500; long pwrPower = 2_500; long watzPower = 10_000; long vitrification = 1_000; + + //CP-1 + String autoPile = "autoswitch.pile"; + this.register(new GenericRecipe("purex.pilepu").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this) + .inputItems(new ComparableStack(ModItems.pile_rod_plutonium)) + .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100)) + .outputItems(new ItemStack(ModItems.billet_pu_mix, 2), + new ItemStack(ModItems.billet_uranium, 1), + new ItemStack(ModItems.plate_iron, 2)) + .setIconToFirstIngredient()); + + this.register(new GenericRecipe("purex.pilepu239").setup(40, pilePower).setNameWrapper("purex.recycle").setGroup(autoPile, this) + .inputItems(new ComparableStack(ModItems.pile_rod_pu239)) + .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100)) + .outputItems(new ItemStack(ModItems.billet_pu239, 1), + new ItemStack(ModItems.billet_pu_mix, 1), + new ItemStack(ModItems.billet_uranium, 1), + new ItemStack(ModItems.plate_iron, 2)) + .setIconToFirstIngredient()); // ZIRNOX String autoZirnox = "autoswitch.zirnox"; diff --git a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java index 2ddd82c87..2d3a644a8 100644 --- a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java +++ b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java @@ -5,30 +5,60 @@ import java.util.Collections; import java.util.List; import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.lib.RefStrings; import com.hbm.util.InventoryUtil; import com.hbm.util.i18n.I18nUtil; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ItemAmmoContainer extends Item { + + @SideOnly(Side.CLIENT) protected IIcon altIcon; public ItemAmmoContainer() { this.setMaxStackSize(1); + this.setHasSubtypes(true); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + list.add(new ItemStack(item, 1, 0)); + list.add(new ItemStack(item, 1, 1)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister icon) { + super.registerIcons(icon); + this.altIcon = icon.registerIcon(RefStrings.MODID + ":ammo_container_alt"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int meta) { + return meta == 1 ? this.altIcon : this.itemIcon; } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + boolean makeshift = stack.getItemDamage() == 1; List stacks = new ArrayList(); for(ItemStack inv : player.inventory.mainInventory) { if(inv != null && inv.getItem() instanceof ItemGunBaseNT) { ItemGunBaseNT gun = (ItemGunBaseNT) inv.getItem(); - if(gun.defaultAmmo != null) stacks.add(inv); + if(gun.defaultAmmo != null && !(makeshift && gun.isDefaultExpensive)) stacks.add(inv); } } @@ -53,8 +83,8 @@ public class ItemAmmoContainer extends Item { } @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - String[] lines = I18nUtil.resolveKeyArray(this.getUnlocalizedName() + ".desc"); + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + String[] lines = I18nUtil.resolveKeyArray(this.getUnlocalizedName() + (stack.getItemDamage() == 1 ? ".1" : "") + ".desc"); for(String line : lines) list.add(EnumChatFormatting.YELLOW + line); } } diff --git a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java index d675b8013..dfb0b067f 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java +++ b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java @@ -64,6 +64,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I public List recognizedMods = new ArrayList(); public ItemStack defaultAmmo; + public boolean isDefaultExpensive = false; public static final DecimalFormatSymbols SYMBOLS_US = new DecimalFormatSymbols(Locale.US); public static final DecimalFormat FORMAT_DMG = new DecimalFormat("#.##", SYMBOLS_US); @@ -159,6 +160,11 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I this.defaultAmmo = new ItemStack(ModItems.ammo_standard, amount, ammo.ordinal()); return this; } + + public ItemGunBaseNT setDefaultAmmoExpensive(EnumAmmo ammo, int amount) { + this.isDefaultExpensive = true; + return setDefaultAmmo(ammo, amount); + } public ItemGunBaseNT setNameMutator(Function lambda) { this.LAMBDA_NAME_MUTATOR = lambda; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java index bccddd9ff..30c228af6 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java @@ -171,7 +171,7 @@ public class XFactoryCatapult { .setupStandardFire().recoil(LAMBDA_RECOIL_FATMAN)) .setupStandardConfiguration() .anim(LAMBDA_FATMAN_ANIMS).orchestra(Orchestras.ORCHESTRA_FATMAN) - ).setDefaultAmmo(EnumAmmo.NUKE_STANDARD, 1).setUnlocalizedName("gun_fatman"); + ).setDefaultAmmoExpensive(EnumAmmo.NUKE_STANDARD, 1).setUnlocalizedName("gun_fatman"); } public static BiConsumer LAMBDA_RECOIL_FATMAN = (stack, ctx) -> { }; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyFactory.java index 295d1b4a7..5184c3291 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyFactory.java @@ -297,7 +297,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl super.readFromNBT(nbt); for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].readFromNBT(nbt, "i" + i); - for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].readFromNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].readFromNBT(nbt, "o" + i); this.water.readFromNBT(nbt, "w"); this.lps.readFromNBT(nbt, "s"); @@ -312,7 +312,7 @@ public class TileEntityMachineAssemblyFactory extends TileEntityMachineBase impl super.writeToNBT(nbt); for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].writeToNBT(nbt, "i" + i); - for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].writeToNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].writeToNBT(nbt, "o" + i); this.water.writeToNBT(nbt, "w"); this.lps.writeToNBT(nbt, "s"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java index 32c2adf2e..9a5accaf1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java @@ -320,7 +320,7 @@ public class TileEntityMachineChemicalFactory extends TileEntityMachineBase impl super.readFromNBT(nbt); for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].readFromNBT(nbt, "i" + i); - for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].readFromNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].readFromNBT(nbt, "o" + i); this.water.readFromNBT(nbt, "w"); this.lps.readFromNBT(nbt, "s"); @@ -335,7 +335,7 @@ public class TileEntityMachineChemicalFactory extends TileEntityMachineBase impl super.writeToNBT(nbt); for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].writeToNBT(nbt, "i" + i); - for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].writeToNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].writeToNBT(nbt, "o" + i); this.water.writeToNBT(nbt, "w"); this.lps.writeToNBT(nbt, "s"); diff --git a/src/main/java/com/hbm/util/ColorUtil.java b/src/main/java/com/hbm/util/ColorUtil.java index 28b76c6ab..eb5554ade 100644 --- a/src/main/java/com/hbm/util/ColorUtil.java +++ b/src/main/java/com/hbm/util/ColorUtil.java @@ -217,11 +217,12 @@ public class ColorUtil { put("purple", 8073150); put("cyan", 2651799); put("silver", 11250603); + put("lightgray", 11250603); put("gray", 4408131); put("pink", 14188952); put("lime", 4312372); put("yellow", 14602026); - put("lightBlue", 6719955); + put("lightblue", 6719955); put("magenta", 12801229); put("orange", 15435844); put("white", 15790320); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 00305807d..4c5787a06 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -130,12 +130,13 @@ armorMod.type.servo=Servos armorMod.type.special=Spezial autoswitch=Teil der Rezeptgruppe "%s"$Rezept ändert sich basierend auf das erste Item -autoswitch.plate=Wiederanreicherung Plattenbrennstoff +autoswitch.pile=Wiederaufbereitung Chicago-Pile-Brennstoff +autoswitch.plate=Wiederaufbereitung Plattenbrennstoff autoswitch.plates=Metallplatten -autoswitch.pwr=Wiederanreicherung PWR-Brennstoff +autoswitch.pwr=Wiederaufbereitung PWR-Brennstoff autoswitch.schrab=Schrabidium-Extraktion -autoswitch.watz=Wiederanreicherung Watzpellet -autoswitch.zirnox=Wiederanreicherung ZIRNOX-Brennstoff +autoswitch.watz=Wiederaufbereitung Watzpellet +autoswitch.zirnox=Wiederaufbereitung ZIRNOX-Brennstoff bomb.detonated=Erfolgreich gezündet! bomb.incompatible=Gerät kann nicht ausgelöst werden! @@ -1076,6 +1077,9 @@ item.ammo_arty_phosphorus.name=16" Phosphor-Artilleriegranate item.ammo_arty_phosphorus_multi.name=16" Mehrfach-Phosphor-Artilleriegranate item.ammo_bag.name=Munitionstasche item.ammo_bag_infinite.name=Unendliche Munitionstasche +item.ammo_container.name=Munitionsbehäter +item.ammo_container.desc=Enthält Munition für bis zu drei gehaltene Waffen +item.ammo_container.1.desc=Enthält Munition für bis zu drei gehaltene Waffen$Inkludiert keine hochwertigen Munitionstypen wie Miniatombomben 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 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6619795de..1e20ec8e8 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -185,6 +185,7 @@ armorMod.type.servo=Servos armorMod.type.special=Special autoswitch=Part of auto switch group "%s"$Recipe changes based on first ingredient +autoswitch.pile=Reprocessing Chicago Pile Rods autoswitch.plate=Reprocessing Plate Fuel autoswitch.plates=Metal Plates autoswitch.pwr=Reprocessing PWR Fuel @@ -1830,6 +1831,7 @@ item.ammo_bag.name=Ammo Bag item.ammo_bag_infinite.name=Infinite Ammo Bag item.ammo_container.name=Ammo Container item.ammo_container.desc=Gives ammo for up to three held weapons +item.ammo_container.1.desc=Gives ammo for up to three held weapons$Does not include mini nukes and other high-tier ammo types 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 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_container.png b/src/main/resources/assets/hbm/textures/items/ammo_container.png index f7230cf34..d4998c143 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_container.png and b/src/main/resources/assets/hbm/textures/items/ammo_container.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_container_alt.png b/src/main/resources/assets/hbm/textures/items/ammo_container_alt.png new file mode 100644 index 000000000..b274254b1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_container_alt.png differ