Compare commits
34 Commits
2821c70e61
...
0cfe88ece5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cfe88ece5 | ||
|
|
acbc25ddff | ||
|
|
c31845422d | ||
|
|
c7e5ecb471 | ||
|
|
b54cc8964e | ||
|
|
afdba66a4e | ||
|
|
5c0bdff858 | ||
|
|
27de80d2dc | ||
|
|
67119a23bd | ||
|
|
e83ba5e9fc | ||
|
|
384e8e469a | ||
|
|
9da8b999fb | ||
|
|
876f329f16 | ||
|
|
c95a9a8890 | ||
|
|
6c91e5a12a | ||
|
|
66e861ad03 | ||
|
|
971d7fc861 | ||
|
|
ee751da75f | ||
|
|
afb1d317f6 | ||
|
|
544130afd8 | ||
|
|
1997b5b9b8 | ||
|
|
0782360665 | ||
|
|
f617e165cf | ||
|
|
7749cf4adf | ||
|
|
fb38aaacf1 | ||
|
|
ad51e83f85 | ||
|
|
a0b9acd011 | ||
|
|
1eaceefaf5 | ||
|
|
d11353b59b | ||
|
|
d15e00b6c9 | ||
|
|
2e496340f6 | ||
|
|
da861f5763 | ||
|
|
cd1455cebc | ||
|
|
34cc10d7a0 |
21
changelog
@ -13,6 +13,13 @@
|
||||
* Additionally, channels can be drilled by right clicking a pile addon device with the hand drill, the addon doesn't need to be removed beforehand
|
||||
* This is mainly for convenience when disassembling and reassembling the reactor, which requires all channels to be drilled again
|
||||
* Piles that overheat will explode, throwing flaming graphite everywhere
|
||||
* Satelllite Ground Station
|
||||
* Can relay RoR commands to connected satellites and satellite info back to RoR
|
||||
* Platemetal
|
||||
* Decorative connected texture metal block
|
||||
* Comes in all colors except brown
|
||||
* NTM poop theory debunked
|
||||
* Make a nice clanking noise when placing and breaking
|
||||
|
||||
## Changed
|
||||
* Updated all oil well GUI textures
|
||||
@ -31,6 +38,17 @@
|
||||
* Reduced the cost for the heavy stirling engine
|
||||
* Removed the satellite interface item for being basically completely useless
|
||||
* Updated the satellite ID manager texture and recipe
|
||||
* Satellite ID chips are now soldered
|
||||
* Overhauled all satellites
|
||||
* Satellites now use one item ID with meta, most satellites now have new textures
|
||||
* Satellites can now be connected to ground stations and controlled with RoR commands
|
||||
* Satellites now have manual pages detailing the commands
|
||||
* The recipes have been updated, they now use mostly common parts and no longer feature the satellite base and heads items which are welded together
|
||||
* Legacy satellites still function and can still be launched
|
||||
* The PWR's coolant levels can now be read with RoR
|
||||
* Soyuz and related assembly recipes now use 25kHE/t instead of just 100
|
||||
* Updated the GUI textures for the refinery, various particle accelerator parts and a few other machines
|
||||
* Glyphid hive blocks now use state-of-the-fart flesh sounds
|
||||
|
||||
## Fixed
|
||||
* Fixed held block being placed when not sneaking when opening the cable diode's GUI
|
||||
@ -40,4 +58,5 @@
|
||||
* Fixed a longstanding issue where the transparent part of beams from tile entity models would often have incorrect render order, sometimes rendering things behind them invisible
|
||||
* This also fixes the same phenomenon for other types of beams, such as those from hitscan laser and tesla weapons
|
||||
* Fixed some issues regarding the new crane structure
|
||||
* Fixed skeletonizer ashes floating over the floor after landing
|
||||
* Fixed skeletonizer ashes floating over the floor after landing
|
||||
* Fixed backface rendering of the capacitor frames when inserted in the battery socket
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=5758
|
||||
mod_build_number=5768
|
||||
|
||||
credits=HbMinecraft,\
|
||||
\ rodolphito (explosion algorithms),\
|
||||
|
||||
@ -14,7 +14,7 @@ public class BlockEnumMulti extends BlockMulti {
|
||||
|
||||
public Class<? extends Enum> theEnum;
|
||||
public boolean multiName;
|
||||
private boolean multiTexture;
|
||||
protected boolean multiTexture;
|
||||
|
||||
public BlockEnumMulti(Material mat, Class<? extends Enum> theEnum, boolean multiName, boolean multiTexture) {
|
||||
super(mat);
|
||||
|
||||
@ -26,7 +26,12 @@ public class BlockEnums {
|
||||
|
||||
public static enum EnumStalagmiteType {
|
||||
SULFUR,
|
||||
ASBESTOS
|
||||
ASBESTOS,
|
||||
ICE,
|
||||
SNOW,
|
||||
GLYPHID1,
|
||||
GLYPHID2,
|
||||
GLYPHID3
|
||||
}
|
||||
|
||||
public static enum EnumCMMaterials {
|
||||
@ -49,15 +54,15 @@ public class BlockEnums {
|
||||
GOLD,
|
||||
SCHRABIDIUM
|
||||
}
|
||||
|
||||
|
||||
/** DECO / STRUCTURE ENUMS */
|
||||
//i apologize in advance
|
||||
|
||||
|
||||
public static enum TileType {
|
||||
LARGE,
|
||||
SMALL
|
||||
}
|
||||
|
||||
|
||||
public static enum LightstoneType {
|
||||
UNREFINED,
|
||||
TILE,
|
||||
@ -65,11 +70,11 @@ public class BlockEnums {
|
||||
BRICKS_CHISELED,
|
||||
CHISELED
|
||||
}
|
||||
|
||||
|
||||
public static enum DecoComputerEnum {
|
||||
IBM_300PL
|
||||
}
|
||||
|
||||
|
||||
public static enum DecoCabinetEnum {
|
||||
GREEN,
|
||||
STEEL
|
||||
@ -81,4 +86,21 @@ public class BlockEnums {
|
||||
HALOGEN
|
||||
}
|
||||
|
||||
public static enum PlatemetalType {
|
||||
BASE,
|
||||
BLACK,
|
||||
WHITE,
|
||||
RED,
|
||||
GREEN,
|
||||
LIGHT_GRAY,
|
||||
BLUE,
|
||||
PURPLE,
|
||||
CYAN,
|
||||
PINK,
|
||||
LIME,
|
||||
YELLOW,
|
||||
LIGHT_BLUE,
|
||||
MAGENTA,
|
||||
ORANGE
|
||||
}
|
||||
}
|
||||
|
||||
@ -255,6 +255,7 @@ public class ModBlocks {
|
||||
public static Block deco_rusty_steel;
|
||||
public static Block deco_lead;
|
||||
public static Block deco_beryllium;
|
||||
public static Block platemetal;
|
||||
public static Block deco_asbestos;
|
||||
public static Block deco_rbmk;
|
||||
public static Block deco_rbmk_smooth;
|
||||
@ -1430,6 +1431,7 @@ public class ModBlocks {
|
||||
deco_rusty_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_rusty_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_rusty_steel");
|
||||
deco_lead = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead");
|
||||
deco_beryllium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium");
|
||||
platemetal = new BlockEnumMultiCT(Material.iron, BlockEnums.PlatemetalType.class, true, true).setBlockName("platemetal").setCreativeTab(MainRegistry.blockTab).setStepSound(ModSoundTypes.platemetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":platemetal");
|
||||
deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).noFortune().setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos");
|
||||
deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top");
|
||||
deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank_top");
|
||||
@ -1642,8 +1644,8 @@ public class ModBlocks {
|
||||
mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush");
|
||||
mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin");
|
||||
mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem");
|
||||
glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base");
|
||||
glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt");
|
||||
glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(ModSoundTypes.flesh).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base");
|
||||
glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(ModSoundTypes.flesh).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt");
|
||||
|
||||
plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
|
||||
plant_tall = new BlockTallPlant().setBlockName("plant_tall").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F);
|
||||
@ -2585,6 +2587,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(deco_rusty_steel, deco_rusty_steel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(platemetal, ItemBlockBlastInfo.class, platemetal.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName());
|
||||
@ -2915,7 +2918,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(red_barrel, ItemBlockLore.class, red_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(pink_barrel, ItemBlockLore.class, pink_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(lox_barrel, ItemBlockLore.class, lox_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(taint_barrel, taint_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(taint_barrel, ItemBlockLore.class, taint_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(yellow_barrel, yellow_barrel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(vitrified_barrel, vitrified_barrel.getUnlocalizedName());
|
||||
|
||||
|
||||
@ -10,4 +10,6 @@ public class ModSoundTypes {
|
||||
if(type == ModSoundType.SubType.BREAK) in -= 0.15F;
|
||||
return in + rand.nextFloat() * 0.2F;
|
||||
});
|
||||
public static final ModSoundType flesh = ModSoundType.placeBreakStep("hbm:block.flesh", "hbm:block.flesh", "hbm:block.flesh", 0.5F, 1.0F);
|
||||
public static final ModSoundType platemetal = ModSoundType.placeBreakStep("hbm:block.platemetalPlace", "hbm:block.platemetalPlace", "hbm:step.platemetal", 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
65
src/main/java/com/hbm/blocks/generic/BlockEnumMultiCT.java
Normal file
@ -0,0 +1,65 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.BlockEnumMulti;
|
||||
import com.hbm.render.block.ct.CT;
|
||||
import com.hbm.render.block.ct.CTStitchReceiver;
|
||||
import com.hbm.render.block.ct.IBlockCT;
|
||||
|
||||
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;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
public class BlockEnumMultiCT extends BlockEnumMulti implements IBlockCT {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public CTStitchReceiver[] receivers;
|
||||
// im planning ts for shi like deco blocks n shit when the time comes
|
||||
public BlockEnumMultiCT(Material mat, Class<? extends Enum> theEnum, boolean multiName, boolean multiTexture)
|
||||
{
|
||||
super(mat, theEnum, multiName, multiTexture);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return CT.renderID;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
if(multiTexture) {
|
||||
Enum[] enums = theEnum.getEnumConstants();
|
||||
this.icons = new IIcon[enums.length];
|
||||
this.receivers = new CTStitchReceiver[enums.length];
|
||||
for(int i = 0; i < icons.length; i++)
|
||||
{
|
||||
Enum num = enums[i];
|
||||
String texName = this.getTextureMultiName(num);
|
||||
this.icons[i] = reg.registerIcon(texName);
|
||||
this.receivers[i] = IBlockCT.primeReceiver(reg, texName, this.icons[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.blockIcon = reg.registerIcon(this.getTextureName());
|
||||
this.receivers = new CTStitchReceiver[1];
|
||||
this.receivers[0] = IBlockCT.primeReceiver(reg, this.getTextureName(), this.blockIcon);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side)
|
||||
{
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
return receivers[meta % receivers.length].fragCache;
|
||||
|
||||
}
|
||||
@Override
|
||||
public boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) {
|
||||
return this == block;
|
||||
}
|
||||
}
|
||||
@ -10,6 +10,7 @@ import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
@ -43,6 +44,8 @@ public class BlockStalagmite extends BlockEnumMulti {
|
||||
switch(meta) {
|
||||
case 0: return ModItems.sulfur;
|
||||
case 1: return ModItems.powder_asbestos;
|
||||
case 2: return ModItems.powder_ice;
|
||||
case 3: return Items.snowball;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@ -17,7 +17,6 @@ import net.minecraft.world.World;
|
||||
|
||||
public class RedBarrel extends BlockDetonatable {
|
||||
|
||||
// Flammable barrels also explode when shot
|
||||
public RedBarrel(Material material, boolean flammable) {
|
||||
super(material, flammable ? 2 : 0, flammable ? 15 : 0, 100, true, flammable);
|
||||
}
|
||||
|
||||
@ -42,6 +42,8 @@ public class StructureConfig {
|
||||
public static int lighthouseSpawnWeight = 4;
|
||||
public static int oilRigSpawnWeight = 5;
|
||||
public static int broadcastingTowerSpawnWeight = 25;
|
||||
public static int waterPumpSpawnWeight = 15;
|
||||
public static int deadDishSmallSpawnWeight = 15;
|
||||
public static int beachedPatrolSpawnWeight = 15;
|
||||
public static int vertibirdSpawnWeight = 6;
|
||||
public static int vertibirdCrashedSpawnWeight = 10;
|
||||
@ -117,6 +119,8 @@ public class StructureConfig {
|
||||
craneSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.39_craneSpawnWeight", "Spawn weight for crane structure.", 20);
|
||||
broadcastingTowerSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.40_broadcastingTowerSpawnWeight", "Spawn weight for broadcasting tower structure.", 25);
|
||||
towerBaseSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.41_towerBaseSpawnWeight", "Spawn weight for tower base.", 30);
|
||||
waterPumpSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.42_waterPumpSpawnWeight", "Spawn weight for water pump structure.", 15);
|
||||
deadDishSmallSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.43_deadDishSmallSpawnWeight", "Spawn weight for dead dish small structure.", 15);
|
||||
|
||||
|
||||
structureMinChunks = CommonConfig.setDef(structureMinChunks, 4);
|
||||
|
||||
@ -20,7 +20,7 @@ public class CentrifugeRecipeHandler extends NEIUniversalHandler {
|
||||
@Override
|
||||
public void loadTransferRects() {
|
||||
super.loadTransferRects();
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(56, 0, 80, 38), "ntmCentrifuge"));
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(63, 7, 80, 38), "ntmCentrifuge"));
|
||||
guiGui.add(GUIMachineCentrifuge.class);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ public class MixerHandler extends NEIUniversalHandler {
|
||||
@Override
|
||||
public void loadTransferRects() {
|
||||
super.loadTransferRects();
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(57, 25, 52, 44), "ntmMixer"));
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(66, 20, 52, 44), "ntmMixer"));
|
||||
guiGui.add(GUIMixer.class);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler implements ICom
|
||||
guiGui = new LinkedList<Class<? extends GuiContainer>>();
|
||||
|
||||
transferRects.add(new RecipeTransferRect(new Rectangle(138 - 1 - 36 - 27, 23, 36, 18), "refinery"));
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(48, 5, 31, 101), "refinery"));
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(34, 34, 14, 34), "refinery"));
|
||||
guiGui.add(GUIMachineRefinery.class);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||
|
||||
@ -15,29 +15,33 @@ import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerCentrifuge extends Container {
|
||||
|
||||
private TileEntityMachineCentrifuge diFurnace;
|
||||
private TileEntityMachineCentrifuge centrifuge;
|
||||
|
||||
public ContainerCentrifuge(InventoryPlayer invPlayer, TileEntityMachineCentrifuge tedf) {
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 36, 50));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 9, 50));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 63, 50));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 3, 83, 50));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 4, 103, 50));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 5, 123, 50));
|
||||
this.addSlotToContainer(new SlotUpgrade(tedf, 6, 149, 22));
|
||||
this.addSlotToContainer(new SlotUpgrade(tedf, 7, 149, 40));
|
||||
this.centrifuge = tedf;
|
||||
|
||||
// Input
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 44, 57));
|
||||
// Battery
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 8, 57));
|
||||
// Outputs
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 70, 57));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 3, 90, 57));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 4, 110, 57));
|
||||
this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 5, 130, 57));
|
||||
// Upgrades
|
||||
this.addSlotToContainer(new SlotUpgrade(tedf, 6, 156, 31));
|
||||
this.addSlotToContainer(new SlotUpgrade(tedf, 7, 156, 49));
|
||||
|
||||
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, 104 + i * 18));
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 11 + j * 18, 107 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 162));
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 11 + i * 18, 165));
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,7 +87,7 @@ public class ContainerCentrifuge extends Container {
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
return centrifuge.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
}
|
||||
@ -19,40 +19,40 @@ public class ContainerMachineRefinery extends Container {
|
||||
testNuke = tedf;
|
||||
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 186, 72));
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 158, 108));
|
||||
//Canister Input
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 8, 99));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 12, 90));
|
||||
//Canister Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 8, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 12, 108));
|
||||
//Heavy Oil Input
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 86, 99));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 64, 90));
|
||||
//Heavy Oil Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 86, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 64, 108));
|
||||
//Naphtha Input
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 106, 99));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 82, 90));
|
||||
//Naphtha Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 106, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 82, 108));
|
||||
//Light Oil Input
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 126, 99));
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 100, 90));
|
||||
//Light Oil Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 126, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 100, 108));
|
||||
//Petroleum Input
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 146, 99));
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 118, 90));
|
||||
//Petroleum Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 146, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 118, 108));
|
||||
//Sulfur Output
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 58, 119));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 38, 90));
|
||||
//Fluid ID
|
||||
this.addSlotToContainer(new Slot(tedf, 12, 186, 106));
|
||||
this.addSlotToContainer(new Slot(tedf, 12, 38, 108));
|
||||
|
||||
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, 150 + i * 18));
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 11 + j * 18, 158 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 208));
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 11 + i * 18, 216));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -18,15 +18,15 @@ public class ContainerMixer extends Container {
|
||||
public ContainerMixer(InventoryPlayer player, TileEntityMachineMixer mixer) {
|
||||
this.mixer = mixer;
|
||||
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(mixer, 0, 23, 77));
|
||||
//Item Input
|
||||
this.addSlotToContainer(new Slot(mixer, 1, 43, 77));
|
||||
//Fluid ID
|
||||
this.addSlotToContainer(new Slot(mixer, 2, 117, 77));
|
||||
//Upgrades
|
||||
this.addSlotToContainer(new Slot(mixer, 3, 137, 24));
|
||||
this.addSlotToContainer(new Slot(mixer, 4, 137, 42));
|
||||
// Battery
|
||||
this.addSlotToContainer(new Slot(mixer, 0, 12, 72));
|
||||
// Item Input
|
||||
this.addSlotToContainer(new Slot(mixer, 1, 52, 72));
|
||||
// Fluid ID
|
||||
this.addSlotToContainer(new Slot(mixer, 2, 126, 72));
|
||||
// Upgrades
|
||||
this.addSlotToContainer(new Slot(mixer, 3, 148, 18));
|
||||
this.addSlotToContainer(new Slot(mixer, 4, 148, 36));
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
|
||||
@ -22,11 +22,11 @@ public class ContainerPASource extends Container {
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(tile, 0, 8, 72));
|
||||
//Inputs
|
||||
this.addSlotToContainer(new Slot(tile, 1, 62, 18));
|
||||
this.addSlotToContainer(new Slot(tile, 2, 80, 18));
|
||||
this.addSlotToContainer(new Slot(tile, 1, 62, 16));
|
||||
this.addSlotToContainer(new Slot(tile, 2, 80, 16));
|
||||
//Containers
|
||||
this.addSlotToContainer(new SlotTakeOnly(tile, 3, 62, 45));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tile, 4, 80, 45));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tile, 3, 62, 43));
|
||||
this.addSlotToContainer(new SlotTakeOnly(tile, 4, 80, 43));
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
|
||||
@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.inventory.container.ContainerCentrifuge;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineCentrifuge;
|
||||
import com.hbm.util.i18n.I18nUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
@ -18,25 +19,32 @@ public class GUIMachineCentrifuge extends GuiInfoContainer {
|
||||
|
||||
public GUIMachineCentrifuge(InventoryPlayer invPlayer, TileEntityMachineCentrifuge tedf) {
|
||||
super(new ContainerCentrifuge(invPlayer, tedf));
|
||||
centrifuge = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 186;
|
||||
this.centrifuge = tedf;
|
||||
this.xSize = 182;
|
||||
this.ySize = 189;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 9, guiTop + 13, 16, 34, centrifuge.power, centrifuge.maxPower);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 37, centrifuge.power, centrifuge.maxPower);
|
||||
|
||||
String[] upgradeText = new String[4];
|
||||
upgradeText[0] = I18nUtil.resolveKey("desc.gui.upgrade");
|
||||
upgradeText[1] = I18nUtil.resolveKey("desc.gui.upgrade.speed");
|
||||
upgradeText[2] = I18nUtil.resolveKey("desc.gui.upgrade.power");
|
||||
upgradeText[3] = I18nUtil.resolveKey("desc.gui.upgrade.overdrive");
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 160, guiTop + 16, 8, 8, mouseX, mouseY, upgradeText);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
//String name = this.centrifuge.hasCustomInventoryName() ? this.centrifuge.getInventoryName() : I18n.format(this.centrifuge.getInventoryName());
|
||||
String name = this.centrifuge.hasCustomInventoryName() ? this.centrifuge.getInventoryName() : I18n.format(this.centrifuge.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);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 + 36 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 11, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -46,8 +54,8 @@ public class GUIMachineCentrifuge extends GuiInfoContainer {
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
if(centrifuge.hasPower()) {
|
||||
int i1 = (int) centrifuge.getPowerRemainingScaled(35);
|
||||
drawTexturedModalRect(guiLeft + 9, guiTop + 48 - i1, 176, 35 - i1, 16, i1);
|
||||
int i1 = (int) centrifuge.getPowerRemainingScaled(37);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 55 - i1, 182, 37 - i1, 16, i1);
|
||||
}
|
||||
|
||||
if(centrifuge.isProcessing()) {
|
||||
@ -55,11 +63,13 @@ public class GUIMachineCentrifuge extends GuiInfoContainer {
|
||||
|
||||
for(int i = 0; i < 4; i++) {
|
||||
int h = Math.min(p, 36);
|
||||
drawTexturedModalRect(guiLeft + 65 + i * 20, guiTop + 50 - h, 176, 71 - h, 12, h);
|
||||
drawTexturedModalRect(guiLeft + 72 + i * 20, guiTop + 57 - h, 182, 73 - h, 12, h);
|
||||
p -= h;
|
||||
if(p <= 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
this.drawInfoPanel(guiLeft + 160, guiTop + 16, 8, 8, 8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,53 +26,47 @@ public class GUIMachineRefinery extends GuiInfoContainer {
|
||||
super(new ContainerMachineRefinery(invPlayer, tedf));
|
||||
refinery = tedf;
|
||||
|
||||
this.xSize = 210;
|
||||
this.ySize = 231;
|
||||
this.xSize = 182;
|
||||
this.ySize = 240;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 30, guiTop + 27, 21, 104); // Render tooltip for column.
|
||||
refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 86, guiTop + 42, 16, 52);
|
||||
refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 106, guiTop + 42, 16, 52);
|
||||
refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 126, guiTop + 42, 16, 52);
|
||||
refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 146, guiTop + 42, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 186, guiTop + 18, 16, 52, refinery.power, refinery.maxPower);
|
||||
refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 12, guiTop + 17, 16, 70); // Render tooltip for column.
|
||||
refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 64, guiTop + 35, 16, 52);
|
||||
refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 82, guiTop + 35, 16, 52);
|
||||
refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 100, guiTop + 35, 16, 52);
|
||||
refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 118, guiTop + 35, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 158, guiTop + 18, 16, 88, refinery.power, refinery.maxPower);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - 34/2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 4, 4210752);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - 36 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 11, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
func_146110_a(guiLeft, guiTop, 0, 0, xSize, ySize, 350, 256);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
// power
|
||||
int j = (int)refinery.getPowerScaled(50);
|
||||
func_146110_a(guiLeft + 186, guiTop + 69 - j, 210, 52 - j, 16, j, 350, 256);
|
||||
int j = (int)refinery.getPowerScaled(88);
|
||||
drawTexturedModalRect(guiLeft + 158, guiTop + 106 - j, 182, 88 - j, 16, j);
|
||||
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0); // default
|
||||
|
||||
// input tank
|
||||
FluidTank inputOil = refinery.tanks[0];
|
||||
if (inputOil.getFill() != 0) {
|
||||
|
||||
int targetHeight = inputOil.getFill() * 101 / inputOil.getMaxFill();
|
||||
Color color = new Color(inputOil.getTankType().getColor());
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
|
||||
func_146110_a(guiLeft + 33, guiTop + 130 - targetHeight, 226, 101 - targetHeight, 16, targetHeight, 350, 256);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
refinery.tanks[0].renderTank(guiLeft + 12, guiTop + 88, this.zLevel, 16, 70);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
}
|
||||
|
||||
// fucking kgjhgdfjgdhjfg
|
||||
@ -84,10 +78,10 @@ public class GUIMachineRefinery extends GuiInfoContainer {
|
||||
RefineryRecipe recipe = RefineryRecipes.getRefinery(inputOil.getTankType());
|
||||
|
||||
if(recipe == null) {
|
||||
func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256);
|
||||
func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256);
|
||||
func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256);
|
||||
func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 30, 0, 248, 43, 4, 256, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 26, 0, 240, 61, 8, 256, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 22, 61, 240, 79, 12, 256, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 18, 140, 240, 97, 16, 256, 256);
|
||||
} else {
|
||||
|
||||
// Heavy Oil Products
|
||||
@ -95,31 +89,31 @@ public class GUIMachineRefinery extends GuiInfoContainer {
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
|
||||
func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 30, 0, 248, 43, 4, 256, 256);
|
||||
|
||||
// Naphtha Oil Products
|
||||
color = new Color(recipe.outputs[1].type.getColor());
|
||||
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
|
||||
func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 26, 0, 240, 61, 8, 256, 256);
|
||||
|
||||
// Light Oil Products
|
||||
color = new Color(recipe.outputs[2].type.getColor());
|
||||
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
|
||||
func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 22, 61, 240, 79, 12, 256, 256);
|
||||
|
||||
// Gaseous Products
|
||||
color = new Color(recipe.outputs[3].type.getColor());
|
||||
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
|
||||
func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256);
|
||||
func_146110_a(guiLeft + 30, guiTop + 18, 140, 240, 97, 16, 256, 256);
|
||||
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glColor4f(1F, 1F, 1F, 1F);
|
||||
}
|
||||
|
||||
// output tanks
|
||||
refinery.tanks[1].renderTank(guiLeft + 86, guiTop + 95, this.zLevel, 16, 52);
|
||||
refinery.tanks[2].renderTank(guiLeft + 106, guiTop + 95, this.zLevel, 16, 52);
|
||||
refinery.tanks[3].renderTank(guiLeft + 126, guiTop + 95, this.zLevel, 16, 52);
|
||||
refinery.tanks[4].renderTank(guiLeft + 146, guiTop + 95, this.zLevel, 16, 52);
|
||||
refinery.tanks[1].renderTank(guiLeft + 64, guiTop + 88, this.zLevel, 16, 52);
|
||||
refinery.tanks[2].renderTank(guiLeft + 82, guiTop + 88, this.zLevel, 16, 52);
|
||||
refinery.tanks[3].renderTank(guiLeft + 100, guiTop + 88, this.zLevel, 16, 52);
|
||||
refinery.tanks[4].renderTank(guiLeft + 118, guiTop + 88, this.zLevel, 16, 52);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toserver.NBTControlPacket;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMixer;
|
||||
import com.hbm.util.i18n.I18nUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
@ -28,8 +29,8 @@ public class GUIMixer extends GuiInfoContainer {
|
||||
|
||||
public GUIMixer(InventoryPlayer player, TileEntityMachineMixer mixer) {
|
||||
super(new ContainerMixer(player, mixer));
|
||||
this.mixer = mixer;
|
||||
|
||||
this.mixer = mixer;
|
||||
this.xSize = 176;
|
||||
this.ySize = 204;
|
||||
}
|
||||
@ -38,7 +39,14 @@ public class GUIMixer extends GuiInfoContainer {
|
||||
public void drawScreen(int x, int y, float interp) {
|
||||
super.drawScreen(x, y, interp);
|
||||
|
||||
this.drawElectricityInfo(this, x, y, guiLeft + 23, guiTop + 23, 16, 52, mixer.getPower(), mixer.getMaxPower());
|
||||
this.drawElectricityInfo(this, x, y, guiLeft + 12, guiTop + 18, 16, 52, mixer.getPower(), mixer.getMaxPower());
|
||||
|
||||
String[] upgradeText = new String[4];
|
||||
upgradeText[0] = I18nUtil.resolveKey("desc.gui.upgrade");
|
||||
upgradeText[1] = I18nUtil.resolveKey("desc.gui.upgrade.speed");
|
||||
upgradeText[2] = I18nUtil.resolveKey("desc.gui.upgrade.power");
|
||||
upgradeText[3] = I18nUtil.resolveKey("desc.gui.upgrade.overdrive");
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 152, guiTop + 55, 8, 8, x, y, upgradeText);
|
||||
|
||||
MixerRecipe[] recipes = MixerRecipes.getOutput(mixer.tanks[2].getTankType());
|
||||
|
||||
@ -50,19 +58,19 @@ public class GUIMixer extends GuiInfoContainer {
|
||||
if(recipe.input2 != null) label.add("-" + recipe.input2.type.getLocalizedName());
|
||||
if(recipe.solidInput != null) label.add("-" + recipe.solidInput.extractForCyclingDisplay(20).getDisplayName());
|
||||
label.add(EnumChatFormatting.RED + "Click to change!");
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 62, guiTop + 22, 12, 12, x, y, label);
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 71, guiTop + 17, 12, 12, x, y, label);
|
||||
}
|
||||
|
||||
mixer.tanks[0].renderTankInfo(this, x, y, guiLeft + 43, guiTop + 23, 7, 52);
|
||||
mixer.tanks[1].renderTankInfo(this, x, y, guiLeft + 52, guiTop + 23, 7, 52);
|
||||
mixer.tanks[2].renderTankInfo(this, x, y, guiLeft + 117, guiTop + 23, 16, 52);
|
||||
mixer.tanks[0].renderTankInfo(this, x, y, guiLeft + 52, guiTop + 18, 7, 52);
|
||||
mixer.tanks[1].renderTankInfo(this, x, y, guiLeft + 61, guiTop + 18, 7, 52);
|
||||
mixer.tanks[2].renderTankInfo(this, x, y, guiLeft + 126, guiTop + 18, 16, 52);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 62 <= x && guiLeft + 62 + 12 > x && guiTop + 22 < y && guiTop + 22 + 12 >= y) {
|
||||
if(guiLeft + 71 <= x && guiLeft + 71 + 12 > x && guiTop + 17 < y && guiTop + 17 + 12 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
@ -73,9 +81,9 @@ public class GUIMixer extends GuiInfoContainer {
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
|
||||
String name = this.mixer.hasCustomInventoryName() ? this.mixer.getInventoryName() : I18n.format(this.mixer.getInventoryName());
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 + 40 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@ -85,16 +93,18 @@ public class GUIMixer extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = (int) (mixer.getPower() * 53 / mixer.getMaxPower());
|
||||
drawTexturedModalRect(guiLeft + 23, guiTop + 75 - i, 176, 52 - i, 16, i);
|
||||
int i = (int) (mixer.getPower() * 52 / mixer.getMaxPower());
|
||||
drawTexturedModalRect(guiLeft + 12, guiTop + 70 - i, 176, 52 - i, 16, i);
|
||||
|
||||
if(mixer.processTime > 0 && mixer.progress > 0) {
|
||||
int j = mixer.progress * 53 / mixer.processTime;
|
||||
drawTexturedModalRect(guiLeft + 62, guiTop + 36, 192, 0, j, 44);
|
||||
int j = mixer.progress * 52 / mixer.processTime;
|
||||
drawTexturedModalRect(guiLeft + 71, guiTop + 31, 192, 0, j, 44);
|
||||
}
|
||||
|
||||
mixer.tanks[0].renderTank(guiLeft + 43, guiTop + 75, this.zLevel, 7, 52);
|
||||
mixer.tanks[1].renderTank(guiLeft + 52, guiTop + 75, this.zLevel, 7, 52);
|
||||
mixer.tanks[2].renderTank(guiLeft + 117, guiTop + 75, this.zLevel, 16, 52);
|
||||
mixer.tanks[0].renderTank(guiLeft + 52, guiTop + 70, this.zLevel, 7, 52);
|
||||
mixer.tanks[1].renderTank(guiLeft + 61, guiTop + 70, this.zLevel, 7, 52);
|
||||
mixer.tanks[2].renderTank(guiLeft + 126, guiTop + 70, this.zLevel, 16, 52);
|
||||
|
||||
this.drawInfoPanel(guiLeft + 152, guiTop + 55, 8, 8, 8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ public class GUIPADetector extends GuiInfoContainer {
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
|
||||
String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName());
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 8, 5, 0xffffff);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
|
||||
this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752);
|
||||
@ -57,8 +57,8 @@ public class GUIPADetector extends GuiInfoContainer {
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 184, 52 - j, 16, j);
|
||||
|
||||
int heat = (int) Math.ceil(source.temperature);
|
||||
if(heat <= 123) drawTexturedModalRect(guiLeft + 44, guiTop + 18, 176, 8, 8, 8);
|
||||
if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 44, guiTop + 43, 176, 8, 8, 8);
|
||||
if(heat <= 123) drawTexturedModalRect(guiLeft + 43, guiTop + 18, 176, 8, 8, 8);
|
||||
if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 43, guiTop + 43, 176, 8, 8, 8);
|
||||
|
||||
source.coolantTanks[0].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52);
|
||||
source.coolantTanks[1].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 52);
|
||||
|
||||
@ -4,8 +4,10 @@ import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerPAQuadrupole;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemPACoil.EnumCoilType;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.albion.TileEntityPAQuadrupole;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
@ -39,7 +41,7 @@ public class GUIPAQuadrupole extends GuiInfoContainer {
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
|
||||
String name = this.quadrupole.hasCustomInventoryName() ? this.quadrupole.getInventoryName() : I18n.format(this.quadrupole.getInventoryName());
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 0xffffff);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
|
||||
this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 118, 22, 4210752);
|
||||
@ -59,9 +61,16 @@ public class GUIPAQuadrupole extends GuiInfoContainer {
|
||||
|
||||
int heat = (int) Math.ceil(quadrupole.temperature);
|
||||
if(heat <= 123) drawTexturedModalRect(guiLeft + 75, guiTop + 64, 176, 8, 8, 8);
|
||||
if(quadrupole.slots[1] != null && quadrupole.slots[1].getItem() == ModItems.pa_coil) drawTexturedModalRect(guiLeft + 85, guiTop + 64, 176, 8, 8, 8);
|
||||
if(quadrupole.slots[1] != null && quadrupole.slots[1].getItem() == ModItems.pa_coil){
|
||||
drawTexturedModalRect(guiLeft + 85, guiTop + 64, 176, 8, 8, 8);
|
||||
EnumCoilType type = null;
|
||||
type = EnumUtil.grabEnumSafely(EnumCoilType.class, quadrupole.slots[1].getItemDamage());
|
||||
if (type == EnumCoilType.GOLD) drawTexturedModalRect(guiLeft + 65, guiTop + 30, 200, 0, 28, 28);
|
||||
if (type == EnumCoilType.NIOBIUM) drawTexturedModalRect(guiLeft + 65, guiTop + 30, 228, 0, 28, 28);
|
||||
if (type == EnumCoilType.BSCCO) drawTexturedModalRect(guiLeft + 65, guiTop + 30, 200, 28, 28, 28);
|
||||
if (type == EnumCoilType.CHLOROPHYTE) drawTexturedModalRect(guiLeft + 65, guiTop + 30, 228, 28, 28, 28);
|
||||
}
|
||||
if(quadrupole.power >= quadrupole.usage) drawTexturedModalRect(guiLeft + 65, guiTop + 64, 176, 8, 8, 8);
|
||||
|
||||
quadrupole.coolantTanks[0].renderTank(guiLeft + 116, guiTop + 88, this.zLevel, 16, 52);
|
||||
quadrupole.coolantTanks[1].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52);
|
||||
}
|
||||
|
||||
@ -46,15 +46,15 @@ public class GUIPASource extends GuiInfoContainer {
|
||||
info.add(EnumChatFormatting.BLUE + "Last momentum: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", source.lastSpeed));
|
||||
String[] message = I18nUtil.resolveKeyArray("pa." + this.source.state.name().toLowerCase(Locale.US) + ".desc");
|
||||
for(String s : message) info.add(EnumChatFormatting.YELLOW + s);
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 18, 10, 10, mouseX, mouseY, info);
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 30, 10, 10, mouseX, mouseY, EnumChatFormatting.RED + "Cancel operation");
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 16, 10, 10, mouseX, mouseY, info);
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 28, 10, 10, mouseX, mouseY, EnumChatFormatting.RED + "Cancel operation");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 105 <= x && guiLeft + 105 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) {
|
||||
if(guiLeft + 105 <= x && guiLeft + 105 + 10 > x && guiTop + 28 < y && guiTop + 28 + 10 >= y) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("cancel", true);
|
||||
@ -66,7 +66,7 @@ public class GUIPASource extends GuiInfoContainer {
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
|
||||
String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName());
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 0xffffff);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
|
||||
this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752);
|
||||
@ -88,8 +88,8 @@ public class GUIPASource extends GuiInfoContainer {
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 184, 52 - j, 16, j);
|
||||
|
||||
int heat = (int) Math.ceil(source.temperature);
|
||||
if(heat <= 123) drawTexturedModalRect(guiLeft + 44, guiTop + 18, 176, 8, 8, 8);
|
||||
if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 44, guiTop + 43, 176, 8, 8, 8);
|
||||
if(heat <= 123) drawTexturedModalRect(guiLeft + 44, guiTop + 16, 176, 8, 8, 8);
|
||||
if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 44, guiTop + 41, 176, 8, 8, 8);
|
||||
|
||||
int color = source.state.color;
|
||||
float red = (color & 0xff0000) >> 16;
|
||||
|
||||
@ -32,6 +32,7 @@ import com.hbm.items.machine.ItemDrillbit.EnumDrillType;
|
||||
import com.hbm.items.machine.ItemPACoil.EnumCoilType;
|
||||
import com.hbm.items.machine.ItemPileRodMK2.EnumPileRod;
|
||||
import com.hbm.items.machine.ItemPistons.EnumPistonType;
|
||||
import com.hbm.items.special.ItemSatellite.EnumSatType;
|
||||
import com.hbm.items.weapon.ItemAmmoHIMARS;
|
||||
import com.hbm.items.weapon.grenade.ItemGrenadeFuze.EnumGrenadeFuze;
|
||||
import com.hbm.items.weapon.grenade.ItemGrenadeShell.EnumGrenadeShell;
|
||||
@ -942,13 +943,13 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
.inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4_000)));
|
||||
|
||||
// space
|
||||
this.register(new GenericRecipe("ass.soyuzcore").setup(1_200, 100).outputItems(new ItemStack(ModBlocks.struct_soyuz_core, 1))
|
||||
this.register(new GenericRecipe("ass.soyuzcore").setup(1_200, 25_000).outputItems(new ItemStack(ModBlocks.struct_soyuz_core, 1))
|
||||
.inputItems(new OreDictStack(STEEL.plateWelded(), 16),
|
||||
new ComparableStack(ModItems.upgrade_speed_3),
|
||||
new ComparableStack(ModItems.upgrade_power_3),
|
||||
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CONTROLLER),
|
||||
new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.BATTERY_LITHIUM)).setPools(GenericRecipes.POOL_PREFIX_DISCOVER + "soyuz"));
|
||||
this.register(new GenericRecipe("ass.soyuz").setup(6_000, 100).outputItems(new ItemStack(ModItems.missile_soyuz, 1))
|
||||
this.register(new GenericRecipe("ass.soyuz").setup(6_000, 25_000).outputItems(new ItemStack(ModItems.missile_soyuz, 1))
|
||||
.inputItems(new OreDictStack(TI.shell(), 32),
|
||||
new OreDictStack(RUBBER.ingot(), 64),
|
||||
new ComparableStack(ModItems.rocket_fuel, 64),
|
||||
@ -956,7 +957,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
new ComparableStack(ModItems.thruster_medium, 12),
|
||||
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CONTROLLER),
|
||||
new ComparableStack(ModItems.part_generic, 32, EnumPartType.LDE)).setPools(GenericRecipes.POOL_PREFIX_DISCOVER + "soyuz"));
|
||||
this.register(new GenericRecipe("ass.lander").setup(2_400, 100).outputItems(new ItemStack(ModItems.missile_soyuz_lander, 1))
|
||||
this.register(new GenericRecipe("ass.lander").setup(2_400, 25_000).outputItems(new ItemStack(ModItems.missile_soyuz_lander, 1))
|
||||
.inputItems(new OreDictStack(AL.shell(), 4),
|
||||
new OreDictStack(RUBBER.ingot(), 16),
|
||||
new ComparableStack(ModItems.rocket_fuel, 16),
|
||||
@ -964,6 +965,69 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER_ADVANCED),
|
||||
new ComparableStack(ModItems.part_generic, 12, EnumPartType.LDE)).setPools(GenericRecipes.POOL_PREFIX_DISCOVER + "soyuz"));
|
||||
|
||||
this.register(new GenericRecipe("ass.spysat").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.SPY.ordinal()))
|
||||
.inputItems(new OreDictStack(AL.shell(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 32),
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC),
|
||||
new ComparableStack(ModItems.part_generic, 8, EnumPartType.GLASS_POLARIZED),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER)));
|
||||
this.register(new GenericRecipe("ass.scansat").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.SCANNER.ordinal()))
|
||||
.inputItems(new OreDictStack(AL.shell(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 32),
|
||||
new OreDictStack(GOLD.wireDense(), 32),
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER)));
|
||||
this.register(new GenericRecipe("ass.radarsat").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.RADAR.ordinal()))
|
||||
.inputItems(new OreDictStack(GOLD.plateCast(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 32),
|
||||
new ComparableStack(ModItems.magnetron, 32),
|
||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID),
|
||||
new ComparableStack(ModItems.part_generic, 4, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER)));
|
||||
this.register(new GenericRecipe("ass.astrominer").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.MINER_ASTRO.ordinal()))
|
||||
.inputItems(new OreDictStack(BIGMT.plateCast(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 8),
|
||||
new ComparableStack(ModItems.thruster_medium, 1),
|
||||
new ComparableStack(ModItems.motor_bismuth, 4),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER_ADVANCED)));
|
||||
this.register(new GenericRecipe("ass.lunarminer").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.MINER_LUNAR.ordinal()))
|
||||
.inputItems(new OreDictStack(BIGMT.plateCast(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 8),
|
||||
new ComparableStack(ModItems.thruster_medium, 1),
|
||||
new ComparableStack(ModItems.motor_bismuth, 4),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER_ADVANCED)));
|
||||
this.register(new GenericRecipe("ass.orbitallaser").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.PRECISION_LASER.ordinal()))
|
||||
.inputItems(new OreDictStack(WEAPONSTEEL.shell(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 32),
|
||||
new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.CAPACITOR_TANTALUM),
|
||||
new ComparableStack(ModItems.crystal_redstone, 16),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER_ADVANCED)));
|
||||
this.register(new GenericRecipe("ass.deathray").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.DEATH_RAY.ordinal()))
|
||||
.inputItems(new OreDictStack(WEAPONSTEEL.shell(), 32),
|
||||
new OreDictStack(PURG.billet(), 32),
|
||||
new ComparableStack(ModItems.battery_pack, 1, EnumBatteryPack.CAPACITOR_BISMUTH),
|
||||
new OreDictStack(EMERALD.gem(), 32),
|
||||
new ComparableStack(ModItems.part_generic, 16, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 5, EnumCircuitType.CONTROLLER_ADVANCED)));
|
||||
this.register(new GenericRecipe("ass.xenrelay").setup(1_200, 25_000).outputItems(new ItemStack(ModItems.satellite, 1, EnumSatType.XENIUM_RESONATOR.ordinal()))
|
||||
.inputItems(new OreDictStack(GOLD.plateCast(), 16),
|
||||
new ComparableStack(ModItems.photo_panel, 32),
|
||||
new ComparableStack(ModItems.crystal_xen, 1),
|
||||
new ComparableStack(ModItems.circuit, 24, EnumCircuitType.BISMOID),
|
||||
new ComparableStack(ModItems.part_generic, 4, EnumPartType.LDE),
|
||||
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED)));
|
||||
|
||||
this.register(new GenericRecipe("ass.satlink").setup(100, 1_000).outputItems(new ItemStack(ModBlocks.machine_satlink))
|
||||
.inputItems(new ComparableStack(ModBlocks.steel_scaffold, 16),
|
||||
new OreDictStack(AL.plate(), 16),
|
||||
new ComparableStack(ModItems.magnetron, 3),
|
||||
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER)));
|
||||
|
||||
this.register(new GenericRecipe("ass.nitra").setupNamed(200, 500)
|
||||
.inputItems(new ComparableStack(ModItems.nitra))
|
||||
.setIconToFirstIngredient()
|
||||
|
||||
@ -178,6 +178,7 @@ public class AnvilRecipes extends SerializableRecipe {
|
||||
new AStack[] {new ComparableStack(Blocks.stonebrick, 16), new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(IRON.ingot(), 8), new OreDictStack(CU.ingot(), 8)},
|
||||
new AnvilOutput(new ItemStack(ModBlocks.machine_annihilator))).setTier(2));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(IRON.plate(), 1), new AnvilOutput(new ItemStack(ModBlocks.platemetal, 4, 0))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
|
||||
@ -658,6 +659,7 @@ public class AnvilRecipes extends SerializableRecipe {
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1))}).setTier(1));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1))}).setTier(1));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1))}).setTier(1));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.platemetal, 4, 0), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.plate_iron, 1))}).setTier(1));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new ComparableStack(ModBlocks.heater_firebox),
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
package com.hbm.items;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public interface IItemControlReceiver {
|
||||
|
||||
public void receiveControl(ItemStack stack, NBTTagCompound data);
|
||||
public void receiveControl(EntityPlayer player, ItemStack stack, NBTTagCompound data);
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ public class ItemFluidIDMulti extends Item implements IItemFluidIdentifier, IIte
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(ItemStack stack, NBTTagCompound data) {
|
||||
public void receiveControl(EntityPlayer player, ItemStack stack, NBTTagCompound data) {
|
||||
if(data.hasKey("primary")) {
|
||||
setType(stack, Fluids.fromID(data.getInteger("primary")), true);
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ public class ItemRTTYPager extends Item implements IItemControlReceiver, IGUIPro
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(ItemStack stack, NBTTagCompound data) {
|
||||
public void receiveControl(EntityPlayer player, ItemStack stack, NBTTagCompound data) {
|
||||
if(data.hasKey("chan")) {
|
||||
if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound();
|
||||
stack.stackTagCompound.setString(KEY_CHANNEL, data.getString(KEY_CHANNEL));
|
||||
|
||||
@ -53,7 +53,8 @@ public class ItemSatInterface extends ItemSatChip implements IGUIProvider, IItem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(ItemStack stack, NBTTagCompound data) {
|
||||
|
||||
public void receiveControl(EntityPlayer player, ItemStack stack, NBTTagCompound data) {
|
||||
SatelliteBase sat = SatelliteSavedData.getData(player.worldObj).getSatFromFreq(this.getFreq(stack));
|
||||
if(sat != null) sat.onCoordAction(player.worldObj, player, data.getInteger("x"), data.hasKey("y") ? data.getInteger("y") : -1, data.getInteger("z"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -534,7 +534,7 @@ public class ItemToolAbility extends ItemTool implements IDepthRockTool, IGUIPro
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(ItemStack stack, NBTTagCompound data) {
|
||||
public void receiveControl(EntityPlayer player, ItemStack stack, NBTTagCompound data) {
|
||||
Configuration config = new Configuration();
|
||||
config.readFromNBT(data);
|
||||
config.restrictTo(availableAbilities);
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (5758)";
|
||||
public static final String VERSION = "1.0.27 BETA (5768)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.main;
|
||||
|
||||
import com.hbm.blocks.BlockEnums.DecoCabinetEnum;
|
||||
import com.hbm.blocks.BlockEnums.LightstoneType;
|
||||
import com.hbm.blocks.BlockEnums.PlatemetalType;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockAbsorber.EnumAbsorberTier;
|
||||
import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType;
|
||||
@ -391,6 +392,13 @@ public class CraftingManager {
|
||||
addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored_ext, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
|
||||
String[] plateDyes = { "Black", "White", "Red", "Green", "LightGray", "Blue", "Purple", "Cyan", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange" };
|
||||
for(int i = 0; i < 14; i++) {
|
||||
String dyeName = "dye" + plateDyes[i];
|
||||
addRecipeAuto(new ItemStack(ModBlocks.platemetal, 8, i + 1), new Object[] { "PPP", "PDP", "PPP", 'P', new ItemStack(ModBlocks.platemetal, 1, PlatemetalType.BASE.ordinal()), 'D', dyeName });
|
||||
}
|
||||
addShapelessAuto(new ItemStack(ModBlocks.platemetal, 1, PlatemetalType.BASE.ordinal()), new Object[] { new ItemStack(ModBlocks.platemetal, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_GRAY });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE_STRIPE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_BLACK });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.INDIGO.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BLUE, '2', KEY_PURPLE });
|
||||
|
||||
@ -60,6 +60,8 @@ public class StructureManager {
|
||||
public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt"));
|
||||
public static final NBTStructure lighthouse = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/lighthouse.nbt"));
|
||||
public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt"));
|
||||
public static final NBTStructure water_pump = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/water_pump.nbt"));
|
||||
public static final NBTStructure dead_dish_small = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dead_dish_small.nbt"));
|
||||
public static final NBTStructure desert_shack_1 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_1.nbt"));
|
||||
public static final NBTStructure desert_shack_2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_2.nbt"));
|
||||
public static final NBTStructure desert_shack_3 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_3.nbt"));
|
||||
|
||||
@ -65,7 +65,7 @@ public class NBTItemControlPacket implements IMessage {
|
||||
ItemStack held = p.getHeldItem();
|
||||
|
||||
if(held != null && held.getItem() instanceof IItemControlReceiver) {
|
||||
((IItemControlReceiver) held.getItem()).receiveControl(held, nbt);
|
||||
((IItemControlReceiver) held.getItem()).receiveControl(p, held, nbt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -43,6 +43,8 @@ public class RenderOrbitalLaser extends Render {
|
||||
tessellator.draw();
|
||||
}
|
||||
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
|
||||
for(int i = 0; i < 8; i++) {
|
||||
tessellator.startDrawing(6);
|
||||
tessellator.addVertex(vector.xCoord / 2, 250.0D, vector.zCoord / 2);
|
||||
|
||||
@ -21,7 +21,7 @@ public class RenderSatLink extends TileEntitySpecialRenderer implements IItemRen
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
TileEntityMachineSatLink link = (TileEntityMachineSatLink) tile;
|
||||
|
||||
@ -103,7 +103,7 @@ public class SatelliteRadar extends SatelliteBase {
|
||||
|
||||
public Entity getTargetFromIndex(String cmd) {
|
||||
if(filteredRadarResults.size() <= 0) return null;
|
||||
int index = IRORInteractive.parseInt(cmd, 0, filteredRadarResults.size());
|
||||
int index = IRORInteractive.parseInt(cmd, 0, filteredRadarResults.size()) - 1;
|
||||
Entity target = filteredRadarResults.get(index);
|
||||
if(target.isDead) return null;
|
||||
return target;
|
||||
|
||||
@ -16,7 +16,9 @@ public class SatelliteResonator extends SatelliteBase {
|
||||
|
||||
world.playSoundEffect(player.posX, player.posY, player.posZ, "mob.endermen.portal", 1.0F, 1.0F);
|
||||
player.mountEntity(null);
|
||||
((EntityPlayerMP)player).playerNetServerHandler.setPlayerLocation(x + 0.5D, y, z + 0.5D, player.rotationYaw, player.rotationPitch);
|
||||
world.getChunkFromChunkCoords(x >> 4, z >> 4);
|
||||
if(y < 0) y = world.getHeightValue(x, z);
|
||||
((EntityPlayerMP) player).playerNetServerHandler.setPlayerLocation(x + 0.5D, y, z + 0.5D, player.rotationYaw, player.rotationPitch);
|
||||
world.playSoundEffect(player.posX, player.posY, player.posZ, "mob.endermen.portal", 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
public class TileEntityMachineSatLink extends TileEntityTickingBase implements IRORValueProvider, IRORInteractive {
|
||||
@ -73,6 +74,18 @@ public class TileEntityMachineSatLink extends TileEntityTickingBase implements I
|
||||
this.freq = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
this.freq = nbt.getInteger("freq");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setInteger("power", freq);
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@Override
|
||||
|
||||
@ -117,6 +117,12 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
spawnWeight = StructureConfig.dishSpawnWeight;
|
||||
}});
|
||||
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("water_pump") {{
|
||||
canSpawn = biome -> BiomeDictionary.isBiomeOfType(biome, Type.PLAINS) || BiomeDictionary.isBiomeOfType(biome, Type.SWAMP);
|
||||
structure = new JigsawPiece("water_pump", StructureManager.water_pump, -10);
|
||||
spawnWeight = StructureConfig.waterPumpSpawnWeight;
|
||||
}});
|
||||
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("forestchem") {{
|
||||
canSpawn = biome -> biome.heightVariation <= 0.3F && !isWaterBiome(biome);
|
||||
structure = new JigsawPiece("forest_chem", StructureManager.forest_chem, -9);
|
||||
@ -191,6 +197,12 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
spawnWeight = StructureConfig.desertShack3SpawnWeight;
|
||||
}});
|
||||
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("dead_dish_small") {{
|
||||
canSpawn = biome -> BiomeDictionary.isBiomeOfType(biome, Type.SANDY);
|
||||
structure = new JigsawPiece("dead_dish_small", StructureManager.dead_dish_small, -5);
|
||||
spawnWeight = StructureConfig.deadDishSmallSpawnWeight;
|
||||
}});
|
||||
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruinA") {{
|
||||
canSpawn = biome -> !isWaterBiome(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsA", StructureManager.ntmruinsA, -1) {{conformToTerrain = true;}};
|
||||
|
||||
@ -5382,6 +5382,21 @@ tile.crystal_virus.name=Dark Crystal
|
||||
tile.deco_aluminium.name=Aluminium Deco Block
|
||||
tile.deco_asbestos.name=Asbestos Roof
|
||||
tile.deco_beryllium.name=Beryllium Deco Block
|
||||
tile.platemetal.base.name=Platemetal Block
|
||||
tile.platemetal.black.name=Black Platemetal Block
|
||||
tile.platemetal.white.name=White Platemetal Block
|
||||
tile.platemetal.red.name=Red Platemetal Block
|
||||
tile.platemetal.green.name=Green Platemetal Block
|
||||
tile.platemetal.light_gray.name=Light Gray Platemetal Block
|
||||
tile.platemetal.blue.name=Blue Platemetal Block
|
||||
tile.platemetal.purple.name=Purple Platemetal Block
|
||||
tile.platemetal.cyan.name=Cyan Platemetal Block
|
||||
tile.platemetal.pink.name=Pink Platemetal Block
|
||||
tile.platemetal.lime.name=Lime Platemetal Block
|
||||
tile.platemetal.yellow.name=Yellow Platemetal Block
|
||||
tile.platemetal.light_blue.name=Light Blue Platemetal Block
|
||||
tile.platemetal.magenta.name=Magenta Platemetal Block
|
||||
tile.platemetal.orange.name=Orange Platemetal Block
|
||||
tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL
|
||||
tile.deco_crt.name=Old CRT Screen
|
||||
tile.deco_emitter.name=Deco Light Emitter
|
||||
@ -6296,8 +6311,18 @@ tile.spotlight_fluoro.name=Fluorescent Light
|
||||
tile.spotlight_halogen.name=Halogen Floodlight
|
||||
tile.stalactite.asbestos.name=Asbestos Stalactite
|
||||
tile.stalactite.sulfur.name=Sulfurous Stalactite
|
||||
tile.stalactite.ice.name=Icy Stalactite
|
||||
tile.stalactite.snow.name=Snowy Stalactite
|
||||
tile.stalactite.glyphid1.name=Glyphid Stalactite
|
||||
tile.stalactite.glyphid2.name=Bloated Glyphid Stalactite
|
||||
tile.stalactite.glyphid3.name=Putrid Glyphid Stalactite
|
||||
tile.stalagmite.asbestos.name=Asbestos Stalagmite
|
||||
tile.stalagmite.sulfur.name=Sulfurous Stalagmite
|
||||
tile.stalagmite.ice.name=Icy Stalagmite
|
||||
tile.stalagmite.snow.name=Snowy Stalagmite
|
||||
tile.stalagmite.glyphid1.name=Glyphid Stalagmite
|
||||
tile.stalagmite.glyphid2.name=Bloated Glyphid Stalagmite
|
||||
tile.stalagmite.glyphid3.name=Putrid Glyphid Stalagmite
|
||||
tile.steel_beam.name=Steel Beam
|
||||
tile.steel_corner.name=Steel Wall Corner
|
||||
tile.steel_grate.name=Steel Grate
|
||||
|
||||
@ -192,6 +192,7 @@ ass.nitra=Амуниция из нитры
|
||||
autoswitch=Часть группы автоматического переключения "%s"$Рецепта изменяется в зависимости от первого ингредиента
|
||||
autoswitch.cyclotron=Коробки пыли Циклотрон
|
||||
autoswitch.pile=Переработка стержней Чикагской поленницы
|
||||
autoswitch.pilerod=Стержни Чикагской поленницы
|
||||
autoswitch.plate=Переработка топливных пластин
|
||||
autoswitch.plates=Металические пластины
|
||||
autoswitch.pwr=Переработка стержней ВВЭР
|
||||
@ -666,7 +667,7 @@ container.factoryTitanium=Базовая фабрика
|
||||
container.fluidtank=Цистерна
|
||||
container.fileCabinet=Картотечный шкафчик
|
||||
container.forceField=Излучатель силового поля
|
||||
container.frackingTower=Башня гидроразрыва пласта
|
||||
container.frackingTower=Б.Г.П.
|
||||
container.furnaceBrick=Кирпичная печь
|
||||
container.furnaceCombination=Коксовая печь
|
||||
container.furnaceIron=Железная печь
|
||||
@ -749,7 +750,7 @@ container.nukePrototype=Прототип
|
||||
container.nukeSolinium=Синий Ополаскиватель
|
||||
container.nukeTsar=Царь-бомба
|
||||
container.oilWell=Нефтяная вышка
|
||||
container.orbus=Тяжёлый магнитный контейнер для антиматерии
|
||||
container.orbus=Тяжёлый магнитный контейнер
|
||||
container.paDetector=Детектор частиц
|
||||
container.paDipole=Диполь
|
||||
container.paQuadrupole=Квадруполь
|
||||
@ -1872,7 +1873,7 @@ item.battery_sc.pu238.name=Самозарядная батарейка (Плут
|
||||
item.battery_sc.ra226.name=Самозарядная батарейка (Радий-226)
|
||||
item.battery_sc.tc99.name=Самозарядная батарейка (Технеций-99)
|
||||
item.battery_sc.waste.name=Самозарядная батарейка (Ядерные отходы)
|
||||
item.battery_sc.desc=Радиовольтаический устройства не подходят для$аккумуляторных разъемов! Выходная мощность может$быть нестабильной, и может возникнуть опасное$искрение!
|
||||
item.battery_sc.desc=Радиовольтаические устройства не подходят для$аккумуляторных разъемов! Выходная мощность может$быть нестабильной, и может возникнуть опасное$искрение!
|
||||
item.battery_spark.name=Спарк-батарея
|
||||
item.battery_su.name=Одноразовая батарейка
|
||||
item.battery_su_l.name=Большая одноразовая батарейка
|
||||
@ -2355,6 +2356,7 @@ item.cobalt_pickaxe.name=Кобальтовая кирка
|
||||
item.cobalt_plate.name=Кобальтовый нагрудник
|
||||
item.cobalt_shovel.name=Кобальтовая лопата
|
||||
item.cobalt_sword.name=Кобальтовый меч
|
||||
item.coal_eternal.name=Вечный уголь
|
||||
item.coffee.name=Кофе
|
||||
item.coffee_radium.name=Кофе с радием
|
||||
item.coil_advanced_alloy.name=Сверхпроводящая катушка
|
||||
@ -2479,8 +2481,8 @@ item.designator_arty_range.name=Артиллерийский целеуказа
|
||||
item.designator_manual.name=Ручной целеуказатель
|
||||
item.designator_range.name=Целеуказатель дальнего действия
|
||||
item.detonator.name=Детонатор
|
||||
item.detonator_de.name=Взрывчатка смертинка
|
||||
item.detonator_deadman.name=Детонатор смертинка
|
||||
item.detonator_de.name=Взрывчатка смертника
|
||||
item.detonator_deadman.name=Детонатор смертника
|
||||
item.detonator_laser.name=Лазерный детонатор
|
||||
item.detonator_multi.name=Мульти-детонатор
|
||||
item.deuterium_filter.name=Дейтериевый фильтр
|
||||
@ -3628,20 +3630,20 @@ item.pellet_rtg_weak.name=РИТЭГ-пеллета (Слабый уран)
|
||||
item.pellet_rtg_weak.desc=Более дешёвая и слабая пеллета, теперь с большим количеством U238!
|
||||
item.pellet_schrabidium.name=Чистая шрабидиевая Ватцз-пеллета
|
||||
item.photo_panel.name=Фотоэлектрическая панель
|
||||
item.pile_rod_boron.name=Контрольный стержень "Чикагской поленницы"
|
||||
item.pile_rod_boron.desc=§9[Поглотитель нейтронов]$§eПКМ, чтобы переключить
|
||||
item.pile_rod_detector.name=Регулирующий и детектирующий стержень "Чикагской поленницы"
|
||||
item.pile_rod_detector.desc=§9[Детектор/поглотитель нейтронов]$§eПКМ дефьюзером, чтобы увеличить/уменьшить лимит нейтронов$§eПКМ отвёрткой без шифта, чтобы проверить поток
|
||||
item.pile_rod_lithium.name=Литиевая ячейка "Чикагской поленницы"
|
||||
item.pile_rod_lithium.desc=§a[Топливо-размножитель]$§eПКМ ручной дрелью, чтобы проверить ядро ячейки
|
||||
item.pile_rod_plutonium.name=Плутониевый стержень "Чикагской поленницы"
|
||||
item.pile_rod_plutonium.desc=§d[Источник нейтронов]
|
||||
item.pile_rod_pu239.name=Урановый стержень-размножитель "Чикагской поленницы"
|
||||
item.pile_rod_pu239.desc=§a[Активное топливо]$§eБогато плутонием-239.
|
||||
item.pile_rod_source.name=Радий-226-Бериллевый источник нейтронов "Чикагской поленницы"
|
||||
item.pile_rod_source.desc=§d[Источник нейтронов]
|
||||
item.pile_rod_uranium.name=Урановый стержень "Чикагской поленницы"
|
||||
item.pile_rod_uranium.desc=§a[Активное топливо]$§eПКМ ручной дрелью, чтобы взять образец ядра стержня
|
||||
item.pile_rod.nu.name=Топливный стержень Чикагской поленницы (Природный уран)
|
||||
item.pile_rod.nu.desc=Базовая сырьевая мишень для наработки плутония-239.
|
||||
item.pile_rod.po210be.name=Стержень с источником нейтронов Чикагской поленницы (Полоний-210-бериллий)
|
||||
item.pile_rod.po210be.desc=Продвинутый полоний-бериллиевый источник нейтронов для запуска реакции в реакторе.
|
||||
item.pile_rod.pu239.name=Топливный стержень Чикагской поленницы (Плутоний-239)
|
||||
item.pile_rod.pu239.desc=Плутоний, полученный из природного урана. Можно облучать дальше для получения реакторного плутония.
|
||||
item.pile_rod.ra226be.name=Стержень с источником нейтронов Чикагской поленницы (Радий-226-бериллий)
|
||||
item.pile_rod.ra226be.desc=Базовый радий-бериллиевый источник нейтронов для запуска реакции в реакторе.
|
||||
item.pile_rod.rgp.name=Топливный стержень Чикагской поленницы (Реакторный плутоний)
|
||||
item.pile_rod.rgp.desc=Стержень реакторного плутония. Состоит преимущественно из плутония-239 с примесями плутония-240.
|
||||
item.pile_rod.waste.name=Топливный стержень Чикагской поленницы (Ядерные отходы)
|
||||
item.pile_rod.waste.desc=Опасный конечный продукт, получаемый при сильном передерживании стержня в активной зоне.
|
||||
item.pile_rod.zr.name=Технологический стержень Чикагской поленницы (Цирконий)
|
||||
item.pile_rod.zr.desc=Инертный циркониевый стержень, пропускающий нейтроны. Применяется для безопасного выталкивания других стержней.
|
||||
item.pill_iodine.name=Таблетка йода
|
||||
item.pill_iodine.desc=Убирает негативные эффекты
|
||||
item.pill_herbal.name=Травяная паста
|
||||
@ -3894,7 +3896,7 @@ item.radaway.name=Антирадин
|
||||
item.radaway_flush.name=Супер-антирадин
|
||||
item.radaway_strong.name=Усиленный антирадин
|
||||
item.radx.name=Рад-X
|
||||
item.radx.desc=Даёт повышенное сопративление радиации на 0,2 (37%%) в течение 3-х минут.
|
||||
item.radx.desc=Даёт повышенное сопротивление радиации на 0,2 (37%%) в течение 3-х минут.
|
||||
item.rag.name=Тряпка
|
||||
item.rag.desc=Бросьте в воду, чтобы намочить.$Нажмите ПКМ, чтобы помочиться на тряпку.
|
||||
item.rag_damp.name=Влажная тряпка
|
||||
@ -4183,26 +4185,20 @@ item.rune_isa.name=Охлаждающая каталитическая матр
|
||||
item.rune_jera.name=Мультипликативная каталитическая матрица
|
||||
item.rune_thurisaz.name=Аддитивная каталитическая матрица
|
||||
item.safety_fuse.name=Фитиль
|
||||
item.sat_base.name=Основа спутника
|
||||
item.sat_chip.name=Спутниковый ID-чип
|
||||
item.sat_coord.name=Спутниковый целеуказатель
|
||||
item.sat_designator.name=Спутниковый лазерный целеуказатель
|
||||
item.sat_relay.name=Спутниковый радарный передатчик
|
||||
item.sat_foeq.name=ВСАП-МК.I зонд “FOEQ Duna” с экспериментальным ядерным двигателем
|
||||
item.sat_gerald.name=Геральд Строительный Андроид
|
||||
item.sat_head_laser.name=Луч смерти
|
||||
item.sat_head_mapper.name=Оптическая камера с высоким коэффициентом усиления
|
||||
item.sat_head_radar.name=Радар
|
||||
item.sat_head_resonator.name=Зен-резонатор
|
||||
item.sat_head_scanner.name=Сканер M700
|
||||
item.sat_interface.name=Интерфейс спутникового управления
|
||||
item.sat_laser.name=Орбитальный Луч Смерти
|
||||
item.sat_lunar_miner.name=Модуль для добычи лунного грунта
|
||||
item.sat_mapper.name=Спутник для картографирования поверхности
|
||||
item.sat_miner.name=Модуль для добычи астероидов
|
||||
item.sat_radar.name=Спутник с радиолокационным зондированием
|
||||
item.sat_resonator.name=Спутник с Зен-Резонатором
|
||||
item.sat_scanner.name=Спутник с модулем глубинно-ресурсного сканирования
|
||||
item.satellite.death_ray.name=Орбитальный луч Смерти
|
||||
item.satellite.miner_astro.name=Астероидный шахтёрный корабль
|
||||
item.satellite.miner_lunar.name=Лунный шахтёрный корабль
|
||||
item.satellite.precision_laser.name=Орбитальный прецизионный лазер
|
||||
item.satellite.radar.name=Спутник Радиолокационный
|
||||
item.satellite.relay.name=Спутник Ретрансляционный
|
||||
item.satellite.scanner.name=Спутник глубинного сканирования
|
||||
item.satellite.spy.name=Спутник шпион
|
||||
item.satellite.xenium_resonator.name=Спутник с Зен-Резонатором
|
||||
|
||||
item.sawblade.name=Лезвие пилорамы
|
||||
item.schnitzel_vegan.name=Вегетарианский шницель
|
||||
@ -4842,7 +4838,7 @@ tile.barbed_wire_fire.name=Пылающая колючая проволока
|
||||
tile.barbed_wire_poison.name=Отравленная колючая проволока
|
||||
tile.barbed_wire_ultradeath.name=Радиоактивная колючая проволока
|
||||
tile.barbed_wire_wither.name=Иссушающая колючая проволока
|
||||
tile.barrel_antimatter.name=Магнитный контейнер для антиматерии
|
||||
tile.barrel_antimatter.name=Магнитный контейнер
|
||||
tile.barrel_corroded.name=Проржавевшая бочка
|
||||
tile.barrel_iron.name=Железная бочка
|
||||
tile.barrel_plastic.name=Безопасный бочонок™
|
||||
@ -4897,14 +4893,6 @@ tile.block_fluorite.name=Флюоритовый блок
|
||||
tile.block_foam.name=Пена
|
||||
tile.block_insulator.name=Рулон изолятора
|
||||
tile.block_graphite.name=Блок графита
|
||||
tile.block_graphite_detector.name=Детектор нейтронов поленницы
|
||||
tile.block_graphite_drilled.name=Просверлённый графит
|
||||
tile.block_graphite_fuel.name=Топливо поленницы
|
||||
tile.block_graphite_lithium.name=Литиевое топливо поленницы
|
||||
tile.block_graphite_plutonium.name=Куча топлива (Переработанное)
|
||||
tile.block_graphite_rod.name=Контрольный стержень поленницы
|
||||
tile.block_graphite_source.name=Источник нейтронов поленницы
|
||||
tile.block_graphite_tritium.name=Литиевое топливо поленницы (Переработанное)
|
||||
tile.block_lead.name=Свинцовый блок
|
||||
tile.block_lanthanium.name=Блок лантания
|
||||
tile.block_lithium.name=Литиевый блок
|
||||
@ -4994,6 +4982,7 @@ tile.brick_dungeon_flat.name=Берцелианит
|
||||
tile.brick_dungeon_tile.name=Берцелианитовая плитка
|
||||
tile.brick_fire.name=Шамотные кирпичи
|
||||
tile.brick_fire_stairs.name=Ступеньки из шамотных кирпичей
|
||||
tile.brick_forgotten.name=Блок
|
||||
tile.brick_jungle.name=Энаргитовые кирпичи
|
||||
tile.brick_jungle_circle.name=Круг Механиста
|
||||
tile.brick_jungle_cracked.name=Потресканные энаргитовые кирпичи
|
||||
@ -5170,6 +5159,21 @@ tile.crystal_virus.name=Тёмный кристалл
|
||||
tile.deco_aluminium.name=Алюминиевый декоративный блок
|
||||
tile.deco_asbestos.name=Асбестовая крыша
|
||||
tile.deco_beryllium.name=Бериллиевый декоративный блок
|
||||
tile.platemetal.base.name=Блок из листового металла (Обычный)
|
||||
tile.platemetal.black.name=Блок из листового металла (Чёрный)
|
||||
tile.platemetal.white.name=Блок из листового металла (Белый)
|
||||
tile.platemetal.red.name=Блок из листового металла (Красный)
|
||||
tile.platemetal.green.name=Блок из листового металла (Зелёный)
|
||||
tile.platemetal.light_gray.name=Блок из листового металла (Светло-серый)
|
||||
tile.platemetal.blue.name=Блок из листового металла (Синий)
|
||||
tile.platemetal.purple.name=Блок из листового металла (Фиолетовый)
|
||||
tile.platemetal.cyan.name=Блок из листового металла (Голубой)
|
||||
tile.platemetal.pink.name=Блок из листового металла (Розовый)
|
||||
tile.platemetal.lime.name=Блок из листового металла (Лаймовый)
|
||||
tile.platemetal.yellow.name=Блок из листового металла (Желтый)
|
||||
tile.platemetal.light_blue.name=Блок из листового металла (Светло-голубой)
|
||||
tile.platemetal.magenta.name=Блок из листового металла (Пурпурный)
|
||||
tile.platemetal.orange.name=Блок из листового металла (Оранжевый)
|
||||
tile.deco_computer.ibm_300pl.name=Персональный компьютер IBM 300PL
|
||||
tile.deco_crt.name=Старый ЭЛТ-экран
|
||||
tile.deco_emitter.name=Декоративный источник света
|
||||
@ -5560,7 +5564,7 @@ tile.machine_mining_laser.name=Шахтёрский лазер
|
||||
tile.machine_minirtg.name=Радиоизотопная ячейка
|
||||
tile.machine_missile_assembly.name=Ракетосборочная станция
|
||||
tile.machine_mixer.name=Промышленный миксер
|
||||
tile.machine_orbus.name=Тяжёлый магнитный контейнер для антиматерии
|
||||
tile.machine_orbus.name=Тяжёлый магнитный контейнер
|
||||
tile.machine_ore_slopper.name=Переработчик бедроковой руды
|
||||
tile.machine_powerrtg.name=ПТ-изотопная ячейка
|
||||
tile.machine_precass.name=Прецизионный сборщик
|
||||
@ -5587,6 +5591,7 @@ tile.machine_rtg_orange.name=Сильный RT генератор
|
||||
tile.machine_rtg_purple.name=Генератор аннигиляции антиматерии
|
||||
tile.machine_rtg_red.name=Фульминационный генератор
|
||||
tile.machine_rtg_yellow.name=Австралиевый супертопливный генератор
|
||||
tile.machine_satlink.name=Наземная станция спутника
|
||||
tile.machine_satlinker.name=Менеджер ID спутников
|
||||
tile.machine_sawmill.name=Лесопилка на генераторе Стирлинга
|
||||
tile.machine_sawmill.desc=Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Мин. потребление: 100 TU/t, Макс. потребление intake: 300 TU/t
|
||||
@ -5772,6 +5777,11 @@ tile.pa_source.name=Источник частиц (Ускоритель част
|
||||
tile.pa_source.desc=Требует охлаждения!$Использует два предмета, чтобы создать частицу.
|
||||
tile.part_emitter.name=Декоративный источник частиц
|
||||
tile.pedestal.name=Пьедестал
|
||||
tile.pile_block.name=Чикагская поленница
|
||||
tile.pile_brick.name=Графитовые блоки Чикагской поленницы
|
||||
tile.pile_device.control.name=Регулирующие стержни Чикагской поленницы
|
||||
tile.pile_device.loader.name=Загрузчик топлива Чикагской поленницы
|
||||
tile.pile_device.vent.name=Вентель Чикагской поленницы
|
||||
tile.pink_barrel.name=Керосиновая бочка
|
||||
tile.pink_log.name=Розовое дерево
|
||||
tile.pink_planks.name=Розовые доски
|
||||
@ -5985,12 +5995,13 @@ tile.red_cable_paintable.name=Окрашиваемый провод из кра
|
||||
tile.red_cable_paintable.desc=Нажмите ПКМ с твердым блоком, чтобы установить краску$Краску можно убрать отвёрткой$Текстуру порта можно отключить устройством разминированием$Краску можно скопировать инструментом копирования
|
||||
tile.red_connector.name=Электрический коннектор
|
||||
tile.red_connector_super.name=Мощный электрический коннектор
|
||||
tile.red_pylon.name=Малый электрический столб
|
||||
tile.red_pylon_large.name=ЛЭП
|
||||
tile.red_pylon_medium_steel.name=Средний стальной электрический столб
|
||||
tile.red_pylon_medium_steel_transformer.name=Средний стальной электрический столб с трансформатором
|
||||
tile.red_pylon_medium_wood.name=Средний деревянный электрический столб
|
||||
tile.red_pylon_medium_wood_transformer.name=Средний деревянный электрический столб с трансформатором
|
||||
tile.red_pylon.name=Малая опора ЛЭП (Деревянная)
|
||||
tile.red_pylon_steel.name=Малая опора ЛЭП (Стальная)
|
||||
tile.red_pylon_large.name=Большая опора ЛЭП
|
||||
tile.red_pylon_medium_steel.name=Средния опора ЛЭП (Стальная)
|
||||
tile.red_pylon_medium_steel_transformer.name=Средния опора ЛЭП с трансформатором (Стальная)
|
||||
tile.red_pylon_medium_wood.name=Средния опора ЛЭП (Деревянная)
|
||||
tile.red_pylon_medium_wood_transformer.name=Средния опора ЛЭП с трансформатором (Деревянная)
|
||||
tile.red_wire_coated.name=Медный кабель с покрытием
|
||||
tile.refueler.name=Заправочная станция
|
||||
tile.reinforced_brick.name=Усиленный бетон
|
||||
@ -6054,8 +6065,18 @@ tile.spotlight_fluoro.name=Флюоресцентная лампа
|
||||
tile.spotlight_halogen.name=Галогенный прожектор
|
||||
tile.stalactite.asbestos.name=Асбестовый сталактит
|
||||
tile.stalactite.sulfur.name=Сернистый сталактит
|
||||
tile.stalactite.ice.name=Ледяной сталактит
|
||||
tile.stalactite.snow.name=Снежный сталактит
|
||||
tile.stalactite.glyphid1.name=Глифидный сталактит
|
||||
tile.stalactite.glyphid2.name=Зараженный глифидный сталактит
|
||||
tile.stalactite.glyphid3.name=Облученный глифидный сталактит
|
||||
tile.stalagmite.asbestos.name=Асбестовый сталагмит
|
||||
tile.stalagmite.sulfur.name=Сернистый сталагмит
|
||||
tile.stalagmite.ice.name=Ледяной сталагмит
|
||||
tile.stalagmite.snow.name=Снежный сталагмит
|
||||
tile.stalagmite.glyphid1.name=Глифидный сталагмит
|
||||
tile.stalagmite.glyphid2.name=Зараженный глифидный сталагмит
|
||||
tile.stalagmite.glyphid3.name=Облученный глифидный сталагмит
|
||||
tile.steel_beam.name=Стальная балка
|
||||
tile.steel_corner.name=Стальной угол
|
||||
tile.steel_grate.name=Стальная решётка
|
||||
@ -6178,6 +6199,57 @@ tile.round_airlock_door.name=Круглый шлюз
|
||||
tile.secure_access_door.name=Дверь с изолированным доступом
|
||||
tile.sliding_seal_door.name=Раздвижная герметичная дверь
|
||||
|
||||
hbmfluid.trait.antimatter=Антиматерия
|
||||
hbmfluid.trait.boilable=Подлежит кипению
|
||||
hbmfluid.trait.burned=При сгорании
|
||||
hbmfluid.trait.combustible=Горючее
|
||||
hbmfluid.trait.coolable=Охлаждаемость
|
||||
hbmfluid.trait.coolantICF=Охлаждение ICF
|
||||
hbmfluid.trait.coolantPA=Охлаждение Ускорителя частиц
|
||||
hbmfluid.trait.coolantPWR=Охлаждение ВВЭР
|
||||
hbmfluid.trait.corrosive=Коррозийное
|
||||
hbmfluid.trait.corrosiveStrong=Высококоррозийное
|
||||
hbmfluid.trait.delicious=Питательное
|
||||
hbmfluid.trait.efficiency=Эффективность
|
||||
hbmfluid.trait.flammable=Воспламеняемое
|
||||
hbmfluid.trait.fuel.aviation=Авиационное
|
||||
hbmfluid.trait.fuel.gaseous=Газообразное
|
||||
hbmfluid.trait.fuel.high=Высокое
|
||||
hbmfluid.trait.fuel.low=Низкое
|
||||
hbmfluid.trait.fuel.medium=Среднее
|
||||
hbmfluid.trait.fuelGrade=Качество топлива
|
||||
hbmfluid.trait.gaseous=Газообразное
|
||||
hbmfluid.trait.gaseousRoom=Газообразное при комн. температуре
|
||||
hbmfluid.trait.glyphidPheromones=Феромоны глифидов
|
||||
hbmfluid.trait.hazmat=Требуется костюм химзащиты
|
||||
hbmfluid.trait.heatable=Нагреваемое
|
||||
hbmfluid.trait.leadContainer=Требует защищённый контейнер
|
||||
hbmfluid.trait.liquid=Жидкое
|
||||
hbmfluid.trait.modifiedPheromones=Модифицированные феромоны
|
||||
hbmfluid.trait.perBucket=за ведро
|
||||
hbmfluid.trait.perDamage=Урон в секунду
|
||||
hbmfluid.trait.perMB=за мБ
|
||||
hbmfluid.trait.perTU=TU на
|
||||
hbmfluid.trait.polluting=Загрязняющее
|
||||
hbmfluid.trait.provides=Вырабатывает
|
||||
hbmfluid.trait.pwrFluxCore=Поток в активной зоне
|
||||
hbmfluid.trait.pwrFluxMultiplier=Множитель потока ВВЭР
|
||||
hbmfluid.trait.radioactive=Радиоактивное
|
||||
hbmfluid.trait.spilled=При проливании
|
||||
hbmfluid.trait.steam=Паровая турбина
|
||||
hbmfluid.trait.thermalCapacity=Теплоёмкость
|
||||
hbmfluid.trait.toxin=Токсин
|
||||
hbmfluid.trait.unsiphonable=Игнорируется сифоном
|
||||
hbmfluid.trait.viscous=Вязкое
|
||||
|
||||
pollution.soot=Сажа
|
||||
pollution.poison=Яд
|
||||
pollution.heavymetal=Тяжёлые металлы
|
||||
|
||||
pollution.trait.soot=САЖИ
|
||||
pollution.trait.poison=ЯДА
|
||||
pollution.trait.heavymetal=ТЯЖЁЛЫХ МЕТАЛЛОВ
|
||||
|
||||
trait.asbestos=Содержит асбест
|
||||
trait.blinding=Ослепление
|
||||
trait.coal=Угольная пыль
|
||||
@ -6311,4 +6383,4 @@ desc.gui.upgrade.overdrive= * §7Перегруз§r: Стакается до 3-
|
||||
desc.gui.upgrade.power= * §1Энергосбережение§r: Стакается до 3-х уровней
|
||||
desc.gui.upgrade.speed= * §4Скорость§r: Стакается до 3-х уровней
|
||||
|
||||
// Last updated 22.05.2026 by RayzerHan //
|
||||
// Last updated 25.07.2026 by RayzerHan //
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Petroleum Gas",
|
||||
"icon": ["hbm:item.fluid_icon", 1, 24],
|
||||
"trigger": [["hbm:item.fluid_icon", 1, 24]],
|
||||
"title": {
|
||||
"en_US": "Petroleum Gas"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Obtained after [[refining|Oil Refinery]] [[heated|Boiler]] crude oil. Petroleum gas is the main ingredient in [[polymer|Polymer]], [[bakelite|Bakelite]], and [[perfluoromethyl|Perfluoromethyl]] making it a key ingredient for progression in all stages of the game. It is also the primary fluid used in [[fracking solution|Fracking Solution]].<br><br>See also:<br>[[Basic Oil Processing]]<br>[[Advanced Oil Processing]]<br>[[Vacuum Oil Processing]]"
|
||||
}
|
||||
}
|
||||
@ -3,10 +3,11 @@
|
||||
"icon": ["hbm:tile.pile_brick", 1, 0],
|
||||
"trigger": [["hbm:tile.pile_brick"]],
|
||||
"title": {
|
||||
"en_US": "Chicago Pile"
|
||||
"en_US": "Chicago Pile",
|
||||
"ru_RU": "Чикагская поленница"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The Chcago Pile is a low-tech low-power reactor used for breeding nuclear material, mainly turning [[uranium|Uranium]] into [[plutonium-239|Plutonium-239]]. Due to its simplicity, operating it either requires manual intervention or some form of external operation with [[Redstone over Radio]].<br><br>The pile is constructed out of a box of Chicago Pile graphite bricks at least 5x5x5 blocks in size, and at most 15x15x15 blocks. The box does not need to be a perfect cube, so shapes like 5x7x9 are valid, so long as the box is filled. Using a hand drill, the pile is assembled, with the drilled block acting as the core.<br><br>To prepare the Chicago Pile for use, channels need to be drilled, again with a hand drill. The function of the channel depends on the orientation relative to the core. Using the hand drill again on the input side of an existing channel will close the channel again. Channels cannot intersect one another.<br><br>Fuel channels are channels that follow the core's orientation, i.e. either the input or output side is on the same face as the core's panel. Fuel channels can be loaded with Chicago Pile fuel rods using a [[fuel loader|Chicago Pile Fuel Loader]]. The amount of fuel that fits into any given channel depends on its length, with one block of channel being able to hold one fuel rod.<br><br>Ventilation channels are channels which are perpendicular to the core's orientation and therefore also to the fuel channels. Ventilation channels cool down fuel channels which touch (but not intersect) them if compressed air is supplied at a pressure of 1 PU via a [[vent|Chicago Pile Vent]]. Passive cooling in the Chicago Pile is quite low, so while technically optional, vents are basically mandatory for every Pile in practice.<br><br>Channels drilled from the top are for [[control rods|Chicago Pile Control Rod]]. Control rods are used to reduce the interactiion between fuel channels in larger Pile setups, although smaller setups are usually fine without control rods. Still, throttling the reactor can be useful when cycling fuel, since the window for extracting pure plutonium-239 is quite small.<br><>br>If the Pile is disassembled, channels can be drilled again without having to remove all the attachments like fuel loaders and vents, simply shift-click the attachment with the hand drill and a channel will be drilled into the Pile behind it.<br><br>See also:<br>* [[Chicago Pile Operation]]"
|
||||
"en_US": "The Chicago Pile is a low-tech low-power reactor used for breeding nuclear material, mainly turning [[uranium|Uranium]] into [[plutonium-239|Plutonium-239]]. Due to its simplicity, operating it either requires manual intervention or some form of external operation with [[Redstone over Radio]].<br><br>The pile is constructed out of a box of Chicago Pile graphite bricks at least 5x5x5 blocks in size, and at most 15x15x15 blocks. The box does not need to be a perfect cube, so shapes like 5x7x9 are valid, so long as the box is filled. Using a hand drill, the pile is assembled, with the drilled block acting as the core.<br><br>To prepare the Chicago Pile for use, channels need to be drilled, again with a hand drill. The function of the channel depends on the orientation relative to the core. Using the hand drill again on the input side of an existing channel will close the channel again. Channels cannot intersect one another.<br><br>Fuel channels are channels that follow the core's orientation, i.e. either the input or output side is on the same face as the core's panel. Fuel channels can be loaded with Chicago Pile fuel rods using a [[fuel loader|Chicago Pile Fuel Loader]]. The amount of fuel that fits into any given channel depends on its length, with one block of channel being able to hold one fuel rod.<br><br>Ventilation channels are channels which are perpendicular to the core's orientation and therefore also to the fuel channels. Ventilation channels cool down fuel channels which touch (but not intersect) them if compressed air is supplied at a pressure of 1 PU via a [[vent|Chicago Pile Vent]]. Passive cooling in the Chicago Pile is quite low, so while technically optional, vents are basically mandatory for every Pile in practice.<br><br>Channels drilled from the top are for [[control rods|Chicago Pile Control Rod]]. Control rods are used to reduce the interactiion between fuel channels in larger Pile setups, although smaller setups are usually fine without control rods. Still, throttling the reactor can be useful when cycling fuel, since the window for extracting pure plutonium-239 is quite small.<br><>br>If the Pile is disassembled, channels can be drilled again without having to remove all the attachments like fuel loaders and vents, simply shift-click the attachment with the hand drill and a channel will be drilled into the Pile behind it.<br><br>See also:<br>* [[Chicago Pile Operation]]",
|
||||
"ru_RU": "Чикагская поленница — это низкотехнологичный реактор малой мощности, используемый для наработки ядерных материалов, в основном для превращения [[урана|Uranium]] в [[плутоний-239|Plutonium-239]]. Из-за своей простоты работа с ним требует либо ручного вмешательства, либо некоторой формы внешнего управления с помощью [[редстоун-по-радио|Redstone over Radio]].<br><br>Реактор собирается из блока графитовых кирпичей чикагской поленницы размером минимум 5x5x5 и максимум 15x15x15 блоков. Конструкция не обязательно должна быть идеальным кубом, поэтому формы вроде 5x7x9 вполне допустимы, главное — чтобы блок был полностью заполнен. Сборка реактора выполняется с помощью ручной дрели, при этом пробуренный блок становится ядром.<br><br>Чтобы подготовить чикагскую поленницу к работе, необходимо пробурить каналы, опять же с помощью ручной дрели. Функция канала зависит от его ориентации относительно ядра. Повторное использование ручной дрели на входной стороне существующего канала снова закроет его. Каналы не могут пересекаться друг с другом.<br><br>Топливные каналы — это каналы, которые следуют ориентации ядра, то есть их входная или выходная сторона находится на той же грани, что и панель ядра. В топливные каналы можно загружать топливные стержни чикагской поленницы с помощью [[топливного загрузчика|Chicago Pile Fuel Loader]]. Количество топлива, которое помещается в любой канал, зависит от его длины: один блок канала вмещает один топливный стержень.<br><br>Вентиляционные каналы — это каналы, расположенные перпендикулярно ориентации ядра, а следовательно, и топливным каналам. Вентиляционные каналы охлаждают касающиеся их (но не пересекающиеся) топливные каналы, если подаётся сжатый воздух под давлением 1 PU через [[вентель|Chicago Pile Vent]]. Пассивное охлаждение у чикагской поленницы довольно слабое, поэтому, хотя вентиляторы технически необязательны, на практике они фактически необходимы для любого реактора.<br><br>Каналы, просверленные сверху, предназначены для [[регулирующих стержней|Chicago Pile Control Rod]]. Регулирующие стержни используются для уменьшения взаимодействия между топливными каналами в крупных реакторах, хотя небольшие сборки обычно обходятся и без них. Тем не менее, дросселирование реактора может быть полезным при замене топлива, так как время для извлечения чистого плутония-239 достаточно мало.<br><br>Если реактор разобран, каналы можно пробурить заново, не снимая все навесные устройства вроде топливозагрузчиков и вентиляторов — достаточно зажать Shift и кликнуть по устройству ручной дрелью, чтобы за ним в реакторе пробурился канал.<br><br>См. также:<br>* [[Операции Чикагской поленницы|Chicago Pile Operation]]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,10 +3,12 @@
|
||||
"icon": ["hbm:tile.pile_device", 1, 2],
|
||||
"trigger": [["hbm:tile.pile_device", 1, 2]],
|
||||
"title": {
|
||||
"en_US": "Chicago Pile Control Rod"
|
||||
"en_US": "Chicago Pile Control Rod",
|
||||
"ru_RU": "Регулирующие стержни Чикагской поленницы"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Control rods can be placed on top of the vertically drilled channels of the [[Chicago Pile]]. Control rods, when inserted, will reduce the reactivity between fuel channels. The control rods can be controlled with a redstone signal, causing it to fully withdraw when a signal is supplied, or via [[RoR controller|Redstone-over-Radio Controller]], which allows more precise settings.<br><br>See also:<br>* [[Chicago Pile Fuel Loader]]<br>* [[Chicago Pile Vent]]"
|
||||
"en_US": "Control rods can be placed on top of the vertically drilled channels of the [[Chicago Pile]]. Control rods, when inserted, will reduce the reactivity between fuel channels. The control rods can be controlled with a redstone signal, causing it to fully withdraw when a signal is supplied, or via [[RoR controller|Redstone-over-Radio Controller]], which allows more precise settings.<br><br>See also:<br>* [[Chicago Pile Fuel Loader]]<br>* [[Chicago Pile Vent]]",
|
||||
"ru_RU": "Регулирующие стержни устанавливаются поверх вертикально просверленных каналов [[Чикагской поленницы|Chicago Pile]]. При погружении регулирующих стержней снижается реактивность между топливными каналами. Стержнями можно управлять с помощью редстоун-сигнала (при подаче сигнала стержень полностью извлекается) или через [[РпР контроллер|Redstone-over-Radio Controller]], что позволяет настраивать их более точно.<br><br>См. также:<br>* [[Загрузчик топлива Чикагской поленницы|Chicago Pile Fuel Loader]]<br>* [[Вентель Чикагской поленницы|Chicago Pile Vent]]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,10 +3,12 @@
|
||||
"icon": ["hbm:tile.pile_device", 1, 0],
|
||||
"trigger": [["hbm:tile.pile_device", 1, 0]],
|
||||
"title": {
|
||||
"en_US": "Chicago Pile Fuel Loader"
|
||||
"en_US": "Chicago Pile Fuel Loader",
|
||||
"ru_RU": "Загрузчик топлива Чикагской поленницы"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The fuel loader is required to load [[Chicago Pile]] fuel rods into the Pile's fuel channels. Right-clicking with a fuel rod will insert that rod into the loader, and right-clicking again will load it into the Pile manually. Fuel can also be supplied using hoppers or conveyors, and the loading action can be triggered by supplying a redstone signal to the loader's back side (where the light grey circle is).<br><br>Additionally, the loader can relay information about the connected channel to the [[RoR reader|Redstone-over-Radio Reader]], like the type (metadata) and depletion of the backmost loaded fuel rod or the channel's current temperature.<br><br>See also:<br>* [[Chicago Pile Vent]]<br>* [[Chicago Pile Control Rod]]"
|
||||
"en_US": "The fuel loader is required to load [[Chicago Pile]] fuel rods into the Pile's fuel channels. Right-clicking with a fuel rod will insert that rod into the loader, and right-clicking again will load it into the Pile manually. Fuel can also be supplied using hoppers or conveyors, and the loading action can be triggered by supplying a redstone signal to the loader's back side (where the light grey circle is).<br><br>Additionally, the loader can relay information about the connected channel to the [[RoR reader|Redstone-over-Radio Reader]], like the type (metadata) and depletion of the backmost loaded fuel rod or the channel's current temperature.<br><br>See also:<br>* [[Chicago Pile Vent]]<br>* [[Chicago Pile Control Rod]]",
|
||||
"ru_RU": "Загрузчик топлива необходим для загрузки топливных стержней [[Чикагской поленницы|Chicago Pile]] в топливные каналы реактора. Клик правой кнопкой мыши с топливным стержнем в руке вставит его в загрузчик, а повторный клик ПКМ загрузит его в реактор вручную. Топливо также можно подавать с помощью воронок или конвейеров, а сам процесс загрузки можно активировать подачей редстоун-сигнала на заднюю сторону загрузчика (туда, где находится светло-серый круг).<br><br>Кроме того, загрузчик может передавать информацию о подключенном канале на [[РпР считыватель|Redstone-over-Radio Reader]] — например, тип (метаданные) и степень истощения самого крайнего загруженного стержня, а также текущую температуру канала.<br><br>См. также:<br>* [[Вентель Чикагской поленницы|Chicago Pile Vent]]<br>* [[Регулирующие стержни Чикагской поленницы|Chicago Pile Control Rod]]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,10 +3,12 @@
|
||||
"icon": ["hbm:tile.pile_device", 1, 1],
|
||||
"trigger": [["hbm:tile.pile_device", 1, 1]],
|
||||
"title": {
|
||||
"en_US": "Chicago Pile Vent"
|
||||
"en_US": "Chicago Pile Vent",
|
||||
"ru_RU": "Вентель Чикагской поленницы"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The vent is needed to insert compressed air at 1 PU into the [[Chicago Pile's|Chicago Pile]] ventilation channels. Due to the pressure requirement, each Pile therefore needs at least one [[compressor|Compressor]]. Hot air will harmlessly exit the Pile at the output side of the ventilation channel.<br><br>The vent's cooling effect only applies to fuel channels that touch the ventilation channel, or rather, fuel channels exactly one block above and below that ventilation channel. Without sufficient cooling, the channel will surpass 800°C, causing the highly-flammable graphite bricks to ignite, forcefully disassembling the Pile.<br><br>See also:<br>* [[Chicago Pile Fuel Loader]]<br>* [[Chicago Pile Control Rod]]"
|
||||
"en_US": "The vent is needed to insert compressed air at 1 PU into the [[Chicago Pile's|Chicago Pile]] ventilation channels. Due to the pressure requirement, each Pile therefore needs at least one [[compressor|Compressor]]. Hot air will harmlessly exit the Pile at the output side of the ventilation channel.<br><br>The vent's cooling effect only applies to fuel channels that touch the ventilation channel, or rather, fuel channels exactly one block above and below that ventilation channel. Without sufficient cooling, the channel will surpass 800°C, causing the highly-flammable graphite bricks to ignite, forcefully disassembling the Pile.<br><br>See also:<br>* [[Chicago Pile Fuel Loader]]<br>* [[Chicago Pile Control Rod]]",
|
||||
"ru_RU": "Вентель необходим для подачи сжатого воздуха под давлением 1 PU в вентиляционные каналы [[Чикагской поленницы|Chicago Pile]]. Из-за требования к давлению каждому реактору требуется как минимум один [[компрессор|Compressor]]. Горячий воздух безвредно выходит из реактора с выходной стороны вентиляционного канала.<br><br>Охлаждающий эффект вентилятора распространяется только на топливные каналы, которые касаются вентиляционного канала, а точнее — на топливные каналы ровно на один блок выше и ниже этого вентиляционного канала. Без достаточного охлаждения канал нагреется свыше 800°C, что приведет к воспламенению легковоспламеняющихся графитовых кирпичей и силовому разрушению реактора.<br><br>См. также:<br>* [[Топливный загрузчик Чикагской поленницы|Chicago Pile Fuel Loader]]<br>* [[Регулирующие стержни Чикагской поленницы|Chicago Pile Control Rod]]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Asteroid Mining Ship",
|
||||
"icon": ["hbm:item.satellite", 1, 3],
|
||||
"trigger": [["hbm:item.satellite", 1, 3]],
|
||||
"title": {
|
||||
"en_US": "Asteroid Mining Ship"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The asteroid mining ship will, if connected to a satellite ID chip which is inserted into a cargo landing pad, land in regular intervals to deliver items mined in space. Do note that one mining ship can only supply a single cargo landing pad. Also keep the landing pad free of obstructions, as the drop ship may explode when impacting other blocks.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Lunar Mining Ship",
|
||||
"icon": ["hbm:item.satellite", 1, 4],
|
||||
"trigger": [["hbm:item.satellite", 1, 4]],
|
||||
"title": {
|
||||
"en_US": "Lunar Mining Ship"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The lunar mining ship will, if connected to a satellite ID chip which is inserted into a cargo landing pad, land in regular intervals to deliver items mined on the moon. Do note that one mining ship can only supply a single cargo landing pad. Also keep the landing pad free of obstructions, as the drop ship may explode when impacting other blocks.<br><br>Unlike the [[asteroid mining ship|Asteroid Mining Ship]], the selection of items it can harvest is much smaller, however, the large quantities of moon turf it can produce are important for [[helium-3|Helium-3]], a powerful fuel for the [[fusion reactor|Fusion Reactor]].<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Orbital Death Ray",
|
||||
"icon": ["hbm:item.satellite", 1, 6],
|
||||
"trigger": [["hbm:item.satellite", 1, 6]],
|
||||
"title": {
|
||||
"en_US": "Orbital Death Ray"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The orbital death ray is a powerful nuclear-powered orbital weapon firing a laser that deals as much damage as a high-yield mini nuke, but without the radiation. Despite the powerful energy source, the ray takes five minutes to fully charge. Unlike the [[precision laser|Orbital Precision Laser]], it lacks the entity targeting option that would let it shoot down missiles or hit fast-moving targets.<br><br>* '§efire§r' will fire the laser at the current target position, assuming the ray has finished charging.<br>* '§ecanfire§r' will write either 'TRUE' or 'FALSE' to RX depending on whether the cooldown has elapsed and the death ray is ready to fire.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Orbital Precision Laser",
|
||||
"icon": ["hbm:item.satellite", 1, 5],
|
||||
"trigger": [["hbm:item.satellite", 1, 5]],
|
||||
"title": {
|
||||
"en_US": "Orbital Precision Laser"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The orbital precision laser is a low-power weapon that harvests sunlight to charge up a small laser beam. The beam only takes five seconds to charge up, and deals marginally more block damage than TNT. The direct hit damage for struck entities is however much higher. When combined with the targeting data of a [[radar satellite|Radar Satellite]], it can potentially also shoot down missiles.<br><br>* '§efire§r' will fire the laser at the current target position, assuming the laser has finished charging. If the satellite has been supplied with entity target data, it will use the position of that entitiy instead, assuming it its within 1,000 blocks of the target position. After one shot, the entity targeting data is used up and the satellite's target position will be used again.<br>* '§ecanfire§r' will write either 'TRUE' or 'FALSE' to RX depending on whether the cooldown has elapsed and the laser is ready to fire.<br>* '§esetentitytarget §eid§r' supplies an entity ID for precise targeting, which is used up after one shot. The ID can be obtained from a radar satellite.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/satellite/radarsat.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Radar Satellite",
|
||||
"icon": ["hbm:item.satellite", 1, 2],
|
||||
"trigger": [["hbm:item.satellite", 1, 2]],
|
||||
"title": {
|
||||
"en_US": "Radar Satellite"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The radar satellite can detect all radar-detectable entities like players and missiles in a 1,000 block radius around its target position. It can compile, filter, and provide a list of detected objects, along with their type and exact position.<br><br>* '§esurvey§r' scans the area and saves the results to a base list and a filtered list. These two lists are now the same, and stored within the satellite.<br>* '§efilter §ename§r' will overwrite the filtered list with a new list, containing only entries from the original list that match that name filter. Since the original list is retained, the filter operation can be run multiple times for multiple types without needing a survey operation.<br>* '§ecount§r' writes the amount of entries on the filterd list to RX.<br>* '§egettargetid §eindex§r' retrieves the unique entity ID from that entry on the list. This ID can be used for precise entity targeting by other satellites.<br>* '§egetposition §eindex§r' retrieves the exact x/y/z position of the specified entry. The coordinates are separated by semicolons.<br>* '§egetname §eindex§r' retrieves the class name of that entry, this name is what's used for filtering.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Satellite",
|
||||
"icon": ["hbm:item.satellite"],
|
||||
"trigger": [],
|
||||
"title": {
|
||||
"en_US": "Satellite"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Satellites can be launched into earth orbit using a [[Soyuz]] rocket. Satellites communicate with items and blocks on earth using frequencies, so in order to actually use one, it's necessary to set a random frequency in the satellite ID manager, and then copying that ID to another item, for example a satellite chip.<br><br>Some satellites can perform minor tasks when linked with certain items, like the [[depth scanning satellite|Depth Scanning Satellite]] enabling the neutrino lens, or the [[xenium resonator satellite|Xenium Resonator Satellite]] connected to a satellite laser designator allowing for short range line of sight teleportation. Satellites however are the most powerful when paired with [[Redstone over Radio]] by linking them to a [[ground station|Satellite Ground Station]].<br><br>By using a [[RoR reader|Redstone-over-Radio Reader]], ground stations can receive the RX value, which is received from the connected satellite. Each satellite can only provide one RX value at a time, and the value persists until it changes. The contents of RX depend on what function the satellite has performed prior.<br><br>By using a ground station's TX command, commands can be relayed to the connected satellite. Most commands vary between satellite types, however all satellites have a ground target, i.e. the spot on the surface they are aiming at.<br><br>The common target commands are as follows:<br>* '§esettarget §ex §ez§r' (Example RoR: '§6tx!settarget §6200 §6300§r')<br>* '§egettarget§r' (Example RoR: '§6tx!gettarget§r'), writes the current target X and Z separated by semicolon to the ground station's RX<br>* '§egettargetx§r'<br>* '§egettargetz§r'<br><br>See also:<br>* [[Spy Satellite]]<br>* [[Depth Scanning Satellite]]<br>* [[Radar Satellite]]<br>* [[Asteroid Mining Ship]]<br>* [[Lunar Mining Ship]]<br>* [[Orbital Precision Laser]]<br>* [[Orbital Death Ray]]<br>* [[Xenium Resonator Satellite]]<br>* [[Relay Satellite]]"
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/satellite/satlink.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Satellite Ground Station",
|
||||
"icon": ["hbm:tile.machine_satlink"],
|
||||
"trigger": [["hbm:tile.machine_satlink"]],
|
||||
"title": {
|
||||
"en_US": "Satellite Ground Station"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The satellite ground station is an advanced [[Redstone over Radio]] component that allows indirect connection of traditional RoR components and [[satellites|Satellite]]. It doesn't send or receive RoR signals directly, instead, it needs an external [[receiver|Redstone-over-Radio Controller]] or [[transmitter|Redstone-over-Radio Reader]] to interface with RoR.<br><br>The ground station can only connect to one satellite at a time. The frequency can be set either by using a configured satellite ID chip on the ground station, or via RoR command.<br><br>The two most important RoR functions the ground station has are RX and TX.<br><br>RX is a readable value that is relayed from the satellite. The contents of that value depend on the satellite, and is usually set in response to a command. For example, on the [[orbital precision laser|Orbital Precision Laser]], the function 'canfire' will set the RX value to either 'TRUE' or 'FALSE' depending on whether the laser is ready to fire.<br><br>TX is a function that allows commands to be relayed from the ground station to the satellite to control it or to request data. For example, the RoR command 'tx!settarget 200 300' will relay the command 'settarget 200 300' to the connected satellite. Do note that satellite commands do not use parameter separators like RoR commands do, since the satellite command is technically just one big RoR parameter.<br><br>In conjunction with the [[AUTOCAL]], the ground station becomes incredibly powerful, as it allows for automated targeting of satellites, data processing and more. For example, a [[radar satellite|Radar Satellite]] could survey the airspace for airborne missiles, relay that data to the AUTOCAL which then sends a signal to a precision laser which intercepts the missile."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/satellite/scansat.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Depth Scanning Satellite",
|
||||
"icon": ["hbm:item.satellite", 1, 1],
|
||||
"trigger": [["hbm:item.satellite", 1, 1]],
|
||||
"title": {
|
||||
"en_US": "Depth Scanning Satellite"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The depth scanning satellite is required for the neutrino lens to work. It does not yet have any special interactions with the ground station.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/satellite/spysat.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Spy Satellite",
|
||||
"icon": ["hbm:item.satellite", 1, 0],
|
||||
"trigger": [["hbm:item.satellite", 1, 0]],
|
||||
"title": {
|
||||
"en_US": "Spy Satellite"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The spy satellite allows remote viewing of earth's surface. Due to RoR pixel displays not existing as of now, surface mapping functionality does not yet work. However, they can be used in detecting loaded chunks and spotting players in a small radius.<br><br>* '§etargetloaded§r' writes 'TRUE' or 'FALSE' to RX depending on if the chunk that the satellite is pointed at is loaded or not.<br>* '§espotplayers§r' detects surface players in a 250 block radius and writes all names separated by semicolon to RX.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/satellite/xenrelay.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Xenium Resonator Satellite",
|
||||
"icon": ["hbm:item.satellite", 1, 7],
|
||||
"trigger": [["hbm:item.satellite", 1, 7]],
|
||||
"title": {
|
||||
"en_US": "Xenium Resonator Satellite"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "The xenium resonator allows teleportation within the same dimension. It can be controlled either with a satellite designator or the satellite laser designator. When using the satellite designator, the Y value can be omitted, which will default it to surface level.<br><br>See also:<br>* [[Satellite]]<br>* [[Satellite Ground Station]]"
|
||||
}
|
||||
}
|
||||
@ -152,6 +152,14 @@ v -0.750000 1.750000 -0.750000
|
||||
v -0.750000 1.750000 0.750000
|
||||
v 0.750000 1.750000 0.750000
|
||||
v 0.750000 1.750000 -0.750000
|
||||
v -0.875000 0.125000 0.875000
|
||||
v 0.875000 0.125000 0.875000
|
||||
v -0.875000 0.125000 -0.875000
|
||||
v 0.875000 0.125000 -0.875000
|
||||
v -0.875000 1.875000 -0.875000
|
||||
v -0.875000 1.875000 0.875000
|
||||
v 0.875000 1.875000 0.875000
|
||||
v 0.875000 1.875000 -0.875000
|
||||
vt 0.269231 0.000000
|
||||
vt 0.000000 0.333333
|
||||
vt 0.000000 0.000000
|
||||
@ -180,10 +188,26 @@ vt 1.000000 0.285714
|
||||
vt 0.769231 0.571429
|
||||
vt 1.000000 0.285714
|
||||
vt 0.769231 0.571429
|
||||
vt 0.000000 0.333333
|
||||
vt 0.269231 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.269231 1.000000
|
||||
vt 0.000000 0.666667
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.666667
|
||||
vt 0.269231 0.333333
|
||||
vt -0.000000 0.333333
|
||||
vt 0.269231 0.666667
|
||||
vt 0.538462 0.333333
|
||||
vt 0.269231 0.333333
|
||||
vt 0.269231 0.666667
|
||||
vt 0.538462 0.333333
|
||||
vt 0.538462 0.666667
|
||||
vt 0.538462 0.666667
|
||||
vt 1.000000 0.571429
|
||||
vt 1.000000 0.571429
|
||||
vt 0.538462 0.666667
|
||||
vt 0.538462 0.666667
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
@ -203,18 +227,30 @@ f 44/77/11 47/74/11 42/72/11
|
||||
f 41/78/8 45/79/8 43/80/8
|
||||
f 43/81/9 48/82/9 44/77/9
|
||||
f 42/83/10 46/84/10 41/78/10
|
||||
f 50/85/7 51/86/7 49/87/7
|
||||
f 53/88/6 55/89/6 54/90/6
|
||||
f 53/91/11 49/92/11 51/93/11
|
||||
f 56/94/10 51/95/10 52/96/10
|
||||
f 54/97/9 50/98/9 49/92/9
|
||||
f 55/89/8 52/96/8 50/85/8
|
||||
f 35/57/6 36/68/6 34/58/6
|
||||
f 39/60/7 40/67/7 37/61/7
|
||||
f 33/63/8 38/70/8 37/64/8
|
||||
f 35/66/9 37/85/9 40/67/9
|
||||
f 34/69/10 39/86/10 38/70/10
|
||||
f 35/66/9 37/99/9 40/67/9
|
||||
f 34/69/10 39/100/10 38/70/10
|
||||
f 36/68/11 40/67/11 39/60/11
|
||||
f 43/71/6 44/77/6 42/72/6
|
||||
f 47/74/7 48/82/7 45/75/7
|
||||
f 44/77/11 48/82/11 47/74/11
|
||||
f 41/78/8 46/84/8 45/79/8
|
||||
f 43/81/9 45/87/9 48/82/9
|
||||
f 42/83/10 47/88/10 46/84/10
|
||||
f 43/81/9 45/101/9 48/82/9
|
||||
f 42/83/10 47/102/10 46/84/10
|
||||
f 50/85/7 52/96/7 51/86/7
|
||||
f 53/88/6 56/94/6 55/89/6
|
||||
f 53/91/11 54/97/11 49/92/11
|
||||
f 56/94/10 53/103/10 51/95/10
|
||||
f 54/97/9 55/104/9 50/98/9
|
||||
f 55/89/8 56/94/8 52/96/8
|
||||
o Battery
|
||||
v 0.687500 1.875000 -0.875000
|
||||
v 0.875000 1.875000 -0.687500
|
||||
@ -483,158 +519,158 @@ vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
s off
|
||||
f 56/89/12 62/90/12 70/91/12
|
||||
f 83/92/13 74/93/13 51/94/13
|
||||
f 68/95/14 51/96/14 74/97/14
|
||||
f 68/98/15 64/99/15 58/100/15
|
||||
f 72/101/15 63/102/15 74/103/15
|
||||
f 58/104/16 60/105/16 65/106/16
|
||||
f 58/104/13 56/89/13 55/107/13
|
||||
f 60/108/14 66/109/14 65/110/14
|
||||
f 70/111/17 68/112/17 67/113/17
|
||||
f 62/114/18 64/99/18 63/115/18
|
||||
f 64/99/19 56/89/19 57/116/19
|
||||
f 75/117/18 73/118/18 78/119/18
|
||||
f 77/120/20 71/121/20 76/122/20
|
||||
f 63/123/13 54/124/13 62/125/13
|
||||
f 75/117/15 84/126/15 92/127/15
|
||||
f 62/128/12 50/129/12 77/130/12
|
||||
f 90/131/21 86/132/21 81/133/21
|
||||
f 78/134/17 76/122/17 75/135/17
|
||||
f 49/136/18 72/101/18 71/121/18
|
||||
f 72/101/19 54/124/19 53/137/19
|
||||
f 88/138/14 52/139/14 92/140/14
|
||||
f 59/141/13 80/142/13 66/143/13
|
||||
f 80/142/16 82/144/16 85/145/16
|
||||
f 83/146/12 78/119/12 95/147/12
|
||||
f 82/148/14 86/132/14 85/149/14
|
||||
f 90/131/17 88/150/17 87/151/17
|
||||
f 67/152/18 83/153/18 70/154/18
|
||||
f 85/155/15 87/156/15 84/157/15
|
||||
f 96/158/21 92/140/21 52/139/21
|
||||
f 95/159/20 91/160/20 94/161/20
|
||||
f 89/162/12 81/163/12 79/164/12
|
||||
f 96/158/17 94/161/17 93/165/17
|
||||
f 108/166/20 104/167/20 105/168/20
|
||||
f 100/169/12 104/167/12 102/170/12
|
||||
f 108/171/15 106/172/15 110/173/15
|
||||
f 112/174/21 102/170/21 107/175/21
|
||||
f 106/172/19 100/169/19 109/176/19
|
||||
f 106/172/18 104/177/18 103/178/18
|
||||
f 102/179/17 108/166/17 107/180/17
|
||||
f 112/174/14 98/181/14 97/182/14
|
||||
f 100/183/13 110/184/13 109/185/13
|
||||
f 110/184/16 98/186/16 111/187/16
|
||||
f 124/188/20 120/189/20 121/190/20
|
||||
f 116/191/12 120/189/12 118/192/12
|
||||
f 124/193/15 122/194/15 126/195/15
|
||||
f 128/196/21 118/192/21 123/197/21
|
||||
f 122/194/19 116/191/19 125/198/19
|
||||
f 122/194/18 120/199/18 119/200/18
|
||||
f 118/201/17 124/188/17 123/202/17
|
||||
f 128/196/14 114/203/14 113/204/14
|
||||
f 116/205/13 126/206/13 125/207/13
|
||||
f 126/206/16 114/208/16 127/209/16
|
||||
f 70/91/12 59/210/12 60/211/12
|
||||
f 60/211/12 55/212/12 56/89/12
|
||||
f 56/89/12 61/213/12 62/90/12
|
||||
f 62/90/12 69/214/12 70/91/12
|
||||
f 70/91/12 60/211/12 56/89/12
|
||||
f 83/92/13 84/215/13 74/93/13
|
||||
f 68/95/14 69/216/14 51/96/14
|
||||
f 58/100/15 65/217/15 66/218/15
|
||||
f 66/218/15 67/219/15 68/98/15
|
||||
f 68/98/15 63/220/15 64/99/15
|
||||
f 64/99/15 57/116/15 58/100/15
|
||||
f 58/100/15 66/218/15 68/98/15
|
||||
f 74/103/15 75/221/15 76/222/15
|
||||
f 76/222/15 71/223/15 72/101/15
|
||||
f 72/101/15 53/137/15 63/102/15
|
||||
f 63/102/15 68/224/15 74/103/15
|
||||
f 74/103/15 76/222/15 72/101/15
|
||||
f 58/104/16 55/107/16 60/105/16
|
||||
f 58/104/13 57/116/13 56/89/13
|
||||
f 60/108/14 59/225/14 66/109/14
|
||||
f 70/111/17 69/226/17 68/112/17
|
||||
f 62/114/18 61/213/18 64/99/18
|
||||
f 64/99/19 61/213/19 56/89/19
|
||||
f 75/117/18 91/160/18 73/118/18
|
||||
f 77/120/20 49/136/20 71/121/20
|
||||
f 63/123/13 53/137/13 54/124/13
|
||||
f 92/127/15 93/227/15 94/228/15
|
||||
f 94/228/15 91/229/15 75/117/15
|
||||
f 75/117/15 74/93/15 84/126/15
|
||||
f 84/126/15 88/230/15 92/127/15
|
||||
f 92/127/15 94/228/15 75/117/15
|
||||
f 77/130/12 78/231/12 51/232/12
|
||||
f 51/232/12 69/233/12 62/128/12
|
||||
f 62/128/12 54/124/12 50/129/12
|
||||
f 50/129/12 49/234/12 77/130/12
|
||||
f 77/130/12 51/232/12 62/128/12
|
||||
f 90/131/21 87/151/21 86/132/21
|
||||
f 78/134/17 77/120/17 76/122/17
|
||||
f 49/136/18 50/129/18 72/101/18
|
||||
f 72/101/19 50/129/19 54/124/19
|
||||
f 88/138/14 89/235/14 52/139/14
|
||||
f 59/141/13 79/236/13 80/142/13
|
||||
f 80/142/16 79/236/16 82/144/16
|
||||
f 95/147/12 96/237/12 52/238/12
|
||||
f 52/238/12 89/239/12 83/146/12
|
||||
f 83/146/12 51/94/12 78/119/12
|
||||
f 78/119/12 73/240/12 95/147/12
|
||||
f 95/147/12 52/238/12 83/146/12
|
||||
f 82/148/14 81/133/14 86/132/14
|
||||
f 90/131/17 89/241/17 88/150/17
|
||||
f 67/152/18 84/242/18 83/153/18
|
||||
f 84/157/15 67/152/15 66/143/15
|
||||
f 66/143/15 80/243/15 85/155/15
|
||||
f 85/155/15 86/244/15 87/156/15
|
||||
f 87/156/15 88/245/15 84/157/15
|
||||
f 84/157/15 66/143/15 85/155/15
|
||||
f 96/158/21 93/165/21 92/140/21
|
||||
f 95/159/20 73/118/20 91/160/20
|
||||
f 79/164/12 59/141/12 70/154/12
|
||||
f 70/154/12 83/246/12 89/162/12
|
||||
f 89/162/12 90/247/12 81/163/12
|
||||
f 81/163/12 82/248/12 79/164/12
|
||||
f 79/164/12 70/154/12 89/162/12
|
||||
f 96/158/17 95/159/17 94/161/17
|
||||
f 108/166/20 101/249/20 104/167/20
|
||||
f 102/170/12 97/182/12 98/186/12
|
||||
f 98/186/12 99/250/12 100/169/12
|
||||
f 100/169/12 103/178/12 104/167/12
|
||||
f 104/167/12 101/249/12 102/170/12
|
||||
f 102/170/12 98/186/12 100/169/12
|
||||
f 110/173/15 111/251/15 112/252/15
|
||||
f 112/252/15 107/253/15 108/171/15
|
||||
f 108/171/15 105/254/15 106/172/15
|
||||
f 106/172/15 109/176/15 110/173/15
|
||||
f 110/173/15 112/252/15 108/171/15
|
||||
f 112/174/21 97/182/21 102/170/21
|
||||
f 106/172/19 103/178/19 100/169/19
|
||||
f 106/172/18 105/255/18 104/177/18
|
||||
f 102/179/17 101/249/17 108/166/17
|
||||
f 112/174/14 111/256/14 98/181/14
|
||||
f 100/183/13 99/250/13 110/184/13
|
||||
f 110/184/16 99/250/16 98/186/16
|
||||
f 124/188/20 117/257/20 120/189/20
|
||||
f 118/192/12 113/204/12 114/208/12
|
||||
f 114/208/12 115/258/12 116/191/12
|
||||
f 116/191/12 119/200/12 120/189/12
|
||||
f 120/189/12 117/257/12 118/192/12
|
||||
f 118/192/12 114/208/12 116/191/12
|
||||
f 126/195/15 127/259/15 128/260/15
|
||||
f 128/260/15 123/261/15 124/193/15
|
||||
f 124/193/15 121/262/15 122/194/15
|
||||
f 122/194/15 125/198/15 126/195/15
|
||||
f 126/195/15 128/260/15 124/193/15
|
||||
f 128/196/21 113/204/21 118/192/21
|
||||
f 122/194/19 119/200/19 116/191/19
|
||||
f 122/194/18 121/263/18 120/199/18
|
||||
f 118/201/17 117/257/17 124/188/17
|
||||
f 128/196/14 127/264/14 114/203/14
|
||||
f 116/205/13 115/258/13 126/206/13
|
||||
f 126/206/16 115/258/16 114/208/16
|
||||
f 64/105/12 70/106/12 78/107/12
|
||||
f 91/108/13 82/109/13 59/110/13
|
||||
f 76/111/14 59/112/14 82/113/14
|
||||
f 76/114/15 72/115/15 66/116/15
|
||||
f 80/117/15 71/118/15 82/119/15
|
||||
f 66/120/16 68/121/16 73/122/16
|
||||
f 66/120/13 64/105/13 63/123/13
|
||||
f 68/124/14 74/125/14 73/126/14
|
||||
f 78/127/17 76/128/17 75/129/17
|
||||
f 70/130/18 72/115/18 71/131/18
|
||||
f 72/115/19 64/105/19 65/132/19
|
||||
f 83/133/18 81/134/18 86/135/18
|
||||
f 85/136/20 79/137/20 84/138/20
|
||||
f 71/139/13 62/140/13 70/141/13
|
||||
f 83/133/15 92/142/15 100/143/15
|
||||
f 70/144/12 58/145/12 85/146/12
|
||||
f 98/147/21 94/148/21 89/149/21
|
||||
f 86/150/17 84/138/17 83/151/17
|
||||
f 57/152/18 80/117/18 79/137/18
|
||||
f 80/117/19 62/140/19 61/153/19
|
||||
f 96/154/14 60/155/14 100/156/14
|
||||
f 67/157/13 88/158/13 74/159/13
|
||||
f 88/158/16 90/160/16 93/161/16
|
||||
f 91/162/12 86/135/12 103/163/12
|
||||
f 90/164/14 94/148/14 93/165/14
|
||||
f 98/147/17 96/166/17 95/167/17
|
||||
f 75/168/18 91/169/18 78/170/18
|
||||
f 93/171/15 95/172/15 92/173/15
|
||||
f 104/174/21 100/156/21 60/155/21
|
||||
f 103/175/20 99/176/20 102/177/20
|
||||
f 97/178/12 89/179/12 87/180/12
|
||||
f 104/174/17 102/177/17 101/181/17
|
||||
f 116/182/20 112/183/20 113/184/20
|
||||
f 108/185/12 112/183/12 110/186/12
|
||||
f 116/187/15 114/188/15 118/189/15
|
||||
f 120/190/21 110/186/21 115/191/21
|
||||
f 114/188/19 108/185/19 117/192/19
|
||||
f 114/188/18 112/193/18 111/194/18
|
||||
f 110/195/17 116/182/17 115/196/17
|
||||
f 120/190/14 106/197/14 105/198/14
|
||||
f 108/199/13 118/200/13 117/201/13
|
||||
f 118/200/16 106/202/16 119/203/16
|
||||
f 132/204/20 128/205/20 129/206/20
|
||||
f 124/207/12 128/205/12 126/208/12
|
||||
f 132/209/15 130/210/15 134/211/15
|
||||
f 136/212/21 126/208/21 131/213/21
|
||||
f 130/210/19 124/207/19 133/214/19
|
||||
f 130/210/18 128/215/18 127/216/18
|
||||
f 126/217/17 132/204/17 131/218/17
|
||||
f 136/212/14 122/219/14 121/220/14
|
||||
f 124/221/13 134/222/13 133/223/13
|
||||
f 134/222/16 122/224/16 135/225/16
|
||||
f 78/107/12 67/226/12 68/227/12
|
||||
f 68/227/12 63/228/12 64/105/12
|
||||
f 64/105/12 69/229/12 70/106/12
|
||||
f 70/106/12 77/230/12 78/107/12
|
||||
f 78/107/12 68/227/12 64/105/12
|
||||
f 91/108/13 92/231/13 82/109/13
|
||||
f 76/111/14 77/232/14 59/112/14
|
||||
f 66/116/15 73/233/15 74/234/15
|
||||
f 74/234/15 75/235/15 76/114/15
|
||||
f 76/114/15 71/236/15 72/115/15
|
||||
f 72/115/15 65/132/15 66/116/15
|
||||
f 66/116/15 74/234/15 76/114/15
|
||||
f 82/119/15 83/237/15 84/238/15
|
||||
f 84/238/15 79/239/15 80/117/15
|
||||
f 80/117/15 61/153/15 71/118/15
|
||||
f 71/118/15 76/240/15 82/119/15
|
||||
f 82/119/15 84/238/15 80/117/15
|
||||
f 66/120/16 63/123/16 68/121/16
|
||||
f 66/120/13 65/132/13 64/105/13
|
||||
f 68/124/14 67/241/14 74/125/14
|
||||
f 78/127/17 77/242/17 76/128/17
|
||||
f 70/130/18 69/229/18 72/115/18
|
||||
f 72/115/19 69/229/19 64/105/19
|
||||
f 83/133/18 99/176/18 81/134/18
|
||||
f 85/136/20 57/152/20 79/137/20
|
||||
f 71/139/13 61/153/13 62/140/13
|
||||
f 100/143/15 101/243/15 102/244/15
|
||||
f 102/244/15 99/245/15 83/133/15
|
||||
f 83/133/15 82/109/15 92/142/15
|
||||
f 92/142/15 96/246/15 100/143/15
|
||||
f 100/143/15 102/244/15 83/133/15
|
||||
f 85/146/12 86/247/12 59/248/12
|
||||
f 59/248/12 77/249/12 70/144/12
|
||||
f 70/144/12 62/140/12 58/145/12
|
||||
f 58/145/12 57/250/12 85/146/12
|
||||
f 85/146/12 59/248/12 70/144/12
|
||||
f 98/147/21 95/167/21 94/148/21
|
||||
f 86/150/17 85/136/17 84/138/17
|
||||
f 57/152/18 58/145/18 80/117/18
|
||||
f 80/117/19 58/145/19 62/140/19
|
||||
f 96/154/14 97/251/14 60/155/14
|
||||
f 67/157/13 87/252/13 88/158/13
|
||||
f 88/158/16 87/252/16 90/160/16
|
||||
f 103/163/12 104/253/12 60/254/12
|
||||
f 60/254/12 97/255/12 91/162/12
|
||||
f 91/162/12 59/110/12 86/135/12
|
||||
f 86/135/12 81/256/12 103/163/12
|
||||
f 103/163/12 60/254/12 91/162/12
|
||||
f 90/164/14 89/149/14 94/148/14
|
||||
f 98/147/17 97/257/17 96/166/17
|
||||
f 75/168/18 92/258/18 91/169/18
|
||||
f 92/173/15 75/168/15 74/159/15
|
||||
f 74/159/15 88/259/15 93/171/15
|
||||
f 93/171/15 94/260/15 95/172/15
|
||||
f 95/172/15 96/261/15 92/173/15
|
||||
f 92/173/15 74/159/15 93/171/15
|
||||
f 104/174/21 101/181/21 100/156/21
|
||||
f 103/175/20 81/134/20 99/176/20
|
||||
f 87/180/12 67/157/12 78/170/12
|
||||
f 78/170/12 91/262/12 97/178/12
|
||||
f 97/178/12 98/263/12 89/179/12
|
||||
f 89/179/12 90/264/12 87/180/12
|
||||
f 87/180/12 78/170/12 97/178/12
|
||||
f 104/174/17 103/175/17 102/177/17
|
||||
f 116/182/20 109/265/20 112/183/20
|
||||
f 110/186/12 105/198/12 106/202/12
|
||||
f 106/202/12 107/266/12 108/185/12
|
||||
f 108/185/12 111/194/12 112/183/12
|
||||
f 112/183/12 109/265/12 110/186/12
|
||||
f 110/186/12 106/202/12 108/185/12
|
||||
f 118/189/15 119/267/15 120/268/15
|
||||
f 120/268/15 115/269/15 116/187/15
|
||||
f 116/187/15 113/270/15 114/188/15
|
||||
f 114/188/15 117/192/15 118/189/15
|
||||
f 118/189/15 120/268/15 116/187/15
|
||||
f 120/190/21 105/198/21 110/186/21
|
||||
f 114/188/19 111/194/19 108/185/19
|
||||
f 114/188/18 113/271/18 112/193/18
|
||||
f 110/195/17 109/265/17 116/182/17
|
||||
f 120/190/14 119/272/14 106/197/14
|
||||
f 108/199/13 107/266/13 118/200/13
|
||||
f 118/200/16 107/266/16 106/202/16
|
||||
f 132/204/20 125/273/20 128/205/20
|
||||
f 126/208/12 121/220/12 122/224/12
|
||||
f 122/224/12 123/274/12 124/207/12
|
||||
f 124/207/12 127/216/12 128/205/12
|
||||
f 128/205/12 125/273/12 126/208/12
|
||||
f 126/208/12 122/224/12 124/207/12
|
||||
f 134/211/15 135/275/15 136/276/15
|
||||
f 136/276/15 131/277/15 132/209/15
|
||||
f 132/209/15 129/278/15 130/210/15
|
||||
f 130/210/15 133/214/15 134/211/15
|
||||
f 134/211/15 136/276/15 132/209/15
|
||||
f 136/212/21 121/220/21 126/208/21
|
||||
f 130/210/19 127/216/19 124/207/19
|
||||
f 130/210/18 129/279/18 128/215/18
|
||||
f 126/217/17 125/273/17 132/204/17
|
||||
f 136/212/14 135/280/14 122/219/14
|
||||
f 124/221/13 123/274/13 134/222/13
|
||||
f 134/222/16 123/274/16 122/224/16
|
||||
o Socket
|
||||
v -1.000000 0.000000 1.000000
|
||||
v 1.000000 0.000000 1.000000
|
||||
@ -1037,199 +1073,199 @@ vn -0.7099 0.7043 0.0000
|
||||
vn 0.7099 -0.7043 0.0000
|
||||
vn -0.7071 -0.7071 0.0000
|
||||
s off
|
||||
f 131/265/22 130/266/22 129/267/22
|
||||
f 136/268/23 151/269/23 134/270/23
|
||||
f 131/265/24 140/271/24 132/272/24
|
||||
f 130/266/25 138/273/25 129/267/25
|
||||
f 132/272/26 139/274/26 130/266/26
|
||||
f 129/267/23 137/275/23 131/265/23
|
||||
f 135/276/27 138/277/27 133/278/27
|
||||
f 133/278/27 139/274/27 134/279/27
|
||||
f 134/279/27 140/280/27 136/281/27
|
||||
f 136/281/27 137/282/27 135/276/27
|
||||
f 142/283/26 143/284/26 141/285/26
|
||||
f 145/286/23 147/287/23 146/288/23
|
||||
f 151/269/27 149/289/27 150/290/27
|
||||
f 143/284/27 146/288/27 141/285/27
|
||||
f 144/291/24 145/286/24 143/284/24
|
||||
f 141/285/25 147/292/25 142/293/25
|
||||
f 133/294/26 149/289/26 135/295/26
|
||||
f 135/296/25 152/297/25 136/298/25
|
||||
f 134/299/24 150/290/24 133/300/24
|
||||
f 154/301/26 155/302/26 153/303/26
|
||||
f 157/304/23 159/305/23 158/306/23
|
||||
f 155/302/27 158/306/27 153/303/27
|
||||
f 156/307/24 157/304/24 155/302/24
|
||||
f 153/303/25 159/308/25 154/309/25
|
||||
f 162/310/23 163/311/23 161/312/23
|
||||
f 165/313/26 167/314/26 166/315/26
|
||||
f 163/311/27 166/315/27 161/312/27
|
||||
f 164/316/25 165/313/25 163/311/25
|
||||
f 161/312/24 167/317/24 162/318/24
|
||||
f 170/319/23 171/320/23 169/321/23
|
||||
f 173/322/26 175/323/26 174/324/26
|
||||
f 171/320/27 174/324/27 169/321/27
|
||||
f 172/325/25 173/322/25 171/320/25
|
||||
f 169/321/24 175/326/24 170/327/24
|
||||
f 178/328/24 179/329/24 177/330/24
|
||||
f 181/331/25 183/332/25 182/333/25
|
||||
f 179/329/27 182/333/27 177/330/27
|
||||
f 180/334/23 181/331/23 179/329/23
|
||||
f 177/330/26 183/335/26 178/336/26
|
||||
f 186/337/24 187/338/24 185/339/24
|
||||
f 189/340/25 191/341/25 190/342/25
|
||||
f 187/338/27 190/342/27 185/339/27
|
||||
f 188/343/23 189/340/23 187/338/23
|
||||
f 185/339/26 191/344/26 186/345/26
|
||||
f 194/346/25 195/347/25 193/348/25
|
||||
f 197/349/24 199/350/24 198/351/24
|
||||
f 195/347/27 198/351/27 193/348/27
|
||||
f 196/352/26 197/349/26 195/347/26
|
||||
f 193/348/23 199/353/23 194/354/23
|
||||
f 202/355/25 203/356/25 201/357/25
|
||||
f 205/358/24 207/359/24 206/360/24
|
||||
f 203/356/27 206/360/27 201/357/27
|
||||
f 204/361/26 205/358/26 203/356/26
|
||||
f 201/357/23 207/362/23 202/363/23
|
||||
f 210/364/24 225/365/24 209/366/24
|
||||
f 224/367/27 222/368/27 223/369/27
|
||||
f 220/370/27 218/371/27 219/372/27
|
||||
f 216/373/24 221/374/24 217/375/24
|
||||
f 215/376/25 219/377/25 214/378/25
|
||||
f 217/375/26 220/370/26 215/376/26
|
||||
f 214/379/23 218/380/23 216/373/23
|
||||
f 211/381/25 223/382/25 212/383/25
|
||||
f 209/366/26 224/367/26 211/381/26
|
||||
f 212/384/23 222/385/23 210/364/23
|
||||
f 227/386/24 241/387/24 226/388/24
|
||||
f 240/389/27 238/390/27 239/391/27
|
||||
f 236/392/27 234/393/27 235/394/27
|
||||
f 232/395/24 237/396/24 233/397/24
|
||||
f 231/398/25 235/399/25 230/400/25
|
||||
f 233/397/26 236/392/26 231/398/26
|
||||
f 230/401/23 234/402/23 232/395/23
|
||||
f 228/403/25 239/404/25 229/405/25
|
||||
f 226/388/26 240/389/26 228/403/26
|
||||
f 229/406/23 238/407/23 227/386/23
|
||||
f 242/408/27 243/409/27 213/410/27
|
||||
f 242/408/28 246/411/28 244/412/28
|
||||
f 245/413/26 248/414/26 246/411/26
|
||||
f 243/409/29 249/415/29 213/410/29
|
||||
f 250/416/23 251/417/23 249/415/23
|
||||
f 254/418/27 255/419/27 253/420/27
|
||||
f 254/418/28 258/421/28 256/422/28
|
||||
f 257/423/26 260/424/26 258/421/26
|
||||
f 255/419/29 261/425/29 253/420/29
|
||||
f 262/426/23 263/427/23 261/425/23
|
||||
f 217/375/22 214/428/22 216/429/22
|
||||
f 233/397/22 230/430/22 232/431/22
|
||||
f 228/403/22 227/432/22 226/388/22
|
||||
f 211/381/22 210/433/22 209/366/22
|
||||
f 266/434/26 267/435/26 268/436/26
|
||||
f 268/436/30 274/437/30 276/438/30
|
||||
f 269/439/23 272/440/23 271/441/23
|
||||
f 271/441/31 275/442/31 273/443/31
|
||||
f 274/437/22 275/442/22 276/438/22
|
||||
f 278/444/26 279/445/26 280/446/26
|
||||
f 280/446/30 286/447/30 288/448/30
|
||||
f 281/449/23 284/450/23 283/451/23
|
||||
f 283/451/31 287/452/31 285/453/31
|
||||
f 286/447/22 287/452/22 288/448/22
|
||||
f 131/265/22 132/272/22 130/266/22
|
||||
f 136/268/23 152/297/23 151/269/23
|
||||
f 131/265/24 137/454/24 140/271/24
|
||||
f 130/266/25 139/455/25 138/273/25
|
||||
f 132/272/26 140/280/26 139/274/26
|
||||
f 129/267/23 138/456/23 137/275/23
|
||||
f 135/276/27 137/282/27 138/277/27
|
||||
f 133/278/27 138/277/27 139/274/27
|
||||
f 134/279/27 139/274/27 140/280/27
|
||||
f 136/281/27 140/280/27 137/282/27
|
||||
f 142/283/26 144/457/26 143/284/26
|
||||
f 145/286/23 148/458/23 147/287/23
|
||||
f 151/269/27 152/297/27 149/289/27
|
||||
f 143/284/27 145/286/27 146/288/27
|
||||
f 144/291/24 148/459/24 145/286/24
|
||||
f 141/285/25 146/288/25 147/292/25
|
||||
f 133/294/26 150/290/26 149/289/26
|
||||
f 135/296/25 149/289/25 152/297/25
|
||||
f 134/299/24 151/269/24 150/290/24
|
||||
f 154/301/26 156/460/26 155/302/26
|
||||
f 157/304/23 160/461/23 159/305/23
|
||||
f 155/302/27 157/304/27 158/306/27
|
||||
f 156/307/24 160/462/24 157/304/24
|
||||
f 153/303/25 158/306/25 159/308/25
|
||||
f 162/310/23 164/463/23 163/311/23
|
||||
f 165/313/26 168/464/26 167/314/26
|
||||
f 163/311/27 165/313/27 166/315/27
|
||||
f 164/316/25 168/465/25 165/313/25
|
||||
f 161/312/24 166/315/24 167/317/24
|
||||
f 170/319/23 172/466/23 171/320/23
|
||||
f 173/322/26 176/467/26 175/323/26
|
||||
f 171/320/27 173/322/27 174/324/27
|
||||
f 172/325/25 176/468/25 173/322/25
|
||||
f 169/321/24 174/324/24 175/326/24
|
||||
f 178/328/24 180/469/24 179/329/24
|
||||
f 181/331/25 184/470/25 183/332/25
|
||||
f 179/329/27 181/331/27 182/333/27
|
||||
f 180/334/23 184/471/23 181/331/23
|
||||
f 177/330/26 182/333/26 183/335/26
|
||||
f 186/337/24 188/472/24 187/338/24
|
||||
f 189/340/25 192/473/25 191/341/25
|
||||
f 187/338/27 189/340/27 190/342/27
|
||||
f 188/343/23 192/474/23 189/340/23
|
||||
f 185/339/26 190/342/26 191/344/26
|
||||
f 194/346/25 196/475/25 195/347/25
|
||||
f 197/349/24 200/476/24 199/350/24
|
||||
f 195/347/27 197/349/27 198/351/27
|
||||
f 196/352/26 200/477/26 197/349/26
|
||||
f 193/348/23 198/351/23 199/353/23
|
||||
f 202/355/25 204/478/25 203/356/25
|
||||
f 205/358/24 208/479/24 207/359/24
|
||||
f 203/356/27 205/358/27 206/360/27
|
||||
f 204/361/26 208/480/26 205/358/26
|
||||
f 201/357/23 206/360/23 207/362/23
|
||||
f 210/364/24 222/385/24 225/365/24
|
||||
f 224/367/27 225/365/27 222/368/27
|
||||
f 220/370/27 221/374/27 218/371/27
|
||||
f 216/373/24 218/380/24 221/374/24
|
||||
f 215/376/25 220/370/25 219/377/25
|
||||
f 217/375/26 221/374/26 220/370/26
|
||||
f 214/379/23 219/481/23 218/380/23
|
||||
f 211/381/25 224/367/25 223/382/25
|
||||
f 209/366/26 225/365/26 224/367/26
|
||||
f 212/384/23 223/482/23 222/385/23
|
||||
f 227/386/24 238/407/24 241/387/24
|
||||
f 240/389/27 241/387/27 238/390/27
|
||||
f 236/392/27 237/396/27 234/393/27
|
||||
f 232/395/24 234/402/24 237/396/24
|
||||
f 231/398/25 236/392/25 235/399/25
|
||||
f 233/397/26 237/396/26 236/392/26
|
||||
f 230/401/23 235/483/23 234/402/23
|
||||
f 228/403/25 240/389/25 239/404/25
|
||||
f 226/388/26 241/387/26 240/389/26
|
||||
f 229/406/23 239/484/23 238/407/23
|
||||
f 242/408/27 244/412/27 243/409/27
|
||||
f 242/408/28 245/413/28 246/411/28
|
||||
f 245/413/26 247/485/26 248/414/26
|
||||
f 243/409/29 250/416/29 249/415/29
|
||||
f 250/416/23 252/486/23 251/417/23
|
||||
f 254/418/27 256/422/27 255/419/27
|
||||
f 254/418/28 257/423/28 258/421/28
|
||||
f 257/423/26 259/487/26 260/424/26
|
||||
f 255/419/29 262/426/29 261/425/29
|
||||
f 262/426/23 264/488/23 263/427/23
|
||||
f 217/375/22 215/376/22 214/428/22
|
||||
f 233/397/22 231/398/22 230/430/22
|
||||
f 228/403/22 229/489/22 227/432/22
|
||||
f 211/381/22 212/490/22 210/433/22
|
||||
f 266/434/26 265/491/26 267/435/26
|
||||
f 268/436/30 267/435/30 274/437/30
|
||||
f 269/439/23 270/492/23 272/440/23
|
||||
f 271/441/31 272/440/31 275/442/31
|
||||
f 274/437/22 273/443/22 275/442/22
|
||||
f 278/444/26 277/493/26 279/445/26
|
||||
f 280/446/30 279/445/30 286/447/30
|
||||
f 281/449/23 282/494/23 284/450/23
|
||||
f 283/451/31 284/450/31 287/452/31
|
||||
f 286/447/22 285/453/22 287/452/22
|
||||
f 139/281/22 138/282/22 137/283/22
|
||||
f 144/284/23 159/285/23 142/286/23
|
||||
f 139/281/24 148/287/24 140/288/24
|
||||
f 138/282/25 146/289/25 137/283/25
|
||||
f 140/288/26 147/290/26 138/282/26
|
||||
f 137/283/23 145/291/23 139/281/23
|
||||
f 143/292/27 146/293/27 141/294/27
|
||||
f 141/294/27 147/290/27 142/295/27
|
||||
f 142/295/27 148/296/27 144/297/27
|
||||
f 144/297/27 145/298/27 143/292/27
|
||||
f 150/299/26 151/300/26 149/301/26
|
||||
f 153/302/23 155/303/23 154/304/23
|
||||
f 159/285/27 157/305/27 158/306/27
|
||||
f 151/300/27 154/304/27 149/301/27
|
||||
f 152/307/24 153/302/24 151/300/24
|
||||
f 149/301/25 155/308/25 150/309/25
|
||||
f 141/310/26 157/305/26 143/311/26
|
||||
f 143/312/25 160/313/25 144/314/25
|
||||
f 142/315/24 158/306/24 141/316/24
|
||||
f 162/317/26 163/318/26 161/319/26
|
||||
f 165/320/23 167/321/23 166/322/23
|
||||
f 163/318/27 166/322/27 161/319/27
|
||||
f 164/323/24 165/320/24 163/318/24
|
||||
f 161/319/25 167/324/25 162/325/25
|
||||
f 170/326/23 171/327/23 169/328/23
|
||||
f 173/329/26 175/330/26 174/331/26
|
||||
f 171/327/27 174/331/27 169/328/27
|
||||
f 172/332/25 173/329/25 171/327/25
|
||||
f 169/328/24 175/333/24 170/334/24
|
||||
f 178/335/23 179/336/23 177/337/23
|
||||
f 181/338/26 183/339/26 182/340/26
|
||||
f 179/336/27 182/340/27 177/337/27
|
||||
f 180/341/25 181/338/25 179/336/25
|
||||
f 177/337/24 183/342/24 178/343/24
|
||||
f 186/344/24 187/345/24 185/346/24
|
||||
f 189/347/25 191/348/25 190/349/25
|
||||
f 187/345/27 190/349/27 185/346/27
|
||||
f 188/350/23 189/347/23 187/345/23
|
||||
f 185/346/26 191/351/26 186/352/26
|
||||
f 194/353/24 195/354/24 193/355/24
|
||||
f 197/356/25 199/357/25 198/358/25
|
||||
f 195/354/27 198/358/27 193/355/27
|
||||
f 196/359/23 197/356/23 195/354/23
|
||||
f 193/355/26 199/360/26 194/361/26
|
||||
f 202/362/25 203/363/25 201/364/25
|
||||
f 205/365/24 207/366/24 206/367/24
|
||||
f 203/363/27 206/367/27 201/364/27
|
||||
f 204/368/26 205/365/26 203/363/26
|
||||
f 201/364/23 207/369/23 202/370/23
|
||||
f 210/371/25 211/372/25 209/373/25
|
||||
f 213/374/24 215/375/24 214/376/24
|
||||
f 211/372/27 214/376/27 209/373/27
|
||||
f 212/377/26 213/374/26 211/372/26
|
||||
f 209/373/23 215/378/23 210/379/23
|
||||
f 218/380/24 233/381/24 217/382/24
|
||||
f 232/383/27 230/384/27 231/385/27
|
||||
f 228/386/27 226/387/27 227/388/27
|
||||
f 224/389/24 229/390/24 225/391/24
|
||||
f 223/392/25 227/393/25 222/394/25
|
||||
f 225/391/26 228/386/26 223/392/26
|
||||
f 222/395/23 226/396/23 224/389/23
|
||||
f 219/397/25 231/398/25 220/399/25
|
||||
f 217/382/26 232/383/26 219/397/26
|
||||
f 220/400/23 230/401/23 218/380/23
|
||||
f 235/402/24 249/403/24 234/404/24
|
||||
f 248/405/27 246/406/27 247/407/27
|
||||
f 244/408/27 242/409/27 243/410/27
|
||||
f 240/411/24 245/412/24 241/413/24
|
||||
f 239/414/25 243/415/25 238/416/25
|
||||
f 241/413/26 244/408/26 239/414/26
|
||||
f 238/417/23 242/418/23 240/411/23
|
||||
f 236/419/25 247/420/25 237/421/25
|
||||
f 234/404/26 248/405/26 236/419/26
|
||||
f 237/422/23 246/423/23 235/402/23
|
||||
f 250/424/27 251/425/27 221/426/27
|
||||
f 250/424/28 254/427/28 252/428/28
|
||||
f 253/429/26 256/430/26 254/427/26
|
||||
f 251/425/29 257/431/29 221/426/29
|
||||
f 258/432/23 259/433/23 257/431/23
|
||||
f 262/434/27 263/435/27 261/436/27
|
||||
f 262/434/28 266/437/28 264/438/28
|
||||
f 265/439/26 268/440/26 266/437/26
|
||||
f 263/435/29 269/441/29 261/436/29
|
||||
f 270/442/23 271/443/23 269/441/23
|
||||
f 225/391/22 222/444/22 224/445/22
|
||||
f 241/413/22 238/446/22 240/447/22
|
||||
f 236/419/22 235/448/22 234/404/22
|
||||
f 219/397/22 218/449/22 217/382/22
|
||||
f 274/450/26 275/451/26 276/452/26
|
||||
f 276/452/30 282/453/30 284/454/30
|
||||
f 277/455/23 280/456/23 279/457/23
|
||||
f 279/457/31 283/458/31 281/459/31
|
||||
f 282/453/22 283/458/22 284/454/22
|
||||
f 286/460/26 287/461/26 288/462/26
|
||||
f 288/462/30 294/463/30 296/464/30
|
||||
f 289/465/23 292/466/23 291/467/23
|
||||
f 291/467/31 295/468/31 293/469/31
|
||||
f 294/463/22 295/468/22 296/464/22
|
||||
f 139/281/22 140/288/22 138/282/22
|
||||
f 144/284/23 160/313/23 159/285/23
|
||||
f 139/281/24 145/470/24 148/287/24
|
||||
f 138/282/25 147/471/25 146/289/25
|
||||
f 140/288/26 148/296/26 147/290/26
|
||||
f 137/283/23 146/472/23 145/291/23
|
||||
f 143/292/27 145/298/27 146/293/27
|
||||
f 141/294/27 146/293/27 147/290/27
|
||||
f 142/295/27 147/290/27 148/296/27
|
||||
f 144/297/27 148/296/27 145/298/27
|
||||
f 150/299/26 152/473/26 151/300/26
|
||||
f 153/302/23 156/474/23 155/303/23
|
||||
f 159/285/27 160/313/27 157/305/27
|
||||
f 151/300/27 153/302/27 154/304/27
|
||||
f 152/307/24 156/475/24 153/302/24
|
||||
f 149/301/25 154/304/25 155/308/25
|
||||
f 141/310/26 158/306/26 157/305/26
|
||||
f 143/312/25 157/305/25 160/313/25
|
||||
f 142/315/24 159/285/24 158/306/24
|
||||
f 162/317/26 164/476/26 163/318/26
|
||||
f 165/320/23 168/477/23 167/321/23
|
||||
f 163/318/27 165/320/27 166/322/27
|
||||
f 164/323/24 168/478/24 165/320/24
|
||||
f 161/319/25 166/322/25 167/324/25
|
||||
f 170/326/23 172/479/23 171/327/23
|
||||
f 173/329/26 176/480/26 175/330/26
|
||||
f 171/327/27 173/329/27 174/331/27
|
||||
f 172/332/25 176/481/25 173/329/25
|
||||
f 169/328/24 174/331/24 175/333/24
|
||||
f 178/335/23 180/482/23 179/336/23
|
||||
f 181/338/26 184/483/26 183/339/26
|
||||
f 179/336/27 181/338/27 182/340/27
|
||||
f 180/341/25 184/484/25 181/338/25
|
||||
f 177/337/24 182/340/24 183/342/24
|
||||
f 186/344/24 188/485/24 187/345/24
|
||||
f 189/347/25 192/486/25 191/348/25
|
||||
f 187/345/27 189/347/27 190/349/27
|
||||
f 188/350/23 192/487/23 189/347/23
|
||||
f 185/346/26 190/349/26 191/351/26
|
||||
f 194/353/24 196/488/24 195/354/24
|
||||
f 197/356/25 200/489/25 199/357/25
|
||||
f 195/354/27 197/356/27 198/358/27
|
||||
f 196/359/23 200/490/23 197/356/23
|
||||
f 193/355/26 198/358/26 199/360/26
|
||||
f 202/362/25 204/491/25 203/363/25
|
||||
f 205/365/24 208/492/24 207/366/24
|
||||
f 203/363/27 205/365/27 206/367/27
|
||||
f 204/368/26 208/493/26 205/365/26
|
||||
f 201/364/23 206/367/23 207/369/23
|
||||
f 210/371/25 212/494/25 211/372/25
|
||||
f 213/374/24 216/495/24 215/375/24
|
||||
f 211/372/27 213/374/27 214/376/27
|
||||
f 212/377/26 216/496/26 213/374/26
|
||||
f 209/373/23 214/376/23 215/378/23
|
||||
f 218/380/24 230/401/24 233/381/24
|
||||
f 232/383/27 233/381/27 230/384/27
|
||||
f 228/386/27 229/390/27 226/387/27
|
||||
f 224/389/24 226/396/24 229/390/24
|
||||
f 223/392/25 228/386/25 227/393/25
|
||||
f 225/391/26 229/390/26 228/386/26
|
||||
f 222/395/23 227/497/23 226/396/23
|
||||
f 219/397/25 232/383/25 231/398/25
|
||||
f 217/382/26 233/381/26 232/383/26
|
||||
f 220/400/23 231/498/23 230/401/23
|
||||
f 235/402/24 246/423/24 249/403/24
|
||||
f 248/405/27 249/403/27 246/406/27
|
||||
f 244/408/27 245/412/27 242/409/27
|
||||
f 240/411/24 242/418/24 245/412/24
|
||||
f 239/414/25 244/408/25 243/415/25
|
||||
f 241/413/26 245/412/26 244/408/26
|
||||
f 238/417/23 243/499/23 242/418/23
|
||||
f 236/419/25 248/405/25 247/420/25
|
||||
f 234/404/26 249/403/26 248/405/26
|
||||
f 237/422/23 247/500/23 246/423/23
|
||||
f 250/424/27 252/428/27 251/425/27
|
||||
f 250/424/28 253/429/28 254/427/28
|
||||
f 253/429/26 255/501/26 256/430/26
|
||||
f 251/425/29 258/432/29 257/431/29
|
||||
f 258/432/23 260/502/23 259/433/23
|
||||
f 262/434/27 264/438/27 263/435/27
|
||||
f 262/434/28 265/439/28 266/437/28
|
||||
f 265/439/26 267/503/26 268/440/26
|
||||
f 263/435/29 270/442/29 269/441/29
|
||||
f 270/442/23 272/504/23 271/443/23
|
||||
f 225/391/22 223/392/22 222/444/22
|
||||
f 241/413/22 239/414/22 238/446/22
|
||||
f 236/419/22 237/505/22 235/448/22
|
||||
f 219/397/22 220/506/22 218/449/22
|
||||
f 274/450/26 273/507/26 275/451/26
|
||||
f 276/452/30 275/451/30 282/453/30
|
||||
f 277/455/23 278/508/23 280/456/23
|
||||
f 279/457/31 280/456/31 283/458/31
|
||||
f 282/453/22 281/459/22 283/458/22
|
||||
f 286/460/26 285/509/26 287/461/26
|
||||
f 288/462/30 287/461/30 294/463/30
|
||||
f 289/465/23 290/510/23 292/466/23
|
||||
f 291/467/31 292/466/31 295/468/31
|
||||
f 294/463/22 293/469/22 295/468/22
|
||||
|
||||
@ -47,9 +47,9 @@ vt 1.000000 0.785714
|
||||
vt 1.000000 0.214286
|
||||
vt 0.681818 0.285714
|
||||
vt 0.954545 0.285714
|
||||
vt 0.954545 0.267857
|
||||
vt 0.954545 0.285714
|
||||
vt 0.681818 0.714286
|
||||
vt 0.681818 0.267857
|
||||
vt 0.681818 0.285714
|
||||
vt 0.500000 0.107143
|
||||
vt 0.772727 0.035714
|
||||
vt 0.772727 0.107143
|
||||
|
||||
@ -27,6 +27,7 @@
|
||||
"block.debris": {"category": "block", "sounds": ["block/debris1", "block/debris2", "block/debris3"]},
|
||||
"block.centrifugeOperate": {"category": "block", "sounds": [{"name": "block/centrifugeOperate", "stream": false}]},
|
||||
"block.pipePlaced": {"category": "block", "sounds": [{"name": "block/pipePlaced", "stream": false}]},
|
||||
"block.flesh": {"category": "block", "sounds": ["block/flesh1", "block/flesh2", "block/flesh4", "block/flesh5"]},
|
||||
"block.missileAssembly": {"category": "block", "sounds": [{"name": "block/missileAssembly", "stream": false}]},
|
||||
"block.missileAssembly2": {"category": "block", "sounds": [{"name": "block/missileAssembly2", "stream": false}]},
|
||||
"block.openDoor": {"category": "block", "sounds": ["block/door_open_1", "block/door_open_2"]},
|
||||
@ -324,6 +325,8 @@
|
||||
"step.iron_land": {"category": "player", "sounds": [{"name": "footsteps/iron_land", "stream": false}]},
|
||||
"step.iron": {"category": "player", "sounds": ["footsteps/iron1", "footsteps/iron2", "footsteps/iron3", "footsteps/iron4"]},
|
||||
"step.metalBlock": {"category": "block", "sounds": ["footsteps/metalStep1", "footsteps/metalStep2", "footsteps/metalStep3", "footsteps/metalStep4"]},
|
||||
"step.platemetal": {"category": "block", "sounds": ["block/platemetal_step"]},
|
||||
"block.platemetalPlace": {"category": "block", "sounds": ["block/platemetal_bar1", "block/platemetal_bar2", "block/platemetal_bar3", "block/platemetal_bar4", "block/platemetal_bar5", "block/platemetal_bar6"]},
|
||||
"step.powered": {"category": "player", "sounds": ["footsteps/powered1", "footsteps/powered2", "footsteps/powered3"]},
|
||||
|
||||
"player.vomit": {"category": "player", "sounds": [{"name": "player/vomit", "stream": false}]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/block/flesh1.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/flesh2.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/flesh4.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/flesh5.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar1.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar2.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar3.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar4.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar5.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_bar6.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/platemetal_step.ogg
Normal file
BIN
src/main/resources/assets/hbm/structures/dead_dish_small.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/water_pump.nbt
Normal file
|
After Width: | Height: | Size: 387 B |
|
After Width: | Height: | Size: 888 B |
|
After Width: | Height: | Size: 353 B |
|
After Width: | Height: | Size: 790 B |
|
After Width: | Height: | Size: 477 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 458 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 472 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 497 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 438 B |
|
After Width: | Height: | Size: 1002 B |
|
After Width: | Height: | Size: 466 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 474 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 479 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 480 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 476 B |
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/assets/hbm/textures/blocks/platemetal.red.png
Normal file
|
After Width: | Height: | Size: 450 B |
|
After Width: | Height: | Size: 1.0 KiB |