Search in sources :

Example 1 with BlockMulti

use of micdoodle8.mods.galacticraft.core.blocks.BlockMulti in project Galacticraft by micdoodle8.

the class GCBlocks method initBlocks.

public static void initBlocks() {
    GCBlocks.breatheableAir = new BlockBreathableAir("breatheable_air");
    GCBlocks.brightAir = new BlockBrightAir("bright_air");
    GCBlocks.brightBreatheableAir = new BlockBrightBreathableAir("bright_breathable_air");
    GCBlocks.brightLamp = new BlockBrightLamp("arclamp");
    GCBlocks.treasureChestTier1 = new BlockTier1TreasureChest("treasure_chest");
    GCBlocks.landingPad = new BlockLandingPad("landing_pad");
    GCBlocks.landingPadFull = new BlockLandingPadFull("landing_pad_full");
    GCBlocks.unlitTorch = new BlockUnlitTorch(false, "unlit_torch");
    GCBlocks.unlitTorchLit = new BlockUnlitTorch(true, "unlit_torch_lit");
    GCBlocks.oxygenDistributor = new BlockOxygenDistributor("distributor");
    GCBlocks.oxygenPipe = new BlockFluidPipe("fluid_pipe", BlockFluidPipe.EnumPipeMode.NORMAL);
    GCBlocks.oxygenPipePull = new BlockFluidPipe("fluid_pipe_pull", BlockFluidPipe.EnumPipeMode.PULL);
    GCBlocks.oxygenCollector = new BlockOxygenCollector("collector");
    GCBlocks.nasaWorkbench = new BlockNasaWorkbench("rocket_workbench");
    GCBlocks.fallenMeteor = new BlockFallenMeteor("fallen_meteor");
    GCBlocks.basicBlock = new BlockBasic("basic_block_core");
    GCBlocks.airLockFrame = new BlockAirLockFrame("air_lock_frame");
    GCBlocks.airLockSeal = new BlockAirLockWall("air_lock_seal");
    // These glass types have to be registered as 6 separate blocks, (a) to allow different coloring of each one and (b) because the Forge MultiLayer custom model does not allow for different textures to be set for different variants
    GCBlocks.spaceGlassVanilla = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_vanilla", GlassType.VANILLA, GlassFrame.PLAIN, null).setHardness(0.3F).setResistance(3F);
    GCBlocks.spaceGlassClear = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_clear", GlassType.CLEAR, GlassFrame.PLAIN, null).setHardness(0.3F).setResistance(3F);
    GCBlocks.spaceGlassStrong = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_strong", GlassType.STRONG, GlassFrame.PLAIN, null).setHardness(4F).setResistance(35F);
    GCBlocks.spaceGlassTinVanilla = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_vanilla_tin", GlassType.VANILLA, GlassFrame.TIN_DECO, GCBlocks.spaceGlassVanilla).setHardness(0.3F).setResistance(4F);
    GCBlocks.spaceGlassTinClear = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_clear_tin", GlassType.CLEAR, GlassFrame.TIN_DECO, GCBlocks.spaceGlassClear).setHardness(0.3F).setResistance(4F);
    GCBlocks.spaceGlassTinStrong = (BlockSpaceGlass) new BlockSpaceGlass("space_glass_strong_tin", GlassType.STRONG, GlassFrame.TIN_DECO, GCBlocks.spaceGlassStrong).setHardness(4F).setResistance(35F);
    GCBlocks.crafting = new BlockCrafting("magnetic_table");
    GCBlocks.refinery = new BlockRefinery("refinery");
    GCBlocks.oxygenCompressor = new BlockOxygenCompressor(false, "oxygen_compressor");
    GCBlocks.fuelLoader = new BlockFuelLoader("fuel_loader");
    GCBlocks.spaceStationBase = new BlockSpaceStationBase("space_station_base");
    GCBlocks.fakeBlock = new BlockMulti("block_multi");
    GCBlocks.oxygenSealer = new BlockOxygenSealer("sealer");
    GCBlocks.sealableBlock = new BlockEnclosed("enclosed");
    GCBlocks.oxygenDetector = new BlockOxygenDetector("oxygen_detector");
    GCBlocks.cargoLoader = new BlockCargoLoader("cargo");
    GCBlocks.parachest = new BlockParaChest("parachest");
    GCBlocks.solarPanel = new BlockSolar("solar");
    GCBlocks.radioTelescope = new BlockDish("dishbase");
    GCBlocks.machineBase = new BlockMachine("machine");
    GCBlocks.machineBase2 = new BlockMachine2("machine2");
    GCBlocks.machineBase3 = new BlockMachine3("machine3");
    GCBlocks.machineTiered = new BlockMachineTiered("machine_tiered");
    GCBlocks.aluminumWire = new BlockAluminumWire("aluminum_wire");
    GCBlocks.panelLighting = new BlockPanelLighting("panel_lighting");
    GCBlocks.glowstoneTorch = new BlockGlowstoneTorch("glowstone_torch");
    GCBlocks.blockMoon = new BlockBasicMoon("basic_block_moon");
    GCBlocks.cheeseBlock = new BlockCheese("cheese");
    GCBlocks.spinThruster = new BlockSpinThruster("spin_thruster");
    GCBlocks.screen = new BlockScreen("view_screen");
    GCBlocks.telemetry = new BlockTelemetry("telemetry");
    GCBlocks.fluidTank = new BlockFluidTank("fluid_tank");
    GCBlocks.bossSpawner = new BlockBossSpawner("boss_spawner");
    GCBlocks.slabGCHalf = new BlockSlabGC("slab_gc_half", Material.rock);
    GCBlocks.slabGCDouble = new BlockDoubleSlabGC("slab_gc_double", Material.rock);
    GCBlocks.tinStairs1 = new BlockStairsGC("tin_stairs_1", basicBlock.getDefaultState().withProperty(BlockBasic.BASIC_TYPE, BlockBasic.EnumBlockBasic.ALUMINUM_DECORATION_BLOCK_0)).setHardness(2.0F);
    GCBlocks.tinStairs2 = new BlockStairsGC("tin_stairs_2", basicBlock.getDefaultState().withProperty(BlockBasic.BASIC_TYPE, BlockBasic.EnumBlockBasic.ALUMINUM_DECORATION_BLOCK_1)).setHardness(2.0F);
    GCBlocks.moonStoneStairs = new BlockStairsGC("moon_stairs_stone", blockMoon.getDefaultState().withProperty(BlockBasicMoon.BASIC_TYPE_MOON, BlockBasicMoon.EnumBlockBasicMoon.MOON_STONE)).setHardness(1.5F);
    GCBlocks.moonBricksStairs = new BlockStairsGC("moon_stairs_brick", blockMoon.getDefaultState().withProperty(BlockBasicMoon.BASIC_TYPE_MOON, BlockBasicMoon.EnumBlockBasicMoon.MOON_DUNGEON_BRICK)).setHardness(4.0F);
    GCBlocks.wallGC = new BlockWallGC("wall_gc");
    GCBlocks.concealedRedstone = new BlockConcealedRedstone("concealed_redstone");
    GCBlocks.concealedRepeater_Powered = new BlockConcealedRepeater("concealed_repeater_pow", true);
    GCBlocks.concealedRepeater_Unpowered = new BlockConcealedRepeater("concealed_repeater", false);
    GCBlocks.concealedDetector = new BlockConcealedDetector("concealed_detector");
    GCBlocks.platform = new BlockPlatform("platform");
    GCBlocks.emergencyBox = new BlockEmergencyBox("emergency_box");
    GCBlocks.grating = new BlockGrating("grating");
    // Hide certain items from NEI
    GCBlocks.hiddenBlocks.add(GCBlocks.airLockSeal);
    GCBlocks.hiddenBlocks.add(GCBlocks.oxygenPipePull);
    GCBlocks.hiddenBlocks.add(GCBlocks.unlitTorch);
    GCBlocks.hiddenBlocks.add(GCBlocks.unlitTorchLit);
    GCBlocks.hiddenBlocks.add(GCBlocks.landingPadFull);
    GCBlocks.hiddenBlocks.add(GCBlocks.spaceStationBase);
    GCBlocks.hiddenBlocks.add(GCBlocks.bossSpawner);
    GCBlocks.hiddenBlocks.add(GCBlocks.slabGCDouble);
    GCBlocks.hiddenBlocks.add(GCBlocks.concealedRepeater_Powered);
    // Register blocks before register ores, so that the ItemStack picks up the correct item
    GCBlocks.registerBlocks();
    GCBlocks.setHarvestLevels();
    // Complete registration of various types of torches
    BlockUnlitTorch.register((BlockUnlitTorch) GCBlocks.unlitTorch, (BlockUnlitTorch) GCBlocks.unlitTorchLit, Blocks.torch);
    OreDictionary.registerOre("oreCopper", new ItemStack(GCBlocks.basicBlock, 1, 5));
    OreDictionary.registerOre("oreCopper", new ItemStack(GCBlocks.blockMoon, 1, 0));
    OreDictionary.registerOre("oreTin", new ItemStack(GCBlocks.basicBlock, 1, 6));
    OreDictionary.registerOre("oreTin", new ItemStack(GCBlocks.blockMoon, 1, 1));
    OreDictionary.registerOre("oreAluminum", new ItemStack(GCBlocks.basicBlock, 1, 7));
    OreDictionary.registerOre("oreAluminium", new ItemStack(GCBlocks.basicBlock, 1, 7));
    OreDictionary.registerOre("oreNaturalAluminum", new ItemStack(GCBlocks.basicBlock, 1, 7));
    OreDictionary.registerOre("oreSilicon", new ItemStack(GCBlocks.basicBlock, 1, 8));
    OreDictionary.registerOre("oreCheese", new ItemStack(GCBlocks.blockMoon, 1, 2));
    OreDictionary.registerOre("blockCopper", new ItemStack(GCBlocks.basicBlock, 1, 9));
    OreDictionary.registerOre("blockTin", new ItemStack(GCBlocks.basicBlock, 1, 10));
    OreDictionary.registerOre("blockAluminum", new ItemStack(GCBlocks.basicBlock, 1, 11));
    OreDictionary.registerOre("blockAluminium", new ItemStack(GCBlocks.basicBlock, 1, 11));
    OreDictionary.registerOre("blockSilicon", new ItemStack(GCBlocks.basicBlock, 1, 13));
    OreDictionary.registerOre("turfMoon", new ItemStack(GCBlocks.blockMoon, 1, EnumBlockBasicMoon.MOON_TURF.getMeta()));
}
Also used : EnumBlockBasicMoon(micdoodle8.mods.galacticraft.core.blocks.BlockBasicMoon.EnumBlockBasicMoon) ItemStack(net.minecraft.item.ItemStack)

