init commit of working things

This commit is contained in:
TheRealM18 2024-07-21 21:14:33 -03:00
commit 06a0ff2060
66 changed files with 1917 additions and 0 deletions

View file

@ -0,0 +1,21 @@
package com.therealm18studios.lc;
import com.therealm18studios.lc.common.item.ItemGroup;
import com.therealm18studios.lc.common.item.Items;
import li.cil.oc2r.common.ConfigManager;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod("librecomponents")
public final class LibreComponents {
public static String MOD_ID = "librecomponents";
public LibreComponents() {
ConfigManager.initialize();
Items.initialize();
ItemGroup.TAB_REGISTER.register(FMLJavaModLoadingContext.get().getModEventBus());
}
}

View file

@ -0,0 +1,40 @@
package com.therealm18studios.lc.common.item;
import com.therealm18studios.lc.LibreComponents;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
public final class ItemGroup {
public static final DeferredRegister<CreativeModeTab> TAB_REGISTER = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, LibreComponents.MOD_ID);
@SuppressWarnings("unused")
public static final RegistryObject<CreativeModeTab> COMMON_TAB = TAB_REGISTER.register("common", () -> CreativeModeTab.builder()
// Set name of tab to display
.title(Component.translatable("item_group." + LibreComponents.MOD_ID + ".common"))
// Set icon of creative tab
.icon(() -> new ItemStack(li.cil.oc2r.common.item.Items.COMPUTER.get()))
// Add default items to tab
.displayItems((params, output) -> {
// Items
output.accept(Items.MEMORY_SMALL.get());
output.accept(Items.MEMORY_MEDIUM.get());
output.accept(Items.MEMORY_LARGE.get());
output.accept(Items.MEMORY_EXTRA_LARGE.get());
output.accept(Items.HARD_DRIVE_SMALL.get());
output.accept(Items.HARD_DRIVE_MEDIUM.get());
output.accept(Items.HARD_DRIVE_LARGE.get());
output.accept(Items.HARD_DRIVE_EXTRA_LARGE.get());
output.accept(Items.CPU_TIER_1.get());
output.accept(Items.CPU_TIER_2.get());
output.accept(Items.CPU_TIER_3.get());
output.accept(Items.CPU_TIER_4.get());
output.accept(Items.FLOPPY.get());
output.accept(Items.FLOPPY_MODERN.get());
})
.build()
);
}

View file

@ -0,0 +1,91 @@
package com.therealm18studios.lc.common.item;
import com.therealm18studios.lc.LibreComponents;
import li.cil.oc2r.common.item.*;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.Item;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.function.Supplier;
public final class Items {
private static final DeferredRegister<Item> ITEMS;
public static final RegistryObject<MemoryItem> MEMORY_SMALL;
public static final RegistryObject<MemoryItem> MEMORY_MEDIUM;
public static final RegistryObject<MemoryItem> MEMORY_LARGE;
public static final RegistryObject<MemoryItem> MEMORY_EXTRA_LARGE;
public static final RegistryObject<HardDriveItem> HARD_DRIVE_SMALL;
public static final RegistryObject<HardDriveItem> HARD_DRIVE_MEDIUM;
public static final RegistryObject<HardDriveItem> HARD_DRIVE_LARGE;
public static final RegistryObject<HardDriveItem> HARD_DRIVE_EXTRA_LARGE;
public static final RegistryObject<CPUItem> CPU_TIER_1;
public static final RegistryObject<CPUItem> CPU_TIER_2;
public static final RegistryObject<CPUItem> CPU_TIER_3;
public static final RegistryObject<CPUItem> CPU_TIER_4;
public static final RegistryObject<FloppyItem> FLOPPY;
public static final RegistryObject<FloppyItem> FLOPPY_MODERN;
public Items() {
}
public static void initialize() {
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
}
private static RegistryObject<Item> register(String name) {
return register(name, ModItem::new);
}
private static <T extends Item> RegistryObject<T> register(String name, Supplier<T> factory) {
return ITEMS.register(name, factory);
}
static {
ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, LibreComponents.MOD_ID);
MEMORY_SMALL = register("memory_small", () -> {
return new MemoryItem(33554432);
});
MEMORY_MEDIUM = register("memory_medium", () -> {
return new MemoryItem(67108864);
});
MEMORY_LARGE = register("memory_large", () -> {
return new MemoryItem(134217728);
});
MEMORY_EXTRA_LARGE = register("memory_extra_large", () -> {
return new MemoryItem(268435456);
});
HARD_DRIVE_SMALL = register("hard_drive_small", () -> {
return new HardDriveItem(33554432, DyeColor.PINK);
});
HARD_DRIVE_MEDIUM = register("hard_drive_medium", () -> {
return new HardDriveItem(67108864, DyeColor.RED);
});
HARD_DRIVE_LARGE = register("hard_drive_large", () -> {
return new HardDriveItem(134217728, DyeColor.BLUE);
});
HARD_DRIVE_EXTRA_LARGE = register("hard_drive_extra_large", () -> {
return new HardDriveItem(268435456, DyeColor.BLACK);
});
CPU_TIER_1 = register("cpu_tier_1", () -> {
return new CPUItem(250000000);
});
CPU_TIER_2 = register("cpu_tier_2", () -> {
return new CPUItem(300000000);
});
CPU_TIER_3 = register("cpu_tier_3", () -> {
return new CPUItem(350000000);
});
CPU_TIER_4 = register("cpu_tier_4", () -> {
return new CPUItem(400000000);
});
FLOPPY = register("floppy", () -> {
return new FloppyItem(2949120);
});
FLOPPY_MODERN = register("floppy_modern", () -> {
return new FloppyItem(5898240);
});
}
}

