zquash
@ -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);
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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"));
|
||||
|
||||
@ -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
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
"en_US": "Chicago Pile"
|
||||
},
|
||||
"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]]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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 |
|
After Width: | Height: | Size: 486 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 476 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 429 B |
|
After Width: | Height: | Size: 432 B |
|
After Width: | Height: | Size: 396 B |
BIN
src/main/resources/assets/hbm/textures/blocks/stalactite.ice.png
Normal file
|
After Width: | Height: | Size: 408 B |
|
After Width: | Height: | Size: 246 B |
|
After Width: | Height: | Size: 377 B |
|
After Width: | Height: | Size: 371 B |
|
After Width: | Height: | Size: 360 B |
BIN
src/main/resources/assets/hbm/textures/blocks/stalagmite.ice.png
Normal file
|
After Width: | Height: | Size: 424 B |
|
After Width: | Height: | Size: 230 B |