### Create and Register Origin Machine (Java) Source: https://context7.com/z1564058782/gt-not-hard/llms.txt This snippet shows how to create and register the Origin machine, a power generation multiblock. It details crafting components, structure, required hatches, and supported generators. It also explains wireless mode activation and provides debug generator meta IDs. ```java // Creating and registering the Origin machine import machines.Origin; import net.minecraft.item.ItemStack; // Machine registration ItemStack OriginMain = new Origin(25566, "Origin", "Origin").getStackForm(1); // Crafting recipe components: // - Hull_MV (center) // - Steel Large Pipes (top/bottom center) // - HV Circuits (corners) // - MV Electric Pumps (sides) // Structure: 3x3x3 using Clean Stainless Steel Machine Casings // Required hatches: Input Hatch, Dynamo Hatch (or TecTech Dynamo), Maintenance Hatch // Supported generators with meta IDs: // Gas Turbines: 1115-1119 (Basic through Turbo III) // Semi-Fluid Generators: 837-839, 993-994 // Acid Generators: 12793, 12726-12728 (LV through EV) // Combustion Generators: 1110-1114 (Basic through Ultimate) // Plasma Generators: 1196-1198, 10752-10753 (Mk I through Ultimate Pocket Sun) // Power calculation example: long outputEU = voltage * getMaxParallel() * 10000; // 16x amplification built-in // Wireless mode activation (sneak left-click when enabled): boolean canUseWireless = controllerSlot.stackSize >= 8; // Wireless mode sends power directly to global EU network via: // addEUToGlobalEnergyMap(ownerUUID, powerAmount); // Debug generators for testing (special meta IDs): // 2006: ULV (8 EU/t), 30651: LV (32 EU/t), 2320: MV (512 EU/t) // 2340: HV (3072 EU/t), 2360: EV (16384 EU/t), 2380: IV (98304 EU/t) // 2400: LuV (524288 EU/t), 2420: ZPM (3145728 EU/t), 2440: UV (16777216 EU/t) // 11430: MAX (Long.MAX_VALUE EU/t) ``` -------------------------------- ### Singularity Machine: Void Resource Miner Implementation Source: https://context7.com/z1564058782/gt-not-hard/llms.txt This Java code demonstrates the creation and registration of the Singularity machine, its crafting recipe, structure, and operational modes. It explains how the machine extracts ores or fluids based on dimension display items and output scaling. ```java // Creating and registering the Singularity machine import machines.Singularity; import net.minecraft.item.ItemStack; // Machine registration ItemStack SingularityMain = new Singularity(25567, "Singularity", "Singularity").getStackForm(1); // Crafting recipe components: // - Hull_MV (center) // - Steel Large Pipes (top/bottom center) // - HV Circuits (corners) // - HV Electric Pumps (sides) // Structure: 3x3x3 using Stable Titanium Machine Casings // Required hatches: Output Bus, Output Hatch, Maintenance Hatch // Note: No energy input required - machine runs passively // Operation modes (toggle with sneak left-click): // VoidOre mode: Extracts dimension-specific ores // VoidFluid mode: Extracts dimension-specific fluids // Processing cycle: Fixed 60 ticks (3 seconds) per operation int mMaxProgresstime = 60; // Output scaling based on controller slot stack size: int outputAmount = (int) Math.pow(2, controllerSlot.stackSize); // Each operation outputs 256 random ore selections (VoidOre mode) // Each operation outputs 32 random fluid selections (VoidFluid mode) // Dimension detection using GT NEI Ore Plugin items: String dimension = Optional.ofNullable(inventory[1]) .filter(s -> s.getItem() instanceof ItemDimensionDisplay) .map(ItemDimensionDisplay::getDimension) .orElse("None"); // Supported dimensions include: // Overworld, Nether, TheEnd, Twilight, Ross128b, Ross128ba // Plus all GalacticGreg registered dimensions ``` -------------------------------- ### Void Resource Recipes: Custom Recipe Registration Source: https://context7.com/z1564058782/gt-not-hard/llms.txt This Java code provides utilities for registering custom void ore and void fluid recipes for the Singularity machine. It shows how to map dimensions to specific ores and fluids, and includes a method for registering debug recipes using item damage values. ```java // Registering void ore recipes import util.SingularityOreRecipes; import net.minecraft.item.ItemStack; import java.util.Map; import java.util.HashMap; // VoidOreRecipes structure: Map> // Example: Adding custom ores for a dimension Map dimensionOres = new HashMap<>(); dimensionOres.put(0, new ItemStack(/* ore item */)); dimensionOres.put(1, new ItemStack(/* another ore */)); SingularityOreRecipes.VoidOreRecipes.put("MyDimension", dimensionOres); // Registering void fluid recipes import util.SingularityFluidRecipes; import net.minecraftforge.fluids.FluidStack; // VoidFluidRecipes structure: Map> Map dimensionFluids = new HashMap<>(); dimensionFluids.put(0, new FluidStack(/* fluid */, 1000)); SingularityFluidRecipes.VoidFliudRecipes.put("MyDimension", dimensionFluids); // Debug recipes for testing (uses item damage as key) import util.SingularityDebugRecipes; Map debugItems = new HashMap<>(); debugItems.put(0, new ItemStack(/* debug item */)); SingularityDebugRecipes.VoidDebugRecipes.put(itemDamageValue, debugItems); ``` -------------------------------- ### Create and Register Chaos Machine (Java) Source: https://context7.com/z1564058782/gt-not-hard/llms.txt This snippet demonstrates how to create and register the Chaos machine, a universal processing array in GT Not Hard. It outlines crafting components, structure, required hatches, and the parallelization formula. It also lists supported multi-mode machines that can be toggled. ```java // Creating and registering the Chaos machine import machines.Chaos; import net.minecraft.item.ItemStack; // Machine registration (done in MachinesLoader) ItemStack ChaosMain = new Chaos(25565, "Chaos", "Chaos").getStackForm(1); // Crafting recipe components: // - Hull_HV (center) // - Steel Large Pipes (top/bottom center) // - EV Circuits (corners) // - HV Electric Pumps (sides) // Structure: 3x3x3 using Robust Tungstensteel Machine Casings // Required hatches: Input Bus, Output Bus, Input Hatch, Output Hatch, // Energy Hatch (or Exotic Energy), Maintenance Hatch // Parallelization formula: int parallel = (int) Math.pow(2, controllerSlot.stackSize); // 1 machine = 2 parallel, 2 machines = 4 parallel, 10 machines = 1024 parallel // Supported multi-mode machines (sneak left-click to switch): // - Magnetic Flux Exhibitor (358): Polarizer / Electromagnetic Separator // - TurboCan Pro (360): Fluid Canner / Canner // - Industrial Material Press (792): Forming Press / Bending Machine // - Ore Washing Plant (850): Ore Washer / Simple Washer / Chemical Bath // - High Current Arc Furnace (862): Electric Arc Furnace / Plasma Arc Furnace // - Amazon Warehousing Depot (942): Packager / Unpackager // - Industrial Cutting Factory (992): Cutting / Slicing // - Vacuum Drying Furnace (995): Dehydrator / Vacuum Furnace // - Black Hole Compressor (3008): Compressor / Neutronium Compressor // - Circuit Assembly Line (12735): Circuit Assembly Line / Circuit Assembler // - Dangote Distillus (31021): Distillery / Distillation Tower // - Precise Auto Assembler (32018): Precise Assembler / Assembler ``` -------------------------------- ### Chaos Manager: Custom Recipe Map Registration Source: https://context7.com/z1564058782/gt-not-hard/llms.txt This Java code illustrates how to register custom recipe maps and sounds for the Chaos machine using the ChaosManager utility. It enables addon mods to integrate their machines into the Chaos processing array and provides methods to retrieve recipe maps and machine names. ```java // Registering a custom recipe map for Chaos compatibility import util.ChaosManager; import gregtech.api.recipe.RecipeMap; import gregtech.api.enums.SoundResource; // Register a machine's recipe map RecipeMap myMachineRecipes = /* your recipe map */; ChaosManager.addRecipeMapToChaos("basicmachine.mymachine", myMachineRecipes); // Register custom sound for the machine ChaosManager.addSoundResourceToChaos("basicmachine.mymachine", SoundResource.IC2_MACHINES_MACERATOR_OP); // Retrieve recipe map (used internally by Chaos) RecipeMap recipeMap = ChaosManager.giveRecipeMap("basicmachine.electrolyzer"); // Get machine name from ItemStack String machineName = ChaosManager.getMachineName(machineItemStack); // Extracts name from unlocalized name: "gt.blockmachines.{name}.tier.00" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.