View file

@ -0,0 +1,33 @@
package com.therealm18studios.lc.data;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.DataProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public final class DataGenerators {
@SubscribeEvent
public static void gatherData(final GatherDataEvent event) {
final DataGenerator generator = event.getGenerator();
final ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
// generator.addProvider(
// event.includeServer(),
// (DataProvider.Factory<LootTableProvider>) output -> new LootTableProvider(
// output,
// Set.of(),
// Collections.singletonList(
// new LootTableProvider.SubProviderEntry(
// ModLootTableProvider.ModBlockLootTables::new,
// LootContextParamSets.BLOCK
// )
// )
// )
// );
generator.addProvider(event.includeServer(), (DataProvider.Factory<ModRecipesProvider>) ModRecipesProvider::new);
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator.getPackOutput(), existingFileHelper));
}
}

View file

@ -0,0 +1,55 @@
package com.therealm18studios.lc.data;
import com.therealm18studios.lc.LibreComponents;
import li.cil.oc2r.common.entity.Entities;
import com.therealm18studios.lc.common.item.Items;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.RegistryObject;
public final class ModItemModelProvider extends ItemModelProvider {
public ModItemModelProvider(final PackOutput output, final ExistingFileHelper existingFileHelper) {
super(output, LibreComponents.MOD_ID, existingFileHelper);
}
@Override
protected void registerModels() {
simple(Items.MEMORY_SMALL);
simple(Items.MEMORY_MEDIUM);
simple(Items.MEMORY_LARGE);
simple(Items.MEMORY_EXTRA_LARGE);
simple(Items.CPU_TIER_1);
simple(Items.CPU_TIER_2);
simple(Items.CPU_TIER_3);
simple(Items.CPU_TIER_4);
simple(Items.HARD_DRIVE_SMALL, "item/hard_drive_base")
.texture("layer1", "item/hard_drive_tint");
simple(Items.HARD_DRIVE_MEDIUM, "item/hard_drive_base")
.texture("layer1", "item/hard_drive_tint");
simple(Items.HARD_DRIVE_LARGE, "item/hard_drive_base")
.texture("layer1", "item/hard_drive_tint");
simple(Items.HARD_DRIVE_EXTRA_LARGE, "item/hard_drive_base")
.texture("layer1", "item/hard_drive_tint");
simple(Items.FLOPPY, "item/floppy_base")
.texture("layer1", "item/floppy_tint");
simple(Items.FLOPPY_MODERN, "item/floppy_base")
.texture("layer1", "item/floppy_tint");
withExistingParent(Entities.ROBOT.getId().getPath(), "template_shulker_box");
}
private <T extends Item> void simple(final RegistryObject<T> item) {
simple(item, "item/" + item.getId().getPath());
}
private <T extends Item> ItemModelBuilder simple(final RegistryObject<T> item, final String texturePath) {
return singleTexture(item.getId().getPath(),
new ResourceLocation("item/generated"),
"layer0",
new ResourceLocation(LibreComponents.MOD_ID, texturePath));
}
}

View file

@ -0,0 +1,441 @@
package com.therealm18studios.lc.data;
import com.therealm18studios.lc.common.item.Items;
import net.minecraft.advancements.critereon.InventoryChangeTrigger;
import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.*;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.level.ItemLike;
import net.minecraftforge.common.Tags;
import java.util.function.Consumer;
public final class ModRecipesProvider extends RecipeProvider {
public ModRecipesProvider(final PackOutput output) {
super(output);
}
@Override
protected void buildRecipes(final Consumer<FinishedRecipe> consumer) {
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.COMPUTER.get())
// .pattern("ICI")
// .pattern("XTX")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('C', Tags.Items.CHESTS_WOODEN)
// .define('X', Items.BUS_INTERFACE.get())
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .unlockedBy("has_circuit_board", inventoryChange(Items.CIRCUIT_BOARD.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.BUS_CABLE.get(), 16)
// .pattern("III")
// .pattern("GTG")
// .pattern("III")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('T', Items.TRANSISTOR.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
//
// ShapelessRecipeBuilder
// .shapeless(RecipeCategory.MISC, Items.BUS_INTERFACE.get())
// .requires(Items.TRANSISTOR.get())
// .requires(Items.BUS_CABLE.get())
// .unlockedBy("has_bus_cable", inventoryChange(Items.BUS_CABLE.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_CONNECTOR.get(), 4)
// .pattern("IGI")
// .pattern("ITI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('G', Tags.Items.GLASS)
// .define('T', Items.TRANSISTOR.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_HUB.get())
// .pattern("ICI")
// .pattern("XTX")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('C', Items.NETWORK_CONNECTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_network_connector", inventoryChange(Items.NETWORK_CONNECTOR.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.REDSTONE_INTERFACE.get())
// .pattern("ICI")
// .pattern("XTX")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('C', net.minecraft.world.item.Items.COMPARATOR)
// .define('T', Items.TRANSISTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.DISK_DRIVE.get())
// .pattern("IUI")
// .pattern("XTD")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('U', ItemTags.BUTTONS)
// .define('T', Items.TRANSISTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('D', net.minecraft.world.item.Items.DISPENSER)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.KEYBOARD.get())
// .pattern("UUU")
// .pattern("XTU")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('U', ItemTags.BUTTONS)
// .define('T', Items.TRANSISTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.CHARGER.get())
// .pattern("IPI")
// .pattern("XTX")
// .pattern("IRI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('P', net.minecraft.world.item.Items.LIGHT_WEIGHTED_PRESSURE_PLATE)
// .define('T', Items.TRANSISTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('R', Tags.Items.STORAGE_BLOCKS_REDSTONE)
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.PROJECTOR.get())
// .pattern("GLG")
// .pattern("XTD")
// .pattern("GBG")
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('L', net.minecraft.world.item.Items.REDSTONE_LAMP)
// .define('D', Tags.Items.GEMS_DIAMOND)
// .define('T', Items.TRANSISTOR.get())
// .define('X', Items.BUS_INTERFACE.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
//
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.WRENCH.get())
// .pattern("I I")
// .pattern(" T ")
// .pattern(" I ")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
//
// WrenchRecipeBuilder
// .wrenchRecipe(Items.MANUAL.get())
// .requires(net.minecraft.world.item.Items.BOOK)
// .unlockedBy("has_book", inventoryChange(net.minecraft.world.item.Items.BOOK))
// .unlockedBy("has_wrench", inventoryChange(Items.WRENCH.get()))
// .save(consumer);
//
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_CABLE.get(), 8)
// .pattern("SSS")
// .pattern("GTG")
// .pattern("SSS")
// .define('S', Tags.Items.STRING)
// .define('G', Tags.Items.GLASS)
// .define('T', Items.TRANSISTOR.get())
// .unlockedBy("has_network_connector", inventoryChange(Items.NETWORK_CONNECTOR.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.ROBOT.get())
// .pattern("ICI")
// .pattern("PTP")
// .pattern("IBI")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('C', Tags.Items.CHESTS_WOODEN)
// .define('P', net.minecraft.world.item.Items.PISTON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .unlockedBy("has_circuit_board", inventoryChange(Items.CIRCUIT_BOARD.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.MEMORY_SMALL.get(), 2)
// .pattern("ITI")
// .pattern(" B ")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.MEMORY_MEDIUM.get(), 2)
// .pattern("GTG")
// .pattern(" B ")
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.MEMORY_LARGE.get(), 2)
// .pattern("DTD")
// .pattern(" B ")
// .define('D', Tags.Items.GEMS_DIAMOND)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.MEMORY_EXTRA_LARGE.get(), 2)
// .pattern("DTD")
// .pattern("EBE")
// .pattern("DTD")
// .define('D', Tags.Items.GEMS_DIAMOND)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .define('E', Tags.Items.GEMS_EMERALD)
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_SMALL.get())
// .pattern("ITI")
// .pattern("EBE")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .define('E', Tags.Items.GEMS_EMERALD)
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_MEDIUM.get())
// .pattern("GTG")
// .pattern("EBE")
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .define('E', Tags.Items.GEMS_EMERALD)
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_LARGE.get())
// .pattern("DTD")
// .pattern("EBE")
// .define('D', Tags.Items.GEMS_DIAMOND)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .define('E', Tags.Items.GEMS_EMERALD)
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_EXTRA_LARGE.get())
// .pattern("ETE")
// .pattern("DBD")
// .pattern("EBE")
// .define('D', Tags.Items.GEMS_DIAMOND)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .define('E', Tags.Items.GEMS_EMERALD)
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// WrenchRecipeBuilder
// .wrenchRecipe(Items.HARD_DRIVE_CUSTOM.get())
// .requires(Items.HARD_DRIVE_LARGE.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.FLASH_MEMORY.get())
// .pattern("ITI")
// .pattern("RBR")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('R', Tags.Items.DUSTS_REDSTONE)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// WrenchRecipeBuilder
// .wrenchRecipe(Items.FLASH_MEMORY_CUSTOM.get())
// .requires(Items.FLASH_MEMORY.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.REDSTONE_INTERFACE_CARD.get())
// .pattern("IRT")
// .pattern(" B ")
// .define('R', net.minecraft.world.item.Items.REDSTONE_TORCH)
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_INTERFACE_CARD.get())
// .pattern("IGT")
// .pattern(" B ")
// .define('G', Tags.Items.GLASS)
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_TUNNEL_CARD.get())
// .pattern("IET")
// .pattern(" B ")
// .define('E', Tags.Items.ENDER_PEARLS)
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.FILE_IMPORT_EXPORT_CARD.get())
// .pattern("IET")
// .pattern(" B ")
// .define('E', net.minecraft.world.item.Items.PAPER)
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.SOUND_CARD.get())
// .pattern("IST")
// .pattern(" B ")
// .define('S', net.minecraft.world.item.Items.NOTE_BLOCK)
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.FLOPPY.get())
// .pattern("ITI")
// .pattern("QBQ")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('Q', Tags.Items.GEMS_QUARTZ)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_disk_drive", inventoryChange(Items.DISK_DRIVE.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.FLOPPY_MODERN.get())
// .pattern("ITI")
// .pattern("QBQ")
// .pattern("QBQ")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('T', Items.TRANSISTOR.get())
// .define('Q', Tags.Items.GEMS_QUARTZ)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_disk_drive", inventoryChange(Items.DISK_DRIVE.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.INVENTORY_OPERATIONS_MODULE.get())
// .pattern("TCG")
// .pattern(" B ")
// .define('T', Items.TRANSISTOR.get())
// .define('C', Tags.Items.CHESTS_WOODEN)
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.BLOCK_OPERATIONS_MODULE.get())
// .pattern("TPG")
// .pattern(" B ")
// .define('T', Items.TRANSISTOR.get())
// .define('P', net.minecraft.world.item.Items.DIAMOND_PICKAXE)
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.NETWORK_TUNNEL_MODULE.get())
// .pattern("TEG")
// .pattern(" B ")
// .define('T', Items.TRANSISTOR.get())
// .define('E', Tags.Items.ENDER_PEARLS)
// .define('G', Tags.Items.INGOTS_GOLD)
// .define('B', Items.CIRCUIT_BOARD.get())
// .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get()))
// .save(consumer);
//
//
// ShapedRecipeBuilder
// .shaped(RecipeCategory.MISC, Items.TRANSISTOR.get(), 12)
// .pattern("RCR")
// .pattern("III")
// .define('I', Tags.Items.INGOTS_IRON)
// .define('R', Tags.Items.DUSTS_REDSTONE)
// .define('C', net.minecraft.world.item.Items.COMPARATOR)
// .unlockedBy("has_gold", inventoryChange(net.minecraft.world.item.Items.GOLD_INGOT))
// .save(consumer);
//
// ShapelessRecipeBuilder
// .shapeless(RecipeCategory.MISC, Items.CIRCUIT_BOARD.get(), 6)
// .requires(Tags.Items.INGOTS_GOLD)
// .requires(net.minecraft.world.item.Items.CLAY_BALL)
// .requires(Items.TRANSISTOR.get())
// .unlockedBy("has_transistor", inventoryChange(Items.TRANSISTOR.get()))
// .save(consumer);
}
private static InventoryChangeTrigger.TriggerInstance inventoryChange(final ItemLike item) {
return InventoryChangeTrigger.TriggerInstance.hasItems(item);
}
}