Merge branch 'master' into oc-bat-rework
42
changelog
@ -1,20 +1,28 @@
|
||||
## Added
|
||||
* Creative klystron
|
||||
* Always outputs as much KyU as the most demanding existing recipe needs
|
||||
|
||||
## Changed
|
||||
* Updated chinese and russian localization
|
||||
* Increased density of osmiridium ores in tom craters considerably (from 1:500 to 1:200)
|
||||
* Added a new server setting called `ENABLE_MKU` to toggle contageon effects, spread and save (part of `/ntmserver`)
|
||||
* Extended logging now logs uses of MKU
|
||||
* Mass storage units now display their held item on a display
|
||||
* Improved HUD gauges, electric chestplates with jetpacks installed now two gauges side by side
|
||||
* Material autogen now creates redstone in ingot form, allowing smaller than block quantities to be cast
|
||||
* Removed the ancient ZPE blocks
|
||||
* Drone hitboxes are now way smaller, which should cause them to get stuck when flying less
|
||||
* The new FENSU now keeps its charge and installed muffler when broken
|
||||
* Battery sockets are now compatible with comparator output
|
||||
* Battery sockets now have a tooltip when a battery pack is installed
|
||||
* Sef-charging batteries have been reworked
|
||||
* They are now a new item with metadata (legacy ones still work)
|
||||
* The base form is an empty selfcharger which is filled with two billets of material, i.e. no more upgrade recipes
|
||||
* There are a few new variants like cobalt-60 and gold-198
|
||||
* New selfchargers have a model when plugged into a battery socket
|
||||
* Selfchargers are a fair bit weaker than their old counterparts, but substantially cheaper too
|
||||
* Old batteries now have the "LEGACY" tag
|
||||
|
||||
## Fixed
|
||||
* Fixed missing battery socket tooltip
|
||||
* Potentially fixed an issue in regards to some hidden structures spawning
|
||||
* Fixed FEnSU not immediately applying the muffler effect when used
|
||||
* Fixed fluid counter valve not having a recipe
|
||||
* Fixed issue where `/ntmreload` would break registered fluids from addons
|
||||
* Fixed yet another issue regarding crates
|
||||
* Fixed RBMK fluid heaters losing their tank types when unable to boil anything
|
||||
* Fixed the FEnSU, cyclotron and reliant robin missile being uncraftable due to stacksize limitations
|
||||
* The system for detecting impossible recipe has been improved, instead of a fixed 64 item limit, it now uses the actual limit of the item (or 64 for ore dictionary inputs)
|
||||
* Fixed yet another issue regarding addon fluids breaking on recipe reload
|
||||
* Fixed YET ANOTHER issue regarding crates, AGAIN
|
||||
* Fixed a rare issue where the fusion reactor could have negative fuel
|
||||
* Fixed battery socket priority tooltip offset
|
||||
* Fixed enchantability on many armor sets being incorrect
|
||||
* Most power armors are intended to not be enchantable at all
|
||||
* Fixed crash caused by the balefire bomb
|
||||
* Fixed JSON gun reload animations becoming faster and faster with the trenchmaster set
|
||||
* Fixed heat transfer rate labels on the boilers and coker unit being off by a magnitude of 10
|
||||
* Fixed crucible not having a heat transfer rate tooltip
|
||||
@ -1062,9 +1062,6 @@ public class ModBlocks {
|
||||
|
||||
public static Block machine_controller;
|
||||
|
||||
public static Block machine_spp_bottom;
|
||||
public static Block machine_spp_top;
|
||||
|
||||
public static Block radiobox;
|
||||
public static Block radiorec;
|
||||
|
||||
@ -2307,9 +2304,6 @@ public class ModBlocks {
|
||||
|
||||
machine_siren = new MachineSiren(Material.iron).setBlockName("machine_siren").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_siren");
|
||||
|
||||
machine_spp_bottom = new SPPBottom(Material.iron).setBlockName("machine_spp_bottom").setHardness(5.0F).setResistance(10.0F);
|
||||
machine_spp_top = new SPPTop(Material.iron).setBlockName("machine_spp_top").setHardness(5.0F).setResistance(10.0F);
|
||||
|
||||
radiobox = new Radiobox(Material.iron).setBlockName("radiobox").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiobox");
|
||||
radiorec = new RadioRec(Material.iron).setBlockName("radiorec").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiorec");
|
||||
|
||||
@ -3126,8 +3120,6 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_powerrtg, machine_powerrtg.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_radiolysis, machine_radiolysis.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_hephaestus, machine_hephaestus.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerBlock(hadron_plating, hadron_plating.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(hadron_plating_blue, hadron_plating_blue.getUnlocalizedName());
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ICustomBlockHighlight;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.inventory.material.Mats.MaterialStack;
|
||||
import com.hbm.items.machine.ItemScraps;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -27,7 +28,7 @@ import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor {
|
||||
public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor, ITooltipProvider {
|
||||
|
||||
public MachineCrucible() {
|
||||
super(Material.rock);
|
||||
@ -181,4 +182,9 @@ public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor
|
||||
|
||||
@Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return false; }
|
||||
@Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return null; }
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
this.addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSPP;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class SPPBottom extends BlockContainer {
|
||||
|
||||
public SPPBottom(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMachineSPP();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_deprecated");
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
|
||||
public class SPPTop extends Block {
|
||||
|
||||
public SPPTop(Material p_i45394_1_) {
|
||||
super(p_i45394_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_deprecated");
|
||||
}
|
||||
}
|
||||
@ -1,16 +1,27 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.IPersistentInfoProvider;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityBatteryREDD;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.stats.StatList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineBatteryREDD extends BlockDummyable {
|
||||
public class MachineBatteryREDD extends BlockDummyable implements IPersistentInfoProvider {
|
||||
|
||||
public MachineBatteryREDD() {
|
||||
super(Material.iron);
|
||||
@ -47,4 +58,31 @@ public class MachineBatteryREDD extends BlockDummyable {
|
||||
this.makeExtra(world, x + rot.offsetX * 4, y, z + rot.offsetZ * 4);
|
||||
this.makeExtra(world, x - rot.offsetX * 4, y, z - rot.offsetZ * 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
|
||||
return IPersistentNBT.getDrops(world, x, y, z, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
|
||||
|
||||
if(!player.capabilities.isCreativeMode) {
|
||||
harvesters.set(player);
|
||||
this.dropBlockAsItem(world, x, y, z, meta, 0);
|
||||
harvesters.set(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) {
|
||||
player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1);
|
||||
player.addExhaustion(0.025F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) {
|
||||
if(persistentTag != null && persistentTag.hasKey("power"))
|
||||
list.add(EnumChatFormatting.YELLOW + "" + BobMathUtil.format(new BigInteger(persistentTag.getByteArray("power"))) + " HE");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,20 +1,24 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityBatterySocket;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineBatterySocket extends BlockDummyable implements ITooltipProvider {
|
||||
public class MachineBatterySocket extends BlockDummyable implements ITooltipProvider, ILookOverlay {
|
||||
|
||||
public MachineBatterySocket() {
|
||||
super(Material.iron);
|
||||
@ -49,4 +53,43 @@ public class MachineBatterySocket extends BlockDummyable implements ITooltipProv
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
addStandardInfo(stack, player, list, ext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(World world, int x, int y, int z, int side) {
|
||||
if(world.getBlockMetadata(x, y, z) < 6) return 0;
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
if(pos == null) return 0;
|
||||
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
if(!(te instanceof TileEntityBatterySocket)) return 0;
|
||||
|
||||
TileEntityBatterySocket battery = (TileEntityBatterySocket) te;
|
||||
return battery.getComparatorPower();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
if(pos == null) return;
|
||||
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
if(!(te instanceof TileEntityBatterySocket)) return;
|
||||
TileEntityBatterySocket socket = (TileEntityBatterySocket) te;
|
||||
if(socket.syncStack == null) return;
|
||||
|
||||
List<String> text = new ArrayList();
|
||||
text.add(BobMathUtil.getShortNumber(socket.powerFromStack(socket.syncStack)) + " / " + BobMathUtil.getShortNumber(socket.maxPowerFromStack(socket.syncStack)) + "HE");
|
||||
|
||||
double percent = (double) socket.powerFromStack(socket.syncStack) / (double) socket.maxPowerFromStack(socket.syncStack);
|
||||
int charge = (int) Math.floor(percent * 10_000D);
|
||||
int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8);
|
||||
|
||||
text.add("&[" + color + "&]" + (charge / 100D) + "%");
|
||||
|
||||
ILookOverlay.printGeneric(event, socket.syncStack.getDisplayName(), 0xffff00, 0x404000, text);
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ public abstract class EntityDroneBase extends Entity {
|
||||
|
||||
public EntityDroneBase(World world) {
|
||||
super(world);
|
||||
this.setSize(1.5F, 2.0F);
|
||||
this.setSize(0.75F, 0.75F);
|
||||
}
|
||||
|
||||
public void setTarget(double x, double y, double z) {
|
||||
|
||||
@ -23,7 +23,7 @@ import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@Deprecated
|
||||
@Deprecated // an experiment that i had to staple more and more features to until it ended up a bloated decaying corpse
|
||||
public abstract class NEIUniversalHandler extends TemplateRecipeHandler implements ICompatNHNEI {
|
||||
|
||||
public LinkedList<RecipeTransferRect> transferRectsRec = new LinkedList<RecipeTransferRect>();
|
||||
|
||||
@ -104,9 +104,6 @@ public class FluidType {
|
||||
/** For CompatFluidRegistry */
|
||||
public FluidType(String name, int id, int color, int p, int f, int r, EnumSymbol symbol, ResourceLocation texture) {
|
||||
setupForeign(name, id, color, p, f, r, symbol, texture);
|
||||
|
||||
Fluids.foreignFluids.add(this);
|
||||
Fluids.metaOrder.add(this);
|
||||
}
|
||||
|
||||
public FluidType setupForeign(String name, int id, int color, int p, int f, int r, EnumSymbol symbol, ResourceLocation texture) {
|
||||
@ -121,6 +118,7 @@ public class FluidType {
|
||||
this.renderWithTint = true;
|
||||
|
||||
this.id = id;
|
||||
Fluids.foreignFluids.add(this);
|
||||
Fluids.register(this, id);
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -418,6 +418,8 @@ public class Fluids {
|
||||
if(!customTypes.exists()) initDefaultFluids(customTypes);
|
||||
readCustomFluids(customTypes);
|
||||
|
||||
for(IFluidRegisterListener listener : additionalListeners) listener.onFluidsLoad();
|
||||
|
||||
//AND DON'T FORGET THE META DOWN HERE
|
||||
// V V V V V V V V
|
||||
|
||||
@ -601,6 +603,7 @@ public class Fluids {
|
||||
ACID = PEROXIDE;
|
||||
|
||||
for(FluidType custom : customFluids) metaOrder.add(custom);
|
||||
for(FluidType custom : foreignFluids) metaOrder.add(custom);
|
||||
|
||||
CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false)));
|
||||
PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_LUNG, false)));
|
||||
@ -670,7 +673,6 @@ public class Fluids {
|
||||
throw new IllegalStateException("A severe error has occoured during NTM's fluid registering process! The MetaOrder and Mappings are inconsistent! Mapping size: " + idMapping.size()+ " / MetaOrder size: " + metaOrder.size());
|
||||
}
|
||||
|
||||
|
||||
/// FINAL ///
|
||||
|
||||
long baseline = 100_000L; //we do not know
|
||||
@ -921,6 +923,7 @@ public class Fluids {
|
||||
}
|
||||
|
||||
for(IFluidRegisterListener listener : additionalListeners) listener.onFluidsLoad();
|
||||
for(FluidType custom : foreignFluids) metaOrder.add(custom);
|
||||
}
|
||||
private static void registerCalculatedFuel(FluidType type, double base, double combustMult, FuelGrade grade) {
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ public class GUIBatterySocket extends GuiInfoContainer {
|
||||
String[] desc = I18nUtil.resolveKeyArray("battery.priority." + lang + ".desc");
|
||||
for(String s : desc) priority.add(s);
|
||||
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 152, guiTop + 35, 16, 16, mouseX, mouseY, priority);
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 125, guiTop + 35, 16, 16, mouseX, mouseY, priority);
|
||||
}
|
||||
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
|
||||
@ -60,7 +60,7 @@ public class Mats {
|
||||
public static final NTMMaterial MAT_DIAMOND = makeNonSmeltable(1430, DIAMOND, 0xFFFFFF, 0x1B7B6B, 0x8CF4E2).setConversion(MAT_CARBON, 1, 1).setAutogen(FRAGMENT).n();
|
||||
public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0x353535, 0xFFA259).setAutogen(FRAGMENT, DUST, PIPE, CASTPLATE, WELDEDPLATE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xFFFF8B, 0xC26E00, 0xE8D754).setAutogen(FRAGMENT, WIRE, NUGGET, DUST, DENSEWIRE, CASTPLATE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xE3260C, 0x700E06, 0xFF1000).setAutogen(FRAGMENT).n();
|
||||
public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xE3260C, 0x700E06, 0xFF1000).setAutogen(FRAGMENT, INGOT).n();
|
||||
public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).n();
|
||||
public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0xDFB7AE, 0x5F372E, 0x6E463D).m();
|
||||
public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2602, df("WroughtIron"), 0xFAAB89).m();
|
||||
|
||||
@ -126,7 +126,6 @@ import net.minecraft.item.ItemStack;
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 2), new OreDictStack(TI.shell(), 3), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate(), 6), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_TAR.any(), 4), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(TI.shell(), 8) : new OreDictStack(TI.heavyComp(), 1), new OreDictStack(DURA.pipe(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 12), new ComparableStack(ModItems.turbine_tungsten, 1), new OreDictStack(GOLD.wireDense(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal()) }, 300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 10) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(GOLD.wireDense(), 12), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal())}, 600);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_element, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)},200);
|
||||
|
||||
@ -28,6 +28,7 @@ import com.hbm.items.ItemEnums.EnumSecretType;
|
||||
import com.hbm.items.ItemGenericPart.EnumPartType;
|
||||
import com.hbm.items.machine.ItemFluidIcon;
|
||||
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
|
||||
import com.hbm.items.machine.ItemBatterySC.EnumBatterySC;
|
||||
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
|
||||
import com.hbm.items.machine.ItemDrillbit.EnumDrillType;
|
||||
import com.hbm.items.machine.ItemPACoil.EnumCoilType;
|
||||
@ -424,7 +425,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
|
||||
this.register(new GenericRecipe("ass.fensusan").setup(1_200, 100).outputItems(new ItemStack(ModBlocks.machine_battery_redd, 1))
|
||||
.inputItems(new ComparableStack(ModItems.ingot_electronium, 64),
|
||||
new ComparableStack(ModItems.battery_pack, 16, EnumBatteryPack.BATTERY_QUANTUM),
|
||||
new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_QUANTUM),
|
||||
new OreDictStack(OSMIRIDIUM.plateWelded(), 64),
|
||||
new OreDictStack(OSMIRIDIUM.plateWelded(), 64),
|
||||
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 64),
|
||||
@ -436,7 +437,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
new ComparableStack(ModItems.ingot_cft, 64),
|
||||
new ComparableStack(ModItems.ingot_cft, 64))
|
||||
.inputItemsEx(new ComparableStack(ModItems.ingot_electronium, 64),
|
||||
new ComparableStack(ModItems.battery_pack, 16, EnumBatteryPack.BATTERY_QUANTUM),
|
||||
new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_QUANTUM),
|
||||
new ComparableStack(ModItems.item_expensive, 64, EnumExpensiveType.BRONZE_TUBES),
|
||||
new ComparableStack(ModItems.item_expensive, 64, EnumExpensiveType.FERRO_PLATING),
|
||||
new OreDictStack(OSMIRIDIUM.plateWelded(), 64),
|
||||
@ -456,12 +457,12 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
.inputItems(new OreDictStack(STEEL.plate(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16)));
|
||||
this.register(new GenericRecipe("ass.orbus").setup(300, 100).outputItems(new ItemStack(ModBlocks.machine_orbus, 1))
|
||||
.inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plateCast(), 4), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.FERRO_PLATING), new OreDictStack(BIGMT.plateCast(), 16), new ComparableStack(ModItems.coil_advanced_alloy, 24), new ComparableStack(ModItems.battery_sc_polonium, 1)));
|
||||
.inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plateCast(), 4), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc, 1, EnumBatterySC.PO210))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.FERRO_PLATING), new OreDictStack(BIGMT.plateCast(), 16), new ComparableStack(ModItems.coil_advanced_alloy, 24), new ComparableStack(ModItems.battery_sc, 1, EnumBatterySC.PO210)));
|
||||
|
||||
// accelerators
|
||||
this.register(new GenericRecipe("ass.cyclotron").setup(600, 100).outputItems(new ItemStack(ModBlocks.machine_cyclotron, 1))
|
||||
.inputItems(new ComparableStack(ModItems.battery_pack, 3, EnumBatteryPack.BATTERY_LITHIUM), new OreDictStack(ND.wireDense(), 32), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(STEEL.plate(), 32), new OreDictStack(AL.plate(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 24), new OreDictStack(RUBBER.ingot(), 24), new OreDictStack(CU.plateCast(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
|
||||
.inputItems(new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_LITHIUM), new OreDictStack(ND.wireDense(), 32), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(STEEL.plate(), 32), new OreDictStack(AL.plate(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 24), new OreDictStack(RUBBER.ingot(), 24), new OreDictStack(CU.plateCast(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC))
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.FERRO_PLATING), new OreDictStack(ND.wireDense(), 32), new OreDictStack(AL.plateWelded(), 16), new OreDictStack(RUBBER.ingot(), 32), new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.CIRCUIT)));
|
||||
this.register(new GenericRecipe("ass.beamline").setup(200, 100).outputItems(new ItemStack(ModBlocks.pa_beamline, 1))
|
||||
.inputItems(new OreDictStack(STEEL.plateCast(), 8), new OreDictStack(CU.plate(), 16), new OreDictStack(GOLD.wireDense(), 4))
|
||||
@ -872,7 +873,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
this.register(new GenericRecipe("ass.stealthmissile").setup(1_200, 100).outputItems(new ItemStack(ModItems.missile_stealth, 1))
|
||||
.inputItems(new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(STEEL.bolt(), 32)));
|
||||
this.register(new GenericRecipe("ass.shuttlemissile").setup(200, 100).outputItems(new ItemStack(ModItems.missile_shuttle, 1))
|
||||
.inputItems(new ComparableStack(ModItems.missile_generic, 2), new ComparableStack(ModItems.missile_strong, 1), new OreDictStack(KEY_ORANGE, 5), new ComparableStack(ModItems.canister_full, 24, Fluids.GASOLINE_LEADED.getID()), new OreDictStack(FIBER.ingot(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 8), new OreDictStack(KEY_ANYPANE, 6), new OreDictStack(STEEL.plate(), 4)));
|
||||
.inputItems(new ComparableStack(ModItems.missile_generic, 1), new ComparableStack(ModItems.missile_strong, 1), new OreDictStack(KEY_ORANGE, 5), new ComparableStack(ModItems.canister_full, 24, Fluids.GASOLINE_LEADED.getID()), new OreDictStack(FIBER.ingot(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 8), new OreDictStack(KEY_ANYPANE, 6), new OreDictStack(STEEL.plate(), 4)));
|
||||
this.register(new GenericRecipe("ass.launchpad").setup(200, 100).outputItems(new ItemStack(ModBlocks.launch_pad_large, 1))
|
||||
.inputItems(new OreDictStack(STEEL.plateCast(), 6), new OreDictStack(ANY_CONCRETE.any(), 64), new OreDictStack(ANY_PLASTIC.ingot(), 16), new ComparableStack(ModBlocks.steel_scaffold, 24), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED)));
|
||||
this.register(new GenericRecipe("ass.launchpadsilo").setup(200, 100).outputItems(new ItemStack(ModBlocks.launch_pad, 1))
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.inventory.FluidContainer;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
|
||||
import com.hbm.items.machine.ItemBatterySC.EnumBatterySC;
|
||||
import com.hbm.util.Tuple.Triplet;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
@ -52,14 +53,8 @@ public class MachineRecipes {
|
||||
fuels.add(new ItemStack(ModItems.fusion_core));
|
||||
fuels.add(new ItemStack(ModItems.energy_core));
|
||||
for(EnumBatteryPack num : EnumBatteryPack.values()) fuels.add(new ItemStack(ModItems.battery_pack, 1, num.ordinal()));
|
||||
for(EnumBatterySC num : EnumBatterySC.values()) fuels.add(new ItemStack(ModItems.battery_sc, 1, num.ordinal()));
|
||||
fuels.add(new ItemStack(ModItems.battery_creative));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_uranium));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_technetium));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_plutonium));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_polonium));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_gold));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_lead));
|
||||
fuels.add(new ItemStack(ModItems.battery_sc_americium));
|
||||
return fuels;
|
||||
}
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||
import com.hbm.items.ItemEnums.EnumChunkType;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.food.ItemFlask.EnumInfusion;
|
||||
import com.hbm.items.machine.ItemBatterySC.EnumBatterySC;
|
||||
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
|
||||
import com.hbm.util.Tuple.Pair;
|
||||
|
||||
@ -751,7 +752,7 @@ public class AnvilRecipes extends SerializableRecipe {
|
||||
new AnvilOutput(new ItemStack(ModItems.scrap, 1)),
|
||||
new AnvilOutput(new ItemStack(ModItems.coil_tungsten, 2)),
|
||||
new AnvilOutput(new ItemStack(Items.bread, 1), 0.5F),
|
||||
new AnvilOutput(new ItemStack(ModItems.battery_sc_uranium, 1), 0.1F),
|
||||
new AnvilOutput(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.RA226.ordinal()), 0.1F),
|
||||
new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.05F)
|
||||
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import java.util.Locale;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.inventory.FluidStack;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.recipes.loader.GenericRecipes.ChanceOutput;
|
||||
import com.hbm.inventory.recipes.loader.GenericRecipes.ChanceOutputMulti;
|
||||
import com.hbm.inventory.recipes.loader.GenericRecipes.IOutput;
|
||||
@ -73,12 +74,18 @@ public class GenericRecipe {
|
||||
public GenericRecipe setPools528(String... pools) { if(GeneralConfig.enable528) { this.blueprintPools = pools; for(String pool : pools) GenericRecipes.addToPool(pool, this); } return this; }
|
||||
public GenericRecipe setGroup(String autoSwitch, GenericRecipes set) { this.autoSwitchGroup = autoSwitch; set.addToGroup(autoSwitch, this); return this; }
|
||||
|
||||
public GenericRecipe inputItems(AStack... input) { this.inputItem = input; for(AStack stack : this.inputItem) if(stack.stacksize > 64) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
|
||||
public GenericRecipe inputItemsEx(AStack... input) { if(!GeneralConfig.enableExpensiveMode) return this; this.inputItem = input; for(AStack stack : this.inputItem) if(stack.stacksize > 64) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
|
||||
public GenericRecipe inputItems(AStack... input) { this.inputItem = input; for(AStack stack : this.inputItem) if(exceedsStackLimit(stack)) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
|
||||
public GenericRecipe inputItemsEx(AStack... input) { if(!GeneralConfig.enableExpensiveMode) return this; this.inputItem = input; for(AStack stack : this.inputItem) if(exceedsStackLimit(stack)) throw new IllegalArgumentException("AStack in " + this.name + " exceeds stack limit!"); return this; }
|
||||
public GenericRecipe inputFluids(FluidStack... input) { this.inputFluid = input; return this; }
|
||||
public GenericRecipe inputFluidsEx(FluidStack... input) { if(!GeneralConfig.enableExpensiveMode) return this; this.inputFluid = input; return this; }
|
||||
public GenericRecipe outputItems(IOutput... output) { this.outputItem = output; return this; }
|
||||
public GenericRecipe outputFluids(FluidStack... output) { this.outputFluid = output; return this; }
|
||||
|
||||
private boolean exceedsStackLimit(AStack stack) {
|
||||
if(stack instanceof ComparableStack && stack.stacksize > ((ComparableStack) stack).item.getItemStackLimit(((ComparableStack) stack).toStack())) return true;
|
||||
if(stack.stacksize > 64) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public GenericRecipe outputItems(ItemStack... output) {
|
||||
this.outputItem = new IOutput[output.length];
|
||||
|
||||
@ -1657,13 +1657,15 @@ public class ModItems {
|
||||
public static Item battery_spark;
|
||||
public static Item battery_trixite;
|
||||
|
||||
public static Item battery_sc_uranium;
|
||||
public static Item battery_sc_technetium;
|
||||
public static Item battery_sc_plutonium;
|
||||
public static Item battery_sc_polonium;
|
||||
public static Item battery_sc_gold;
|
||||
public static Item battery_sc_lead;
|
||||
public static Item battery_sc_americium;
|
||||
@Deprecated public static Item battery_sc_uranium;
|
||||
@Deprecated public static Item battery_sc_technetium;
|
||||
@Deprecated public static Item battery_sc_plutonium;
|
||||
@Deprecated public static Item battery_sc_polonium;
|
||||
@Deprecated public static Item battery_sc_gold;
|
||||
@Deprecated public static Item battery_sc_lead;
|
||||
@Deprecated public static Item battery_sc_americium;
|
||||
|
||||
public static Item battery_sc;
|
||||
|
||||
public static Item battery_potato;
|
||||
public static Item battery_potatos;
|
||||
@ -3899,13 +3901,14 @@ public class ModItems {
|
||||
battery_creative = new ItemBatteryCreative().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_creative_new");
|
||||
cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power");
|
||||
|
||||
battery_sc_uranium = new ItemSelfcharger(5).setUnlocalizedName("battery_sc_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_uranium");
|
||||
battery_sc_technetium = new ItemSelfcharger(25).setUnlocalizedName("battery_sc_technetium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_technetium");
|
||||
battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_plutonium");
|
||||
battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium");
|
||||
battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold");
|
||||
battery_sc_lead = new ItemSelfcharger(5000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead");
|
||||
battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium");
|
||||
battery_sc_uranium = new ItemSelfcharger(5).setUnlocalizedName("battery_sc_uranium").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_uranium");
|
||||
battery_sc_technetium = new ItemSelfcharger(25).setUnlocalizedName("battery_sc_technetium").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_technetium");
|
||||
battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_plutonium");
|
||||
battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_polonium");
|
||||
battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_gold");
|
||||
battery_sc_lead = new ItemSelfcharger(5000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_lead");
|
||||
battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":battery_sc_americium");
|
||||
battery_sc = new ItemBatterySC().setUnlocalizedName("battery_sc").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc");
|
||||
|
||||
battery_potato = new ItemBattery(1000, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato");
|
||||
battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos");
|
||||
@ -4206,7 +4209,7 @@ public class ModItems {
|
||||
|
||||
public static void initializeItem2() {
|
||||
|
||||
ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100);
|
||||
ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 1000);
|
||||
aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium;
|
||||
zirconium_legs = new ArmorFSB(aMatZirconium, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs");
|
||||
|
||||
@ -4268,7 +4271,7 @@ public class ModItems {
|
||||
dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs");
|
||||
dieselsuit_boots = new ArmorDiesel(aMatDiesel, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_boots");
|
||||
|
||||
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
|
||||
ajr_helmet = new ArmorAJR(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25)
|
||||
.enableVATS(true)
|
||||
@ -4310,7 +4313,7 @@ public class ModItems {
|
||||
rpa_legs = new ArmorRPA(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs");
|
||||
rpa_boots = new ArmorRPA(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_boots").setTextureName(RefStrings.MODID + ":rpa_boots");
|
||||
|
||||
ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar;
|
||||
bj_helmet = new ArmorBJ(aMatBJ, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100)
|
||||
.enableVATS(true)
|
||||
@ -4329,7 +4332,7 @@ public class ModItems {
|
||||
bj_legs = new ArmorBJ(aMatBJ, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs");
|
||||
bj_boots = new ArmorBJ(aMatBJ, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots");
|
||||
|
||||
ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 10);
|
||||
aMatEnv.customCraftingMaterial = ModItems.plate_armor_hev;
|
||||
envsuit_helmet = new ArmorEnvsuit(aMatEnv, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0)
|
||||
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1))
|
||||
@ -4340,7 +4343,7 @@ public class ModItems {
|
||||
envsuit_legs = new ArmorEnvsuit(aMatEnv, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_legs").setTextureName(RefStrings.MODID + ":envsuit_legs");
|
||||
envsuit_boots = new ArmorEnvsuit(aMatEnv, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_boots").setTextureName(RefStrings.MODID + ":envsuit_boots");
|
||||
|
||||
ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatHEV.customCraftingMaterial = ModItems.plate_armor_hev;
|
||||
hev_helmet = new ArmorHEV(aMatHEV, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0)
|
||||
.addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1))
|
||||
@ -4356,7 +4359,7 @@ public class ModItems {
|
||||
jackt = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt");
|
||||
jackt2 = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2");
|
||||
|
||||
ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatFau.customCraftingMaterial = ModItems.plate_armor_fau;
|
||||
fau_helmet = new ArmorDigamma(aMatFau, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0)
|
||||
.addEffect(new PotionEffect(Potion.jump.id, 20, 1))
|
||||
@ -4372,7 +4375,7 @@ public class ModItems {
|
||||
fau_legs = new ArmorDigamma(aMatFau, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).hides(EnumPlayerPart.LEFT_LEG, EnumPlayerPart.RIGHT_LEG).setFullSetForHide().setUnlocalizedName("fau_legs").setTextureName(RefStrings.MODID + ":fau_legs");
|
||||
fau_boots = new ArmorDigamma(aMatFau, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_boots").setTextureName(RefStrings.MODID + ":fau_boots");
|
||||
|
||||
ArmorMaterial aMatDNS = EnumHelper.addArmorMaterial("HBM_DNT_NANO", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatDNS = EnumHelper.addArmorMaterial("HBM_DNT_NANO", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatDNS.customCraftingMaterial = ModItems.plate_armor_dnt;
|
||||
dns_helmet = new ArmorDNT(aMatDNS, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115)
|
||||
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 9))
|
||||
@ -4391,7 +4394,7 @@ public class ModItems {
|
||||
dns_legs = new ArmorDNT(aMatDNS, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_legs").setTextureName(RefStrings.MODID + ":dns_legs");
|
||||
dns_boots = new ArmorDNT(aMatDNS, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_boots").setTextureName(RefStrings.MODID + ":dns_boots");
|
||||
|
||||
ArmorMaterial aMatTaurun = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatTaurun = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 10);
|
||||
aMatTaurun.customCraftingMaterial = ModItems.plate_iron;
|
||||
taurun_helmet = new ArmorTaurun(aMatTaurun, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png")
|
||||
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0))
|
||||
@ -4401,7 +4404,7 @@ public class ModItems {
|
||||
taurun_plate = new ArmorTaurun(aMatTaurun, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_plate").setTextureName(RefStrings.MODID + ":taurun_plate");
|
||||
taurun_legs = new ArmorTaurun(aMatTaurun, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_legs").setTextureName(RefStrings.MODID + ":taurun_legs");
|
||||
taurun_boots = new ArmorTaurun(aMatTaurun, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_boots").setTextureName(RefStrings.MODID + ":taurun_boots");
|
||||
ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100);
|
||||
ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 0);
|
||||
aMatTrench.customCraftingMaterial = ModItems.plate_iron;
|
||||
trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png")
|
||||
.addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2))
|
||||
@ -5704,6 +5707,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerItem(battery_pack, battery_pack.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_sc, battery_sc.getUnlocalizedName());
|
||||
GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName());
|
||||
GameRegistry.registerItem(cube_power, cube_power.getUnlocalizedName());
|
||||
|
||||
|
||||
@ -164,12 +164,9 @@ public class ItemBlockStorageCrate extends ItemBlockBase implements IGUIProvider
|
||||
stack.writeToNBT(slot);
|
||||
nbt.setTag("slot" + i, slot);
|
||||
}
|
||||
|
||||
if(nbt.hasNoTags()) {
|
||||
nbt = null;
|
||||
} else {
|
||||
nbt.setLong("stacklock", rand.nextLong()); // add shit that prevents crates from stacking
|
||||
}
|
||||
|
||||
// never, ever fucking ever remove the tag compound here, lack of tack compound makes the crate stackable
|
||||
nbt.setLong("stacklock", rand.nextLong()); // add shit that prevents crates from stacking
|
||||
|
||||
target.setTagCompound(nbt);
|
||||
}
|
||||
@ -181,6 +178,16 @@ public class ItemBlockStorageCrate extends ItemBlockBase implements IGUIProvider
|
||||
// Check for 6kb item vomit
|
||||
target.setTagCompound(checkNBT(target.getTagCompound()));
|
||||
player.inventoryContainer.detectAndSendChanges();
|
||||
|
||||
if(target.stackTagCompound != null) {
|
||||
target.stackTagCompound.removeTag("stacklock");
|
||||
|
||||
if(target.stackTagCompound.hasNoTags()) {
|
||||
target.setTagCompound(null); // if there's no tags left, clear compound to make the crate stackable again
|
||||
} else {
|
||||
target.stackTagCompound.setLong("stacklock", rand.nextLong()); // add shit that prevents crates from stacking
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
62
src/main/java/com/hbm/items/machine/ItemBatterySC.java
Normal file
@ -0,0 +1,62 @@
|
||||
package com.hbm.items.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import api.hbm.energymk2.IBatteryItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class ItemBatterySC extends ItemEnumMulti implements IBatteryItem {
|
||||
|
||||
public ItemBatterySC() {
|
||||
super(EnumBatterySC.class, true, true);
|
||||
this.setMaxStackSize(1);
|
||||
this.setCreativeTab(MainRegistry.controlTab);
|
||||
}
|
||||
|
||||
public static enum EnumBatterySC {
|
||||
|
||||
EMPTY( 0),
|
||||
WASTE( 150),
|
||||
RA226( 200),
|
||||
TC99( 500),
|
||||
CO60( 750),
|
||||
PU238( 1_000),
|
||||
PO210( 1_250),
|
||||
AU198( 1_500),
|
||||
PB209( 2_000),
|
||||
AM241( 2_500);
|
||||
|
||||
public long power;
|
||||
|
||||
private EnumBatterySC(long power) {
|
||||
this.power = power;
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void chargeBattery(ItemStack stack, long i) { }
|
||||
@Override public void setCharge(ItemStack stack, long i) { }
|
||||
@Override public void dischargeBattery(ItemStack stack, long i) { }
|
||||
@Override public long getChargeRate(ItemStack stack) { return 0; }
|
||||
|
||||
@Override public long getCharge(ItemStack stack) { return getMaxCharge(stack); }
|
||||
@Override public long getDischargeRate(ItemStack stack) { return getMaxCharge(stack); }
|
||||
|
||||
@Override
|
||||
public long getMaxCharge(ItemStack stack) {
|
||||
EnumBatterySC pack = EnumUtil.grabEnumSafely(EnumBatterySC.class, stack.getItemDamage());
|
||||
return pack.power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
EnumBatterySC pack = EnumUtil.grabEnumSafely(EnumBatterySC.class, stack.getItemDamage());
|
||||
if(pack.power > 0) list.add(EnumChatFormatting.YELLOW + "Discharge rate: " + BobMathUtil.getShortNumber(pack.power) + "HE/t");
|
||||
}
|
||||
}
|
||||
@ -31,6 +31,7 @@ import com.hbm.items.food.ItemConserve.EnumFoodType;
|
||||
import com.hbm.items.machine.ItemArcElectrode.EnumElectrodeType;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
|
||||
import com.hbm.items.machine.ItemBatterySC.EnumBatterySC;
|
||||
import com.hbm.items.machine.ItemCircuit.EnumCircuitType;
|
||||
import com.hbm.items.machine.ItemFluidIDMulti;
|
||||
import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType;
|
||||
@ -271,6 +272,17 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_REDSTONE.ordinal()), new Object[] { "IRI", "PRP", "IRI", 'I', IRON.plate(), 'R', REDSTONE.block(), 'P', ModItems.plate_polymer });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_pack, 1, EnumBatteryPack.CAPACITOR_COPPER.ordinal()), new Object[] { "IRI", "PRP", "IRI", 'I', STEEL.plate(), 'R', CU.block(), 'P', ModItems.plate_polymer });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.EMPTY.ordinal()), new Object[] { "PGP", "L L", "PGP", 'P', ANY_PLASTIC.ingot(), 'G', GOLD.wireFine(), 'L', PB.plate() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.WASTE.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), ModItems.billet_nuclear_waste, ModItems.billet_nuclear_waste });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.RA226.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), RA226.billet(), RA226.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.TC99.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), TC99.billet(), TC99.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.CO60.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), CO60.billet(), CO60.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.PU238.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), PU238.billet(), PU238.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.PO210.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), PO210.billet(), PO210.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.AU198.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), AU198.billet(), AU198.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.PB209.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), PB209.billet(), PB209.billet() });
|
||||
addShapelessAuto(new ItemStack(ModItems.battery_sc, 1, EnumBatterySC.AM241.ordinal()), new Object[] { DictFrame.fromOne(ModItems.battery_sc, EnumBatterySC.EMPTY), AM241.billet(), AM241.billet() });
|
||||
|
||||
GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.crate_desh, 1), new Object[] { " D ", "DSD", " D ", 'D', ModItems.plate_desh, 'S', ModBlocks.crate_steel }));
|
||||
GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', CU.plateCast(), 'C', ModBlocks.crate_steel }));
|
||||
// Note: voids the last few slots when placed, because a safe's inventory is smaller than a crate's one
|
||||
@ -535,14 +547,6 @@ public class CraftingManager {
|
||||
addShapelessAuto(ItemBattery.getFullBattery(ModItems.battery_potato), new Object[] { Items.potato, AL.wireFine(), CU.wireFine() });
|
||||
addShapelessAuto(ItemBattery.getFullBattery(ModItems.battery_potatos), new Object[] { ItemBattery.getFullBattery(ModItems.battery_potato), ModItems.turret_chip, REDSTONE.dust() });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_uranium), new Object[] { "NBN", "PCP", "NBN", 'N', GOLD.nugget(), 'B', U238.billet(), 'P', PB.plate(), 'C', ModItems.thermo_element });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_technetium), new Object[] { "NBN", "PCP", "NBN", 'N', GOLD.nugget(), 'B', TC99.billet(), 'P', PB.plate(), 'C', ModItems.battery_sc_uranium });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_plutonium), new Object[] { "NBN", "PCP", "NBN", 'N', TC99.nugget(), 'B', PU238.billet(), 'P', PB.plate(), 'C', ModItems.battery_sc_technetium });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_polonium), new Object[] { "NBN", "PCP", "NBN", 'N', TC99.nugget(), 'B', PO210.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_plutonium });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_gold), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AU198.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_polonium });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_lead), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', PB209.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_gold });
|
||||
addRecipeAuto(new ItemStack(ModItems.battery_sc_americium), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AM241.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_lead });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', STEEL.bolt(), 'K', Fluids.KEROSENE.getDict(1000) });
|
||||
@ -738,7 +742,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "I I", "IPI", 'I', STEEL.plate(), 'P', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_tcalloy, 1), new Object[] { "IPI", "I I", "IPI", 'I', "ingotTcAlloy", 'P', TI.plate() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "I I", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'P', ANY_PLASTIC.ingot(), 'T', ModBlocks.machine_transformer, 'W', KEY_PLANKS });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'B', ANY_RESISTANTALLOY.plateCast(), 'H', ModBlocks.watz_cooler });
|
||||
addShapelessAuto(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse });
|
||||
|
||||
@ -1469,6 +1469,8 @@ public class MainRegistry {
|
||||
ignoreMappings.add("hbm:tile.fusion_conductor");
|
||||
ignoreMappings.add("hbm:tile.fusion_center");
|
||||
ignoreMappings.add("hbm:tile.fusion_motor");
|
||||
ignoreMappings.add("hbm:tile.machine_spp_bottom");
|
||||
ignoreMappings.add("hbm:tile.machine_spp_top");
|
||||
|
||||
/// REMAP ///
|
||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||
|
||||
@ -741,6 +741,7 @@ public class ResourceManager {
|
||||
|
||||
//FENSU
|
||||
public static final ResourceLocation battery_socket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/battery_socket.png");
|
||||
public static final ResourceLocation battery_sc_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/battery_sc.png");
|
||||
public static final ResourceLocation battery_redd_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fensu2.png");
|
||||
public static final ResourceLocation fensu_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fensu.png");
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ public class ModuleMachineFusion extends ModuleMachineBase {
|
||||
// fusion reactor is the only machine as of now that consumes input while not having finished the output
|
||||
if(recipe.inputFluid != null) {
|
||||
for(int i = 0; i < Math.min(recipe.inputFluid.length, inputTanks.length); i++) {
|
||||
inputTanks[i].setFill(inputTanks[i].getFill() - (int) Math.ceil(recipe.inputFluid[i].fill * processSpeed));
|
||||
inputTanks[i].setFill(Math.max(inputTanks[i].getFill() - (int) Math.ceil(recipe.inputFluid[i].fill * processSpeed), 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -58,6 +58,7 @@ public class BusAnimationKeyframe {
|
||||
public double value;
|
||||
public IType interpolationType;
|
||||
public EType easingType;
|
||||
public int originalDuration;
|
||||
public int duration;
|
||||
|
||||
// bezier handles
|
||||
@ -78,7 +79,7 @@ public class BusAnimationKeyframe {
|
||||
// this one can be used for "reset" type keyframes
|
||||
public BusAnimationKeyframe() {
|
||||
this.value = 0;
|
||||
this.duration = 1;
|
||||
this.originalDuration = this.duration = 1;
|
||||
this.interpolationType = IType.LINEAR;
|
||||
this.easingType = EType.AUTO;
|
||||
}
|
||||
@ -86,7 +87,7 @@ public class BusAnimationKeyframe {
|
||||
public BusAnimationKeyframe(double value, int duration) {
|
||||
this();
|
||||
this.value = value;
|
||||
this.duration = (int) (duration / Math.max(0.001D, ClientConfig.GUN_ANIMATION_SPEED.get()));
|
||||
this.originalDuration = this.duration = (int) (duration / Math.max(0.001D, ClientConfig.GUN_ANIMATION_SPEED.get()));
|
||||
}
|
||||
|
||||
public BusAnimationKeyframe(double value, int duration, IType interpolation) {
|
||||
|
||||
@ -90,7 +90,9 @@ public class BusAnimationSequence {
|
||||
|
||||
for(Dimension dim : Dimension.values()) {
|
||||
List<BusAnimationKeyframe> keyframes = transformKeyframes.get(dim.ordinal());
|
||||
for(BusAnimationKeyframe keyframe : keyframes) keyframe.duration *= mult;
|
||||
for(BusAnimationKeyframe keyframe : keyframes) {
|
||||
keyframe.duration = (int) (keyframe.originalDuration * mult);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -1,21 +1,34 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBatteryPack.EnumBatteryPack;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.render.util.BeamPronter;
|
||||
import com.hbm.render.util.HorsePronter;
|
||||
import com.hbm.render.util.BeamPronter.EnumBeamType;
|
||||
import com.hbm.render.util.BeamPronter.EnumWaveType;
|
||||
import com.hbm.tileentity.machine.storage.TileEntityBatterySocket;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderBatterySocket extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
private static ResourceLocation blorbo = new ResourceLocation(RefStrings.MODID, "textures/models/horse/sunburst.png");
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
GL11.glPushMatrix();
|
||||
@ -38,10 +51,37 @@ public class RenderBatterySocket extends TileEntitySpecialRenderer implements II
|
||||
bindTexture(ResourceManager.battery_socket_tex);
|
||||
ResourceManager.battery_socket.renderPart("Socket");
|
||||
|
||||
if(socket.renderPack >= 0) {
|
||||
EnumBatteryPack pack = EnumUtil.grabEnumSafely(EnumBatteryPack.class, socket.renderPack);
|
||||
bindTexture(pack.texture);
|
||||
ResourceManager.battery_socket.renderPart(pack.isCapacitor() ? "Capacitor" : "Battery");
|
||||
ItemStack render = socket.syncStack;
|
||||
if(render != null) {
|
||||
|
||||
if(render.getItem() == ModItems.battery_pack) {
|
||||
EnumBatteryPack pack = EnumUtil.grabEnumSafely(EnumBatteryPack.class, render.getItemDamage());
|
||||
bindTexture(pack.texture);
|
||||
ResourceManager.battery_socket.renderPart(pack.isCapacitor() ? "Capacitor" : "Battery");
|
||||
} else if(render.getItem() == ModItems.battery_sc) {
|
||||
bindTexture(ResourceManager.battery_sc_tex);
|
||||
ResourceManager.battery_socket.renderPart("Battery");
|
||||
} else if(render.getItem() == ModItems.battery_creative) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScaled(0.75, 0.75, 0.75);
|
||||
GL11.glRotated((socket.getWorldObj().getTotalWorldTime() % 360 + interp) * 25D, 0, -1, 0);
|
||||
this.bindTexture(blorbo);
|
||||
HorsePronter.reset();
|
||||
HorsePronter.enableHorn();
|
||||
HorsePronter.pront();
|
||||
GL11.glPopMatrix();
|
||||
|
||||
Random rand = new Random(tile.getWorldObj().getTotalWorldTime() / 5);
|
||||
rand.nextBoolean();
|
||||
|
||||
for(int i = -1; i <= 1; i += 2) for(int j = -1; j <= 1; j += 2) if(rand.nextInt(4) == 0) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 0.75, 0);
|
||||
BeamPronter.prontBeam(Vec3.createVectorHelper(0.4375 * i, 1.1875, 0.4375 * j), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x002040, (int)(System.currentTimeMillis() % 1000) / 50, 15, 0.0625F, 3, 0.025F);
|
||||
BeamPronter.prontBeam(Vec3.createVectorHelper(0.4375 * i, 1.1875, 0.4375 * j), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x002040, (int)(System.currentTimeMillis() % 1000) / 50, 1, 0, 3, 0.025F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
@ -6,81 +6,30 @@ import org.lwjgl.BufferUtils;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.util.HorsePronter;
|
||||
import com.hbm.wiaj.WorldInAJar;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RendererObjTester extends TileEntitySpecialRenderer {
|
||||
|
||||
private static RenderBlocks renderer;
|
||||
private static WorldInAJar world;
|
||||
private static ResourceLocation extra = new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png");
|
||||
private static ResourceLocation extra = new ResourceLocation(RefStrings.MODID, "textures/models/horse/sunburst.png");
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5, y + 1, z + 0.5);
|
||||
GL11.glTranslated(x + 0.5, y, z + 0.5);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
if(world == null) {
|
||||
world = new WorldInAJar(5, 3, 5);
|
||||
for(int i = 0; i < 25; i++) world.setBlock(i / 5, 1, i % 5, Blocks.brick_block, 0);
|
||||
for(int i = 0; i < 9; i++) world.setBlock(1 + i / 3, 0, 1 + i % 3, Blocks.brick_block, 0);
|
||||
}
|
||||
|
||||
if(renderer == null) {
|
||||
renderer = new RenderBlocks(world);
|
||||
}
|
||||
renderer.enableAO = true;
|
||||
world.lightlevel = tileEntity.getWorldObj().getLightBrightnessForSkyBlocks(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, 0);
|
||||
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotated(15, 0, 0, 1);
|
||||
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
|
||||
GL11.glTranslated(-2.5, 0, -2.5);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
Tessellator.instance.startDrawingQuads();
|
||||
|
||||
for(int ix = 0; ix < world.sizeX; ix++) {
|
||||
for(int iy = 0; iy < world.sizeY; iy++) {
|
||||
for(int iz = 0; iz < world.sizeZ; iz++) {
|
||||
try { renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz); } catch(Exception ex) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Tessellator.instance.draw();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
|
||||
GL11.glRotated(15, 0, 0, 1);
|
||||
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
|
||||
|
||||
GL11.glTranslated(0, 2.1, 0.5);
|
||||
|
||||
this.bindTexture(extra);
|
||||
HorsePronter.reset();
|
||||
double r = 60;
|
||||
/*double r = 60;
|
||||
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
|
||||
HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90);
|
||||
HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35);
|
||||
@ -88,20 +37,10 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
|
||||
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5);
|
||||
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
|
||||
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
|
||||
HorsePronter.enableWings();*/
|
||||
HorsePronter.enableHorn();
|
||||
HorsePronter.enableWings();
|
||||
HorsePronter.pront();
|
||||
|
||||
ItemStack stack = new ItemStack(ModItems.cigarette);
|
||||
double scale = 0.25;
|
||||
GL11.glTranslated(0.02, 1.13, -0.42);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(90, 0, -1, 0);
|
||||
GL11.glRotated(60, 0, 0, -1);
|
||||
bindTexture(TextureMap.locationItemsTexture);
|
||||
IIcon icon = stack.getIconIndex();
|
||||
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
@ -123,7 +123,6 @@ public class TileMappings {
|
||||
put(TileEntityMachinePress.class, "tileentity_press");
|
||||
put(TileEntityMachineAmmoPress.class, "tileentity_ammo_press");
|
||||
put(TileEntityMachineSiren.class, "tileentity_siren");
|
||||
put(TileEntityMachineSPP.class, "tileentity_spp");
|
||||
put(TileEntityMachineRadGen.class, "tileentity_radgen");
|
||||
put(TileEntityMachineRadarNT.class, "tileentity_radar");
|
||||
put(TileEntityMachineRadarLarge.class, "tileentity_radar_large");
|
||||
|
||||
@ -8,7 +8,6 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import api.hbm.energymk2.IBatteryItem;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
@ -104,17 +103,8 @@ public class TileEntityNukeBalefire extends TileEntityMachineBase implements IGU
|
||||
}
|
||||
|
||||
public int getBattery() {
|
||||
|
||||
if(slots[1] != null && slots[1].getItem() == ModItems.battery_spark &&
|
||||
((IBatteryItem)ModItems.battery_spark).getCharge(slots[1]) == ((IBatteryItem)ModItems.battery_spark).getMaxCharge(slots[1])) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(slots[1] != null && slots[1].getItem() == ModItems.battery_trixite &&
|
||||
((IBatteryItem)ModItems.battery_trixite).getCharge(slots[1]) == ((IBatteryItem)ModItems.battery_trixite).getMaxCharge(slots[1])) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if(slots[1] != null && slots[1].getItem() == ModItems.battery_spark) return 1;
|
||||
if(slots[1] != null && slots[1].getItem() == ModItems.battery_trixite) return 2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1,97 +0,0 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
import com.hbm.util.CompatEnergyControl;
|
||||
|
||||
import api.hbm.energymk2.IEnergyProviderMK2;
|
||||
import api.hbm.tile.IInfoProviderEC;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnergyProviderMK2, IInfoProviderEC {
|
||||
|
||||
public long power;
|
||||
public static final long maxPower = 100000;
|
||||
public int age = 0;
|
||||
public int gen = 0;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.tryProvide(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X);
|
||||
this.tryProvide(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X);
|
||||
this.tryProvide(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z);
|
||||
this.tryProvide(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z);
|
||||
this.tryProvide(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y);
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0)
|
||||
gen = checkStructure() * 15;
|
||||
|
||||
if(gen > 0)
|
||||
power += gen;
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int checkStructure() {
|
||||
|
||||
int h = 0;
|
||||
|
||||
for(int i = yCoord + 1; i < 254; i++)
|
||||
if(worldObj.getBlock(xCoord, i, zCoord) == ModBlocks.machine_spp_top) {
|
||||
h = i;
|
||||
break;
|
||||
}
|
||||
|
||||
for(int i = yCoord + 1; i < h; i++)
|
||||
if(!checkSegment(i))
|
||||
return 0;
|
||||
|
||||
|
||||
return h - yCoord - 1;
|
||||
}
|
||||
|
||||
public boolean checkSegment(int y) {
|
||||
|
||||
// BBB
|
||||
// BAB
|
||||
// BBB
|
||||
|
||||
return (worldObj.getBlock(xCoord + 1, y, zCoord) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord + 1, y, zCoord + 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord + 1, y, zCoord - 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord - 1, y, zCoord + 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord - 1, y, zCoord) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord - 1, y, zCoord - 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord, y, zCoord + 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord, y, zCoord - 1) != Blocks.air &&
|
||||
worldObj.getBlock(xCoord, y, zCoord) == Blocks.air);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPower() {
|
||||
return this.power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPower(long i) {
|
||||
this.power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return this.maxPower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideExtraInfo(NBTTagCompound data) {
|
||||
data.setBoolean(CompatEnergyControl.B_ACTIVE, this.gen > 0);
|
||||
data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.gen);
|
||||
}
|
||||
}
|
||||
@ -5,6 +5,7 @@ import com.hbm.interfaces.IControlReceiver;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.uninos.UniNodespace;
|
||||
import com.hbm.util.Compat;
|
||||
import com.hbm.util.EnumUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
@ -26,6 +27,7 @@ import li.cil.oc.api.network.SimpleComponent;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
|
||||
@ -74,7 +76,13 @@ public abstract class TileEntityBatteryBase extends TileEntityMachineBase implem
|
||||
}
|
||||
|
||||
byte comp = this.getComparatorPower();
|
||||
if(comp != this.lastRedstone) this.markDirty();
|
||||
if(comp != this.lastRedstone) {
|
||||
System.out.println(comp);
|
||||
for(BlockPos port : this.getPortPos()) {
|
||||
TileEntity tile = Compat.getTileStandard(worldObj, port.getX(), port.getY(), port.getZ());
|
||||
if(tile != null) tile.markDirty();
|
||||
}
|
||||
}
|
||||
this.lastRedstone = comp;
|
||||
|
||||
prevPowerState = this.getPower();
|
||||
@ -84,8 +92,8 @@ public abstract class TileEntityBatteryBase extends TileEntityMachineBase implem
|
||||
}
|
||||
|
||||
public byte getComparatorPower() {
|
||||
double frac = (double) this.getPower() / (double) this.getMaxPower() * 15D;
|
||||
return (byte) (MathHelper.clamp_int((int) frac + 1, 0, 15)); //to combat eventual rounding errors with the FEnSU's stupid maxPower
|
||||
double frac = (double) this.getPower() / (double) Math.max(this.getMaxPower(), 1) * 15D;
|
||||
return (byte) (MathHelper.clamp_int((int) Math.round(frac), 0, 15)); //to combat eventual rounding errors with the FEnSU's stupid maxPower
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.inventory.gui.GUIBatteryREDD;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
@ -22,7 +23,7 @@ import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityBatteryREDD extends TileEntityBatteryBase {
|
||||
public class TileEntityBatteryREDD extends TileEntityBatteryBase implements IPersistentNBT {
|
||||
|
||||
public float prevRotation = 0F;
|
||||
public float rotation = 0F;
|
||||
@ -155,7 +156,6 @@ public class TileEntityBatteryREDD extends TileEntityBatteryBase {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
nbt.setByteArray("power", this.power.toByteArray());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -261,5 +261,20 @@ public class TileEntityBatteryREDD extends TileEntityBatteryBase {
|
||||
case "getInfo": return getInfo(context, args);
|
||||
}
|
||||
throw new NoSuchMethodException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeNBT(NBTTagCompound nbt) {
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setByteArray("power", this.power.toByteArray());
|
||||
data.setBoolean("muffled", muffled);
|
||||
nbt.setTag(NBT_PERSISTENT_KEY, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readNBT(NBTTagCompound nbt) {
|
||||
NBTTagCompound data = nbt.getCompoundTag(NBT_PERSISTENT_KEY);
|
||||
this.power = new BigInteger(data.getByteArray("power"));
|
||||
this.muffled = data.getBoolean("muffled");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ package com.hbm.tileentity.machine.storage;
|
||||
|
||||
import com.hbm.inventory.container.ContainerBatterySocket;
|
||||
import com.hbm.inventory.gui.GUIBatterySocket;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.util.BufferUtil;
|
||||
import com.hbm.util.CompatEnergyControl;
|
||||
import com.hbm.util.EnumUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
@ -29,9 +29,9 @@ public class TileEntityBatterySocket extends TileEntityBatteryBase implements IR
|
||||
|
||||
public long[] log = new long[20];
|
||||
public long delta = 0;
|
||||
|
||||
public int renderPack = -1;
|
||||
|
||||
|
||||
public ItemStack syncStack;
|
||||
|
||||
public TileEntityBatterySocket() {
|
||||
super(1);
|
||||
}
|
||||
@ -60,20 +60,15 @@ public class TileEntityBatterySocket extends TileEntityBatteryBase implements IR
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
super.serialize(buf);
|
||||
|
||||
int renderPack = -1;
|
||||
if(slots[0] != null && slots[0].getItem() == ModItems.battery_pack) {
|
||||
renderPack = slots[0].getItemDamage();
|
||||
}
|
||||
buf.writeInt(renderPack);
|
||||
buf.writeLong(delta);
|
||||
BufferUtil.writeItemStack(buf, this.slots[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
super.deserialize(buf);
|
||||
renderPack = buf.readInt();
|
||||
delta = buf.readLong();
|
||||
this.syncStack = BufferUtil.readItemStack(buf);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -87,22 +82,23 @@ public class TileEntityBatterySocket extends TileEntityBatteryBase implements IR
|
||||
|
||||
@Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] {0}; }
|
||||
|
||||
@Override
|
||||
public long getPower() {
|
||||
if(slots[0] == null || !(slots[0].getItem() instanceof IBatteryItem)) return 0;
|
||||
return ((IBatteryItem) slots[0].getItem()).getCharge(slots[0]);
|
||||
}
|
||||
|
||||
@Override public long getPower() { return powerFromStack(slots[0]); }
|
||||
@Override public long getMaxPower() { return maxPowerFromStack(slots[0]); }
|
||||
|
||||
@Override
|
||||
public void setPower(long power) {
|
||||
if(slots[0] == null || !(slots[0].getItem() instanceof IBatteryItem)) return;
|
||||
((IBatteryItem) slots[0].getItem()).setCharge(slots[0], power);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
if(slots[0] == null || !(slots[0].getItem() instanceof IBatteryItem)) return 0;
|
||||
return ((IBatteryItem) slots[0].getItem()).getMaxCharge(slots[0]);
|
||||
|
||||
public static long powerFromStack(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof IBatteryItem)) return 0;
|
||||
return ((IBatteryItem) stack.getItem()).getCharge(stack);
|
||||
}
|
||||
|
||||
public static long maxPowerFromStack(ItemStack stack) {
|
||||
if(stack == null || !(stack.getItem() instanceof IBatteryItem)) return 0;
|
||||
return ((IBatteryItem) stack.getItem()).getMaxCharge(stack);
|
||||
}
|
||||
|
||||
@Override public long getProviderSpeed() {
|
||||
|
||||
@ -184,10 +184,7 @@ public class BobMathUtil {
|
||||
* @param amount
|
||||
* @return the number as a string with thousand group commas
|
||||
*/
|
||||
public static String format(int amount) {
|
||||
return String.format(Locale.US, "%,d", amount);
|
||||
}
|
||||
public static String format(long amount) {
|
||||
public static String format(Number amount) {
|
||||
return String.format(Locale.US, "%,d", amount);
|
||||
}
|
||||
|
||||
|
||||
@ -1308,16 +1308,16 @@ item.ballistite.name=Ballistit
|
||||
item.bandaid.name=Samtenes Pflaster
|
||||
item.bathwater.name=Toxisches Seifenwasser
|
||||
item.bathwater_mk2.name=Toxisches Seifenwasser (Pferdearoma)
|
||||
item.battery_advanced.name=Fortgeschrittene Batterie
|
||||
item.battery_advanced_cell.name=Fortgeschrittene Energiezelle
|
||||
item.battery_advanced_cell_12.name=Zwölffache fortgeschrittene Energiezelle
|
||||
item.battery_advanced_cell_4.name=Vierfache fortgeschrittene Energiezelle
|
||||
item.battery_advanced.name=Fortgeschrittene Batterie (LEGACY)
|
||||
item.battery_advanced_cell.name=Fortgeschrittene Energiezelle (LEGACY)
|
||||
item.battery_advanced_cell_12.name=Zwölffache fortgeschrittene Energiezelle (LEGACY)
|
||||
item.battery_advanced_cell_4.name=Vierfache fortgeschrittene Energiezelle (LEGACY)
|
||||
item.battery_creative.name=Unendliche Batterie
|
||||
item.battery_generic.name=Batterie
|
||||
item.battery_lithium.name=Lithium-Ionen-Batterie
|
||||
item.battery_lithium_cell.name=Lithium-Ionen-Energiezelle
|
||||
item.battery_lithium_cell_3.name=Dreifache Lithium-Ionen-Energiezelle
|
||||
item.battery_lithium_cell_6.name=Sechsfache Lithium-Ionen-Energiezelle
|
||||
item.battery_generic.name=Batterie (LEGACY)
|
||||
item.battery_lithium.name=Lithium-Ionen-Batterie (LEGACY)
|
||||
item.battery_lithium_cell.name=Lithium-Ionen-Energiezelle (LEGACY)
|
||||
item.battery_lithium_cell_3.name=Dreifache Lithium-Ionen-Energiezelle (LEGACY)
|
||||
item.battery_lithium_cell_6.name=Sechsfache Lithium-Ionen-Energiezelle (LEGACY)
|
||||
item.battery_pack.battery_lead.name=Bleisäure-Akku
|
||||
item.battery_pack.battery_lithium.name=Lithium-Ionen-Akku
|
||||
item.battery_pack.battery_quantum.name=Quantenakku
|
||||
@ -1332,33 +1332,41 @@ item.battery_pack.capacitor_spark.name=Spark-Kondensator
|
||||
item.battery_pack.capacitor_tantalum.name=Tantalkondensator
|
||||
item.battery_potato.name=Katoffelbatterie
|
||||
item.battery_potatos.name=PotatOS
|
||||
item.battery_red_cell.name=Redstone-Energiezelle
|
||||
item.battery_red_cell_24.name=24-fache Redstone-Energiezelle
|
||||
item.battery_red_cell_6.name=Sechsfache Redstone-Energiezelle
|
||||
item.battery_sc_americium.name=Americium-241-Selbstlader
|
||||
item.battery_sc_gold.name=Gold-198-Selbstlader
|
||||
item.battery_sc_lead.name=Blei-209-Selbstlader
|
||||
item.battery_sc_plutonium.name=Plutonium-238-Selbstlader
|
||||
item.battery_sc_polonium.name=Polonium-210-Selbstlader
|
||||
item.battery_sc_technetium.name=Technerium-99-Selbstlader
|
||||
item.battery_sc_uranium.name=Uran-238-Selbstlader
|
||||
item.battery_schrabidium.name=Schrabidiumbatterie
|
||||
item.battery_schrabidium_cell.name=Schrabidium-Energiezelle
|
||||
item.battery_schrabidium_cell_2.name=Doppelte Schrabidium-Energiezelle
|
||||
item.battery_schrabidium_cell_4.name=Vierfache Schrabidium-Energiezelle
|
||||
item.battery_red_cell.name=Redstone-Energiezelle (LEGACY)
|
||||
item.battery_red_cell_24.name=24-fache Redstone-Energiezelle (LEGACY)
|
||||
item.battery_red_cell_6.name=Sechsfache Redstone-Energiezelle (LEGACY)
|
||||
item.battery_sc.am241.name=Americium-241-Selbstlader
|
||||
item.battery_sc.au198.name=Gold-198-Selbstlader
|
||||
item.battery_sc.co60.name=Kobalt-60-Selbstlader
|
||||
item.battery_sc.empty.name=Leerer Selbstlader
|
||||
item.battery_sc.pb209.name=Blei-209-Selbstlader
|
||||
item.battery_sc.po210.name=Polonium-210-Selbstlader
|
||||
item.battery_sc.pu238.name=Plutonium-238-Selbstlader
|
||||
item.battery_sc.ra226.name=Radium-226-Selbstlader
|
||||
item.battery_sc.tc99.name=Technetium-99-Selbstlader
|
||||
item.battery_sc.waste.name=Atommüll-Selbstlader
|
||||
item.battery_sc_americium.name=Americium-241-Selbstlader (LEGACY)
|
||||
item.battery_sc_gold.name=Gold-198-Selbstlader (LEGACY)
|
||||
item.battery_sc_lead.name=Blei-209-Selbstlader (LEGACY)
|
||||
item.battery_sc_plutonium.name=Plutonium-238-Selbstlader (LEGACY)
|
||||
item.battery_sc_polonium.name=Polonium-210-Selbstlader (LEGACY)
|
||||
item.battery_sc_technetium.name=Technerium-99-Selbstlader (LEGACY)
|
||||
item.battery_sc_uranium.name=Uran-238-Selbstlader (LEGACY)
|
||||
item.battery_schrabidium.name=Schrabidiumbatterie (LEGACY)
|
||||
item.battery_schrabidium_cell.name=Schrabidium-Energiezelle (LEGACY)
|
||||
item.battery_schrabidium_cell_2.name=Doppelte Schrabidium-Energiezelle (LEGACY)
|
||||
item.battery_schrabidium_cell_4.name=Vierfache Schrabidium-Energiezelle (LEGACY)
|
||||
item.battery_spark.name=Spark-Batterie
|
||||
item.battery_spark_cell_100.name=Spark-Arkane Energiespeicher-Matrix
|
||||
item.battery_spark_cell_1000.name=Spark-Arkane Massen-Energie Speicherleere
|
||||
item.battery_spark_cell_10000.name=Spark Solider Raumzeit Kristall
|
||||
item.battery_spark_cell_25.name=Spark-Arkane Autobatterie
|
||||
item.battery_spark_cell_2500.name=Spark-Arkanes Dirac'sches Meer
|
||||
item.battery_spark_cell_6.name=Spark-Energiezelle
|
||||
item.battery_spark_cell_power.name=Spark Lächerliche Physik-missachtende Energiespeichereinheit
|
||||
item.battery_steam.name=Dampfbetriebener Energiespeichertank
|
||||
item.battery_steam_large.name=Großer dampfbetriebener Energiespeichertank
|
||||
item.battery_su.name=Einwegbatterie
|
||||
item.battery_su_l.name=Große Einwegbatterie
|
||||
item.battery_trixite.name=Billige Spark-Batterie-Nachmache
|
||||
item.battery_spark_cell_100.name=Spark-Arkane Energiespeicher-Matrix (LEGACY)
|
||||
item.battery_spark_cell_1000.name=Spark-Arkane Massen-Energie Speicherleere (LEGACY)
|
||||
item.battery_spark_cell_10000.name=Spark Solider Raumzeit Kristall (LEGACY)
|
||||
item.battery_spark_cell_25.name=Spark-Arkane Autobatterie (LEGACY)
|
||||
item.battery_spark_cell_2500.name=Spark-Arkanes Dirac'sches Meer (LEGACY)
|
||||
item.battery_spark_cell_6.name=Spark-Energiezelle (LEGACY)
|
||||
item.battery_spark_cell_power.name=Spark Lächerliche Physik-missachtende Energiespeichereinheit (LEGACY)
|
||||
item.battery_steam.name=Dampfbetriebener Energiespeichertank (LEGACY)
|
||||
item.battery_steam_large.name=Großer dampfbetriebener Energiespeichertank (LEGACY)
|
||||
item.battery_trixite.name=Billiger Spark-Batterie Nachbau
|
||||
item.bdcl.name=BDCL
|
||||
item.bedrock_ore.grade.base.name=%s-Bedrockerz
|
||||
item.bedrock_ore.grade.base_roasted.name=Geröstetes %s-Bedrockerz
|
||||
@ -4479,7 +4487,7 @@ tile.machine_battery_redd.name=FEnSU
|
||||
tile.machine_battery_socket.name=Batteriesockel
|
||||
tile.machine_battery_socket.desc=Erlaubt es, Batterien direkt mit$dem Stromnetz zu verbinden.$Verhält sich wie ein Kabel, alle$Verbindungen sind im selben Netzwek.
|
||||
tile.machine_boiler.name=Boiler
|
||||
tile.machine_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.01 TU/t
|
||||
tile.machine_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.1 TU/t
|
||||
tile.machine_boiler_electric_off.name=Elektrischer Ölwärmer
|
||||
tile.machine_boiler_electric_on.name=Elektrischer Ölwärmer
|
||||
tile.machine_boiler_off.name=Alter Boiler
|
||||
@ -4495,7 +4503,7 @@ tile.machine_chungus.desc=Effizienz: 85%%
|
||||
tile.machine_coal_off.name=Verbrennungsgenerator
|
||||
tile.machine_coal_on.name=Verbrennungsgenerator
|
||||
tile.machine_coker.name=Koker-Anlage
|
||||
tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.025 TU/t
|
||||
tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.25 TU/t
|
||||
tile.machine_combine_factory.name=CMB-Stahl Hochofen
|
||||
tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor
|
||||
tile.machine_compressor.name=Kompressor
|
||||
@ -4508,6 +4516,7 @@ tile.machine_converter_rf_he.name=RF zu HE Konverter
|
||||
tile.machine_conveyor_press.name=Förderband-Presse
|
||||
tile.machine_conveyor_press.desc=Band bewegt sich von links nach rechts$Rechtsclick um Stempel zu montieren$Stempel kann mit Schraubenzieher entfernt werden
|
||||
tile.machine_crucible.name=Schmelztiegel
|
||||
tile.machine_crucible.desc=Wärmestransferrate: ΔT*0.25 TU/t
|
||||
tile.machine_crystallizer.name=Erzauflöser
|
||||
tile.machine_cyclotron.name=Zyklotron
|
||||
tile.machine_detector.name=Energiedetektor
|
||||
@ -4543,7 +4552,7 @@ tile.machine_geo.name=Geothermiegenerator
|
||||
tile.machine_hephaestus.name=Geothermischer Wärmetauscher
|
||||
tile.machine_icf_press.name=ICF-Brennstoffpellet-Fabrikant
|
||||
tile.machine_industrial_boiler.name=Industrieller Boiler
|
||||
tile.machine_industrial_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.01 TU/t$Überdrucksicher
|
||||
tile.machine_industrial_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.1 TU/t$Überdrucksicher
|
||||
tile.machine_industrial_generator.name=Industrieller Generator
|
||||
tile.machine_intake.name=Lufteinlass
|
||||
tile.machine_keyforge.name=Schlossertisch
|
||||
|
||||
@ -2066,16 +2066,16 @@ item.ballistite.name=Ballistite
|
||||
item.bandaid.name=Velvet Band-Aid
|
||||
item.bathwater.name=Toxic Soapy Water
|
||||
item.bathwater_mk2.name=Toxic Soapy Water (Horse Scented)
|
||||
item.battery_advanced.name=Advanced Battery
|
||||
item.battery_advanced_cell.name=Advanced Power Cell
|
||||
item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell
|
||||
item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell
|
||||
item.battery_advanced.name=Advanced Battery (LEGACY)
|
||||
item.battery_advanced_cell.name=Advanced Power Cell (LEGACY)
|
||||
item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell (LEGACY)
|
||||
item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell (LEGACY)
|
||||
item.battery_creative.name=Infinite Battery
|
||||
item.battery_generic.name=Battery
|
||||
item.battery_lithium.name=Lithium-Ion Battery
|
||||
item.battery_lithium_cell.name=Lithium-Ion Power Cell
|
||||
item.battery_lithium_cell_3.name=Triple Lithium-Ion Power Cell
|
||||
item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell
|
||||
item.battery_generic.name=Battery (LEGACY)
|
||||
item.battery_lithium.name=Lithium-Ion Battery (LEGACY)
|
||||
item.battery_lithium_cell.name=Lithium-Ion Power Cell (LEGACY)
|
||||
item.battery_lithium_cell_3.name=Triple Lithium-Ion Power Cell (LEGACY)
|
||||
item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell (LEGACY)
|
||||
item.battery_pack.battery_lead.name=Lead-Acid Battery
|
||||
item.battery_pack.battery_lithium.name=Lithium-Ion Battery
|
||||
item.battery_pack.battery_quantum.name=Quantum Battery
|
||||
@ -2090,32 +2090,40 @@ item.battery_pack.capacitor_spark.name=Spark Capacitor
|
||||
item.battery_pack.capacitor_tantalum.name=Tantalum Capacitor
|
||||
item.battery_potato.name=Potato Battery
|
||||
item.battery_potatos.name=PotatOS
|
||||
item.battery_red_cell.name=Redstone Power Cell
|
||||
item.battery_red_cell_24.name=24-Fold Redstone Power Cell
|
||||
item.battery_red_cell_6.name=Sixfold Redstone Power Cell
|
||||
item.battery_sc_americium.name=Self-Charging Americium-241 Battery
|
||||
item.battery_sc_gold.name=Self-Charging Gold-198 Battery
|
||||
item.battery_sc_lead.name=Self-Charging Lead-209 Battery
|
||||
item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery
|
||||
item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery
|
||||
item.battery_sc_technetium.name=Self-Charging Technetium-99 Battery
|
||||
item.battery_sc_uranium.name=Self-Charging Uranium-238 Battery
|
||||
item.battery_schrabidium.name=Schrabidium Battery
|
||||
item.battery_schrabidium_cell.name=Schrabidium Power Cell
|
||||
item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell
|
||||
item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell
|
||||
item.battery_red_cell.name=Redstone Power Cell (LEGACY)
|
||||
item.battery_red_cell_24.name=24-Fold Redstone Power Cell (LEGACY)
|
||||
item.battery_red_cell_6.name=Sixfold Redstone Power Cell (LEGACY)
|
||||
item.battery_sc.am241.name=Americium-241 Self-Charging Battery
|
||||
item.battery_sc.au198.name=Gold-198 Self-Charging Battery
|
||||
item.battery_sc.co60.name=Cobalt-60 Self-Charging Battery
|
||||
item.battery_sc.empty.name=Empty Self-Charging Battery
|
||||
item.battery_sc.pb209.name=Lead-209 Self-Charging Battery
|
||||
item.battery_sc.po210.name=Polonium-210 Self-Charging Battery
|
||||
item.battery_sc.pu238.name=Plutonium-238 Self-Charging Battery
|
||||
item.battery_sc.ra226.name=Radium-226 Self-Charging Battery
|
||||
item.battery_sc.tc99.name=Technetium-99 Self-Charging Battery
|
||||
item.battery_sc.waste.name=Spent Fuel Self-Charging Battery
|
||||
item.battery_sc_americium.name=Self-Charging Americium-241 Battery (LEGACY)
|
||||
item.battery_sc_gold.name=Self-Charging Gold-198 Battery (LEGACY)
|
||||
item.battery_sc_lead.name=Self-Charging Lead-209 Battery (LEGACY)
|
||||
item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery (LEGACY)
|
||||
item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery (LEGACY)
|
||||
item.battery_sc_technetium.name=Self-Charging Technetium-99 Battery (LEGACY)
|
||||
item.battery_sc_uranium.name=Self-Charging Uranium-238 Battery (LEGACY)
|
||||
item.battery_schrabidium.name=Schrabidium Battery (LEGACY)
|
||||
item.battery_schrabidium_cell.name=Schrabidium Power Cell (LEGACY)
|
||||
item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell (LEGACY)
|
||||
item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell (LEGACY)
|
||||
item.battery_spark.name=Spark Battery
|
||||
item.battery_spark_cell_100.name=Spark Arcane Energy Storage Array
|
||||
item.battery_spark_cell_1000.name=Spark Arcane Mass-Energy Void
|
||||
item.battery_spark_cell_10000.name=Spark Solid Space-Time Crystal
|
||||
item.battery_spark_cell_25.name=Spark Arcane Car Battery
|
||||
item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea
|
||||
item.battery_spark_cell_6.name=Spark Power Cell
|
||||
item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit
|
||||
item.battery_steam.name=Steam Powered Energy Storage Tank
|
||||
item.battery_steam_large.name=Large Steam Powered Energy Storage Tank
|
||||
item.battery_su.name=SU-Battery
|
||||
item.battery_su_l.name=Large SU-Battery
|
||||
item.battery_spark_cell_100.name=Spark Arcane Energy Storage Array (LEGACY)
|
||||
item.battery_spark_cell_1000.name=Spark Arcane Mass-Energy Void (LEGACY)
|
||||
item.battery_spark_cell_10000.name=Spark Solid Space-Time Crystal (LEGACY)
|
||||
item.battery_spark_cell_25.name=Spark Arcane Car Battery (LEGACY)
|
||||
item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea (LEGACY)
|
||||
item.battery_spark_cell_6.name=Spark Power Cell (LEGACY)
|
||||
item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit (LEGACY)
|
||||
item.battery_steam.name=Steam Powered Energy Storage Tank (LEGACY)
|
||||
item.battery_steam_large.name=Large Steam Powered Energy Storage Tank (LEGACY)
|
||||
item.battery_trixite.name=Off-Brand Spark Battery
|
||||
item.bdcl.name=BDCL
|
||||
item.bedrock_ore.grade.base.name=%s Bedrock Ore
|
||||
@ -5740,9 +5748,9 @@ tile.machine_battery.name=Energy Storage Block (LEGACY)
|
||||
tile.machine_battery_potato.name=Potato Battery Block (LEGACY)
|
||||
tile.machine_battery_redd.name=FEnSU
|
||||
tile.machine_battery_socket.name=Battery Socket
|
||||
tile.machine_battery_socket.desc=Allows battery items to be connected$to the power grid directly.$Acts as a cable, all ports are connected$to the same netowrk.
|
||||
tile.machine_battery_socket.desc=Allows battery items to be connected$to the power grid directly.$Acts as a cable, all ports are connected$to the same network.
|
||||
tile.machine_boiler.name=Boiler
|
||||
tile.machine_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t
|
||||
tile.machine_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.1 TU/t
|
||||
tile.machine_boiler_electric_off.name=Electric Oil Heater
|
||||
tile.machine_boiler_electric_on.name=Electric Oil Heater
|
||||
tile.machine_boiler_off.name=Old Boiler
|
||||
@ -5759,7 +5767,7 @@ tile.machine_chungus.desc=Efficiency: 85%%
|
||||
tile.machine_coal_off.name=Combustion Generator
|
||||
tile.machine_coal_on.name=Combustion Generator
|
||||
tile.machine_coker.name=Coker Unit
|
||||
tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t
|
||||
tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.25 TU/t
|
||||
tile.machine_combine_factory.name=CMB Steel Furnace
|
||||
tile.machine_combustion_engine.name=Industrial Combustion Engine
|
||||
tile.machine_compressor.name=Compressor
|
||||
@ -5772,6 +5780,7 @@ tile.machine_converter_rf_he.name=RF to HE Converter
|
||||
tile.machine_conveyor_press.name=Conveyor Press
|
||||
tile.machine_conveyor_press.desc=Conveyor moves left to right$Right click stamp to install$Use screwdriver to remove stamp
|
||||
tile.machine_crucible.name=Crucible
|
||||
tile.machine_crucible.desc=Heat transfer rate: ΔT*0.25 TU/t
|
||||
tile.machine_crystallizer.name=Ore Acidizer
|
||||
tile.machine_cyclotron.name=Cyclotron
|
||||
tile.machine_detector.name=Power Detector
|
||||
@ -5808,7 +5817,7 @@ tile.machine_hephaestus.name=Geothermal Heat Exchanger
|
||||
tile.machine_icf_press.name=ICF Fuel Pellet Maker
|
||||
tile.machine_icf_press.desc=Fills ICF Fuel pellets$Left fuel slot is accepted by top/bottom, right by the sides$Muons and pellets may be supplied from any side
|
||||
tile.machine_industrial_boiler.name=Industrial Boiler
|
||||
tile.machine_industrial_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t$Cannot explode
|
||||
tile.machine_industrial_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.1 TU/t$Cannot explode
|
||||
tile.machine_industrial_generator.name=Industrial Generator
|
||||
tile.machine_intake.name=Air Intake
|
||||
tile.machine_keyforge.name=Locksmith Table
|
||||
|
||||
@ -5852,6 +5852,8 @@ tile.fusion_collector.name=Улавливающая камера (термояд
|
||||
tile.fusion_collector.desc=Собирает дополнительное количество продуктов$при подключении к основной камере.
|
||||
tile.fusion_klystron.name=Клистрон (термоядерный реактор)
|
||||
tile.fusion_klystron.desc=Зажигает термоядерный реактор.$Требует охлаждения сжатым воздухом.
|
||||
tile.fusion_klystron_creative.name=Творческий клистрон (термоядерный реактор)
|
||||
tile.fusion_klystron_creative.desc=Обеспечивает бесконечную энергию клистрона.
|
||||
tile.fusion_mhdt.name=МГД-турбина (термоядерный реактор)
|
||||
tile.fusion_mhdt.desc=Извлекает электроэнергию из плазмы напрямую,$что позволяет достичь меньших потерь.$Требуется охлаждение!
|
||||
tile.fusion_torus.name=Основная камера (термоядерный реактор)
|
||||
@ -6008,6 +6010,7 @@ tile.machine_battery.name=Энергохранилище (LEGACY)
|
||||
tile.machine_battery_potato.name=Картофельная батарея (LEGACY)
|
||||
tile.machine_battery_redd.name=ЭМЭХ
|
||||
tile.machine_battery_socket.name=Аккумуляторный массив
|
||||
tile.machine_battery_socket.desc=Позволяет подключать аккумуляторы$напрямую к энергосети.$Выступает в качестве кабеля, все порты$подключены к одной сети.
|
||||
tile.machine_boiler.name=Бойлер
|
||||
tile.machine_boiler.desc=Большой бойлер для кипячения воды или нагрева нефти.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t
|
||||
tile.machine_boiler_electric_off.name=Электрический нагреватель нефти
|
||||
@ -6824,6 +6827,8 @@ desc.gui.upgrade.speed= * §4Скорость§r: Стакается до 3-х
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 330 B |
|
After Width: | Height: | Size: 327 B |
BIN
src/main/resources/assets/hbm/textures/items/battery_sc.co60.png
Normal file
|
After Width: | Height: | Size: 323 B |
|
After Width: | Height: | Size: 296 B |
|
After Width: | Height: | Size: 329 B |
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 321 B |
|
After Width: | Height: | Size: 320 B |
BIN
src/main/resources/assets/hbm/textures/items/battery_sc.tc99.png
Normal file
|
After Width: | Height: | Size: 320 B |
|
After Width: | Height: | Size: 321 B |
BIN
src/main/resources/assets/hbm/textures/models/horse/sunburst.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1008 B |