Example 2 with BlockMulti

use of micdoodle8.mods.galacticraft.core.blocks.BlockMulti in project Galacticraft by micdoodle8.

the class TileEntityMulti method initialiseMultiTiles.

protected boolean initialiseMultiTiles(BlockPos pos, World world) {
    IMultiBlock thisTile = (IMultiBlock) this;
    // Client can create its own fake blocks and tiles - no need for networking in 1.8+
    if (world.isRemote) {
        thisTile.onCreate(world, pos);
    }
    List<BlockPos> positions = new ArrayList<>();
    thisTile.getPositions(pos, positions);
    boolean result = true;
    for (BlockPos vecToAdd : positions) {
        TileEntity tile = world.getTileEntity(vecToAdd);
        if (tile instanceof TileEntityMulti) {
            ((TileEntityMulti) tile).mainBlockPosition = pos;
        } else if (tile == null) {
            Block b = world.getBlockState(vecToAdd).getBlock();
            if (!(b instanceof BlockMulti)) {
                world.setBlockState(vecToAdd, GCBlocks.fakeBlock.getDefaultState().withProperty(BlockMulti.MULTI_TYPE, thisTile.getMultiType()), 2);
            }
            world.setTileEntity(vecToAdd, new TileEntityMulti(pos));
        } else {
            result = false;
        }
    }
    if (result == false && !world.isRemote) {
    // //Try again to create all the multiblocks - currently disabled because making new tiles here interferes with server->client tileEntity sync during worldgen (Abandoned Base)
    // thisTile.onCreate(world, pos);
    }
    return result;
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) ArrayList(java.util.ArrayList) Block(net.minecraft.block.Block) BlockPos(net.minecraft.util.BlockPos) BlockMulti(micdoodle8.mods.galacticraft.core.blocks.BlockMulti)

Aggregations

ArrayList (java.util.ArrayList)1 EnumBlockBasicMoon (micdoodle8.mods.galacticraft.core.blocks.BlockBasicMoon.EnumBlockBasicMoon)1 BlockMulti (micdoodle8.mods.galacticraft.core.blocks.BlockMulti)1 Block (net.minecraft.block.Block)1 ItemStack (net.minecraft.item.ItemStack)1 TileEntity (net.minecraft.tileentity.TileEntity)1 BlockPos (net.minecraft.util.BlockPos)1