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.data.ITaggable;
|
||||
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.components.actors.DrillBlock;
|
||||
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.gauge.GaugeBlock;
|
||||
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.symmetry.block.CrossPlaneSymmetryBlock;
|
||||
import com.simibubi.create.modules.curiosities.symmetry.block.PlaneSymmetryBlock;
|
||||
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.StockswitchBlock;
|
||||
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> {
|
||||
|
||||
// __SCHEMATICS__(),
|
||||
// SCHEMATICANNON(SchematicannonBlock::new),
|
||||
// CREATIVE_CRATE(CreativeCrateBlock::new),
|
||||
// SCHEMATIC_TABLE(SchematicTableBlock::new),
|
||||
_1_(Sections.KINETICS),
|
||||
|
||||
__CONTRAPTIONS__(),
|
||||
SHAFT(() -> new ShaftBlock(Properties.from(Blocks.ANDESITE))),
|
||||
COGWHEEL(() -> new CogWheelBlock(false), (b, p) -> new CogwheelBlockItem(b, p, false)),
|
||||
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),
|
||||
ROTATION_SPEED_CONTROLLER(SpeedControllerBlock::new),
|
||||
|
||||
__LOGISTICS__(),
|
||||
_2_(Sections.LOGISTICS),
|
||||
|
||||
CONTACT(ContactBlock::new),
|
||||
REDSTONE_BRIDGE(RedstoneLinkBlock::new),
|
||||
STOCKSWITCH(StockswitchBlock::new),
|
||||
|
@ -209,17 +206,41 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
|||
REDSTONE_LATCH(LatchBlock::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_CROSSPLANE(CrossPlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
||||
SYMMETRY_TRIPLEPLANE(TriplePlaneSymmetryBlock::new, ComesWith.NO_BLOCKITEM),
|
||||
WINDOW_IN_A_BLOCK(WindowInABlockBlock::new, ComesWith.NO_BLOCKITEM),
|
||||
COCOA_LOG(CocoaLogBlock::new, ITaggable.create().withVanillaTags(ITaggable.BLOCK, "jungle_logs")),
|
||||
|
||||
__PALETTES__(),
|
||||
TILED_GLASS(() -> new GlassBlock(Properties.from(Blocks.GLASS)), ITaggable.create().withVanillaTags(ITaggable.BLOCK, "impermeable").withForgeTags("glass")),
|
||||
_5_(Sections.SCHEMATICS),
|
||||
|
||||
// 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)),
|
||||
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)),
|
||||
|
||||
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)),
|
||||
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())),
|
||||
HORIZONTAL_FRAMED_GLASS_PANE(() -> new CTGlassPaneBlock(HORIZONTAL_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())),
|
||||
|
||||
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_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_LAYERS(() ->
|
||||
new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS, AllCTs.POLISHED_ANDESITE)),
|
||||
ANDESITE_LAYERS(() -> new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS,
|
||||
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")),
|
||||
GABBRO_BRICKS(() -> new Block(Properties.from(GABBRO.get())), ComesWith.STAIRS, ComesWith.WALL),
|
||||
PAVED_GABBRO_BRICKS(() -> 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()))),
|
||||
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()))),
|
||||
POLISHED_DOLOMITE(() -> new Block(Properties.from(DOLOMITE.get())), ITaggable.create().withForgeTags("stone")),
|
||||
DOLOMITE_PILLAR(() -> new RotatedPillarBlock(Properties.from(DOLOMITE.get()))),
|
||||
DOLOMITE_LAYERS(() ->
|
||||
new LayeredCTBlock(Properties.from(DOLOMITE.get()), AllCTs.DOLOMITE_LAYERS, AllCTs.POLISHED_DOLOMITE)),
|
||||
DOLOMITE_LAYERS(() -> new LayeredCTBlock(Properties.from(DOLOMITE.get()), AllCTs.DOLOMITE_LAYERS,
|
||||
AllCTs.POLISHED_DOLOMITE)),
|
||||
|
||||
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_BRICKS(() -> new Block(Properties.from(LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||
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,
|
||||
LIMESTONE(() -> new Block(Properties.from(Blocks.SANDSTONE)), ITaggable.create().withForgeTags("stone"),
|
||||
ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||
LIMESTONE_BRICKS(() -> new Block(Properties.from(LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
||||
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_LAYERS(() -> new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.get()),
|
||||
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
|
||||
|
||||
NATURAL_SCORIA(ScoriaBlock::new),
|
||||
SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||
POLISHED_SCORIA(() -> new Block(Properties.from(SCORIA.get())), ITaggable.create().withForgeTags("stone"), ComesWith.SLAB),
|
||||
SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE)), ITaggable.create().withForgeTags("stone"),
|
||||
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_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()))),
|
||||
|
||||
DARK_SCORIA(() -> new Block(Properties.from(Blocks.ANDESITE))),
|
||||
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_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")),
|
||||
DARK_SCORIA_BRICKS(() -> new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
||||
ComesWith.WALL),
|
||||
|
||||
;
|
||||
|
||||
|
@ -309,43 +337,46 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
|||
|
||||
public final RegistryEntry<? extends Block> block;
|
||||
public final ImmutableList<RegistryEntry<? extends Block>> alsoRegistered;
|
||||
public final IModule module;
|
||||
public final Sections section;
|
||||
|
||||
AllBlocks() {
|
||||
Create.registrate().setModule(Lang.asId(name()).replaceAll("__", ""));
|
||||
AllBlocks(Sections section) {
|
||||
Create.registrate().startSection(section);
|
||||
this.block = null;
|
||||
this.alsoRegistered = ImmutableList.of();
|
||||
this.module = Create.registrate().getModule();
|
||||
this.section = Create.registrate().currentSection();
|
||||
}
|
||||
|
||||
AllBlocks(NonNullSupplier<? extends Block> block, ComesWith... comesWith) {
|
||||
this(block, ITaggable.create(), comesWith);
|
||||
}
|
||||
|
||||
AllBlocks(NonNullSupplier<? extends Block> block, 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,
|
||||
ComesWith... comesWith) {
|
||||
this(block, customItemCreator, ITaggable.create(), comesWith);
|
||||
}
|
||||
|
||||
AllBlocks(NonNullSupplier<? extends Block> block, NonNullBiFunction<? super Block, Item.Properties, ? extends BlockItem> customItemCreator, ITaggable<?> tags, ComesWith... comesWith){
|
||||
this.module = Create.registrate().getModule();
|
||||
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) {
|
||||
this.section = Create.registrate().currentSection();
|
||||
|
||||
this.block = Create.registrate().block(Lang.asId(name()), $ -> block.get()) // TODO take properties as input
|
||||
.blockstate(NonNullBiConsumer.noop()) // TODO
|
||||
.loot(NonNullBiConsumer.noop()) // TODO
|
||||
.setData(ProviderType.LANG, NonNullBiConsumer.noop()) // TODO
|
||||
.transform(applyTags(tags))
|
||||
.transform(b -> registerItemBlock(b, customItemCreator, comesWith))
|
||||
.register();
|
||||
.transform(applyTags(tags)).transform(b -> registerItemBlock(b, customItemCreator, comesWith))
|
||||
.register();
|
||||
|
||||
ImmutableList.Builder<RegistryEntry<? extends Block>> alsoRegistered = ImmutableList.builder();
|
||||
for (ComesWith with : comesWith) {
|
||||
if (with != ComesWith.NO_BLOCKITEM) {
|
||||
alsoRegistered.add(makeRelatedBlock(this.block, with));
|
||||
}
|
||||
if (with != ComesWith.NO_BLOCKITEM) {
|
||||
alsoRegistered.add(makeRelatedBlock(this.block, with));
|
||||
}
|
||||
}
|
||||
this.alsoRegistered = alsoRegistered.build();
|
||||
}
|
||||
|
@ -353,19 +384,21 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
|||
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) {
|
||||
if (ArrayUtils.contains(comesWith, ComesWith.NO_BLOCKITEM)) {
|
||||
return builder;
|
||||
}
|
||||
public <B extends Block, P> BlockBuilder<B, P> registerItemBlock(BlockBuilder<B, P> builder,
|
||||
NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator,
|
||||
ComesWith... comesWith) {
|
||||
if (ArrayUtils.contains(comesWith, ComesWith.NO_BLOCKITEM)) {
|
||||
return builder;
|
||||
}
|
||||
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) {
|
||||
ItemBuilder<? extends BlockItem, BlockBuilder<B, P>> itemBuilder = customItemCreator == null ? builder.item() : builder.item(customItemCreator);
|
||||
return itemBuilder
|
||||
.model(NonNullBiConsumer.noop()) // TODO
|
||||
.properties($ -> AllItems.includeInItemGroup())
|
||||
.build();
|
||||
private <B extends Block, P> BlockBuilder<B, P> registerAsItem(BlockBuilder<B, P> builder,
|
||||
NonNullBiFunction<? super B, Item.Properties, ? extends BlockItem> customItemCreator) {
|
||||
ItemBuilder<? extends BlockItem, BlockBuilder<B, P>> itemBuilder =
|
||||
customItemCreator == null ? builder.item() : builder.item(customItemCreator);
|
||||
return itemBuilder.model(NonNullBiConsumer.noop()) // TODO
|
||||
.properties($ -> AllItems.includeInItemGroup()).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -387,44 +420,41 @@ public enum AllBlocks implements NonNullSupplier<Block> {
|
|||
|
||||
switch (feature) {
|
||||
case FENCE:
|
||||
creator = FenceBlock::new;
|
||||
tag = BlockTags.FENCES;
|
||||
creator = FenceBlock::new;
|
||||
tag = BlockTags.FENCES;
|
||||
break;
|
||||
case SLAB:
|
||||
creator = SlabBlock::new;
|
||||
tag = BlockTags.SLABS;
|
||||
creator = SlabBlock::new;
|
||||
tag = BlockTags.SLABS;
|
||||
break;
|
||||
case STAIRS:
|
||||
creator = p -> new ProperStairsBlock(block.get());
|
||||
tag = BlockTags.STAIRS;
|
||||
creator = p -> new ProperStairsBlock(block.get());
|
||||
tag = BlockTags.STAIRS;
|
||||
break;
|
||||
case WALL:
|
||||
creator = WallBlock::new;
|
||||
tag = BlockTags.WALLS;
|
||||
creator = WallBlock::new;
|
||||
tag = BlockTags.WALLS;
|
||||
break;
|
||||
case FENCE_GATE:
|
||||
creator = FenceGateBlock::new;
|
||||
tag = null;
|
||||
creator = FenceGateBlock::new;
|
||||
tag = null;
|
||||
break;
|
||||
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)
|
||||
.blockstate(NonNullBiConsumer.noop()) // TODO
|
||||
.loot(NonNullBiConsumer.noop()) // TODO
|
||||
.item()
|
||||
.model(NonNullBiConsumer.noop()) // TODO
|
||||
.build()
|
||||
.transform(b -> tag != null ? b.tag(tag) : b)
|
||||
.register();
|
||||
.item().model(NonNullBiConsumer.noop()) // TODO
|
||||
.build().transform(b -> tag != null ? b.tag(tag) : b).register();
|
||||
}
|
||||
|
||||
private <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> applyTags(ITaggable<?> tags) {
|
||||
return b -> {
|
||||
tags.getDataTags(ITaggable.BLOCK).forEach(b::tag);
|
||||
return b;
|
||||
};
|
||||
return b -> {
|
||||
tags.getDataTags(ITaggable.BLOCK).forEach(b::tag);
|
||||
return b;
|
||||
};
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
|
|
|
@ -1,29 +1,37 @@
|
|||
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.SchematicTableBlock;
|
||||
import com.simibubi.create.modules.schematics.block.SchematicannonBlock;
|
||||
import com.tterrag.registrate.util.RegistryEntry;
|
||||
|
||||
import net.minecraft.block.Blocks;
|
||||
|
||||
public class AllBlocksNew {
|
||||
|
||||
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)
|
||||
.initialProperties(() -> Blocks.DISPENSER)
|
||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), prov.models().getExistingFile(prov.modLoc("block/" + ctx.getName() + "/base"))))
|
||||
.item()
|
||||
.model((ctx, prov) -> prov.blockItem(ctx.getEntry()::getBlock, "/base"))
|
||||
.model((ctx, prov) -> prov.blockItem(ctx.getEntry()::getBlock, "/item"))
|
||||
.build()
|
||||
.register();
|
||||
|
||||
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())))
|
||||
.simpleItem()
|
||||
.register();
|
||||
|
||||
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))
|
||||
.simpleItem()
|
||||
.register();
|
||||
|
|
|
@ -13,7 +13,7 @@ import com.simibubi.create.foundation.item.IHaveCustomItemModel;
|
|||
import com.simibubi.create.foundation.item.IItemWithColorHandler;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
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.WrenchItem;
|
||||
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.RefinedRadianceItem;
|
||||
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.symmetry.SymmetryWandItem;
|
||||
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.zapper.blockzapper.BlockzapperItem;
|
||||
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.schematics.item.SchematicAndQuillItem;
|
||||
import com.simibubi.create.modules.schematics.item.SchematicItem;
|
||||
|
@ -57,7 +57,8 @@ import net.minecraftforge.registries.IForgeRegistry;
|
|||
@EventBusSubscriber(value = Dist.CLIENT, bus = Bus.MOD)
|
||||
public enum AllItems {
|
||||
|
||||
__MATERIALS__(module()),
|
||||
_1_(Sections.MATERIALS),
|
||||
|
||||
COPPER_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/copper")),
|
||||
ZINC_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/zinc")),
|
||||
BRASS_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/brass")),
|
||||
|
@ -89,7 +90,8 @@ public enum AllItems {
|
|||
ELECTRON_TUBE,
|
||||
INTEGRATED_CIRCUIT,
|
||||
|
||||
__CONTRAPTIONS__(module()),
|
||||
_2_(Sections.KINETICS),
|
||||
|
||||
BELT_CONNECTOR(BeltConnectorItem::new),
|
||||
VERTICAL_GEARBOX(VerticalGearboxItem::new),
|
||||
PROPELLER,
|
||||
|
@ -104,11 +106,13 @@ public enum AllItems {
|
|||
MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.RIDEABLE, p)),
|
||||
FURNACE_MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.FURNACE, p)),
|
||||
|
||||
__LOGISTICS__(module()),
|
||||
_3_(Sections.LOGISTICS),
|
||||
|
||||
FILTER(FilterItem::new),
|
||||
PROPERTY_FILTER(FilterItem::new),
|
||||
|
||||
__CURIOSITIES__(module()),
|
||||
_4_(Sections.CURIOSITIES),
|
||||
|
||||
TREE_FERTILIZER(TreeFertilizerItem::new),
|
||||
PLACEMENT_HANDGUN(BlockzapperItem::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_SWORD(p -> new SwordItem(AllToolTiers.SHADOW_STEEL, 3, -2.0F, p)),
|
||||
|
||||
__SCHEMATICS__(module()),
|
||||
_5_(Sections.SCHEMATICS),
|
||||
|
||||
EMPTY_BLUEPRINT(Item::new, stackSize(1)),
|
||||
BLUEPRINT_AND_QUILL(SchematicAndQuillItem::new, stackSize(1)),
|
||||
BLUEPRINT(SchematicItem::new),
|
||||
|
||||
;
|
||||
|
||||
private static class CategoryTracker {
|
||||
static IModule currentModule;
|
||||
private static class SectionTracker {
|
||||
static Sections currentSection;
|
||||
}
|
||||
|
||||
// Common
|
||||
|
||||
public IModule module;
|
||||
public Sections section;
|
||||
private Function<Properties, Properties> specialProperties;
|
||||
private TaggedItem taggedItem;
|
||||
private Item item;
|
||||
|
||||
AllItems(int moduleMarker) {
|
||||
CategoryTracker.currentModule = () -> Lang.asId(name()).replaceAll("__", "");
|
||||
AllItems(Sections section) {
|
||||
SectionTracker.currentSection = section;
|
||||
taggedItem = new TaggedItem(null);
|
||||
}
|
||||
|
||||
|
@ -171,7 +176,7 @@ public enum AllItems {
|
|||
|
||||
AllItems(TaggedItem taggedItemIn, Function<Properties, Properties> specialProperties) {
|
||||
this.taggedItem = taggedItemIn;
|
||||
this.module = CategoryTracker.currentModule;
|
||||
this.section = SectionTracker.currentSection;
|
||||
this.specialProperties = specialProperties;
|
||||
}
|
||||
|
||||
|
@ -187,10 +192,6 @@ public enum AllItems {
|
|||
return includeInItemGroup().setISTER(() -> item::getRenderer);
|
||||
}
|
||||
|
||||
private static int module() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static Properties includeInItemGroup() {
|
||||
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.ServerLagger;
|
||||
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.logistics.RedstoneLinkNetworkHandler;
|
||||
import com.simibubi.create.modules.schematics.ServerSchematicLoader;
|
||||
|
@ -23,7 +22,6 @@ import net.minecraft.particles.ParticleType;
|
|||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.crafting.CraftingHelper;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
|
@ -75,7 +73,6 @@ public class Create {
|
|||
torquePropagator = new TorquePropagator();
|
||||
lagger = new ServerLagger();
|
||||
|
||||
CraftingHelper.register(new ModuleLoadedCondition.Serializer());
|
||||
AllPackets.registerPackets();
|
||||
AllTriggers.register();
|
||||
|
||||
|
|
|
@ -40,15 +40,12 @@ public final class CreateItemGroup extends ItemGroup {
|
|||
Block def = entry.get();
|
||||
if (def == null)
|
||||
continue;
|
||||
if (!Create.registrate().getModule(entry).isEnabled())
|
||||
continue;
|
||||
if (def instanceof IAddedByOther)
|
||||
continue;
|
||||
|
||||
Item item = def.asItem();
|
||||
if (item != Items.AIR) {
|
||||
if (item != Items.AIR)
|
||||
item.fillItemGroup(this, items);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,8 +56,6 @@ public final class CreateItemGroup extends ItemGroup {
|
|||
for (AllItems item : AllItems.values()) {
|
||||
if (item.get() == null)
|
||||
continue;
|
||||
if (!item.module.isEnabled())
|
||||
continue;
|
||||
IBakedModel model = itemRenderer.getItemModelWithOverrides(item.asStack(), Minecraft.getInstance().world, null);
|
||||
if (model.isGui3d() != specialItems)
|
||||
continue;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
package com.simibubi.create;
|
||||
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
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.builders.BlockBuilder;
|
||||
import com.tterrag.registrate.builders.Builder;
|
||||
|
@ -41,18 +40,17 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
|||
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) {
|
||||
final String moduleName = module.toLowerCase(Locale.ROOT);
|
||||
this.module = () -> moduleName;
|
||||
public CreateRegistrate startSection(Sections section) {
|
||||
this.section = section;
|
||||
return self();
|
||||
}
|
||||
|
||||
public IModule getModule() {
|
||||
return module;
|
||||
public Sections currentSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
|
@ -64,19 +62,19 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
|||
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) {
|
||||
RegistryEntry<T> ret = super.accept(name, type, builder, creator);
|
||||
moduleLookup.put(ret, getModule());
|
||||
sectionLookup.put(ret, currentSection());
|
||||
return ret;
|
||||
}
|
||||
|
||||
public IModule getModule(RegistryEntry<?> entry) {
|
||||
return moduleLookup.getOrDefault(entry, IModule.of("unknown"));
|
||||
public Sections getSection(RegistryEntry<?> entry) {
|
||||
return sectionLookup.getOrDefault(entry, Sections.UNASSIGNED);
|
||||
}
|
||||
|
||||
public IModule getModule(IForgeRegistryEntry<?> entry) {
|
||||
return moduleLookup.entrySet().stream()
|
||||
public Sections getSection(IForgeRegistryEntry<?> entry) {
|
||||
return sectionLookup.entrySet().stream()
|
||||
.filter(e -> e.getKey().get() == entry)
|
||||
.map(Entry::getValue)
|
||||
.findFirst()
|
||||
.orElse(IModule.of("unknown"));
|
||||
.orElse(Sections.UNASSIGNED);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,12 +2,6 @@ package com.simibubi.create.config;
|
|||
|
||||
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 ConfigInt tickrateSyncTimer =
|
||||
i(20, 5, "tickrateSyncTimer", "[in Ticks]", Comments.tickrateSyncTimer, Comments.tickrateSyncTimer2);
|
||||
|
@ -24,11 +18,10 @@ public class CServer extends ConfigBase {
|
|||
}
|
||||
|
||||
private static class Comments {
|
||||
static String schematics = "The Schematics Module";
|
||||
static String kinetics = "The Contraptions Module";
|
||||
static String logistics = "The Logistics Module";
|
||||
static String curiosities = "Everything that spins";
|
||||
static String modules = "Configure which Modules should be accessible in recipes and creative menus.";
|
||||
static String schematics = "Everything related to Schematic tools";
|
||||
static String kinetics = "Parameters and abilities of Create's kinetic mechanisms";
|
||||
static String logistics = "Tweaks for logistical components";
|
||||
static String curiosities = "Gadgets and other Shenanigans added by Create";
|
||||
static String control = "You can try inhibiting related game mechanics for troubleshooting repeated crashes.";
|
||||
static String infrastructure = "The Backbone of Create";
|
||||
static String tickrateSyncTimer =
|
||||
|
|
|
@ -56,6 +56,7 @@ public class ItemDescription {
|
|||
Yellow(GOLD, YELLOW),
|
||||
Red(DARK_RED, RED),
|
||||
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.foundation.item.ItemDescription.Palette;
|
||||
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.components.flywheel.engine.EngineBlock;
|
||||
import com.simibubi.create.modules.curiosities.tools.AllToolTiers;
|
||||
|
@ -130,11 +130,11 @@ public class TooltipHelper {
|
|||
}
|
||||
|
||||
private static ItemDescription buildToolTip(String translationKey, ItemStack stack) {
|
||||
IModule module = IModule.of(stack);
|
||||
Sections module = Sections.of(stack);
|
||||
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";
|
||||
|
||||
// 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.Collections;
|
|
@ -1,4 +1,4 @@
|
|||
package com.simibubi.create.modules.gardens;
|
||||
package com.simibubi.create.modules.curiosities;
|
||||
|
||||
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.BlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
@ -15,8 +14,8 @@ import net.minecraft.world.IBlockReader;
|
|||
|
||||
public class CreativeCrateBlock extends Block {
|
||||
|
||||
public CreativeCrateBlock() {
|
||||
super(Properties.create(Material.WOOD));
|
||||
public CreativeCrateBlock(Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,7 +6,6 @@ import com.simibubi.create.foundation.utility.AllShapes;
|
|||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.HorizontalBlock;
|
||||
import net.minecraft.block.material.PushReaction;
|
||||
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 SchematicTableBlock() {
|
||||
super(Properties.from(Blocks.OAK_PLANKS));
|
||||
public SchematicTableBlock(Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,7 +6,6 @@ import com.simibubi.create.foundation.utility.AllShapes;
|
|||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.material.PushReaction;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
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 SchematicannonBlock() {
|
||||
super(Properties.from(Blocks.DISPENSER));
|
||||
public SchematicannonBlock(Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:basin",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:belt_funnel",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -18,11 +18,5 @@
|
|||
"result": {
|
||||
"item": "create:belt_tunnel",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:brass_hand",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:contact",
|
||||
"count": 2
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:adjustable_pulley",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -15,11 +15,5 @@
|
|||
"result": {
|
||||
"item": "create:analog_lever",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:belt_connector",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:cart_assembler",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:clockwork_bearing",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:clutch",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:cogwheel",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:cuckoo_clock",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -23,11 +23,5 @@
|
|||
"result": {
|
||||
"item": "create:deployer",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:drill",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:encased_belt",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -25,11 +25,5 @@
|
|||
"result": {
|
||||
"item": "create:encased_fan",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -14,11 +14,5 @@
|
|||
"result": {
|
||||
"item": "create:encased_shaft",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:gearbox",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:gearshift",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:harvester",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:large_cogwheel",
|
||||
"count": 2
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:mechanical_bearing",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -26,11 +26,5 @@
|
|||
"result": {
|
||||
"item": "create:mechanical_crafter",
|
||||
"count": 3
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:mechanical_mixer",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:mechanical_piston",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -23,11 +23,5 @@
|
|||
"result": {
|
||||
"item": "create:mechanical_press",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:millstone",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:mysterious_cuckoo_clock",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:piston_pole",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:plough",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -14,11 +14,5 @@
|
|||
"result": {
|
||||
"item": "create:portable_storage_interface",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:rope_pulley",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:rotation_chassis",
|
||||
"count": 3
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -18,11 +18,5 @@
|
|||
"result": {
|
||||
"item": "create:rotation_speed_controller",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:saw",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -23,11 +23,5 @@
|
|||
"result": {
|
||||
"item": "create:sequenced_gearshift",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:shaft",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -18,11 +18,5 @@
|
|||
"result": {
|
||||
"item": "create:speed_gauge",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -15,11 +15,5 @@
|
|||
"result": {
|
||||
"item": "create:sticky_mechanical_piston",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:translation_chassis",
|
||||
"count": 3
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -15,11 +15,5 @@
|
|||
"result": {
|
||||
"item": "create:turntable",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:water_wheel",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:deforester",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -14,11 +14,5 @@
|
|||
"result": {
|
||||
"item": "create:filter",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -18,11 +18,5 @@
|
|||
"result": {
|
||||
"item": "create:goggles",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:placement_handgun",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -14,11 +14,5 @@
|
|||
"result": {
|
||||
"item": "create:property_filter",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:shadow_steel_mattock",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:shadow_steel_pickaxe",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:shadow_steel_sword",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:symmetry_wand",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:wrench",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "curiosities"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:electron_tube",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -21,11 +21,5 @@
|
|||
"result": {
|
||||
"item": "create:entity_detector",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -22,11 +22,5 @@
|
|||
"result": {
|
||||
"item": "create:extractor",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -13,11 +13,5 @@
|
|||
"result": {
|
||||
"item": "create:flexcrate",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -21,11 +21,5 @@
|
|||
"result": {
|
||||
"item": "create:flexpeater",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -14,11 +14,5 @@
|
|||
"result": {
|
||||
"item": "create:flexpulsepeater",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:hand_crank",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:andesite_casing",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:brass_casing",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "create:brass_ingot"
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -19,11 +19,5 @@
|
|||
"result": {
|
||||
"item": "create:copper_casing",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "create:copper_ingot"
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
},
|
||||
"result": {
|
||||
"item": "create:zinc_ingot"
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:nozzle",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "contraptions"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:acacia_glass",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:acacia_glass_pane",
|
||||
"count": 16
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:birch_glass",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:birch_glass_pane",
|
||||
"count": 16
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_oak_glass",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_oak_glass_pane",
|
||||
"count": 16
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -16,11 +16,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria",
|
||||
"count": 8
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_bricks",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -11,11 +11,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_bricks_slab",
|
||||
"count": 6
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -13,11 +13,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_bricks_stairs",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_bricks_wall",
|
||||
"count": 6
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -11,11 +11,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_tiles",
|
||||
"count": 1
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -11,11 +11,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_tiles_slab",
|
||||
"count": 6
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -13,11 +13,5 @@
|
|||
"result": {
|
||||
"item": "create:dark_scoria_tiles_stairs",
|
||||
"count": 4
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "create:module",
|
||||
"module": "palettes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -12,11 +12,5 @@
|
|||
"result": {
|
||||
"item": "create:dolomite_bricks",
|
||||
"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