2019-07-11 09:03:08 +02:00
|
|
|
package com.simibubi.create;
|
|
|
|
|
2019-08-10 01:00:36 +02:00
|
|
|
import com.simibubi.create.foundation.block.IWithoutBlockItem;
|
2019-08-17 00:57:36 +02:00
|
|
|
import com.simibubi.create.foundation.block.RenderUtilityAxisBlock;
|
2019-07-23 12:54:53 +02:00
|
|
|
import com.simibubi.create.foundation.block.RenderUtilityBlock;
|
2019-08-17 00:57:36 +02:00
|
|
|
import com.simibubi.create.modules.contraptions.base.HalfAxisBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.generators.MotorBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.CrushingWheelBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.DrillBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.HarvesterBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.TurntableBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.constructs.ChassisBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.constructs.MechanicalPistonHeadBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.receivers.constructs.PistonPoleBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.redstone.ContactBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.AxisBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.AxisTunnelBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.BeltBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.CogWheelBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.EncasedBeltBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.GearboxBlock;
|
|
|
|
import com.simibubi.create.modules.contraptions.relays.GearshifterBlock;
|
2019-07-23 12:54:53 +02:00
|
|
|
import com.simibubi.create.modules.schematics.block.CreativeCrateBlock;
|
|
|
|
import com.simibubi.create.modules.schematics.block.SchematicTableBlock;
|
|
|
|
import com.simibubi.create.modules.schematics.block.SchematicannonBlock;
|
|
|
|
import com.simibubi.create.modules.symmetry.block.CrossPlaneSymmetryBlock;
|
|
|
|
import com.simibubi.create.modules.symmetry.block.PlaneSymmetryBlock;
|
|
|
|
import com.simibubi.create.modules.symmetry.block.TriplePlaneSymmetryBlock;
|
2019-07-11 09:03:08 +02:00
|
|
|
|
|
|
|
import net.minecraft.block.Block;
|
2019-08-06 18:13:33 +02:00
|
|
|
import net.minecraft.block.Block.Properties;
|
2019-07-11 09:03:08 +02:00
|
|
|
import net.minecraft.block.BlockState;
|
2019-08-06 18:13:33 +02:00
|
|
|
import net.minecraft.block.Blocks;
|
2019-08-17 00:57:36 +02:00
|
|
|
import net.minecraft.block.RotatedPillarBlock;
|
2019-07-11 09:03:08 +02:00
|
|
|
import net.minecraft.item.BlockItem;
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
import net.minecraftforge.registries.IForgeRegistry;
|
|
|
|
|
|
|
|
public enum AllBlocks {
|
|
|
|
|
2019-08-06 18:13:33 +02:00
|
|
|
// Schematics
|
2019-07-11 19:55:11 +02:00
|
|
|
SCHEMATICANNON(new SchematicannonBlock()),
|
2019-07-23 12:54:53 +02:00
|
|
|
SCHEMATICANNON_CONNECTOR(new RenderUtilityBlock()),
|
|
|
|
SCHEMATICANNON_PIPE(new RenderUtilityBlock()),
|
2019-07-13 12:55:28 +02:00
|
|
|
CREATIVE_CRATE(new CreativeCrateBlock()),
|
2019-07-11 19:55:11 +02:00
|
|
|
SCHEMATIC_TABLE(new SchematicTableBlock()),
|
2019-08-06 18:13:33 +02:00
|
|
|
|
|
|
|
// Kinetics
|
|
|
|
AXIS(new AxisBlock(Properties.from(Blocks.ANDESITE))),
|
|
|
|
GEAR(new CogWheelBlock(false)),
|
|
|
|
LARGE_GEAR(new CogWheelBlock(true)),
|
|
|
|
AXIS_TUNNEL(new AxisTunnelBlock()),
|
2019-08-17 00:57:36 +02:00
|
|
|
ENCASED_BELT(new EncasedBeltBlock()),
|
2019-08-06 18:13:33 +02:00
|
|
|
GEARSHIFTER(new GearshifterBlock()),
|
2019-08-17 00:57:36 +02:00
|
|
|
GEARBOX(new GearboxBlock()),
|
2019-08-10 01:00:36 +02:00
|
|
|
BELT(new BeltBlock()),
|
2019-08-17 00:57:36 +02:00
|
|
|
BELT_PULLEY(new RenderUtilityAxisBlock()),
|
2019-08-10 01:00:36 +02:00
|
|
|
BELT_ANIMATION(new RenderUtilityBlock()),
|
2019-07-11 19:55:11 +02:00
|
|
|
|
2019-08-17 00:57:36 +02:00
|
|
|
MOTOR(new MotorBlock()),
|
|
|
|
|
2019-08-06 18:13:33 +02:00
|
|
|
TURNTABLE(new TurntableBlock()),
|
|
|
|
HALF_AXIS(new HalfAxisBlock()),
|
2019-08-17 00:57:36 +02:00
|
|
|
CRUSHING_WHEEL(new CrushingWheelBlock()),
|
|
|
|
|
|
|
|
MECHANICAL_PISTON(new MechanicalPistonBlock(false)),
|
|
|
|
STICKY_MECHANICAL_PISTON(new MechanicalPistonBlock(true)),
|
|
|
|
MECHANICAL_PISTON_HEAD(new MechanicalPistonHeadBlock()),
|
|
|
|
PISTON_POLE(new PistonPoleBlock()),
|
|
|
|
CONSTRUCT(new ChassisBlock(ChassisBlock.Type.NORMAL)),
|
|
|
|
STICKY_CONSTRUCT(new ChassisBlock(ChassisBlock.Type.STICKY)),
|
|
|
|
RELOCATION_CONSTRUCT(new ChassisBlock(ChassisBlock.Type.RELOCATING)),
|
|
|
|
|
|
|
|
DRILL(new DrillBlock()),
|
|
|
|
HARVESTER(new HarvesterBlock()),
|
|
|
|
CONTACT(new ContactBlock()),
|
2019-08-06 18:13:33 +02:00
|
|
|
|
|
|
|
// Symmetry
|
2019-07-19 17:50:23 +02:00
|
|
|
SYMMETRY_PLANE(new PlaneSymmetryBlock()),
|
|
|
|
SYMMETRY_CROSSPLANE(new CrossPlaneSymmetryBlock()),
|
2019-08-06 18:13:33 +02:00
|
|
|
SYMMETRY_TRIPLEPLANE(new TriplePlaneSymmetryBlock()),
|
|
|
|
|
2019-08-17 00:57:36 +02:00
|
|
|
// Palettes
|
|
|
|
ANDESITE_BRICKS(new Block(Properties.from(Blocks.ANDESITE))),
|
|
|
|
DIORITE_BRICKS(new Block(Properties.from(Blocks.DIORITE))),
|
|
|
|
GRANITE_BRICKS(new Block(Properties.from(Blocks.GRANITE))),
|
|
|
|
|
|
|
|
GABBRO(new Block(Properties.from(Blocks.ANDESITE))),
|
|
|
|
POLISHED_GABBRO(new Block(Properties.from(GABBRO.block))),
|
|
|
|
GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
|
|
|
PAVED_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
|
|
|
INDENTED_GABBRO(new Block(Properties.from(GABBRO.block))),
|
|
|
|
SLIGHTLY_MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
|
|
|
MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
|
|
|
|
|
|
|
LIMESTONE(new Block(Properties.from(Blocks.SANDSTONE))),
|
|
|
|
POLISHED_LIMESTONE(new Block(Properties.from(LIMESTONE.block))),
|
|
|
|
LIMESTONE_BRICKS(new Block(Properties.from(LIMESTONE.block))),
|
|
|
|
LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(LIMESTONE.block))),
|
|
|
|
|
|
|
|
QUARTZIORITE(new Block(Properties.from(Blocks.QUARTZ_BLOCK))),
|
|
|
|
QUARTZIORITE_BRICKS(new Block(Properties.from(QUARTZIORITE.block))),
|
|
|
|
POLISHED_QUARTZIORITE(new Block(Properties.from(QUARTZIORITE.block))),
|
|
|
|
|
|
|
|
DOLOMITE(new Block(Properties.from(Blocks.GRANITE))),
|
|
|
|
DOLOMITE_BRICKS(new Block(Properties.from(DOLOMITE.block))),
|
|
|
|
POLISHED_DOLOMITE(new Block(Properties.from(DOLOMITE.block))),
|
|
|
|
DOLOMITE_PILLAR(new RotatedPillarBlock(Properties.from(DOLOMITE.block))),
|
|
|
|
|
2019-08-06 18:13:33 +02:00
|
|
|
;
|
2019-07-11 09:03:08 +02:00
|
|
|
|
|
|
|
public Block block;
|
|
|
|
|
|
|
|
private AllBlocks(Block block) {
|
|
|
|
this.block = block;
|
|
|
|
this.block.setRegistryName(Create.ID, this.name().toLowerCase());
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void registerBlocks(IForgeRegistry<Block> registry) {
|
|
|
|
for (AllBlocks block : values()) {
|
|
|
|
registry.register(block.block);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void registerItemBlocks(IForgeRegistry<Item> registry) {
|
|
|
|
for (AllBlocks block : values()) {
|
2019-08-10 01:00:36 +02:00
|
|
|
if (block.get() instanceof IWithoutBlockItem)
|
2019-07-11 09:03:08 +02:00
|
|
|
continue;
|
|
|
|
|
|
|
|
registry.register(new BlockItem(block.get(), AllItems.standardProperties())
|
|
|
|
.setRegistryName(block.get().getRegistryName()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Block get() {
|
|
|
|
return block;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean typeOf(BlockState state) {
|
|
|
|
return state.getBlock() == block;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|