mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-16 06:51:56 +01:00
Sections
- Removed pseudo-modularity of Create's content
This commit is contained in:
parent
901cb00426
commit
e27927de15
291 changed files with 528 additions and 2224 deletions
|
@ -10,7 +10,7 @@ import com.simibubi.create.foundation.block.ProperStairsBlock;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.data.ITaggable;
|
import com.simibubi.create.foundation.utility.data.ITaggable;
|
||||||
import com.simibubi.create.foundation.world.OxidizingBlock;
|
import com.simibubi.create.foundation.world.OxidizingBlock;
|
||||||
import com.simibubi.create.modules.IModule;
|
import com.simibubi.create.modules.Sections;
|
||||||
import com.simibubi.create.modules.contraptions.CasingBlock;
|
import com.simibubi.create.modules.contraptions.CasingBlock;
|
||||||
import com.simibubi.create.modules.contraptions.components.actors.DrillBlock;
|
import com.simibubi.create.modules.contraptions.components.actors.DrillBlock;
|
||||||
import com.simibubi.create.modules.contraptions.components.actors.HarvesterBlock;
|
import com.simibubi.create.modules.contraptions.components.actors.HarvesterBlock;
|
||||||
|
@ -60,11 +60,11 @@ import com.simibubi.create.modules.contraptions.relays.encased.EncasedShaftBlock
|
||||||
import com.simibubi.create.modules.contraptions.relays.encased.GearshiftBlock;
|
import com.simibubi.create.modules.contraptions.relays.encased.GearshiftBlock;
|
||||||
import com.simibubi.create.modules.contraptions.relays.gauge.GaugeBlock;
|
import com.simibubi.create.modules.contraptions.relays.gauge.GaugeBlock;
|
||||||
import com.simibubi.create.modules.contraptions.relays.gearbox.GearboxBlock;
|
import com.simibubi.create.modules.contraptions.relays.gearbox.GearboxBlock;
|
||||||
|
import com.simibubi.create.modules.curiosities.CocoaLogBlock;
|
||||||
import com.simibubi.create.modules.curiosities.partialWindows.WindowInABlockBlock;
|
import com.simibubi.create.modules.curiosities.partialWindows.WindowInABlockBlock;
|
||||||
import com.simibubi.create.modules.curiosities.symmetry.block.CrossPlaneSymmetryBlock;
|
import com.simibubi.create.modules.curiosities.symmetry.block.CrossPlaneSymmetryBlock;
|
||||||
import com.simibubi.create.modules.curiosities.symmetry.block.PlaneSymmetryBlock;
|
import com.simibubi.create.modules.curiosities.symmetry.block.PlaneSymmetryBlock;
|
||||||
import com.simibubi.create.modules.curiosities.symmetry.block.TriplePlaneSymmetryBlock;
|
import com.simibubi.create.modules.curiosities.symmetry.block.TriplePlaneSymmetryBlock;
|
||||||
import com.simibubi.create.modules.gardens.CocoaLogBlock;
|
|
||||||
import com.simibubi.create.modules.logistics.block.RedstoneLinkBlock;
|
import com.simibubi.create.modules.logistics.block.RedstoneLinkBlock;
|
||||||
import com.simibubi.create.modules.logistics.block.StockswitchBlock;
|
import com.simibubi.create.modules.logistics.block.StockswitchBlock;
|
||||||
import com.simibubi.create.modules.logistics.block.belts.observer.BeltObserverBlock;
|
import com.simibubi.create.modules.logistics.block.belts.observer.BeltObserverBlock;
|
||||||
|
@ -120,12 +120,8 @@ import net.minecraftforge.common.ToolType;
|
||||||
|
|
||||||
public enum AllBlocks implements NonNullSupplier<Block> {
|
public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
|
|
||||||
// __SCHEMATICS__(),
|
_1_(Sections.KINETICS),
|
||||||
// SCHEMATICANNON(SchematicannonBlock::new),
|
|
||||||
// CREATIVE_CRATE(CreativeCrateBlock::new),
|
|
||||||
// SCHEMATIC_TABLE(SchematicTableBlock::new),
|
|
||||||
|
|
||||||
__CONTRAPTIONS__(),
|
|
||||||
SHAFT(() -> new ShaftBlock(Properties.from(Blocks.ANDESITE))),
|
SHAFT(() -> new ShaftBlock(Properties.from(Blocks.ANDESITE))),
|
||||||
COGWHEEL(() -> new CogWheelBlock(false), (b, p) -> new CogwheelBlockItem(b, p, false)),
|
COGWHEEL(() -> new CogWheelBlock(false), (b, p) -> new CogwheelBlockItem(b, p, false)),
|
||||||
LARGE_COGWHEEL(() -> new CogWheelBlock(true), (b, p) -> new CogwheelBlockItem(b, p, true)),
|
LARGE_COGWHEEL(() -> new CogWheelBlock(true), (b, p) -> new CogwheelBlockItem(b, p, true)),
|
||||||
|
@ -186,7 +182,8 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
FURNACE_ENGINE(FurnaceEngineBlock::new),
|
FURNACE_ENGINE(FurnaceEngineBlock::new),
|
||||||
ROTATION_SPEED_CONTROLLER(SpeedControllerBlock::new),
|
ROTATION_SPEED_CONTROLLER(SpeedControllerBlock::new),
|
||||||
|
|
||||||
__LOGISTICS__(),
|
_2_(Sections.LOGISTICS),
|
||||||
|
|
||||||
CONTACT(ContactBlock::new),
|
CONTACT(ContactBlock::new),
|
||||||
REDSTONE_BRIDGE(RedstoneLinkBlock::new),
|
REDSTONE_BRIDGE(RedstoneLinkBlock::new),
|
||||||
STOCKSWITCH(StockswitchBlock::new),
|
STOCKSWITCH(StockswitchBlock::new),
|
||||||
|
@ -209,17 +206,41 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
REDSTONE_LATCH(LatchBlock::new),
|
REDSTONE_LATCH(LatchBlock::new),
|
||||||
TOGGLE_LATCH(ToggleLatchBlock::new),
|
TOGGLE_LATCH(ToggleLatchBlock::new),
|
||||||
|
|
||||||
__CURIOSITIES__(),
|
_3_(Sections.MATERIALS),
|
||||||
|
|
||||||
|
COPPER_ORE(() -> new OxidizingBlock(Properties.from(Blocks.IRON_ORE), 1),
|
||||||
|
ITaggable.create().withForgeTags("ores/copper")),
|
||||||
|
ZINC_ORE(() -> new Block(Properties.from(Blocks.GOLD_ORE).harvestLevel(2).harvestTool(ToolType.PICKAXE)),
|
||||||
|
ITaggable.create().withForgeTags("ores/zinc")),
|
||||||
|
COPPER_BLOCK(() -> new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f),
|
||||||
|
ITaggable.create().withForgeTags("storage_blocks/copper")),
|
||||||
|
COPPER_SHINGLES(() -> new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)),
|
||||||
|
ZINC_BLOCK(() -> new Block(Properties.from(Blocks.IRON_BLOCK)),
|
||||||
|
ITaggable.create().withForgeTags("storage_blocks/zinc")),
|
||||||
|
BRASS_BLOCK(() -> new Block(Properties.from(Blocks.IRON_BLOCK)),
|
||||||
|
ITaggable.create().withForgeTags("storage_blocks/brass")),
|
||||||
|
|
||||||
|
_4_(Sections.CURIOSITIES),
|
||||||
|
|
||||||
SYMMETRY_PLANE(PlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
SYMMETRY_PLANE(PlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
||||||
SYMMETRY_CROSSPLANE(CrossPlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
SYMMETRY_CROSSPLANE(CrossPlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
||||||
SYMMETRY_TRIPLEPLANE(TriplePlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
SYMMETRY_TRIPLEPLANE(TriplePlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
||||||
WINDOW_IN_A_BLOCK(WindowInABlockBlock::new, ComesWith.NO_BLOCKITEM),
|
WINDOW_IN_A_BLOCK(WindowInABlockBlock::new, ComesWith.NO_BLOCKITEM),
|
||||||
COCOA_LOG(CocoaLogBlock::new, ITaggable.create().withVanillaTags(ITaggable.BLOCK, "jungle_logs")),
|
COCOA_LOG(CocoaLogBlock::new, ITaggable.create().withVanillaTags(ITaggable.BLOCK, "jungle_logs")),
|
||||||
|
|
||||||
__PALETTES__(),
|
_5_(Sections.SCHEMATICS),
|
||||||
TILED_GLASS(() -> new GlassBlock(Properties.from(Blocks.GLASS)), ITaggable.create().withVanillaTags(ITaggable.BLOCK, "impermeable").withForgeTags("glass")),
|
|
||||||
|
// SCHEMATICANNON(SchematicannonBlock::new),
|
||||||
|
// CREATIVE_CRATE(CreativeCrateBlock::new),
|
||||||
|
// SCHEMATIC_TABLE(SchematicTableBlock::new),
|
||||||
|
|
||||||
|
_6_(Sections.PALETTES),
|
||||||
|
|
||||||
|
TILED_GLASS(() -> new GlassBlock(Properties.from(Blocks.GLASS)),
|
||||||
|
ITaggable.create().withVanillaTags(ITaggable.BLOCK, "impermeable").withForgeTags("glass")),
|
||||||
FRAMED_GLASS(() -> new CTGlassBlock(AllCTs.FRAMED_GLASS, false)),
|
FRAMED_GLASS(() -> new CTGlassBlock(AllCTs.FRAMED_GLASS, false)),
|
||||||
HORIZONTAL_FRAMED_GLASS(() -> new HorizontalCTGlassBlock(AllCTs.HORIZONTAL_FRAMED_GLASS, AllCTs.FRAMED_GLASS, false)),
|
HORIZONTAL_FRAMED_GLASS(
|
||||||
|
() -> new HorizontalCTGlassBlock(AllCTs.HORIZONTAL_FRAMED_GLASS, AllCTs.FRAMED_GLASS, false)),
|
||||||
VERTICAL_FRAMED_GLASS(() -> new VerticalCTGlassBlock(AllCTs.VERTICAL_FRAMED_GLASS, false)),
|
VERTICAL_FRAMED_GLASS(() -> new VerticalCTGlassBlock(AllCTs.VERTICAL_FRAMED_GLASS, false)),
|
||||||
|
|
||||||
OAK_GLASS(() -> new CTWindowBlock(AllCTs.OAK_GLASS, false)),
|
OAK_GLASS(() -> new CTWindowBlock(AllCTs.OAK_GLASS, false)),
|
||||||
|
@ -230,7 +251,8 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
ACACIA_GLASS(() -> new CTWindowBlock(AllCTs.ACACIA_GLASS, false)),
|
ACACIA_GLASS(() -> new CTWindowBlock(AllCTs.ACACIA_GLASS, false)),
|
||||||
IRON_GLASS(() -> new CTWindowBlock(AllCTs.IRON_GLASS, false)),
|
IRON_GLASS(() -> new CTWindowBlock(AllCTs.IRON_GLASS, false)),
|
||||||
|
|
||||||
TILED_GLASS_PANE(() -> new GlassPaneBlock(Properties.from(Blocks.GLASS)), ITaggable.create().withForgeTags("glass_panes")),
|
TILED_GLASS_PANE(() -> new GlassPaneBlock(Properties.from(Blocks.GLASS)),
|
||||||
|
ITaggable.create().withForgeTags("glass_panes")),
|
||||||
FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(FRAMED_GLASS.get())),
|
FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(FRAMED_GLASS.get())),
|
||||||
HORIZONTAL_FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(HORIZONTAL_FRAMED_GLASS.get())),
|
HORIZONTAL_FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(HORIZONTAL_FRAMED_GLASS.get())),
|
||||||
VERTICAL_FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(VERTICAL_FRAMED_GLASS.get())),
|
VERTICAL_FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(VERTICAL_FRAMED_GLASS.get())),
|
||||||
|
@ -243,63 +265,69 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
IRON_GLASS_PANE(() -> new CTGlassPaneBlock(IRON_GLASS.get())),
|
IRON_GLASS_PANE(() -> new CTGlassPaneBlock(IRON_GLASS.get())),
|
||||||
|
|
||||||
GRANITE_BRICKS(() -> new Block(Properties.from(Blocks.GRANITE))),
|
GRANITE_BRICKS(() -> new Block(Properties.from(Blocks.GRANITE))),
|
||||||
GRANITE_LAYERS(() -> new LayeredCTBlock(Properties.from(Blocks.GRANITE), AllCTs.GRANITE_LAYERS, AllCTs.POLISHED_GRANITE)),
|
GRANITE_LAYERS(
|
||||||
|
() -> new LayeredCTBlock(Properties.from(Blocks.GRANITE), AllCTs.GRANITE_LAYERS, AllCTs.POLISHED_GRANITE)),
|
||||||
DIORITE_BRICKS(() -> new Block(Properties.from(Blocks.DIORITE))),
|
DIORITE_BRICKS(() -> new Block(Properties.from(Blocks.DIORITE))),
|
||||||
DIORITE_LAYERS(() -> new LayeredCTBlock(Properties.from(Blocks.DIORITE), AllCTs.DIORITE_LAYERS, AllCTs.POLISHED_DIORITE)),
|
DIORITE_LAYERS(
|
||||||
|
() -> new LayeredCTBlock(Properties.from(Blocks.DIORITE), AllCTs.DIORITE_LAYERS, AllCTs.POLISHED_DIORITE)),
|
||||||
ANDESITE_BRICKS(() -> new Block(Properties.from(Blocks.ANDESITE))),
|
ANDESITE_BRICKS(() -> new Block(Properties.from(Blocks.ANDESITE))),
|
||||||
ANDESITE_LAYERS(() ->
|
ANDESITE_LAYERS(() -> new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS,
|
||||||
new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS, AllCTs.POLISHED_ANDESITE)),
|
AllCTs.POLISHED_ANDESITE)),
|
||||||
|
|
||||||
GABBRO(() -> new Block(Properties.from(Blocks.GRANITE)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
GABBRO(() -> new Block(Properties.from(Blocks.GRANITE)), ITaggable.create().withForgeTags("stone"),
|
||||||
|
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
POLISHED_GABBRO(() -> new Block(Properties.from(GABBRO.get())), ITaggable.create().withForgeTags("stone")),
|
POLISHED_GABBRO(() -> new Block(Properties.from(GABBRO.get())), ITaggable.create().withForgeTags("stone")),
|
||||||
GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get())), ComesWith.STAIRS, ComesWith.WALL),
|
GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get())), ComesWith.STAIRS, ComesWith.WALL),
|
||||||
PAVED_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
PAVED_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
||||||
INDENTED_GABBRO(() -> new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
INDENTED_GABBRO(() -> new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
||||||
SLIGHTLY_MOSSY_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get()))),
|
SLIGHTLY_MOSSY_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get()))),
|
||||||
MOSSY_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get()))),
|
MOSSY_GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get()))),
|
||||||
GABBRO_LAYERS(() -> new LayeredCTBlock(Properties.from(GABBRO.get()), AllCTs.GABBRO_LAYERS, AllCTs.POLISHED_GABBRO)),
|
GABBRO_LAYERS(
|
||||||
|
() -> new LayeredCTBlock(Properties.from(GABBRO.get()), AllCTs.GABBRO_LAYERS, AllCTs.POLISHED_GABBRO)),
|
||||||
|
|
||||||
DOLOMITE(() -> new Block(Properties.from(Blocks.QUARTZ_BLOCK)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
DOLOMITE(() -> new Block(Properties.from(Blocks.QUARTZ_BLOCK)), ITaggable.create().withForgeTags("stone"),
|
||||||
|
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
DOLOMITE_BRICKS(() -> new Block(Properties.from(DOLOMITE.get()))),
|
DOLOMITE_BRICKS(() -> new Block(Properties.from(DOLOMITE.get()))),
|
||||||
POLISHED_DOLOMITE(() -> new Block(Properties.from(DOLOMITE.get())), ITaggable.create().withForgeTags("stone")),
|
POLISHED_DOLOMITE(() -> new Block(Properties.from(DOLOMITE.get())), ITaggable.create().withForgeTags("stone")),
|
||||||
DOLOMITE_PILLAR(() -> new RotatedPillarBlock(Properties.from(DOLOMITE.get()))),
|
DOLOMITE_PILLAR(() -> new RotatedPillarBlock(Properties.from(DOLOMITE.get()))),
|
||||||
DOLOMITE_LAYERS(() ->
|
DOLOMITE_LAYERS(() -> new LayeredCTBlock(Properties.from(DOLOMITE.get()), AllCTs.DOLOMITE_LAYERS,
|
||||||
new LayeredCTBlock(Properties.from(DOLOMITE.get()), AllCTs.DOLOMITE_LAYERS, AllCTs.POLISHED_DOLOMITE)),
|
AllCTs.POLISHED_DOLOMITE)),
|
||||||
|
|
||||||
LIMESAND(() -> new FallingBlock(Properties.from(Blocks.SAND))),
|
LIMESAND(() -> new FallingBlock(Properties.from(Blocks.SAND))),
|
||||||
LIMESTONE(() -> new Block(Properties.from(Blocks.SANDSTONE)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
LIMESTONE(() -> new Block(Properties.from(Blocks.SANDSTONE)), ITaggable.create().withForgeTags("stone"),
|
||||||
LIMESTONE_BRICKS(() -> new Block(Properties.from(LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
POLISHED_LIMESTONE(() -> new Block(Properties.from(LIMESTONE.get())), ITaggable.create().withForgeTags("stone"), ComesWith.SLAB),
|
LIMESTONE_BRICKS(() -> new Block(Properties.from(LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
||||||
LIMESTONE_PILLAR(() -> new RotatedPillarBlock(Properties.from(LIMESTONE.get()))),
|
|
||||||
LIMESTONE_LAYERS(() ->
|
|
||||||
new LayeredCTBlock(Properties.from(LIMESTONE.get()), AllCTs.LIMESTONE_LAYERS, AllCTs.POLISHED_LIMESTONE)),
|
|
||||||
WEATHERED_LIMESTONE(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
|
||||||
WEATHERED_LIMESTONE_BRICKS(() -> new Block(Properties.from(WEATHERED_LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
|
||||||
ComesWith.WALL),
|
ComesWith.WALL),
|
||||||
POLISHED_WEATHERED_LIMESTONE(() -> new Block(Properties.from(WEATHERED_LIMESTONE.get())), ITaggable.create().withForgeTags("stone"), ComesWith.SLAB),
|
POLISHED_LIMESTONE(() -> new Block(Properties.from(LIMESTONE.get())), ITaggable.create().withForgeTags("stone"),
|
||||||
|
ComesWith.SLAB),
|
||||||
|
LIMESTONE_PILLAR(() -> new RotatedPillarBlock(Properties.from(LIMESTONE.get()))),
|
||||||
|
LIMESTONE_LAYERS(() -> new LayeredCTBlock(Properties.from(LIMESTONE.get()), AllCTs.LIMESTONE_LAYERS,
|
||||||
|
AllCTs.POLISHED_LIMESTONE)),
|
||||||
|
WEATHERED_LIMESTONE(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"),
|
||||||
|
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
|
WEATHERED_LIMESTONE_BRICKS(() -> new Block(Properties.from(WEATHERED_LIMESTONE.get())), ComesWith.STAIRS,
|
||||||
|
ComesWith.SLAB, ComesWith.WALL),
|
||||||
|
POLISHED_WEATHERED_LIMESTONE(() -> new Block(Properties.from(WEATHERED_LIMESTONE.get())),
|
||||||
|
ITaggable.create().withForgeTags("stone"), ComesWith.SLAB),
|
||||||
WEATHERED_LIMESTONE_PILLAR(() -> new RotatedPillarBlock(Properties.from(WEATHERED_LIMESTONE.get()))),
|
WEATHERED_LIMESTONE_PILLAR(() -> new RotatedPillarBlock(Properties.from(WEATHERED_LIMESTONE.get()))),
|
||||||
WEATHERED_LIMESTONE_LAYERS(() -> new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.get()),
|
WEATHERED_LIMESTONE_LAYERS(() -> new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.get()),
|
||||||
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
|
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
|
||||||
|
|
||||||
NATURAL_SCORIA(ScoriaBlock::new),
|
NATURAL_SCORIA(ScoriaBlock::new),
|
||||||
SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"),
|
||||||
POLISHED_SCORIA(() -> new Block(Properties.from(SCORIA.get())), ITaggable.create().withForgeTags("stone"), ComesWith.SLAB),
|
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
|
POLISHED_SCORIA(() -> new Block(Properties.from(SCORIA.get())), ITaggable.create().withForgeTags("stone"),
|
||||||
|
ComesWith.SLAB),
|
||||||
SCORIA_BRICKS(() -> new Block(Properties.from(SCORIA.get()))),
|
SCORIA_BRICKS(() -> new Block(Properties.from(SCORIA.get()))),
|
||||||
SCORIA_LAYERS(() -> new LayeredCTBlock(Properties.from(SCORIA.get()), AllCTs.SCORIA_LAYERS, AllCTs.POLISHED_SCORIA)),
|
SCORIA_LAYERS(
|
||||||
|
() -> new LayeredCTBlock(Properties.from(SCORIA.get()), AllCTs.SCORIA_LAYERS, AllCTs.POLISHED_SCORIA)),
|
||||||
SCORIA_PILLAR(() -> new RotatedPillarBlock(Properties.from(SCORIA.get()))),
|
SCORIA_PILLAR(() -> new RotatedPillarBlock(Properties.from(SCORIA.get()))),
|
||||||
|
|
||||||
DARK_SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE))),
|
DARK_SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE))),
|
||||||
POLISHED_DARK_SCORIA(() -> new Block(Properties.from(DARK_SCORIA.get()))),
|
POLISHED_DARK_SCORIA(() -> new Block(Properties.from(DARK_SCORIA.get()))),
|
||||||
DARK_SCORIA_TILES(() -> new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB),
|
DARK_SCORIA_TILES(() -> new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB),
|
||||||
DARK_SCORIA_BRICKS(() -> new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
DARK_SCORIA_BRICKS(() -> new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
||||||
|
ComesWith.WALL),
|
||||||
__MATERIALS__(),
|
|
||||||
COPPER_ORE(() -> new OxidizingBlock(Properties.from(Blocks.IRON_ORE), 1), ITaggable.create().withForgeTags("ores/copper")),
|
|
||||||
ZINC_ORE(() -> new Block(Properties.from(Blocks.GOLD_ORE).harvestLevel(2).harvestTool(ToolType.PICKAXE)), ITaggable.create().withForgeTags("ores/zinc")),
|
|
||||||
COPPER_BLOCK(() -> new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f), ITaggable.create().withForgeTags("storage_blocks/copper")),
|
|
||||||
COPPER_SHINGLES(() -> new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)),
|
|
||||||
ZINC_BLOCK(() -> new Block(Properties.from(Blocks.IRON_BLOCK)), ITaggable.create().withForgeTags("storage_blocks/zinc")),
|
|
||||||
BRASS_BLOCK(() -> new Block(Properties.from(Blocks.IRON_BLOCK)), ITaggable.create().withForgeTags("storage_blocks/brass")),
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -309,43 +337,46 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
|
|
||||||
public final RegistryEntry<? extends Block> block;
|
public final RegistryEntry<? extends Block> block;
|
||||||
public final ImmutableList<RegistryEntry<? extends Block>> alsoRegistered;
|
public final ImmutableList<RegistryEntry<? extends Block>> alsoRegistered;
|
||||||
public final IModule module;
|
public final Sections section;
|
||||||
|
|
||||||
AllBlocks() {
|
AllBlocks(Sections section) {
|
||||||
Create.registrate().setModule(Lang.asId(name()).replaceAll("__", ""));
|
Create.registrate().startSection(section);
|
||||||
this.block = null;
|
this.block = null;
|
||||||
this.alsoRegistered = ImmutableList.of();
|
this.alsoRegistered = ImmutableList.of();
|
||||||
this.module = Create.registrate().getModule();
|
this.section = Create.registrate().currentSection();
|
||||||
}
|
}
|
||||||
|
|
||||||
AllBlocks(NonNullSupplier<? extends Block> block, ComesWith... comesWith) {
|
AllBlocks(NonNullSupplier<? extends Block> block, ComesWith... comesWith) {
|
||||||
this(block, ITaggable.create(), comesWith);
|
this(block, ITaggable.create(), comesWith);
|
||||||
}
|
}
|
||||||
|
|
||||||
AllBlocks(NonNullSupplier<? extends Block> block, NonNullBiFunction<? super Block, Item.Properties, ? extends BlockItem> customItemCreator, ComesWith... comesWith) {
|
AllBlocks(NonNullSupplier<? extends Block> block,
|
||||||
this(block, customItemCreator, ITaggable.create(), comesWith);
|
NonNullBiFunction<? super Block, Item.Properties, ? extends BlockItem> customItemCreator,
|
||||||
}
|
ComesWith... comesWith) {
|
||||||
|
this(block, customItemCreator, ITaggable.create(), comesWith);
|
||||||
AllBlocks(NonNullSupplier<? extends Block> block, ITaggable<?> tags, ComesWith... comesWith) {
|
|
||||||
this(block, null, tags, comesWith);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AllBlocks(NonNullSupplier<? extends Block> block, NonNullBiFunction<? super Block, Item.Properties, ? extends BlockItem> customItemCreator, ITaggable<?> tags, ComesWith... comesWith){
|
AllBlocks(NonNullSupplier<? extends Block> block, ITaggable<?> tags, ComesWith... comesWith) {
|
||||||
this.module = Create.registrate().getModule();
|
this(block, null, tags, comesWith);
|
||||||
|
}
|
||||||
|
|
||||||
|
AllBlocks(NonNullSupplier<? extends Block> block,
|
||||||
|
NonNullBiFunction<? super Block, Item.Properties, ? extends BlockItem> customItemCreator, ITaggable<?> tags,
|
||||||
|
ComesWith... comesWith) {
|
||||||
|
this.section = Create.registrate().currentSection();
|
||||||
|
|
||||||
this.block = Create.registrate().block(Lang.asId(name()), $ -> block.get()) // TODO take properties as input
|
this.block = Create.registrate().block(Lang.asId(name()), $ -> block.get()) // TODO take properties as input
|
||||||
.blockstate(NonNullBiConsumer.noop()) // TODO
|
.blockstate(NonNullBiConsumer.noop()) // TODO
|
||||||
.loot(NonNullBiConsumer.noop()) // TODO
|
.loot(NonNullBiConsumer.noop()) // TODO
|
||||||
.setData(ProviderType.LANG, NonNullBiConsumer.noop()) // TODO
|
.setData(ProviderType.LANG, NonNullBiConsumer.noop()) // TODO
|
||||||
.transform(applyTags(tags))
|
.transform(applyTags(tags)).transform(b -> registerItemBlock(b, customItemCreator, comesWith))
|
||||||
.transform(b -> registerItemBlock(b, customItemCreator, comesWith))
|
.register();
|
||||||
.register();
|
|
||||||
|
|
||||||
ImmutableList.Builder<RegistryEntry<? extends Block>> alsoRegistered = ImmutableList.builder();
|
ImmutableList.Builder<RegistryEntry<? extends Block>> alsoRegistered = ImmutableList.builder();
|
||||||
for (ComesWith with : comesWith) {
|
for (ComesWith with : comesWith) {
|
||||||
if (with != ComesWith.NO_BLOCKITEM) {
|
if (with != ComesWith.NO_BLOCKITEM) {
|
||||||
alsoRegistered.add(makeRelatedBlock(this.block, with));
|
alsoRegistered.add(makeRelatedBlock(this.block, with));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.alsoRegistered = alsoRegistered.build();
|
this.alsoRegistered = alsoRegistered.build();
|
||||||
}
|
}
|
||||||
|
@ -353,19 +384,21 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
public static void register() {
|
public static void register() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <B extends Block, P> BlockBuilder<B, P> registerItemBlock(BlockBuilder<B, P> builder, NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator, ComesWith... comesWith) {
|
public <B extends Block, P> BlockBuilder<B, P> registerItemBlock(BlockBuilder<B, P> builder,
|
||||||
if (ArrayUtils.contains(comesWith, ComesWith.NO_BLOCKITEM)) {
|
NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator,
|
||||||
return builder;
|
ComesWith... comesWith) {
|
||||||
}
|
if (ArrayUtils.contains(comesWith, ComesWith.NO_BLOCKITEM)) {
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
return registerAsItem(builder, customItemCreator);
|
return registerAsItem(builder, customItemCreator);
|
||||||
}
|
}
|
||||||
|
|
||||||
private <B extends Block, P> BlockBuilder<B, P> registerAsItem(BlockBuilder<B, P> builder, NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator) {
|
private <B extends Block, P> BlockBuilder<B, P> registerAsItem(BlockBuilder<B, P> builder,
|
||||||
ItemBuilder<? extends BlockItem, BlockBuilder<B, P>> itemBuilder = customItemCreator == null ? builder.item() : builder.item(customItemCreator);
|
NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator) {
|
||||||
return itemBuilder
|
ItemBuilder<? extends BlockItem, BlockBuilder<B, P>> itemBuilder =
|
||||||
.model(NonNullBiConsumer.noop()) // TODO
|
customItemCreator == null ? builder.item() : builder.item(customItemCreator);
|
||||||
.properties($ -> AllItems.includeInItemGroup())
|
return itemBuilder.model(NonNullBiConsumer.noop()) // TODO
|
||||||
.build();
|
.properties($ -> AllItems.includeInItemGroup()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -387,44 +420,41 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
||||||
|
|
||||||
switch (feature) {
|
switch (feature) {
|
||||||
case FENCE:
|
case FENCE:
|
||||||
creator = FenceBlock::new;
|
creator = FenceBlock::new;
|
||||||
tag = BlockTags.FENCES;
|
tag = BlockTags.FENCES;
|
||||||
break;
|
break;
|
||||||
case SLAB:
|
case SLAB:
|
||||||
creator = SlabBlock::new;
|
creator = SlabBlock::new;
|
||||||
tag = BlockTags.SLABS;
|
tag = BlockTags.SLABS;
|
||||||
break;
|
break;
|
||||||
case STAIRS:
|
case STAIRS:
|
||||||
creator = p -> new ProperStairsBlock(block.get());
|
creator = p -> new ProperStairsBlock(block.get());
|
||||||
tag = BlockTags.STAIRS;
|
tag = BlockTags.STAIRS;
|
||||||
break;
|
break;
|
||||||
case WALL:
|
case WALL:
|
||||||
creator = WallBlock::new;
|
creator = WallBlock::new;
|
||||||
tag = BlockTags.WALLS;
|
tag = BlockTags.WALLS;
|
||||||
break;
|
break;
|
||||||
case FENCE_GATE:
|
case FENCE_GATE:
|
||||||
creator = FenceGateBlock::new;
|
creator = FenceGateBlock::new;
|
||||||
tag = null;
|
tag = null;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Unknown ComesWith type?");
|
throw new IllegalArgumentException("Unknown ComesWith type?");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Create.registrate().block(block.getId().getPath() + "_" + Lang.asId(feature.name()), creator)
|
return Create.registrate().block(block.getId().getPath() + "_" + Lang.asId(feature.name()), creator)
|
||||||
.blockstate(NonNullBiConsumer.noop()) // TODO
|
.blockstate(NonNullBiConsumer.noop()) // TODO
|
||||||
.loot(NonNullBiConsumer.noop()) // TODO
|
.loot(NonNullBiConsumer.noop()) // TODO
|
||||||
.item()
|
.item().model(NonNullBiConsumer.noop()) // TODO
|
||||||
.model(NonNullBiConsumer.noop()) // TODO
|
.build().transform(b -> tag != null ? b.tag(tag) : b).register();
|
||||||
.build()
|
|
||||||
.transform(b -> tag != null ? b.tag(tag) : b)
|
|
||||||
.register();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> applyTags(ITaggable<?> tags) {
|
private <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> applyTags(ITaggable<?> tags) {
|
||||||
return b -> {
|
return b -> {
|
||||||
tags.getDataTags(ITaggable.BLOCK).forEach(b::tag);
|
tags.getDataTags(ITaggable.BLOCK).forEach(b::tag);
|
||||||
return b;
|
return b;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
|
|
@ -1,29 +1,37 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.modules.Sections.SCHEMATICS;
|
||||||
|
|
||||||
import com.simibubi.create.modules.schematics.block.CreativeCrateBlock;
|
import com.simibubi.create.modules.schematics.block.CreativeCrateBlock;
|
||||||
import com.simibubi.create.modules.schematics.block.SchematicTableBlock;
|
import com.simibubi.create.modules.schematics.block.SchematicTableBlock;
|
||||||
import com.simibubi.create.modules.schematics.block.SchematicannonBlock;
|
import com.simibubi.create.modules.schematics.block.SchematicannonBlock;
|
||||||
import com.tterrag.registrate.util.RegistryEntry;
|
import com.tterrag.registrate.util.RegistryEntry;
|
||||||
|
|
||||||
|
import net.minecraft.block.Blocks;
|
||||||
|
|
||||||
public class AllBlocksNew {
|
public class AllBlocksNew {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
||||||
|
|
||||||
static { REGISTRATE.setModule("SCHEMATICS"); }
|
// Tools for strucuture movement and replication
|
||||||
|
static { REGISTRATE.startSection(SCHEMATICS); }
|
||||||
|
|
||||||
public static final RegistryEntry<SchematicannonBlock> SCHEMATICANNON = REGISTRATE.block("schematicannon", SchematicannonBlock::new)
|
public static final RegistryEntry<SchematicannonBlock> SCHEMATICANNON = REGISTRATE.block("schematicannon", SchematicannonBlock::new)
|
||||||
|
.initialProperties(() -> Blocks.DISPENSER)
|
||||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), prov.models().getExistingFile(prov.modLoc("block/" + ctx.getName() + "/base"))))
|
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), prov.models().getExistingFile(prov.modLoc("block/" + ctx.getName() + "/base"))))
|
||||||
.item()
|
.item()
|
||||||
.model((ctx, prov) -> prov.blockItem(ctx.getEntry()::getBlock, "/base"))
|
.model((ctx, prov) -> prov.blockItem(ctx.getEntry()::getBlock, "/item"))
|
||||||
.build()
|
.build()
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final RegistryEntry<CreativeCrateBlock> CREATIVE_CRATE = REGISTRATE.block("creative_crate", CreativeCrateBlock::new)
|
public static final RegistryEntry<CreativeCrateBlock> CREATIVE_CRATE = REGISTRATE.block("creative_crate", CreativeCrateBlock::new)
|
||||||
|
.initialProperties(() -> Blocks.CHEST)
|
||||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), prov.models().getExistingFile(ctx.getId())))
|
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), prov.models().getExistingFile(ctx.getId())))
|
||||||
.simpleItem()
|
.simpleItem()
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final RegistryEntry<SchematicTableBlock> SCHEMATIC_TABLE = REGISTRATE.block("schematic_table", SchematicTableBlock::new)
|
public static final RegistryEntry<SchematicTableBlock> SCHEMATIC_TABLE = REGISTRATE.block("schematic_table", SchematicTableBlock::new)
|
||||||
|
.initialProperties(() -> Blocks.LECTERN)
|
||||||
.blockstate((ctx, prov) -> prov.horizontalBlock(ctx.getEntry(), prov.models().getExistingFile(ctx.getId()), 0))
|
.blockstate((ctx, prov) -> prov.horizontalBlock(ctx.getEntry(), prov.models().getExistingFile(ctx.getId()), 0))
|
||||||
.simpleItem()
|
.simpleItem()
|
||||||
.register();
|
.register();
|
||||||
|
|
|
@ -13,7 +13,7 @@ import com.simibubi.create.foundation.item.IHaveCustomItemModel;
|
||||||
import com.simibubi.create.foundation.item.IItemWithColorHandler;
|
import com.simibubi.create.foundation.item.IItemWithColorHandler;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.data.ITaggable;
|
import com.simibubi.create.foundation.utility.data.ITaggable;
|
||||||
import com.simibubi.create.modules.IModule;
|
import com.simibubi.create.modules.Sections;
|
||||||
import com.simibubi.create.modules.contraptions.GogglesItem;
|
import com.simibubi.create.modules.contraptions.GogglesItem;
|
||||||
import com.simibubi.create.modules.contraptions.WrenchItem;
|
import com.simibubi.create.modules.contraptions.WrenchItem;
|
||||||
import com.simibubi.create.modules.contraptions.components.contraptions.glue.SuperGlueItem;
|
import com.simibubi.create.modules.contraptions.components.contraptions.glue.SuperGlueItem;
|
||||||
|
@ -23,6 +23,7 @@ import com.simibubi.create.modules.contraptions.relays.gearbox.VerticalGearboxIt
|
||||||
import com.simibubi.create.modules.curiosities.ChromaticCompoundCubeItem;
|
import com.simibubi.create.modules.curiosities.ChromaticCompoundCubeItem;
|
||||||
import com.simibubi.create.modules.curiosities.RefinedRadianceItem;
|
import com.simibubi.create.modules.curiosities.RefinedRadianceItem;
|
||||||
import com.simibubi.create.modules.curiosities.ShadowSteelItem;
|
import com.simibubi.create.modules.curiosities.ShadowSteelItem;
|
||||||
|
import com.simibubi.create.modules.curiosities.TreeFertilizerItem;
|
||||||
import com.simibubi.create.modules.curiosities.deforester.DeforesterItem;
|
import com.simibubi.create.modules.curiosities.deforester.DeforesterItem;
|
||||||
import com.simibubi.create.modules.curiosities.symmetry.SymmetryWandItem;
|
import com.simibubi.create.modules.curiosities.symmetry.SymmetryWandItem;
|
||||||
import com.simibubi.create.modules.curiosities.tools.AllToolTiers;
|
import com.simibubi.create.modules.curiosities.tools.AllToolTiers;
|
||||||
|
@ -32,7 +33,6 @@ import com.simibubi.create.modules.curiosities.tools.SandPaperItem;
|
||||||
import com.simibubi.create.modules.curiosities.tools.ShadowSteelToolItem;
|
import com.simibubi.create.modules.curiosities.tools.ShadowSteelToolItem;
|
||||||
import com.simibubi.create.modules.curiosities.zapper.blockzapper.BlockzapperItem;
|
import com.simibubi.create.modules.curiosities.zapper.blockzapper.BlockzapperItem;
|
||||||
import com.simibubi.create.modules.curiosities.zapper.terrainzapper.TerrainzapperItem;
|
import com.simibubi.create.modules.curiosities.zapper.terrainzapper.TerrainzapperItem;
|
||||||
import com.simibubi.create.modules.gardens.TreeFertilizerItem;
|
|
||||||
import com.simibubi.create.modules.logistics.item.filter.FilterItem;
|
import com.simibubi.create.modules.logistics.item.filter.FilterItem;
|
||||||
import com.simibubi.create.modules.schematics.item.SchematicAndQuillItem;
|
import com.simibubi.create.modules.schematics.item.SchematicAndQuillItem;
|
||||||
import com.simibubi.create.modules.schematics.item.SchematicItem;
|
import com.simibubi.create.modules.schematics.item.SchematicItem;
|
||||||
|
@ -57,7 +57,8 @@ import net.minecraftforge.registries.IForgeRegistry;
|
||||||
@EventBusSubscriber(value = Dist.CLIENT, bus = Bus.MOD)
|
@EventBusSubscriber(value = Dist.CLIENT, bus = Bus.MOD)
|
||||||
public enum AllItems {
|
public enum AllItems {
|
||||||
|
|
||||||
__MATERIALS__(module()),
|
_1_(Sections.MATERIALS),
|
||||||
|
|
||||||
COPPER_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/copper")),
|
COPPER_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/copper")),
|
||||||
ZINC_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/zinc")),
|
ZINC_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/zinc")),
|
||||||
BRASS_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/brass")),
|
BRASS_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/brass")),
|
||||||
|
@ -89,7 +90,8 @@ public enum AllItems {
|
||||||
ELECTRON_TUBE,
|
ELECTRON_TUBE,
|
||||||
INTEGRATED_CIRCUIT,
|
INTEGRATED_CIRCUIT,
|
||||||
|
|
||||||
__CONTRAPTIONS__(module()),
|
_2_(Sections.KINETICS),
|
||||||
|
|
||||||
BELT_CONNECTOR(BeltConnectorItem::new),
|
BELT_CONNECTOR(BeltConnectorItem::new),
|
||||||
VERTICAL_GEARBOX(VerticalGearboxItem::new),
|
VERTICAL_GEARBOX(VerticalGearboxItem::new),
|
||||||
PROPELLER,
|
PROPELLER,
|
||||||
|
@ -104,11 +106,13 @@ public enum AllItems {
|
||||||
MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.RIDEABLE, p)),
|
MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.RIDEABLE, p)),
|
||||||
FURNACE_MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.FURNACE, p)),
|
FURNACE_MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.FURNACE, p)),
|
||||||
|
|
||||||
__LOGISTICS__(module()),
|
_3_(Sections.LOGISTICS),
|
||||||
|
|
||||||
FILTER(FilterItem::new),
|
FILTER(FilterItem::new),
|
||||||
PROPERTY_FILTER(FilterItem::new),
|
PROPERTY_FILTER(FilterItem::new),
|
||||||
|
|
||||||
__CURIOSITIES__(module()),
|
_4_(Sections.CURIOSITIES),
|
||||||
|
|
||||||
TREE_FERTILIZER(TreeFertilizerItem::new),
|
TREE_FERTILIZER(TreeFertilizerItem::new),
|
||||||
PLACEMENT_HANDGUN(BlockzapperItem::new),
|
PLACEMENT_HANDGUN(BlockzapperItem::new),
|
||||||
TERRAIN_ZAPPER(TerrainzapperItem::new),
|
TERRAIN_ZAPPER(TerrainzapperItem::new),
|
||||||
|
@ -130,26 +134,27 @@ public enum AllItems {
|
||||||
SHADOW_STEEL_MATTOCK(p -> new ShadowSteelToolItem(2.5F, -1.5F, p, SHOVEL, AXE, HOE)),
|
SHADOW_STEEL_MATTOCK(p -> new ShadowSteelToolItem(2.5F, -1.5F, p, SHOVEL, AXE, HOE)),
|
||||||
SHADOW_STEEL_SWORD(p -> new SwordItem(AllToolTiers.SHADOW_STEEL, 3, -2.0F, p)),
|
SHADOW_STEEL_SWORD(p -> new SwordItem(AllToolTiers.SHADOW_STEEL, 3, -2.0F, p)),
|
||||||
|
|
||||||
__SCHEMATICS__(module()),
|
_5_(Sections.SCHEMATICS),
|
||||||
|
|
||||||
EMPTY_BLUEPRINT(Item::new, stackSize(1)),
|
EMPTY_BLUEPRINT(Item::new, stackSize(1)),
|
||||||
BLUEPRINT_AND_QUILL(SchematicAndQuillItem::new, stackSize(1)),
|
BLUEPRINT_AND_QUILL(SchematicAndQuillItem::new, stackSize(1)),
|
||||||
BLUEPRINT(SchematicItem::new),
|
BLUEPRINT(SchematicItem::new),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private static class CategoryTracker {
|
private static class SectionTracker {
|
||||||
static IModule currentModule;
|
static Sections currentSection;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Common
|
// Common
|
||||||
|
|
||||||
public IModule module;
|
public Sections section;
|
||||||
private Function<Properties, Properties> specialProperties;
|
private Function<Properties, Properties> specialProperties;
|
||||||
private TaggedItem taggedItem;
|
private TaggedItem taggedItem;
|
||||||
private Item item;
|
private Item item;
|
||||||
|
|
||||||
AllItems(int moduleMarker) {
|
AllItems(Sections section) {
|
||||||
CategoryTracker.currentModule = () -> Lang.asId(name()).replaceAll("__", "");
|
SectionTracker.currentSection = section;
|
||||||
taggedItem = new TaggedItem(null);
|
taggedItem = new TaggedItem(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +176,7 @@ public enum AllItems {
|
||||||
|
|
||||||
AllItems(TaggedItem taggedItemIn, Function<Properties, Properties> specialProperties) {
|
AllItems(TaggedItem taggedItemIn, Function<Properties, Properties> specialProperties) {
|
||||||
this.taggedItem = taggedItemIn;
|
this.taggedItem = taggedItemIn;
|
||||||
this.module = CategoryTracker.currentModule;
|
this.section = SectionTracker.currentSection;
|
||||||
this.specialProperties = specialProperties;
|
this.specialProperties = specialProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,10 +192,6 @@ public enum AllItems {
|
||||||
return includeInItemGroup().setISTER(() -> item::getRenderer);
|
return includeInItemGroup().setISTER(() -> item::getRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int module() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Properties includeInItemGroup() {
|
public static Properties includeInItemGroup() {
|
||||||
return new Properties().group(Create.creativeTab);
|
return new Properties().group(Create.creativeTab);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||||
import com.simibubi.create.foundation.command.CreateCommand;
|
import com.simibubi.create.foundation.command.CreateCommand;
|
||||||
import com.simibubi.create.foundation.command.ServerLagger;
|
import com.simibubi.create.foundation.command.ServerLagger;
|
||||||
import com.simibubi.create.foundation.world.AllWorldFeatures;
|
import com.simibubi.create.foundation.world.AllWorldFeatures;
|
||||||
import com.simibubi.create.modules.ModuleLoadedCondition;
|
|
||||||
import com.simibubi.create.modules.contraptions.TorquePropagator;
|
import com.simibubi.create.modules.contraptions.TorquePropagator;
|
||||||
import com.simibubi.create.modules.logistics.RedstoneLinkNetworkHandler;
|
import com.simibubi.create.modules.logistics.RedstoneLinkNetworkHandler;
|
||||||
import com.simibubi.create.modules.schematics.ServerSchematicLoader;
|
import com.simibubi.create.modules.schematics.ServerSchematicLoader;
|
||||||
|
@ -23,7 +22,6 @@ import net.minecraft.particles.ParticleType;
|
||||||
import net.minecraft.tileentity.TileEntityType;
|
import net.minecraft.tileentity.TileEntityType;
|
||||||
import net.minecraft.util.SoundEvent;
|
import net.minecraft.util.SoundEvent;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.common.crafting.CraftingHelper;
|
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
|
@ -75,7 +73,6 @@ public class Create {
|
||||||
torquePropagator = new TorquePropagator();
|
torquePropagator = new TorquePropagator();
|
||||||
lagger = new ServerLagger();
|
lagger = new ServerLagger();
|
||||||
|
|
||||||
CraftingHelper.register(new ModuleLoadedCondition.Serializer());
|
|
||||||
AllPackets.registerPackets();
|
AllPackets.registerPackets();
|
||||||
AllTriggers.register();
|
AllTriggers.register();
|
||||||
|
|
||||||
|
|
|
@ -40,15 +40,12 @@ public final class CreateItemGroup extends ItemGroup {
|
||||||
Block def = entry.get();
|
Block def = entry.get();
|
||||||
if (def == null)
|
if (def == null)
|
||||||
continue;
|
continue;
|
||||||
if (!Create.registrate().getModule(entry).isEnabled())
|
|
||||||
continue;
|
|
||||||
if (def instanceof IAddedByOther)
|
if (def instanceof IAddedByOther)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
Item item = def.asItem();
|
Item item = def.asItem();
|
||||||
if (item != Items.AIR) {
|
if (item != Items.AIR)
|
||||||
item.fillItemGroup(this, items);
|
item.fillItemGroup(this, items);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,8 +56,6 @@ public final class CreateItemGroup extends ItemGroup {
|
||||||
for (AllItems item : AllItems.values()) {
|
for (AllItems item : AllItems.values()) {
|
||||||
if (item.get() == null)
|
if (item.get() == null)
|
||||||
continue;
|
continue;
|
||||||
if (!item.module.isEnabled())
|
|
||||||
continue;
|
|
||||||
IBakedModel model = itemRenderer.getItemModelWithOverrides(item.asStack(), Minecraft.getInstance().world, null);
|
IBakedModel model = itemRenderer.getItemModelWithOverrides(item.asStack(), Minecraft.getInstance().world, null);
|
||||||
if (model.isGui3d() != specialItems)
|
if (model.isGui3d() != specialItems)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
import java.util.IdentityHashMap;
|
import java.util.IdentityHashMap;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import com.simibubi.create.modules.IModule;
|
import com.simibubi.create.modules.Sections;
|
||||||
import com.tterrag.registrate.AbstractRegistrate;
|
import com.tterrag.registrate.AbstractRegistrate;
|
||||||
import com.tterrag.registrate.builders.BlockBuilder;
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
import com.tterrag.registrate.builders.Builder;
|
import com.tterrag.registrate.builders.Builder;
|
||||||
|
@ -41,18 +40,17 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
super(modid);
|
super(modid);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<RegistryEntry<?>, IModule> moduleLookup = new IdentityHashMap<>();
|
private Map<RegistryEntry<?>, Sections> sectionLookup = new IdentityHashMap<>();
|
||||||
|
|
||||||
private IModule module;
|
private Sections section;
|
||||||
|
|
||||||
public CreateRegistrate setModule(String module) {
|
public CreateRegistrate startSection(Sections section) {
|
||||||
final String moduleName = module.toLowerCase(Locale.ROOT);
|
this.section = section;
|
||||||
this.module = () -> moduleName;
|
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IModule getModule() {
|
public Sections currentSection() {
|
||||||
return module;
|
return section;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@ -64,19 +62,19 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
protected <R extends IForgeRegistryEntry<R>, T extends R> RegistryEntry<T> accept(String name,
|
protected <R extends IForgeRegistryEntry<R>, T extends R> RegistryEntry<T> accept(String name,
|
||||||
Class<? super R> type, Builder<R, T, ?, ?> builder, NonNullSupplier<? extends T> creator) {
|
Class<? super R> type, Builder<R, T, ?, ?> builder, NonNullSupplier<? extends T> creator) {
|
||||||
RegistryEntry<T> ret = super.accept(name, type, builder, creator);
|
RegistryEntry<T> ret = super.accept(name, type, builder, creator);
|
||||||
moduleLookup.put(ret, getModule());
|
sectionLookup.put(ret, currentSection());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IModule getModule(RegistryEntry<?> entry) {
|
public Sections getSection(RegistryEntry<?> entry) {
|
||||||
return moduleLookup.getOrDefault(entry, IModule.of("unknown"));
|
return sectionLookup.getOrDefault(entry, Sections.UNASSIGNED);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IModule getModule(IForgeRegistryEntry<?> entry) {
|
public Sections getSection(IForgeRegistryEntry<?> entry) {
|
||||||
return moduleLookup.entrySet().stream()
|
return sectionLookup.entrySet().stream()
|
||||||
.filter(e -> e.getKey().get() == entry)
|
.filter(e -> e.getKey().get() == entry)
|
||||||
.map(Entry::getValue)
|
.map(Entry::getValue)
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(IModule.of("unknown"));
|
.orElse(Sections.UNASSIGNED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,6 @@ package com.simibubi.create.config;
|
||||||
|
|
||||||
public class CServer extends ConfigBase {
|
public class CServer extends ConfigBase {
|
||||||
|
|
||||||
public ConfigGroup modules = group(0, "modules", Comments.modules);
|
|
||||||
public ConfigBool enableSchematics = b(true, "enableSchematics");
|
|
||||||
public ConfigBool enableCuriosities = b(true, "enableCuriosities");
|
|
||||||
public ConfigBool enablePalettes = b(true, "enablePalettes");
|
|
||||||
public ConfigBool enableLogistics = b(true, "enableLogistics");
|
|
||||||
|
|
||||||
public ConfigGroup infrastructure = group(0, "infrastructure", Comments.infrastructure);
|
public ConfigGroup infrastructure = group(0, "infrastructure", Comments.infrastructure);
|
||||||
public ConfigInt tickrateSyncTimer =
|
public ConfigInt tickrateSyncTimer =
|
||||||
i(20, 5, "tickrateSyncTimer", "[in Ticks]", Comments.tickrateSyncTimer, Comments.tickrateSyncTimer2);
|
i(20, 5, "tickrateSyncTimer", "[in Ticks]", Comments.tickrateSyncTimer, Comments.tickrateSyncTimer2);
|
||||||
|
@ -24,11 +18,10 @@ public class CServer extends ConfigBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class Comments {
|
private static class Comments {
|
||||||
static String schematics = "The Schematics Module";
|
static String schematics = "Everything related to Schematic tools";
|
||||||
static String kinetics = "The Contraptions Module";
|
static String kinetics = "Parameters and abilities of Create's kinetic mechanisms";
|
||||||
static String logistics = "The Logistics Module";
|
static String logistics = "Tweaks for logistical components";
|
||||||
static String curiosities = "Everything that spins";
|
static String curiosities = "Gadgets and other Shenanigans added by Create";
|
||||||
static String modules = "Configure which Modules should be accessible in recipes and creative menus.";
|
|
||||||
static String control = "You can try inhibiting related game mechanics for troubleshooting repeated crashes.";
|
static String control = "You can try inhibiting related game mechanics for troubleshooting repeated crashes.";
|
||||||
static String infrastructure = "The Backbone of Create";
|
static String infrastructure = "The Backbone of Create";
|
||||||
static String tickrateSyncTimer =
|
static String tickrateSyncTimer =
|
||||||
|
|
|
@ -56,6 +56,7 @@ public class ItemDescription {
|
||||||
Yellow(GOLD, YELLOW),
|
Yellow(GOLD, YELLOW),
|
||||||
Red(DARK_RED, RED),
|
Red(DARK_RED, RED),
|
||||||
Purple(DARK_PURPLE, LIGHT_PURPLE),
|
Purple(DARK_PURPLE, LIGHT_PURPLE),
|
||||||
|
Gray(DARK_GRAY, GRAY),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import com.mojang.bridge.game.Language;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.modules.IModule;
|
import com.simibubi.create.modules.Sections;
|
||||||
import com.simibubi.create.modules.contraptions.base.IRotate;
|
import com.simibubi.create.modules.contraptions.base.IRotate;
|
||||||
import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock;
|
import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock;
|
||||||
import com.simibubi.create.modules.curiosities.tools.AllToolTiers;
|
import com.simibubi.create.modules.curiosities.tools.AllToolTiers;
|
||||||
|
@ -130,11 +130,11 @@ public class TooltipHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ItemDescription buildToolTip(String translationKey, ItemStack stack) {
|
private static ItemDescription buildToolTip(String translationKey, ItemStack stack) {
|
||||||
IModule module = IModule.of(stack);
|
Sections module = Sections.of(stack);
|
||||||
if (I18n.format(translationKey).equals("WIP"))
|
if (I18n.format(translationKey).equals("WIP"))
|
||||||
return new WipScription(module.getToolTipColor());
|
return new WipScription(module.getTooltipPalette());
|
||||||
|
|
||||||
ItemDescription tooltip = new ItemDescription(module.getToolTipColor());
|
ItemDescription tooltip = new ItemDescription(module.getTooltipPalette());
|
||||||
String summaryKey = translationKey + ".summary";
|
String summaryKey = translationKey + ".summary";
|
||||||
|
|
||||||
// Summary
|
// Summary
|
||||||
|
|
|
@ -1,93 +0,0 @@
|
||||||
package com.simibubi.create.modules;
|
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
|
||||||
import com.simibubi.create.AllItems;
|
|
||||||
import com.simibubi.create.Create;
|
|
||||||
import com.simibubi.create.config.AllConfigs;
|
|
||||||
import com.simibubi.create.config.CServer;
|
|
||||||
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.item.BlockItem;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public interface IModule {
|
|
||||||
|
|
||||||
public static boolean isActive(String module) {
|
|
||||||
if (module.equals("materials"))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
CServer conf = AllConfigs.SERVER;
|
|
||||||
switch (module) {
|
|
||||||
case "contraptions":
|
|
||||||
return true;
|
|
||||||
case "palettes":
|
|
||||||
return conf.enablePalettes.get();
|
|
||||||
case "curiosities":
|
|
||||||
return conf.enableCuriosities.get();
|
|
||||||
case "logistics":
|
|
||||||
return conf.enableLogistics.get();
|
|
||||||
case "schematics":
|
|
||||||
return conf.enableSchematics.get();
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public default Palette getToolTipColor() {
|
|
||||||
String module = getModuleName();
|
|
||||||
|
|
||||||
if (module.equals("materials"))
|
|
||||||
return Palette.Purple;
|
|
||||||
|
|
||||||
switch (module) {
|
|
||||||
case "contraptions":
|
|
||||||
return Palette.Red;
|
|
||||||
case "palettes":
|
|
||||||
return Palette.Green;
|
|
||||||
case "curiosities":
|
|
||||||
return Palette.Purple;
|
|
||||||
case "logistics":
|
|
||||||
return Palette.Yellow;
|
|
||||||
case "schematics":
|
|
||||||
return Palette.Blue;
|
|
||||||
default:
|
|
||||||
return Palette.Purple;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IModule of(String name) {
|
|
||||||
return () -> name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IModule of(ItemStack stack) {
|
|
||||||
Item item = stack.getItem();
|
|
||||||
if (item instanceof BlockItem)
|
|
||||||
return ofBlock(((BlockItem) item).getBlock());
|
|
||||||
return ofItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
static IModule ofItem(Item item) {
|
|
||||||
for (AllItems allItems : AllItems.values()) {
|
|
||||||
if (allItems.get() == item)
|
|
||||||
return allItems.module;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
static IModule ofBlock(Block block) {
|
|
||||||
for (AllBlocks allBlocks : AllBlocks.values()) {
|
|
||||||
if (allBlocks.get() == block)
|
|
||||||
return allBlocks.module;
|
|
||||||
}
|
|
||||||
return Create.registrate().getModule(block);
|
|
||||||
}
|
|
||||||
|
|
||||||
public default boolean isEnabled() {
|
|
||||||
return isActive(getModuleName());
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getModuleName();
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package com.simibubi.create.modules;
|
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.simibubi.create.Create;
|
|
||||||
|
|
||||||
import net.minecraft.util.JSONUtils;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
import net.minecraftforge.common.crafting.conditions.ICondition;
|
|
||||||
import net.minecraftforge.common.crafting.conditions.IConditionSerializer;
|
|
||||||
|
|
||||||
public class ModuleLoadedCondition implements ICondition {
|
|
||||||
|
|
||||||
private static final ResourceLocation NAME = new ResourceLocation(Create.ID, "module");
|
|
||||||
protected String module;
|
|
||||||
|
|
||||||
public ModuleLoadedCondition(String module) {
|
|
||||||
this.module = module;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ResourceLocation getID() {
|
|
||||||
return NAME;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean test() {
|
|
||||||
return IModule.isActive(module);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "module_loaded(\"" + module + "\")";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Serializer implements IConditionSerializer<ModuleLoadedCondition> {
|
|
||||||
public static final Serializer INSTANCE = new Serializer();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void write(JsonObject json, ModuleLoadedCondition value) {
|
|
||||||
json.addProperty("module", value.module);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ModuleLoadedCondition read(JsonObject json) {
|
|
||||||
return new ModuleLoadedCondition(JSONUtils.getString(json, "module"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ResourceLocation getID() {
|
|
||||||
return NAME;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
69
src/main/java/com/simibubi/create/modules/Sections.java
Normal file
69
src/main/java/com/simibubi/create/modules/Sections.java
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
package com.simibubi.create.modules;
|
||||||
|
|
||||||
|
import com.simibubi.create.AllBlocks;
|
||||||
|
import com.simibubi.create.AllItems;
|
||||||
|
import com.simibubi.create.Create;
|
||||||
|
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.BlockItem;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public enum Sections {
|
||||||
|
|
||||||
|
/** Create's kinetic mechanisms */
|
||||||
|
KINETICS(Palette.Red),
|
||||||
|
|
||||||
|
/** Item transport and other Utility */
|
||||||
|
LOGISTICS(Palette.Yellow),
|
||||||
|
|
||||||
|
/** Helpful gadgets and other shenanigans */
|
||||||
|
CURIOSITIES(Palette.Purple),
|
||||||
|
|
||||||
|
/** Tools for strucuture movement and replication */
|
||||||
|
SCHEMATICS(Palette.Blue),
|
||||||
|
|
||||||
|
/** Decorative blocks */
|
||||||
|
PALETTES(Palette.Green),
|
||||||
|
|
||||||
|
/** Base materials, ingredients and tools */
|
||||||
|
MATERIALS(Palette.Green),
|
||||||
|
|
||||||
|
/** Fallback section */
|
||||||
|
UNASSIGNED(Palette.Gray)
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
private Palette tooltipPalette;
|
||||||
|
|
||||||
|
private Sections(Palette tooltipPalette) {
|
||||||
|
this.tooltipPalette = tooltipPalette;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Palette getTooltipPalette() {
|
||||||
|
return tooltipPalette;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Sections of(ItemStack stack) {
|
||||||
|
Item item = stack.getItem();
|
||||||
|
if (item instanceof BlockItem)
|
||||||
|
return ofBlock(((BlockItem) item).getBlock());
|
||||||
|
return ofItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Sections ofItem(Item item) {
|
||||||
|
for (AllItems allItems : AllItems.values())
|
||||||
|
if (allItems.get() == item)
|
||||||
|
return allItems.section;
|
||||||
|
return UNASSIGNED;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Sections ofBlock(Block block) {
|
||||||
|
for (AllBlocks allBlocks : AllBlocks.values())
|
||||||
|
if (allBlocks.get() == block)
|
||||||
|
return allBlocks.section;
|
||||||
|
return Create.registrate().getSection(block);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.simibubi.create.modules.gardens;
|
package com.simibubi.create.modules.curiosities;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.simibubi.create.modules.gardens;
|
package com.simibubi.create.modules.curiosities;
|
||||||
|
|
||||||
import com.simibubi.create.foundation.utility.PlacementSimulationServerWorld;
|
import com.simibubi.create.foundation.utility.PlacementSimulationServerWorld;
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.simibubi.create.foundation.utility.AllShapes;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
import net.minecraft.item.ItemGroup;
|
import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
@ -15,8 +14,8 @@ import net.minecraft.world.IBlockReader;
|
||||||
|
|
||||||
public class CreativeCrateBlock extends Block {
|
public class CreativeCrateBlock extends Block {
|
||||||
|
|
||||||
public CreativeCrateBlock() {
|
public CreativeCrateBlock(Properties properties) {
|
||||||
super(Properties.create(Material.WOOD));
|
super(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.simibubi.create.foundation.utility.AllShapes;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
|
||||||
import net.minecraft.block.HorizontalBlock;
|
import net.minecraft.block.HorizontalBlock;
|
||||||
import net.minecraft.block.material.PushReaction;
|
import net.minecraft.block.material.PushReaction;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
@ -26,8 +25,8 @@ import net.minecraftforge.fml.network.NetworkHooks;
|
||||||
|
|
||||||
public class SchematicTableBlock extends HorizontalBlock implements ITE<SchematicTableTileEntity> {
|
public class SchematicTableBlock extends HorizontalBlock implements ITE<SchematicTableTileEntity> {
|
||||||
|
|
||||||
public SchematicTableBlock() {
|
public SchematicTableBlock(Properties properties) {
|
||||||
super(Properties.from(Blocks.OAK_PLANKS));
|
super(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.simibubi.create.foundation.utility.AllShapes;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
|
||||||
import net.minecraft.block.material.PushReaction;
|
import net.minecraft.block.material.PushReaction;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||||
|
@ -24,8 +23,8 @@ import net.minecraftforge.fml.network.NetworkHooks;
|
||||||
|
|
||||||
public class SchematicannonBlock extends Block implements ITE<SchematicannonTileEntity> {
|
public class SchematicannonBlock extends Block implements ITE<SchematicannonTileEntity> {
|
||||||
|
|
||||||
public SchematicannonBlock() {
|
public SchematicannonBlock(Properties properties) {
|
||||||
super(Properties.from(Blocks.DISPENSER));
|
super(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:basin",
|
"item": "create:basin",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:belt_funnel",
|
"item": "create:belt_funnel",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -18,11 +18,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:belt_tunnel",
|
"item": "create:belt_tunnel",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:brass_hand",
|
"item": "create:brass_hand",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:contact",
|
"item": "create:contact",
|
||||||
"count": 2
|
"count": 2
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:adjustable_pulley",
|
"item": "create:adjustable_pulley",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -15,11 +15,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:analog_lever",
|
"item": "create:analog_lever",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:belt_connector",
|
"item": "create:belt_connector",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:cart_assembler",
|
"item": "create:cart_assembler",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:clockwork_bearing",
|
"item": "create:clockwork_bearing",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:clutch",
|
"item": "create:clutch",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:cogwheel",
|
"item": "create:cogwheel",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:cuckoo_clock",
|
"item": "create:cuckoo_clock",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -23,11 +23,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:deployer",
|
"item": "create:deployer",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:drill",
|
"item": "create:drill",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:encased_belt",
|
"item": "create:encased_belt",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -25,11 +25,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:encased_fan",
|
"item": "create:encased_fan",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -14,11 +14,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:encased_shaft",
|
"item": "create:encased_shaft",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:gearbox",
|
"item": "create:gearbox",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:gearshift",
|
"item": "create:gearshift",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:harvester",
|
"item": "create:harvester",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:large_cogwheel",
|
"item": "create:large_cogwheel",
|
||||||
"count": 2
|
"count": 2
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mechanical_bearing",
|
"item": "create:mechanical_bearing",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -26,11 +26,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mechanical_crafter",
|
"item": "create:mechanical_crafter",
|
||||||
"count": 3
|
"count": 3
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mechanical_mixer",
|
"item": "create:mechanical_mixer",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mechanical_piston",
|
"item": "create:mechanical_piston",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -23,11 +23,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mechanical_press",
|
"item": "create:mechanical_press",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:millstone",
|
"item": "create:millstone",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:mysterious_cuckoo_clock",
|
"item": "create:mysterious_cuckoo_clock",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:piston_pole",
|
"item": "create:piston_pole",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:plough",
|
"item": "create:plough",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -14,11 +14,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:portable_storage_interface",
|
"item": "create:portable_storage_interface",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:rope_pulley",
|
"item": "create:rope_pulley",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:rotation_chassis",
|
"item": "create:rotation_chassis",
|
||||||
"count": 3
|
"count": 3
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -18,11 +18,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:rotation_speed_controller",
|
"item": "create:rotation_speed_controller",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:saw",
|
"item": "create:saw",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -23,11 +23,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:sequenced_gearshift",
|
"item": "create:sequenced_gearshift",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:shaft",
|
"item": "create:shaft",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -18,11 +18,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:speed_gauge",
|
"item": "create:speed_gauge",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -15,11 +15,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:sticky_mechanical_piston",
|
"item": "create:sticky_mechanical_piston",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:translation_chassis",
|
"item": "create:translation_chassis",
|
||||||
"count": 3
|
"count": 3
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -15,11 +15,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:turntable",
|
"item": "create:turntable",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:water_wheel",
|
"item": "create:water_wheel",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:deforester",
|
"item": "create:deforester",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -14,11 +14,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:filter",
|
"item": "create:filter",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -18,11 +18,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:goggles",
|
"item": "create:goggles",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:placement_handgun",
|
"item": "create:placement_handgun",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -14,11 +14,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:property_filter",
|
"item": "create:property_filter",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:shadow_steel_mattock",
|
"item": "create:shadow_steel_mattock",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:shadow_steel_pickaxe",
|
"item": "create:shadow_steel_pickaxe",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:shadow_steel_sword",
|
"item": "create:shadow_steel_sword",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:symmetry_wand",
|
"item": "create:symmetry_wand",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:wrench",
|
"item": "create:wrench",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "curiosities"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:electron_tube",
|
"item": "create:electron_tube",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -21,11 +21,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:entity_detector",
|
"item": "create:entity_detector",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -22,11 +22,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:extractor",
|
"item": "create:extractor",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -13,11 +13,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:flexcrate",
|
"item": "create:flexcrate",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -21,11 +21,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:flexpeater",
|
"item": "create:flexpeater",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -14,11 +14,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:flexpulsepeater",
|
"item": "create:flexpulsepeater",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "logistics"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:hand_crank",
|
"item": "create:hand_crank",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:andesite_casing",
|
"item": "create:andesite_casing",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:brass_casing",
|
"item": "create:brass_casing",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:brass_ingot"
|
"item": "create:brass_ingot"
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -19,11 +19,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:copper_casing",
|
"item": "create:copper_casing",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:copper_ingot"
|
"item": "create:copper_ingot"
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:zinc_ingot"
|
"item": "create:zinc_ingot"
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:nozzle",
|
"item": "create:nozzle",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "contraptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:acacia_glass",
|
"item": "create:acacia_glass",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:acacia_glass_pane",
|
"item": "create:acacia_glass_pane",
|
||||||
"count": 16
|
"count": 16
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:birch_glass",
|
"item": "create:birch_glass",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:birch_glass_pane",
|
"item": "create:birch_glass_pane",
|
||||||
"count": 16
|
"count": 16
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_oak_glass",
|
"item": "create:dark_oak_glass",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_oak_glass_pane",
|
"item": "create:dark_oak_glass_pane",
|
||||||
"count": 16
|
"count": 16
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -16,11 +16,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria",
|
"item": "create:dark_scoria",
|
||||||
"count": 8
|
"count": 8
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_bricks",
|
"item": "create:dark_scoria_bricks",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -11,11 +11,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_bricks_slab",
|
"item": "create:dark_scoria_bricks_slab",
|
||||||
"count": 6
|
"count": 6
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -13,11 +13,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_bricks_stairs",
|
"item": "create:dark_scoria_bricks_stairs",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_bricks_wall",
|
"item": "create:dark_scoria_bricks_wall",
|
||||||
"count": 6
|
"count": 6
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -11,11 +11,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_tiles",
|
"item": "create:dark_scoria_tiles",
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -11,11 +11,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_tiles_slab",
|
"item": "create:dark_scoria_tiles_slab",
|
||||||
"count": 6
|
"count": 6
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -13,11 +13,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dark_scoria_tiles_stairs",
|
"item": "create:dark_scoria_tiles_stairs",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -12,11 +12,5 @@
|
||||||
"result": {
|
"result": {
|
||||||
"item": "create:dolomite_bricks",
|
"item": "create:dolomite_bricks",
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
}
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "create:module",
|
|
||||||
"module": "palettes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue