ow
8
src/main/java/api/hbm/conveyor/IConveyorPackage.java
Normal file
@ -0,0 +1,8 @@
|
||||
package api.hbm.conveyor;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IConveyorPackage {
|
||||
|
||||
public ItemStack[] getItemStacks();
|
||||
}
|
||||
@ -15,6 +15,9 @@ public interface IEnterableBlock {
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
public boolean canEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity);
|
||||
public void onEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity);
|
||||
public boolean canItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity);
|
||||
public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity);
|
||||
|
||||
public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity);
|
||||
public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity);
|
||||
}
|
||||
|
||||
@ -762,6 +762,8 @@ public class ModBlocks {
|
||||
public static Block conveyor_lift;
|
||||
public static Block crane_extractor;
|
||||
public static Block crane_inserter;
|
||||
public static Block crane_boxer;
|
||||
public static Block crane_unboxer;
|
||||
|
||||
public static Block chain;
|
||||
|
||||
@ -1102,6 +1104,7 @@ public class ModBlocks {
|
||||
public static Block turret_brandon;
|
||||
public static final int guiID_brandon = 122;
|
||||
public static Block turret_arty;
|
||||
public static Block turret_himars;
|
||||
|
||||
public static Block rbmk_rod;
|
||||
public static Block rbmk_rod_mod;
|
||||
@ -1924,6 +1927,8 @@ public class ModBlocks {
|
||||
conveyor_lift = new BlockConveyorLift().setBlockName("conveyor_lift").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor");
|
||||
crane_extractor = new CraneExtractor().setBlockName("crane_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
crane_inserter = new CraneInserter().setBlockName("crane_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
crane_boxer = new CraneBoxer().setBlockName("crane_boxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
crane_unboxer = new CraneUnboxer().setBlockName("crane_unboxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
|
||||
chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain");
|
||||
|
||||
@ -2094,6 +2099,7 @@ public class ModBlocks {
|
||||
turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_arty = new TurretArty(Material.iron).setBlockName("turret_arty").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
turret_himars = new TurretHIMARS(Material.iron).setBlockName("turret_himars").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
rbmk_rod = new RBMKRod(false).setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element");
|
||||
rbmk_rod_mod = new RBMKRod(true).setBlockName("rbmk_rod_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_mod");
|
||||
@ -2852,6 +2858,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_arty, turret_arty.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(turret_himars, turret_himars.getUnlocalizedName());
|
||||
|
||||
//Wall-mounted Explosives
|
||||
GameRegistry.registerBlock(charge_dynamite, ItemBlockBase.class, charge_dynamite.getUnlocalizedName());
|
||||
@ -3091,6 +3098,8 @@ public class ModBlocks {
|
||||
|
||||
GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_boxer, crane_boxer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_unboxer, crane_unboxer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor, conveyor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_double, conveyor_double.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(conveyor_triple, conveyor_triple.getUnlocalizedName());
|
||||
|
||||
@ -3,8 +3,6 @@ package com.hbm.blocks.network;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.IBlockSideRotation;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.test.TestConductor;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
|
||||
72
src/main/java/com/hbm/blocks/network/CraneBoxer.java
Normal file
@ -0,0 +1,72 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.network.TileEntityCraneBoxer;
|
||||
|
||||
import api.hbm.conveyor.IConveyorItem;
|
||||
import api.hbm.conveyor.IConveyorPackage;
|
||||
import api.hbm.conveyor.IEnterableBlock;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class CraneBoxer extends BlockCraneBase implements IEnterableBlock {
|
||||
|
||||
public CraneBoxer() {
|
||||
super(Material.iron);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return new TileEntityCraneBoxer();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
super.registerBlockIcons(iconRegister);
|
||||
this.iconIn = iconRegister.registerIcon(RefStrings.MODID + ":crane_box");
|
||||
this.iconSideIn = iconRegister.registerIcon(RefStrings.MODID + ":crane_side_box");
|
||||
this.iconDirectional = iconRegister.registerIcon(RefStrings.MODID + ":crane_boxer_top");
|
||||
this.iconDirectionalUp = iconRegister.registerIcon(RefStrings.MODID + ":crane_boxer_side_up");
|
||||
this.iconDirectionalDown = iconRegister.registerIcon(RefStrings.MODID + ":crane_boxer_side_down");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
if(meta > 1 && side == 1) {
|
||||
if(meta == 2) return 3;
|
||||
if(meta == 3) return 0;
|
||||
if(meta == 4) return 1;
|
||||
if(meta == 5) return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
ForgeDirection orientation = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z));
|
||||
return orientation == dir;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { }
|
||||
}
|
||||
@ -4,6 +4,7 @@ import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.network.TileEntityCraneInserter;
|
||||
|
||||
import api.hbm.conveyor.IConveyorItem;
|
||||
import api.hbm.conveyor.IConveyorPackage;
|
||||
import api.hbm.conveyor.IEnterableBlock;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -42,13 +43,13 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
public boolean canItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
ForgeDirection orientation = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z));
|
||||
return orientation == dir;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
TileEntity te = world.getTileEntity(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ);
|
||||
|
||||
if(entity == null || entity.getItemStack() == null || entity.getItemStack().stackSize <= 0) {
|
||||
@ -180,6 +181,14 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock {
|
||||
return toAdd;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) { }
|
||||
|
||||
@Override
|
||||
public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
71
src/main/java/com/hbm/blocks/network/CraneUnboxer.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.network.TileEntityCraneUnboxer;
|
||||
|
||||
import api.hbm.conveyor.IConveyorItem;
|
||||
import api.hbm.conveyor.IConveyorPackage;
|
||||
import api.hbm.conveyor.IEnterableBlock;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class CraneUnboxer extends BlockCraneBase implements IEnterableBlock {
|
||||
|
||||
public CraneUnboxer() {
|
||||
super(Material.iron);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return new TileEntityCraneUnboxer();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
super.registerBlockIcons(iconRegister);
|
||||
this.iconIn = iconRegister.registerIcon(RefStrings.MODID + ":crane_box");
|
||||
this.iconSideIn = iconRegister.registerIcon(RefStrings.MODID + ":crane_side_box");
|
||||
this.iconDirectional = iconRegister.registerIcon(RefStrings.MODID + ":crane_unboxer_top");
|
||||
this.iconDirectionalUp = iconRegister.registerIcon(RefStrings.MODID + ":crane_unboxer_side_down");
|
||||
this.iconDirectionalDown = iconRegister.registerIcon(RefStrings.MODID + ":crane_unboxer_side_up");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
if(meta > 1 && side == 1) {
|
||||
if(meta == 2) return 0;
|
||||
if(meta == 3) return 3;
|
||||
if(meta == 4) return 2;
|
||||
if(meta == 5) return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) { }
|
||||
|
||||
@Override
|
||||
public boolean canPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorPackage entity) {
|
||||
|
||||
}
|
||||
}
|
||||
41
src/main/java/com/hbm/blocks/turret/TurretHIMARS.java
Normal file
@ -0,0 +1,41 @@
|
||||
package com.hbm.blocks.turret;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretHIMARS;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TurretHIMARS extends BlockDummyable {
|
||||
|
||||
public TurretHIMARS(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= 12)
|
||||
return new TileEntityTurretHIMARS();
|
||||
|
||||
return new TileEntityProxyCombo(true, true, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getDimensions() {
|
||||
return new int[] { 1, 0, 2, 1, 2, 1 };
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOffset() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
return this.standardOpenBehavior(world, x, y, z, player, 0);
|
||||
}
|
||||
}
|
||||
@ -179,9 +179,9 @@ public class EntityMovingItem extends Entity implements IConveyorItem {
|
||||
|
||||
IEnterableBlock enterable = (IEnterableBlock) newBlock;
|
||||
|
||||
if(enterable.canEnter(worldObj, newPos.getX(), newPos.getY(), newPos.getZ(), dir, this)) {
|
||||
if(enterable.canItemEnter(worldObj, newPos.getX(), newPos.getY(), newPos.getZ(), dir, this)) {
|
||||
|
||||
enterable.onEnter(worldObj, newPos.getX(), newPos.getY(), newPos.getZ(), dir, this);
|
||||
enterable.onItemEnter(worldObj, newPos.getX(), newPos.getY(), newPos.getZ(), dir, this);
|
||||
this.setDead();
|
||||
}
|
||||
} else {
|
||||
@ -193,8 +193,8 @@ public class EntityMovingItem extends Entity implements IConveyorItem {
|
||||
if(newBlock instanceof IEnterableBlock) {
|
||||
|
||||
IEnterableBlock enterable = (IEnterableBlock) newBlock;
|
||||
if(enterable.canEnter(worldObj, newPos.getX(), newPos.getY() - 1, newPos.getZ(), ForgeDirection.UP, this)) {
|
||||
enterable.onEnter(worldObj, newPos.getX(), newPos.getY() - 1, newPos.getZ(), ForgeDirection.UP, this);
|
||||
if(enterable.canItemEnter(worldObj, newPos.getX(), newPos.getY() - 1, newPos.getZ(), ForgeDirection.UP, this)) {
|
||||
enterable.onItemEnter(worldObj, newPos.getX(), newPos.getY() - 1, newPos.getZ(), ForgeDirection.UP, this);
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,72 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.tileentity.network.TileEntityCraneBoxer;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerCraneBoxer extends Container {
|
||||
|
||||
protected TileEntityCraneBoxer extractor;
|
||||
|
||||
public ContainerCraneBoxer(InventoryPlayer invPlayer, TileEntityCraneBoxer inserter) {
|
||||
this.extractor = inserter;
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 7; j++) {
|
||||
this.addSlotToContainer(new Slot(inserter, j + i * 3, 8 + j * 18, 17 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 103 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 161));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slot) {
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(slot);
|
||||
|
||||
if(var4 != null && var4.getHasStack()) {
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if(slot <= extractor.getSizeInventory() - 1) {
|
||||
if(!this.mergeItemStack(var5, extractor.getSizeInventory(), this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
if(!this.mergeItemStack(var5, 0, extractor.getSizeInventory(), false)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
if(var5.stackSize == 0) {
|
||||
var4.putStack((ItemStack) null);
|
||||
} else {
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
|
||||
var4.onPickupFromSlot(player, var5);
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return extractor.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
@ -65,10 +65,10 @@ public class ContainerCraneExtractor extends Container {
|
||||
}
|
||||
} else {
|
||||
|
||||
if(var3.getItem() == ModItems.upgrade_5g) {
|
||||
if(var3.getItem() == ModItems.upgrade_stack) {
|
||||
if(!this.mergeItemStack(var5, 18, 19, false))
|
||||
return null;
|
||||
} else if(var3.getItem() == ModItems.upgrade_crystallizer) {
|
||||
} else if(var3.getItem() == ModItems.upgrade_ejector) {
|
||||
if(!this.mergeItemStack(var5, 19, 20, false))
|
||||
return null;
|
||||
} else if(!this.mergeItemStack(var5, 9, extractor.getSizeInventory(), false)) {
|
||||
|
||||
52
src/main/java/com/hbm/inventory/gui/GUICraneBoxer.java
Normal file
@ -0,0 +1,52 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerCraneBoxer;
|
||||
import com.hbm.inventory.container.ContainerCraneExtractor;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.network.TileEntityCraneBoxer;
|
||||
import com.hbm.tileentity.network.TileEntityCraneExtractor;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUICraneBoxer extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crane_boxer.png");
|
||||
private TileEntityCraneBoxer inserter;
|
||||
|
||||
public GUICraneBoxer(InventoryPlayer invPlayer, TileEntityCraneBoxer tedf) {
|
||||
super(new ContainerCraneBoxer(invPlayer, tedf));
|
||||
inserter = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 185;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int x, int y, float interp) {
|
||||
super.drawScreen(x, y, interp);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.inserter.hasCustomInventoryName() ? this.inserter.getInventoryName() : I18n.format(this.inserter.getInventoryName());
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float interp, int i, int j) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
}
|
||||
}
|
||||
21
src/main/java/com/hbm/inventory/gui/GUITurretHIMARS.java
Normal file
@ -0,0 +1,21 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretBaseNT;
|
||||
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUITurretHIMARS extends GUITurretBase {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_himars.png");
|
||||
|
||||
public GUITurretHIMARS(InventoryPlayer invPlayer, TileEntityTurretBaseNT tedf) {
|
||||
super(invPlayer, tedf);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getTexture() {
|
||||
return texture;
|
||||
}
|
||||
}
|
||||
@ -46,7 +46,7 @@ public class ItemHolotapeImage extends ItemHoloTape {
|
||||
HOLO_NV_CRATER( EnumChatFormatting.GOLD, "Brown", "031-MOUNTAIN", "The tape contains an audio track that is mostly gabled sound and garbage noise. There is an image file on it, depicting a large dome in blue light surrounded by many smaller buildings. In the distance, there is a smaller dome with red lights."),
|
||||
HOLO_NV_DIVIDE( EnumChatFormatting.GOLD, "Brown", "032-ROAD", "The tape contains an audio track that is mostly gabled sound and garbage noise. There is an image file on it, depicting a large chasm with broken highways and destroyed buildings littering the landscape."),
|
||||
HOLO_NV_BM( EnumChatFormatting.GOLD, "Brown", "033-BROADCAST", "The tape contains an audio track that is mostly gabled sound and garbage noise. There is an image file on it, depicting a satellite broadcasting station on top of a hill. In the distance, there is a very large person walking hand in hand with a robot into the sunset."),
|
||||
HOLO_O_1( EnumChatFormatting.WHITE, "Chroma", "X00-TRANSCRIPT", "[Start of Automated Audio Transcript] <unintelligible> in a boardroom, right, and they're trying to come up with some new ideas. So one guy just says they should reuse this other character from somewhere else, who has like this night-theme you know, and just change the entire schtick to day. So when they had to come up with a name, one guy said, why not take the original name, replace the N with a D, because of night to day, right, and run with it? Now the name sounds like 'Dicks'! Funniest thing I've ever heard! [End of Transcript]"),
|
||||
HOLO_O_1( EnumChatFormatting.WHITE, "Chroma", "X00-TRANSCRIPT", "[Transcript redacted]"),
|
||||
HOLO_O_2( EnumChatFormatting.WHITE, "Chroma", "X01-NEWS", "The tape contains a news article, reporting an unusually pale person throwing flashbangs at people in public. The image at the bottom shows one of the incidents, unsurprisingly the light from one of the flashbangs made it unrecognizable."),
|
||||
HOLO_O_3( EnumChatFormatting.WHITE, "Chroma", "X02-FICTION", "The tape contains an article from a science fiction magazine, engaging with various reader comments about what to do with a time machine. One of those comments suggests engaging in various unsanitary acts with the future self, being signed off with just the initial '~D'."),
|
||||
HOLO_CHALLENGE( EnumChatFormatting.GRAY, "None", "-", "An empty holotape. The back has the following message scribbled on it with black marker: \"official challenge - convince me that lyons' brotherhood isn't the best brotherhood of steel chapter and win a custom cape!\" The tape smells like chicken nuggets."),
|
||||
|
||||
@ -194,6 +194,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFritz.class, new RenderTurretFritz());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretBrandon.class, new RenderTurretBrandon());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretArty.class, new RenderTurretArty());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHIMARS.class, new RenderTurretHIMARS());
|
||||
//mines
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine());
|
||||
//cel prime
|
||||
|
||||
@ -53,6 +53,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj"));
|
||||
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj"));
|
||||
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asDisplayList(); // test!
|
||||
public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asDisplayList();
|
||||
|
||||
public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj"));
|
||||
|
||||
@ -356,7 +357,10 @@ public class ResourceManager {
|
||||
public static final ResourceLocation turret_fritz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/fritz.png");
|
||||
public static final ResourceLocation turret_brandon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/brandon.png");
|
||||
public static final ResourceLocation turret_arty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/arty.png");
|
||||
|
||||
public static final ResourceLocation turret_himars_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/himars.png");
|
||||
|
||||
public static final ResourceLocation himars_standard_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/himars_standard.png");
|
||||
public static final ResourceLocation himars_single_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/himars_single.png");
|
||||
|
||||
public static final ResourceLocation turret_base_rusted= new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/base.png");
|
||||
public static final ResourceLocation turret_carriage_ciws_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/carriage_ciws.png");
|
||||
|
||||
@ -0,0 +1,81 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.turret.TileEntityTurretHIMARS;
|
||||
|
||||
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.Vec3;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderTurretHIMARS extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
|
||||
|
||||
TileEntityTurretHIMARS turret = (TileEntityTurretHIMARS)te;
|
||||
Vec3 pos = turret.getHorizontalOffset();
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
bindTexture(ResourceManager.turret_arty_tex);
|
||||
ResourceManager.turret_arty.renderPart("Base");
|
||||
double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D;
|
||||
double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp);
|
||||
|
||||
bindTexture(ResourceManager.turret_himars_tex);
|
||||
GL11.glRotated(yaw - 90, 0, 1, 0);
|
||||
ResourceManager.turret_himars.renderPart("Carriage");
|
||||
|
||||
GL11.glTranslated(0, 2.25, 2);
|
||||
GL11.glRotated(pitch + 15, 1, 0, 0);
|
||||
GL11.glTranslated(0, -2.25, -2);
|
||||
ResourceManager.turret_himars.renderPart("Launcher");
|
||||
//GL11.glTranslated(0, 0, -5 + (System.currentTimeMillis() / 1000D) % 5D);
|
||||
ResourceManager.turret_himars.renderPart("Crane");
|
||||
bindTexture(ResourceManager.himars_standard_tex);
|
||||
ResourceManager.turret_himars.renderPart("TubeStandard");
|
||||
ResourceManager.turret_himars.renderPart("CapStandard1");
|
||||
ResourceManager.turret_himars.renderPart("CapStandard2");
|
||||
ResourceManager.turret_himars.renderPart("CapStandard4");
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.turret_himars);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase( ) {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -2, 0);
|
||||
GL11.glScaled(3.5, 3.5, 3.5);
|
||||
}
|
||||
public void renderCommonWithStack(ItemStack item) {
|
||||
GL11.glRotatef(-90, 0F, 1F, 0F);
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
bindTexture(ResourceManager.turret_arty_tex);
|
||||
ResourceManager.turret_arty.renderPart("Base");
|
||||
bindTexture(ResourceManager.turret_himars_tex);
|
||||
ResourceManager.turret_himars.renderPart("Carriage");
|
||||
ResourceManager.turret_himars.renderPart("Launcher");
|
||||
ResourceManager.turret_himars.renderPart("Crane");
|
||||
bindTexture(ResourceManager.himars_standard_tex);
|
||||
ResourceManager.turret_himars.renderPart("TubeStandard");
|
||||
}};
|
||||
}
|
||||
}
|
||||
@ -242,6 +242,7 @@ public class TileMappings {
|
||||
put(TileEntityTurretFritz.class, "tileentity_turret_fritz");
|
||||
put(TileEntityTurretBrandon.class, "tileentity_turret_brandon");
|
||||
put(TileEntityTurretArty.class, "tileentity_turret_arty");
|
||||
put(TileEntityTurretHIMARS.class, "tileentity_turret_himars");
|
||||
}
|
||||
|
||||
private static void putMachines() {
|
||||
@ -322,6 +323,8 @@ public class TileMappings {
|
||||
|
||||
put(TileEntityCraneInserter.class, "tileentity_inserter");
|
||||
put(TileEntityCraneExtractor.class, "tileentity_extractor");
|
||||
put(TileEntityCraneBoxer.class, "tileentity_boxer");
|
||||
put(TileEntityCraneUnboxer.class, "tileentity_unboxer");
|
||||
}
|
||||
|
||||
private static void put(Class<? extends TileEntity> clazz, String... names) {
|
||||
|
||||
@ -23,7 +23,7 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
|
||||
|
||||
Vec3 dir = Vec3.createVectorHelper(1, 0, 0);
|
||||
|
||||
for(int i = 1; i < count; i++) {
|
||||
for(int i = 0; i < count; i++) {
|
||||
|
||||
stream = type;
|
||||
double flux = fluxOut * RBMKDials.getReaSimOutputMod(worldObj);
|
||||
@ -31,16 +31,21 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod {
|
||||
dir.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble()));
|
||||
|
||||
for(int j = 1; j <= range; j++) {
|
||||
|
||||
int x = (int)Math.floor(0.5 + dir.xCoord * j);
|
||||
int z = (int)Math.floor(0.5 + dir.zCoord * j);
|
||||
int lastX = (int)Math.floor(0.5 + dir.xCoord * (j - 1));
|
||||
int lastZ = (int)Math.floor(0.5 + dir.zCoord * (j - 1));
|
||||
|
||||
//skip if the position is on the rod itself
|
||||
if((int)Math.floor(dir.xCoord * j) == 0 && (int)Math.floor(dir.zCoord * j) == 0)
|
||||
if(x == 0 && z == 0)
|
||||
continue;
|
||||
|
||||
//skip if the current position is equal to the last position
|
||||
if((int)Math.floor(dir.xCoord * j) == (int)Math.floor(dir.xCoord * (j - 1)) && (int)Math.floor(dir.zCoord * j) == (int)Math.floor(dir.zCoord * (j - 1)))
|
||||
if(x == lastX && z == lastZ)
|
||||
continue;
|
||||
|
||||
flux = runInteraction(xCoord + (int)Math.floor(dir.xCoord * j), yCoord, zCoord + (int)Math.floor(dir.zCoord * j), flux);
|
||||
flux = runInteraction(xCoord + x, yCoord, zCoord + z, flux);
|
||||
|
||||
if(flux <= 0)
|
||||
break;
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
package com.hbm.tileentity.network;
|
||||
|
||||
import com.hbm.inventory.container.ContainerCraneBoxer;
|
||||
import com.hbm.inventory.gui.GUICraneBoxer;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityCraneBoxer extends TileEntityMachineBase implements IGUIProvider {
|
||||
|
||||
public TileEntityCraneBoxer() {
|
||||
super(7 * 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.craneBoxer";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new ContainerCraneBoxer(player.inventory, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new GUICraneBoxer(player.inventory, this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.hbm.tileentity.network;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityCraneUnboxer extends TileEntity {
|
||||
|
||||
}
|
||||
@ -5,7 +5,6 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.entity.projectile.EntityArtilleryShell;
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.inventory.container.ContainerTurretBase;
|
||||
import com.hbm.inventory.gui.GUITurretArty;
|
||||
import com.hbm.items.ModItems;
|
||||
@ -42,16 +41,6 @@ public class TileEntityTurretArty extends TileEntityTurretBaseNT implements IGUI
|
||||
|
||||
private List<Vec3> targetQueue = new ArrayList();
|
||||
|
||||
static List<Integer> configs = new ArrayList();
|
||||
|
||||
static {
|
||||
configs.add(BulletConfigSyncingUtil.SHELL_NORMAL);
|
||||
configs.add(BulletConfigSyncingUtil.SHELL_EXPLOSIVE);
|
||||
configs.add(BulletConfigSyncingUtil.SHELL_AP);
|
||||
configs.add(BulletConfigSyncingUtil.SHELL_DU);
|
||||
configs.add(BulletConfigSyncingUtil.SHELL_W9);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public List<ItemStack> getAmmoTypesForDisplay() {
|
||||
@ -79,7 +68,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseNT implements IGUI
|
||||
|
||||
@Override
|
||||
protected List<Integer> getAmmoList() {
|
||||
return configs;
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
package com.hbm.tileentity.turret;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.inventory.container.ContainerTurretBase;
|
||||
import com.hbm.inventory.gui.GUITurretHIMARS;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityTurretHIMARS extends TileEntityTurretBaseNT implements IGUIProvider {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public List<ItemStack> getAmmoTypesForDisplay() {
|
||||
|
||||
if(ammoStacks != null)
|
||||
return ammoStacks;
|
||||
|
||||
ammoStacks = new ArrayList();
|
||||
|
||||
List list = new ArrayList();
|
||||
ModItems.ammo_arty.getSubItems(ModItems.ammo_arty, MainRegistry.weaponTab, list);
|
||||
this.ammoStacks.addAll(list);
|
||||
|
||||
return ammoStacks;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Integer> getAmmoList() {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.turretHIMARS";
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 1_000_000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFiringTick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new ContainerTurretBase(player.inventory, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new GUITurretHIMARS(player.inventory, this);
|
||||
}
|
||||
}
|
||||
@ -96,7 +96,7 @@ achievement.selenium.desc=耶!
|
||||
achievement.selenium=XVIII 月亮女神
|
||||
achievement.SILEX.desc=我保证,它会比它听起来的要更酷
|
||||
achievement.SILEX=激光激发法分离同位素
|
||||
achievement.slimeball.desc=
|
||||
achievement.slimeball.desc=粘液球
|
||||
achievement.slimeball=我应该把蛋蛋浸在硫酸里。
|
||||
achievement.stratum.desc=快刹车, Mitts!
|
||||
achievement.stratum=岩层
|
||||
@ -106,7 +106,7 @@ achievement.soyuz.desc=变得松脆
|
||||
achievement.soyuz=土豆烹饪
|
||||
achievement.space.desc=屡试屡败,浪费了价值9000万美元的资金
|
||||
achievement.space=最后战线—呃,算了吧
|
||||
achievement.sulfuric.desc=
|
||||
achievement.sulfuric.desc=硫酸
|
||||
achievement.sulfuric=我不应该把蛋蛋浸在硫酸里的。
|
||||
achievement.tantalum.desc=一个难以捉摸但却永远需要的元素。
|
||||
achievement.tantalum=钽
|
||||
@ -114,7 +114,7 @@ achievement.tasteofblood.desc=这不是任何测试的一部分
|
||||
achievement.tasteofblood=血的味道
|
||||
achievement.technetium.desc=它是药用的,它是药用的!
|
||||
achievement.technetium=大个子,猪人
|
||||
achievement.watzBoom.desc=下次记得把污物容器清空
|
||||
achievement.watzBoom.desc=下次记得把毒泥浆容器清空
|
||||
achievement.watzBoom=令人厌恶
|
||||
achievement.watz.desc=可能包括Fólkvangr弗尔克范格场
|
||||
achievement.watz=126号元素的力量
|
||||
@ -125,7 +125,7 @@ achievement.ZIRNOXBoom=CIRNOX
|
||||
armor.blastProtection=修正 %s 的爆炸伤害
|
||||
armor.cap=伤害上限 %s
|
||||
armor.damageModifier=修正 %s 对 %s 的伤害
|
||||
armor.dash=Grants %s dashes
|
||||
armor.dash=给予 %s 冲刺
|
||||
armor.electricJetpack=离子喷射背包
|
||||
armor.explosionImmune=免疫除爆炸伤害外的一切伤害
|
||||
armor.fastFall=快速降落
|
||||
@ -144,7 +144,36 @@ armor.rocketBoots=火箭靴
|
||||
armor.sprintBoost=冲刺辅助加速
|
||||
armor.thermal=热成像
|
||||
armor.threshold=伤害阈值 %s
|
||||
armor.vats=这是一个测试,以证明这些书的e[B]ic换行功能。字体比例是可自定义的,换行符也会相应调整,这使得编写新页面非常容易。
|
||||
armor.vats=这是一个测试,以证明这些书的e[B]ic换行功能。 字体比例是可自定义的,换行符也会相应调整,这使得编写新页面非常容易。
|
||||
armor.yield=抵御低于%s的伤害
|
||||
armorMod.all=所有
|
||||
armorMod.applicableTo=适用于:
|
||||
armorMod.boots=靴子
|
||||
armorMod.chestplates=胸甲
|
||||
armorMod.helmets=头盔
|
||||
armorMod.insertHere=插入装甲以改装。。。
|
||||
armorMod.leggings=护腿
|
||||
armorMod.type.boots=靴子
|
||||
armorMod.type.chestplate=胸甲
|
||||
armorMod.type.cladding=覆层
|
||||
armorMod.type.helmet=头盔
|
||||
armorMod.type.insert=插板
|
||||
armorMod.type.leggings=护腿
|
||||
armorMod.type.servo=伺服电机
|
||||
armorMod.type.special=特殊
|
||||
battery.mode.buffer=输入/输出模式
|
||||
battery.mode.input=输入模式
|
||||
battery.mode.off=OffW
|
||||
battery.mode.output=输出模式
|
||||
battery.priority.high=充电优先级:高
|
||||
battery.priority.high.desc=总是需要优先装满的紧急缓冲区
|
||||
battery.priority.low=充电优先级:低
|
||||
battery.priority.low.desc=在大多数情况下,需要在不影响机器性能的情况下$存储剩余的能量
|
||||
battery.priority.normal=充电优先级:正常
|
||||
battery.priority.normal.desc=较小的电网,其优先级无关紧要
|
||||
battery.priority.recommended=推荐用于:
|
||||
battery.redstone.off=红石 关
|
||||
battery.redstone.on=红石 开
|
||||
bomb.detonated=成功引爆!
|
||||
bomb.incompatible=设备无法触发!
|
||||
bomb.launched=发射成功!
|
||||
@ -161,15 +190,15 @@ book.error.page2=§l错误类型:§r "错误_无法分析" §l描述:§r 尽管
|
||||
book.error.title3=错误 0x03 [通道阻塞]
|
||||
book.error.page3=§l错误类型:§r "错误_通道阻塞" §l描述:§r 粒子与对撞机通道内的方块碰撞。 §l修复方式:§r 确保粒子对撞机内部没有任何障碍物,粒子二极管和核心块除外。
|
||||
book.error.title4=错误 0x04 [缺少线圈]
|
||||
book.error.page4=§l错误类型:§r "错误_缺少线圈" §l描述:§r 粒子通过了缺少一个或多个线圈的段。 §l修复方式:§r 移除冲突区域的对撞机镀层,并检查线圈结构是否完整。这种错误也会发生在没有二极管的T型交叉口上。
|
||||
book.error.page4=§l错误类型:§r "错误_缺少线圈" §l描述:§r 粒子通过了缺少一个或多个线圈的段。 §l修复方式:§r 移除冲突区域的对撞机镀层,并检查线圈结构是否完整。 这种错误也会发生在没有二极管的T型交叉口上。
|
||||
book.error.title5=错误 0x05 [错误区段]
|
||||
book.error.page5=§l错误类型:§r "错误_错误区段" §l描述:§r 粒子通过了一个结构不正确的段(但既没有被阻塞也没有缺少线圈)。 §l修复方式:§r 确保有问题的部分都有镀层包裹,没有线圈暴露。
|
||||
book.error.title6=错误 0x06 [分析室过长]
|
||||
book.error.page6=§l错误类型:§r "错误_分析室过长" §l描述:§r 粒子已通过三个以上所需的有效分析室段。 §l修复方式:§r 确保环形加速器的分析室长度正好为3个方块,直线加速器的分析室长度至少为2个方块。还要检查粒子是否未通过分支或环形加速器中的多个分析室。
|
||||
book.error.page6=§l错误类型:§r "错误_分析室过长" §l描述:§r 粒子已通过三个以上所需的有效分析室段。 §l修复方式:§r 确保环形加速器的分析室长度正好为3个方块, 直线加速器的分析室长度至少为2个方块。 还要检查粒子是否未通过分支或环形加速器中的多个分析室。
|
||||
book.error.title7=错误 0x07 [分析室过短]
|
||||
book.error.page7=§l错误类型:§r "错误_分析室过短" §l描述:§r 粒子已离开分析室,尽管不符合长度要求。 §l修复方式:§r 确保环形加速器上的分析室正好有3个方块长。有效的分析段没有线圈,镀层完全由分析室壁/窗组成。带有线圈的分析室被视为规则段。
|
||||
book.error.page7=§l错误类型:§r "错误_分析室过短" §l描述:§r 粒子已离开分析室,尽管不符合长度要求。 §l修复方式:§r 确保环形加速器上的分析室正好有3个方块长。 有效的分析段没有线圈,镀层完全由分析室壁/窗组成。 带有线圈的分析室被视为规则段。
|
||||
book.error.title8=错误 0x08 [二极管方向错误]
|
||||
book.error.page8=§l错误类型:§r "错误_二极管方向错误" §l描述:§r 该粒子与肖特基粒子二极管的非输入侧碰撞。§l修复方式:§r 检查二极管的配置是否正确。粒子只能从带有绿色向内箭头的侧面进入二极管。
|
||||
book.error.page8=§l错误类型:§r "错误_二极管方向错误" §l描述:§r 该粒子与肖特基粒子二极管的非输入侧碰撞。§l修复方式:§r 检查二极管的配置是否正确。 粒子只能从带有绿色向内箭头的侧面进入二极管。
|
||||
book.error.title9=错误 0x09 [多处分支]
|
||||
book.error.page9=§l错误类型:§r "错误_多处分支" §l描述:§r 粒子到达具有多个出口的转弯处。§l修复方式:§r 如果你的对撞机是正常的,检查所有需要的线圈是否都存在(即线圈中没有缺漏)。如果转弯处打算进行分支,则需要正确放置的肖特基粒子二极管。
|
||||
book.rbmk.cover=$我的第一个$RBMK石墨式反应堆:$建造一个$反应堆$的基础知识
|
||||
@ -243,6 +272,38 @@ book.starter.title16=结论
|
||||
book.starter.page16=如果你已经走到了这一步,你已经走在重建文明大道上了. 你已经成功地用核能, 石油化工等重新制造了世界末日前的那些先进机器. 我不知道你将如何利用这些新发现的科技, 但我个人希望你利用这些优势是为了自己和他人的利益 - 或者至少是为了自卫. 再见!
|
||||
book.starter.title18=关于作者
|
||||
book.starter.page18=v?r只是一个被困在"传声头像"的§o《一生一次》§r中的 灰色虚空中太久的人. 有一次, 他发现了一扇工作室的门, 但令他沮丧的是, 他发现那是一个纸板剪出来的.
|
||||
#book.rbmk.cover=HOW 2 RBMK:$The Basics$of Reactor$Construction
|
||||
#book.rbmk.title1=Introduction
|
||||
#book.rbmk.page1=The §lRBMK§r is a fully modular nuclear reactor. Unlike most other reactors, there is no "core", and no size limitations, rather, the behavior and efficiency of the reactor comes from how it is built and how the different pieces interact with each other.
|
||||
#book.rbmk.title2=Heat
|
||||
#book.rbmk.page2=As the reactor operates, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to produce as much heat as possible without melting the reactor, and to move that heat to a §lsteam channel§r which cools the reactor and produces steam.
|
||||
#book.rbmk.title3=Fuel Rod
|
||||
#book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing the fuel inside the fuel rod to react, giving off neutrons in the process. Neutrons are released in all four cardinal directions with a maximum range of 5 blocks. The amount of neutrons released depends on the §lfuel§r used.
|
||||
#book.rbmk.title4=Control Rod
|
||||
#book.rbmk.page4=The §lcontrol rod§r will decrease the amount of neutrons passing though it. Fully inserted, it will block all neutrons, at half insertion, it will only block half. Control rods are used to regulate the reactor's activity and to turn it off.
|
||||
#book.rbmk.title5=Control Rod - Usage
|
||||
#book.rbmk.page5=The center of the GUI will display the current rod insertion. The colored buttons on the left will add a control rod to a color group, which is useful to quickly select grouped rods from the §lRBMK console§r. The buttons on the right allow for manual insertion in increments of 25%%.
|
||||
#book.rbmk.title6=Automatic Control Rod
|
||||
#book.rbmk.page6=§lAutomatic control rods§r function nearly identical to regular control rods, but they cannot be configured manually, instead they will adjust the rod position based on the current temperature. What function to use and how deep to insert at what temperature has to be defined first.
|
||||
#book.rbmk.title7=Steam Channel
|
||||
#book.rbmk.page7=The §lsteam channel§r is the only part that will actively reduce the reactor's heat level. If the component's temperature exceeds the boiling point of the set steam type, it will try to consume as much water and produce as much steam as needed to cool back below the boiling point.
|
||||
#book.rbmk.title8=Neutron Reflector
|
||||
#book.rbmk.page8=The §lneutron reflector§r will block neutrons from passing it, instead the neutrons will be reflected back at the fuel rod they came from. This is useful for utilizing neutrons that would otherwise be wasted by simply exiting the reactor.
|
||||
#book.rbmk.title9=Neutron Absorber
|
||||
#book.rbmk.page9=The §lneutron absorber§r will simply block neutrons. Neutrons absorbed will not generate heat and be effectively voided. This is useful to prevent fuel rods from reacting that would otherwise be in range.
|
||||
#book.rbmk.title10=Graphite Moderator
|
||||
#book.rbmk.page10=The §lgraphite moderator§r will convert fast neutrons passing through it into slow neutrons. Most fuels fission into fast neutrons while needing slow neutrons to split, so using moderators is strongly recommended.
|
||||
#book.rbmk.title11=Structural Column
|
||||
#book.rbmk.page11=The §lstructural column§r will not interfere with neutrons, nor does it have special uses. It is recommended to fill the reactor with structural columns where no other parts will be, because structural columns are capable of transporting heat.
|
||||
#book.rbmk.title12=Console
|
||||
#book.rbmk.page12=The §lRBMK console§r lets you control the reactor from afar. Using the §lRBMK§r §lconsole linking device§r on an RBMK part and then the console will link the reactor to the console. The console can only manage 15x15 parts, for larger reactors you might want to use multiple consoles.
|
||||
#book.rbmk.title13=Console Usage
|
||||
#book.rbmk.page13=Clicking on the parts will select and deselect them. Using the colored buttons, you can quickly select all control rods of that color group. Button 'A' will select all control rods, 'X' will deselect all.
|
||||
#book.rbmk.page14=Entering a number 0-100 in the green box and then hitting the button next to it will set all selected control rods to this position. Button 'AZ-5' will cause all control rods to fully insert.
|
||||
#book.rbmk.title15=Fuel
|
||||
#book.rbmk.page15=The §lfuel§r's reactivity is based on multiple factors. The main ones are the §lenrichment§r, §lxenon poison§r and the amount of incoming §lneutrons§r. Xenon builds up when the fuel receives few neutrons and burns away during normal operation. The effectivity of neutrons depends on the type, most fuels §lsplit best with slow neutrons§r.
|
||||
#book.rbmk.title16=Meltdown
|
||||
#book.rbmk.page16=§4§lAvoid.
|
||||
chem.ARSENIC=砷提取
|
||||
chem.ASPHALT=沥青生产
|
||||
chem.BAKELITE=电木生产
|
||||
@ -373,12 +434,16 @@ container.factoryTitanium=工厂
|
||||
container.fluidtank=储罐
|
||||
container.forceField=力场发生器
|
||||
container.frackingTower=水力压裂塔
|
||||
container.furnaceIron=铁炉
|
||||
container.furnaceSteel=钢炉
|
||||
container.fusionMultiblock=大型聚变反应堆
|
||||
container.fusionaryWatzPlant=Watz聚变反应堆
|
||||
container.gasCentrifuge=气体离心机
|
||||
container.gasFlare=高架火炬
|
||||
container.generator=核反应堆
|
||||
container.generator=研究型反应堆
|
||||
container.hadron=粒子加速器
|
||||
container.heaterFirebox=燃烧室
|
||||
container.heaterOilburner=流体燃烧器
|
||||
container.iGenerator=工业发电机
|
||||
container.keyForge=锁匠桌
|
||||
container.launchPad=导弹发射台
|
||||
@ -400,7 +465,7 @@ container.machineSolidifier=固化机
|
||||
container.machineTurbine=汽轮机
|
||||
container.machineTurbofan=涡扇发动机
|
||||
container.machine_schrabidium_transmutator=Sa326嬗变装置
|
||||
container.massStorage=Storage
|
||||
container.massStorage=存储
|
||||
container.microwave=微波炉
|
||||
container.miningDrill=自动采矿钻机
|
||||
container.miningLaser=采矿激光
|
||||
@ -453,6 +518,7 @@ container.soyuzLauncher=联盟号发射平台
|
||||
container.storageDrum=核废料处理桶
|
||||
container.teleLinker=炮塔ID管理
|
||||
container.teleporter=传送机
|
||||
container.turretArty=格雷格
|
||||
container.turretChekhov=重机枪炮塔“契诃夫的枪”
|
||||
container.turretFriendly=轻机枪炮塔“友好先生”
|
||||
container.turretFritz=重型火焰喷射器炮塔”弗里茨”
|
||||
@ -519,14 +585,21 @@ death.attack.taint=%1$s 死于恶性肿瘤
|
||||
death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子射穿
|
||||
death.attack.tauBlast=%1$s 对XVL1456充能时间过长,被炸成碎片
|
||||
death.attack.teleporter=%1$s 被传送到虚空
|
||||
desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$
|
||||
desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$
|
||||
desc.item.rtgDecay=衰变为:%s
|
||||
desc.item.rtgHeat=功率级别:%s
|
||||
desc.item.wasteCooling=在乏燃料池中冷却
|
||||
desc.item.zirnoxBreedingRod=§2[ZIRNOX增殖棒]$§e放在燃料棒旁边增殖$§e持续 %d 刻
|
||||
desc.item.zirnoxRod=§a[ZIRNOX燃料棒]$§e每刻产生 %1$d 热量$§e持续 %2$d 刻
|
||||
desc.gui.assembler.warning=§c错误:§r此机器需要装配机模板!
|
||||
desc.gui.chemplant.warning=§c错误:§r此机器需要化工厂模板!
|
||||
desc.gui.gasCent.enrichment=§2浓缩§r$浓缩铀需要串联$两个离心机串联将离心出$铀燃料,四个离心机串联$将完全分离出铀235。
|
||||
desc.gui.gasCent.output=§6流体输送§r$流体可通过输出端口输送至另一台离心机$进行进一步处理。
|
||||
desc.gui.nukeBoy.desc=§1需要:§r$ * 中子屏蔽罩$ * 铀-235弹头$ * 次临界铀-235标靶$ * 炸药$ * 点火器
|
||||
desc.gui.nukeGadget.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 线路
|
||||
desc.gui.nukeMan.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 点火器
|
||||
desc.gui.nukeMike.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$ * 氘冷却装置$ * 铀涂层氘罐 * 氘罐
|
||||
desc.gui.nukeTsar.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$§9可选:§r$ * 沙皇炸弹核心
|
||||
desc.gui.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,并且$配备了一个用于$裂解和灭菌的辐解室。
|
||||
desc.gui.rtgBFurnace.desc=处理$金-198需要至少15热量。此外,热量越多,运行速度越快$金-198可能会衰变为水银
|
||||
desc.gui.rtg.heat=§e当前热等级:%s
|
||||
@ -615,6 +688,7 @@ hazard.gasInert=惰性气体/沥青
|
||||
hazard.gasMonoxide=一氧化碳
|
||||
hazard.light=亮光
|
||||
hazard.nerveAgent=神经毒剂
|
||||
hazard.neverProtects=它永远不能防止:
|
||||
hazard.particleCoarse=空气微粒
|
||||
hazard.particleFine=微粒
|
||||
hazard.sand=眼睛刺激物
|
||||
@ -708,6 +782,14 @@ hbmfluid.water=水
|
||||
hbmfluid.watz=毒泥浆
|
||||
hbmfluid.xenon=氙气
|
||||
hbmfluid.xpjuice=经验汁
|
||||
hbmpseudofluid.none=空
|
||||
hbmpseudofluid.heuf6=高浓缩六氟化铀
|
||||
hbmpseudofluid.meuf6=中浓缩六氟化铀
|
||||
hbmpseudofluid.leuf6=低浓缩六氟化铀
|
||||
hbmpseudofluid.nuf6=天然浓度六氟化铀
|
||||
hbmpseudofluid.pf6=六氟化钚
|
||||
hbmpseudofluid.mud_heavy=重毒泥浆馏分
|
||||
hbmpseudofluid.mud=有毒泥浆气体
|
||||
info.coil=线圈强度
|
||||
info.templatefolder=需要使用机器模板文件夹创建
|
||||
info.template_in=输入:
|
||||
@ -822,6 +904,14 @@ item.ammo_9mm_ap.name=9mm子弹[AP]
|
||||
item.ammo_9mm_chlorophyte.name=9mm子弹[叶绿]
|
||||
item.ammo_9mm_du.name=9mm子弹[贫铀]
|
||||
item.ammo_9mm_rocket.name=9mm火箭弹
|
||||
item.ammo_arty.name=16英寸炮弹
|
||||
item.ammo_arty_classic.name=16英寸炮弹 (特制)
|
||||
item.ammo_arty_he.name=16英寸高爆炮弹
|
||||
item.ammo_arty_mini_nuke.name=16英寸微型核炮弹
|
||||
item.ammo_arty_mini_nuke_multi.name=16英寸多弹头微型核炮弹
|
||||
item.ammo_arty_nuke.name=16英寸核炮弹
|
||||
item.ammo_arty_phosphorus.name=16英寸磷炮弹
|
||||
item.ammo_arty_phosphorus_multi.name=16英寸多弹头磷炮弹
|
||||
item.ammo_cell.name=能量单元
|
||||
item.ammo_container.name=万能弹药盒
|
||||
item.ammo_dart.name=塑料镖(凋零)
|
||||
@ -906,8 +996,8 @@ item.ams_core_sing.name=活跃奇点[AMS/DFC核心]
|
||||
item.ams_core_thingy.name=Thingy[AMS/DFC核心]
|
||||
item.ams_core_wormhole.name=微型虫洞[AMS/DFC核心]
|
||||
item.ams_focus_blank.name=空白稳定器焦点
|
||||
item.ams_focus_booster.name=较弱的约束场和核心能量注入:产生更多的热量,额外的能量。
|
||||
item.ams_focus_booster.name=Weaker restriction field and core energy injection:$More heat generation, extra energy.
|
||||
item.ams_focus_booster.name=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。
|
||||
item.ams_focus_booster.desc=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。
|
||||
item.ams_focus_limiter.name=限制稳定器焦点
|
||||
item.ams_focus_limiter.desc=限制领域的最高性能:$标准冷却,无能源加成。
|
||||
item.ams_lens.name=稳定透镜
|
||||
@ -955,7 +1045,7 @@ item.balefire_and_ham.name=火腿野火蛋
|
||||
item.balefire_and_steel.name=野火打火石
|
||||
item.balefire_scrambled.name=炒野火蛋
|
||||
item.ball_dynamite.name=硝糖炸药
|
||||
item.ball_tnt.name=TNT
|
||||
item.ball_tnt.name=TNT炸药
|
||||
item.ballistite.name=混合无烟火药
|
||||
item.bandaid.name=邦迪创可贴
|
||||
item.bathwater.name=有毒肥皂水
|
||||
@ -1029,7 +1119,7 @@ item.billet_nuclear_waste.name=核废料坯料
|
||||
item.billet_pb209.name=铅-209坯料
|
||||
item.billet_po210be.name=钋210-铍坯料
|
||||
item.billet_polonium.name=钋坯料
|
||||
item.billet_pu_mix.name=反应堆级钋坯料
|
||||
item.billet_pu_mix.name=反应堆级钚坯料
|
||||
item.billet_pu238.name=钚-238坯料
|
||||
item.billet_pu238be.name=钚238-铍坯料
|
||||
item.billet_pu239.name=钚-239坯料
|
||||
@ -1133,7 +1223,7 @@ item.can_empty.name=空罐
|
||||
item.can_key.name=罐头拉环
|
||||
item.can_luna.name=黑梅萨露娜-黑可乐
|
||||
item.can_mrsugar.name='糖博士'软饮料
|
||||
item.can_mug.name=MUG Root Beer
|
||||
item.can_mug.name=MUG牌树根啤酒
|
||||
item.can_overcharge.name=超频DeliriumXT
|
||||
item.can_redbomb.name='红色炸弹'能量饮料
|
||||
item.can_smart.name="智慧"能量饮料
|
||||
@ -1448,6 +1538,7 @@ item.desh_pickaxe.name=工人合金镐
|
||||
item.desh_shovel.name=工人合金锹
|
||||
item.desh_sword.name=工人合金剑
|
||||
item.designator.name=短程目标指示器
|
||||
item.designator_arty_range.name=远程火炮遥控器
|
||||
item.designator_manual.name=手动目标指示器
|
||||
item.designator_range.name=远程目标指示器
|
||||
item.detonator.name=起爆器
|
||||
@ -1493,6 +1584,8 @@ item.dynosphere_euphemium_charged.name=Ep动力球[带电]
|
||||
item.dynosphere_schrabidium.name=Sa326动力球
|
||||
item.dynosphere_schrabidium_charged.name=Sa326动力球[带电]
|
||||
item.dysfunctional_reactor.name=失控反应堆
|
||||
item.early_explosive_lenses.name=初代炸药透镜阵列
|
||||
item.early_explosive_lenses.desc=8个炸药透镜的组装,带有铝合金推进器、硬铝外壳和桥丝雷管。
|
||||
item.egg_balefire.name=野火蛋
|
||||
item.egg_balefire.desc=什么样的鸟儿才会下带有放射性的蛋?
|
||||
item.egg_balefire_shard.name=野火蛋碎片
|
||||
@ -1509,6 +1602,8 @@ item.euphemium_kit.name=Ep工具箱
|
||||
item.euphemium_legs.name=Ep护腿
|
||||
item.euphemium_plate.name=Ep胸甲
|
||||
item.euphemium_stopper.name=Ep-阻滞者
|
||||
item.explosive_lenses.name=炸药透镜阵列
|
||||
item.explosive_lenses.desc=8个PBX炸药组装的阵列,带有一个薄的$铝推进器、硬铝外壳和$小型桥丝雷管。
|
||||
item.fabsols_vodka.name=Fabsol伏特加
|
||||
item.factory_core_advanced.name=高级工厂能源组件
|
||||
item.factory_core_titanium.name=工厂能源组件
|
||||
@ -1532,6 +1627,7 @@ item.flame_politics.name=政治话题
|
||||
item.flame_politics.desc=唐老鸭将会修建一堵墙!
|
||||
item.flame_pony.name=卡通小马画
|
||||
item.flame_pony.desc=黄马胜于蓝马,这是不争的事实!
|
||||
item.flask_infusion.shield.name=护盾药水
|
||||
item.fleija_core.name=F.L.E.I.J.A.铀-235装药
|
||||
item.fleija_igniter.name=脉冲点火器
|
||||
item.fleija_kit.name=F.L.E.I.J.A. 套件
|
||||
@ -1581,7 +1677,6 @@ item.fusion_shield_tungsten.name=钨聚变反应堆覆层
|
||||
item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层
|
||||
item.gadget_core.name=钚核心
|
||||
item.gadget_explosive.name=炸药
|
||||
item.gadget_explosive8.name=炸药束
|
||||
item.gadget_kit.name=小玩意 套件
|
||||
item.gadget_wireing.name=线路
|
||||
item.gas_biogas.name=沼气罐
|
||||
@ -1598,6 +1693,7 @@ item.gas_mask_m65.name=M65-Z防毒面具
|
||||
item.gas_mask_mono.name=防一氧化碳面罩
|
||||
item.gas_mask_olde.name=皮革防毒面具
|
||||
item.gas_petroleum.name=石油气罐
|
||||
item.gear_large.name=大齿轮
|
||||
item.geiger_counter.name=手持盖革计数器
|
||||
item.gem_alexandrite.name=亚历山大变石
|
||||
item.gem_tantalium.name=钽晶体
|
||||
@ -1659,6 +1755,7 @@ item.gun_b92_ammo.name=§9B92能量单元§r
|
||||
item.gun_b93.name=§cB93能量手枪§r
|
||||
item.gun_bf.name=BEL
|
||||
item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 –野火型
|
||||
item.gun_bio_revolver.name=Atlas
|
||||
item.gun_bolt_action.name=栓动式霰弹枪[原版]
|
||||
item.gun_bolt_action_ammo.name=12x74 独头弹
|
||||
item.gun_bolt_action_green.name=栓动式霰弹枪[绿色]
|
||||
@ -1686,6 +1783,7 @@ item.gun_fireext.name=灭火器
|
||||
item.gun_flamer.name="黄玉先生"喷射器
|
||||
item.gun_flechette.name=弗莱彻突击步枪
|
||||
item.gun_folly.name=Digamma原型"愚蠢"
|
||||
item.gun_glass_cannon.name=玻璃大炮
|
||||
item.gun_hk69.name=榴弹手枪
|
||||
item.gun_hp.name=HPP射线炮
|
||||
item.gun_hp_ammo.name=墨盒
|
||||
@ -1851,6 +1949,7 @@ item.ingot_dura_steel.name=高速钢锭
|
||||
item.ingot_electronium.name=电素锭
|
||||
item.ingot_euphemium.name=Ep锭
|
||||
item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。
|
||||
item.ingot_ferrouranium.name=铀铁锭
|
||||
item.ingot_fiberglass.name=玻璃纤维
|
||||
item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。
|
||||
item.ingot_gh336.name=Gh336锭
|
||||
@ -1987,7 +2086,6 @@ item.magnet_dee.name=D型磁铁
|
||||
item.magnetron.name=磁控管
|
||||
item.man_core.name=钚核心
|
||||
item.man_explosive.name=炸药
|
||||
item.man_explosive8.name=炸药束
|
||||
item.man_igniter.name=点火器
|
||||
item.man_kit.name=胖子 套件
|
||||
item.marshmallow.name=穿在木棍上的棉花糖
|
||||
@ -2849,6 +2947,7 @@ item.rod_zirnox_u235_fuel.name=锆诺克斯 铀-235燃料棒
|
||||
item.rod_zirnox_les_fuel.name=锆诺克斯 LES低浓度Sa326燃料棒
|
||||
item.rod_zirnox_lithium.name=锆诺克斯 锂燃料棒
|
||||
item.rod_zirnox_tritium.name=锆诺克斯 氚燃料棒
|
||||
item.rod_zirnox_zfb_mox.name=锆诺克斯 ZFB MOX燃料棒
|
||||
item.rod_zirnox_natural_uranium_fuel_depleted.name=锆诺克斯 枯竭天然铀燃料棒
|
||||
item.rod_zirnox_uranium_fuel_depleted.name=锆诺克斯 枯竭铀燃料棒
|
||||
item.rod_zirnox_thorium_fuel_depleted.name=锆诺克斯 枯竭钍燃料棒
|
||||
@ -2857,6 +2956,7 @@ item.rod_zirnox_plutonium_fuel_depleted.name=锆诺克斯 枯竭钚燃料棒
|
||||
item.rod_zirnox_u233_fuel_depleted.name=锆诺克斯 枯竭铀-233燃料棒
|
||||
item.rod_zirnox_u235_fuel_depleted.name=锆诺克斯 枯竭铀-235燃料棒
|
||||
item.rod_zirnox_les_fuel_depleted.name=锆诺克斯 枯竭LES低浓度Sa326燃料棒
|
||||
item.rod_zirnox_zfb_mox_depleted.name=锆诺克斯 ZFB 枯竭MOX燃料棒
|
||||
item.rotor_steel.name=大型钢转子
|
||||
item.rpa_boots.name=动力装甲 靴子
|
||||
item.rpa_helmet.name=动力装甲 头盔
|
||||
@ -2933,14 +3033,17 @@ item.siox.name=SiOX抗癌药物
|
||||
item.siren_track.name=警报声轨
|
||||
item.smashing_hammer.name=粉碎锤
|
||||
item.solid_fuel.name=固体燃料
|
||||
item.solid_fuel_bf.name=固体燃料(野火)
|
||||
item.solid_fuel_presto.name=Presto固体燃料
|
||||
item.solid_fuel_presto_triplet.name=增强Presto固体燃料
|
||||
item.solid_fuel_presto_bf.name=Presto固体燃料(野火)
|
||||
item.solid_fuel_presto_triplet.name=增强型Presto固体燃料
|
||||
item.solid_fuel_presto_triplet_bf.name=增强型Presto固体燃料(野火)
|
||||
item.solinium_core.name=半稳定Sa327核心
|
||||
item.solinium_igniter.name=Sa327脉冲点火器
|
||||
item.solinium_kit.name=蔚蓝洗礼套件
|
||||
item.solinium_propellant.name=Sa327压缩装药
|
||||
item.sopsign.name=Sop标志战斧
|
||||
item.spawn_duck.name=Golden Egg
|
||||
item.spawn_duck.name=金蛋
|
||||
item.spawn_ufo.name=火星入侵者飞船
|
||||
item.spawn_worm.name=机械蠕虫
|
||||
item.sphere_steel.name=钢球
|
||||
@ -3038,6 +3141,7 @@ item.tank_waste_8.name=泥浆容器
|
||||
item.telepad.name=传送部件
|
||||
item.tem_flakes.name=Tem薄片
|
||||
item.template_folder.name=机器模板文件夹
|
||||
item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板
|
||||
item.test_nuke_igniter.name=点火器
|
||||
item.test_nuke_propellant.name=推进剂
|
||||
item.test_nuke_tier1_bullet.name=铀235弹头[1级]
|
||||
@ -3095,9 +3199,9 @@ item.upgrade_crystallizer.name=采矿激光升级-自动结晶
|
||||
item.upgrade_effect_1.name=一级绿色机器升级
|
||||
item.upgrade_effect_2.name=二级绿色机器升级
|
||||
item.upgrade_effect_3.name=三级绿色机器升级
|
||||
item.upgrade_ejector_1.name=Ejection Speed Upgrade Mk.I
|
||||
item.upgrade_ejector_2.name=Ejection Speed Upgrade Mk.II
|
||||
item.upgrade_ejector_3.name=Ejection Speed Upgrade Mk.III
|
||||
item.upgrade_ejector_1.name=一级弹射速度升级
|
||||
item.upgrade_ejector_2.name=二级弹射速度升级
|
||||
item.upgrade_ejector_3.name=三级弹射速度升级
|
||||
item.upgrade_fortune_1.name=一级紫色机器升级
|
||||
item.upgrade_fortune_2.name=二级紫色机器升级
|
||||
item.upgrade_fortune_3.name=三级紫色机器升级
|
||||
@ -3117,9 +3221,9 @@ item.upgrade_smelter.name=采矿激光升级-自动熔炼
|
||||
item.upgrade_speed_1.name=一级红色机器升级
|
||||
item.upgrade_speed_2.name=二级红色机器升级
|
||||
item.upgrade_speed_3.name=三级红色机器升级
|
||||
item.upgrade_stack_1.name=堆栈弹出升级Mk.I
|
||||
item.upgrade_stack_2.name=堆栈弹出升级Mk.II
|
||||
item.upgrade_stack_3.name=堆栈弹出升级Mk.III
|
||||
item.upgrade_stack_1.name=一级堆栈弹出升级
|
||||
item.upgrade_stack_2.name=二级堆栈弹出升级
|
||||
item.upgrade_stack_3.name=三级堆栈弹出升级
|
||||
item.upgrade_template.name=机器升级模板
|
||||
item.v1.name=V1
|
||||
item.volcanic_pickaxe.name=熔岩镐
|
||||
@ -3159,6 +3263,7 @@ item.waste_thorium.name=枯竭钍燃料
|
||||
item.waste_u235.name=枯竭铀-235燃料
|
||||
item.waste_u233.name=枯竭铀-233燃料
|
||||
item.waste_uranium.name=枯竭铀燃料
|
||||
item.waste_zfb_mox.name=枯竭的ZFB MOX燃料
|
||||
item.watch.name=破旧怀表
|
||||
item.watch.desc=一块蓝色的小怀表$玻璃上有一些裂缝,还有一些碎片不见了$指针定格在了2点34分。
|
||||
item.weapon_bat.name=板球棒
|
||||
@ -3197,7 +3302,7 @@ itemGroup.tabTemplate=HBM 模板
|
||||
itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、nukesteve联合汉化]
|
||||
itemGroup.tabWeapon=HBM 武器和炮塔
|
||||
potion.hbm_bang=! ! !
|
||||
potion.hbm_death=Heavy Mutation
|
||||
potion.hbm_death=重度突变
|
||||
potion.hbm_lead=铅中毒
|
||||
potion.hbm_mutation=变异
|
||||
potion.hbm_phosphorus=磷烧伤
|
||||
@ -3549,6 +3654,7 @@ tile.factory_titanium_hull.name=工厂外壳
|
||||
tile.fallout.name=辐射尘
|
||||
tile.fence_metal.name=铁丝网围栏
|
||||
tile.fire_digamma.name=挥之不去的迪伽马之火
|
||||
tile.fire_door.name=防火门
|
||||
tile.fireworks.name=烟花箱
|
||||
tile.fireworks.charges=已充能: %s
|
||||
tile.fireworks.message=信息: %s
|
||||
@ -3563,6 +3669,10 @@ tile.frozen_dirt.name=冰冻土
|
||||
tile.frozen_grass.name=冰冻草
|
||||
tile.frozen_log.name=冰冻原木
|
||||
tile.frozen_planks.name=冰冻木板
|
||||
tile.furnace_iron.name=铁炉
|
||||
tile.furnace_iron.desc=更大、效率更高的炉子,在闲置时不会浪费燃料。
|
||||
tile.furnace_steel.name=钢炉
|
||||
tile.furnace_steel.desc=非常大的熔炉,冶炼矿石时可提供加成。$这需要外部热源$传热率:ΔT*0.05tu/T$(Δ表示差值,T表示温度)
|
||||
tile.fusion_center.name=中心磁铁
|
||||
tile.fusion_conductor.name=超导磁体
|
||||
tile.fusion_core.name=聚变反应堆控制器
|
||||
@ -3628,6 +3738,10 @@ tile.hadron_power_100m.name=粒子加速器电源接口(100MHE)
|
||||
tile.hadron_power_1g.name=粒子加速器电源接口(1GHE)
|
||||
tile.hadron_power_10g.name=粒子加速器电源接口(10GHE)
|
||||
tile.hazmat.name=防辐射布块
|
||||
tile.heater_firebox.name=燃烧室
|
||||
tile.heater_firebox.desc=燃烧固体燃料以产生热量。
|
||||
tile.heater_oilburner.name=流体燃烧器
|
||||
tile.heater_oilburner.desc=燃烧可燃液体产生热量。
|
||||
tile.hev_battery.name=盔甲电池
|
||||
tile.iter.name=聚变反应堆
|
||||
tile.ladder_aluminium.name=铝制梯子
|
||||
@ -3665,7 +3779,7 @@ tile.machine_boiler_off.name=锅炉
|
||||
tile.machine_boiler_on.name=锅炉
|
||||
tile.machine_catalytic_cracker.name=催化裂化塔
|
||||
tile.machine_centrifuge.name=离心机
|
||||
tile.machine_chemfac.name=Chemical Factory
|
||||
tile.machine_chemfac.name=大型化工厂
|
||||
tile.machine_chemplant.name=化工厂
|
||||
tile.machine_chungus.name=“利维坦”巨型汽轮机
|
||||
tile.machine_coal_off.name=火力发电机
|
||||
@ -3704,6 +3818,7 @@ tile.machine_industrial_generator.name=工业发电机
|
||||
tile.machine_keyforge.name=锁匠桌
|
||||
tile.machine_large_turbine.name=工业汽轮机
|
||||
tile.machine_liquefactor.name=工业液化机
|
||||
tile.machine_liquefactor.desc=强大的通用机器,可将物品转化为液体$配有多功能催化组件、加热元件和用于石化液化的内置水合器。
|
||||
tile.machine_lithium_battery.name=锂蓄电池
|
||||
tile.machine_microwave.name=微波炉
|
||||
tile.machine_mining_laser.name=采矿激光
|
||||
@ -3742,8 +3857,11 @@ tile.machine_silex.name=激光同位素分离室
|
||||
tile.machine_siren.name=警报器
|
||||
tile.machine_solar_boiler.name=太阳能锅炉
|
||||
tile.machine_solidifier.name=工业固化机
|
||||
tile.machine_solidifier.desc=配备冷却系统和其他多功能工具的通用机器,用于使用冷冻和石化聚合等多种工艺将流体转化为固体。
|
||||
tile.machine_spp_bottom.name=ZPE电位发生器 [底部]
|
||||
tile.machine_spp_top.name=ZPE电位发生器 [顶部]
|
||||
tile.machine_stirling.name=斯特林发电机
|
||||
tile.machine_stirling.desc=它将热量转化为能量。这需要外部热源$传热率:T*0.1 TU/T$最大进气量:300 TU/T$效率:50%
|
||||
tile.machine_storage_drum.name=核废料处理桶
|
||||
tile.machine_telelinker.name=炮塔ID管理器
|
||||
tile.machine_teleporter.name=传送机
|
||||
@ -3848,7 +3966,7 @@ tile.ore_niter.name=硝石矿石
|
||||
tile.ore_oil.name=油岩
|
||||
tile.ore_oil_empty.name=空油岩
|
||||
tile.ore_oil_sand.name=沥青砂
|
||||
tile.ore_random.name=%s Ore
|
||||
tile.ore_random.name=%s 矿
|
||||
tile.ore_rare.name=稀土矿石
|
||||
tile.ore_reiium.name=雷恩矿石
|
||||
tile.ore_schrabidium.name=Sa326矿石
|
||||
@ -3870,7 +3988,7 @@ tile.pink_slab.name=粉色木半砖
|
||||
tile.pink_stairs.name=粉色木台阶
|
||||
tile.plant_flower.foxglove.name=毛地黄
|
||||
tile.plant_flower.nightshade.name=致命茄
|
||||
tile.plant_flower.tobacco.name=烟草厂
|
||||
tile.plant_flower.tobacco.name=烟草
|
||||
tile.plant_flower.weed.name=大麻
|
||||
tile.plasma.name=等离子
|
||||
tile.plasma_heater.name=等离子加热器
|
||||
@ -3955,12 +4073,12 @@ tile.schrabidic_block.name=Sa酸
|
||||
tile.seal_controller.name=发射井舱门开关
|
||||
tile.seal_frame.name=发射井舱门框架
|
||||
tile.seal_hatch.name=发射井舱门
|
||||
tile.sellafield_0.name=放射性熔融凝固物
|
||||
tile.sellafield_1.name=高温放射性熔融凝固物
|
||||
tile.sellafield_2.name=沸腾的放射性熔融凝固物
|
||||
tile.sellafield_3.name=灼热的放射性熔融凝固物
|
||||
tile.sellafield_4.name=地狱般的放射性熔融凝固物
|
||||
tile.sellafield_core.name=放射性熔融凝固物核心
|
||||
tile.sellafield.0.name=放射性熔融凝固物
|
||||
tile.sellafield.1.name=高温放射性熔融凝固物
|
||||
tile.sellafield.2.name=沸腾的放射性熔融凝固物
|
||||
tile.sellafield.3.name=灼热的放射性熔融凝固物
|
||||
tile.sellafield.4.name=地狱般的放射性熔融凝固物
|
||||
tile.sellafield.5.name=放射性熔融凝固物核心
|
||||
tile.sellafield_slaked.name=消沉的放射性熔融凝固物
|
||||
tile.semtex.name=塞姆汀塑胶炸药
|
||||
tile.solar_mirror.name=定日镜
|
||||
@ -3993,6 +4111,7 @@ tile.struct_plasma_core.name=等离子加热器核心组件
|
||||
tile.struct_scaffold.name=发射台骨架
|
||||
tile.struct_soyuz_core.name=联盟号发射器核心组件
|
||||
tile.substation.name=变电站
|
||||
tile.sulfuric_acid_block.name=硫酸
|
||||
tile.taint.name=腐质
|
||||
tile.taint_barrel.name=IMP残渣桶
|
||||
tile.tape_recorder.name=录音机
|
||||
@ -4007,6 +4126,7 @@ tile.tile_lab_cracked.name=开裂实验室瓷砖
|
||||
tile.tnt_ntm.name=货真价实的TNT
|
||||
tile.toxic_block.name=绿色软泥
|
||||
tile.transition_seal.name=巨型安全门
|
||||
tile.turret_arty.name=重炮炮塔“格雷格”
|
||||
tile.turret_cheapo.name=奇普-加特林哨兵
|
||||
tile.turret_chekhov.name=重机枪炮塔“契诃夫的枪”
|
||||
tile.turret_cwis.name=Mk-15“密集阵”近防系统
|
||||
@ -4110,6 +4230,16 @@ tool.ability.recursion=连锁挖矿
|
||||
tool.ability.shredder=自动粉碎
|
||||
tool.ability.silktouch=精准采集
|
||||
tool.ability.smelter=自动熔炼
|
||||
turret.animals=Target Passive: %s
|
||||
turret.arty.artillery=§e火炮模式$Grace: 250m$射程: 3,000m
|
||||
turret.arty.cannon=§e炮塔模式$Grace: 32m$射程: 250m
|
||||
turret.arty.manual=§e手动模式$射程: 3,000m
|
||||
turret.machines=以机械为目标: %s
|
||||
turret.mobs=以怪物为目标: %s
|
||||
turret.none=无
|
||||
turret.off=关
|
||||
turret.on=开
|
||||
turret.players=以玩家为目标:%s
|
||||
wavelengths.name.ir=红外线
|
||||
wavelengths.name.visible=可见光
|
||||
wavelengths.name.uv=紫外线
|
||||
@ -4128,6 +4258,14 @@ weapon.ability.radiation=辐射
|
||||
weapon.ability.phosphorus=白磷刀刃
|
||||
weapon.ability.stun=震撼
|
||||
weapon.ability.vampire=吸血
|
||||
weapon.elecGun.modeChange=开火模式更改为:
|
||||
weapon.elecGun.glass_cannon.radio=无线电波
|
||||
weapon.elecGun.glass_cannon.micro=微波
|
||||
weapon.elecGun.glass_cannon.ir=红外线
|
||||
weapon.elecGun.glass_cannon.visible=可见光
|
||||
weapon.elecGun.glass_cannon.uv=紫外线
|
||||
weapon.elecGun.glass_cannon.xray=X射线
|
||||
weapon.elecGun.glass_cannon.gamma=伽马射线
|
||||
hadron.error=错误!
|
||||
container.reactor=增殖反应堆
|
||||
death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁
|
||||
7177
src/main/resources/assets/hbm/models/turrets/turret_himars.obj
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/crane_box.png
Normal file
|
After Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 462 B |
|
After Width: | Height: | Size: 463 B |
|
After Width: | Height: | Size: 426 B |
BIN
src/main/resources/assets/hbm/textures/blocks/crane_side_box.png
Normal file
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 475 B |
|
After Width: | Height: | Size: 483 B |
|
After Width: | Height: | Size: 444 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
@ -7,7 +7,7 @@
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
"credits": "HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms), Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting), UFFR (fork with all sorts of features), Pu-238 (Tom impact effects), Bismarck (chinese localization), Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures, various machines, weapons), Vær (fibrosis, gas centrifuges, ZIRNOX, CP-1 parts, starter guide), Adam29 (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), impbk2002 (project settings), OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (improved satellite loot system), Silly541 (config for safe ME drives), Voxelstice (OpenComputers integration), Pvndols (thorium fuel recipe)",
|
||||
"credits": "HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms), Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting), UFFR (fork with all sorts of features), Pu-238 (Tom impact effects), Bismarck (chinese localization), Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures, various machines, weapons), Vær (fibrosis, gas centrifuges, ZIRNOX, CP-1 parts, starter guide), Adam29 (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon (calculator, chunk-based fallout), haru315 (spiral point algorithm), Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), impbk2002 (project settings), OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (improved satellite loot system), Silly541 (config for safe ME drives), Voxelstice (OpenComputers integration), Pvndols (thorium fuel recipe)",
|
||||
"logoFile": "",
|
||||
"screenshots": [],
|
||||
"dependencies": []
|
||||
|
||||