summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrNuget <drnuget@outlook.com>2024-09-01 02:09:01 +0300
committerDrNuget <drnuget@outlook.com>2024-09-01 02:09:01 +0300
commita803b2a49c8419f4999629f989ba0649a4f57d4d (patch)
tree280b816ee6afc8cecd4855cc0b33424f198e6b96
parent58b8c20b9aefe1bf1ec4c00b9f3217d770e8e525 (diff)
modify gregtech configs
-rw-r--r--config/gregtech/dimensions.json16
-rw-r--r--config/gregtech/forestry_integration.cfg33
-rw-r--r--config/gregtech/gregtech.cfg793
-rw-r--r--config/gregtech/modules.cfg52
-rw-r--r--config/gregtech/persistent_data.datbin0 -> 58 bytes
-rw-r--r--config/gregtech/terminal/config/theme.json1
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/activity_detector.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/advanced_activity_detector.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/computer_monitor.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/conveyor.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/crafting_table.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/digital_interface_cover.json253
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/ender_fluid_link.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/energy_detector.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/fluid_detector.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/fluid_filter.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/fluid_regulator.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/infinite_water.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/item_detector.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/item_filter.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/machine_controller.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/ore_dictionary_filter.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/pump.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/robot_arm.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/shutter_module.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/covers/smart_item_filter.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/axe.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/buzzsaw.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/drill.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/file.json14
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/hammer.json14
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/mining_hammer.json14
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/saw.json14
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/screwdriver.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/sense.json7
-rw-r--r--config/gregtech/terminal/guide/items/en_us/tools/wrench.json15
-rw-r--r--config/gregtech/terminal/guide/items/zh_cn/covers/digital_interface_cover.json253
-rw-r--r--config/gregtech/terminal/guide/items/zh_cn/tools/wrench.json33
-rw-r--r--config/gregtech/terminal/guide/machines/en_us/steam/steam_boiler_coal_bronze.json33
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_fluid_drilling_plant.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_processing_array.json7
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/assembly_line.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_fluid_drilling_rig.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_ore_drilling_plant.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/central_monitor.json183
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/distillation_tower.json106
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/electric_blast_furnace.json243
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_1.json7
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_2.json7
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_3.json7
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/implosion_compressor.json136
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/large_chemical_reactor.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/multi_smelter.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/oil_cracking_unit.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/processing_array.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/pyrolyse_oven.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/electric/vacuum_freezer.json136
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/extreme_combustion_engine.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_bronze_boiler.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_combustion_engine.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_gas_turbine.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_plasma_turbine.json7
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steam_turbine.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steel_boiler.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/hatches/advanced_maintenance.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/hatches/energy_hatch.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/hatches/maintenance_hatch.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/hatches/muffler_hatch.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/hatches/multiblock_input_output.json14
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/coke_oven.json88
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_steel_tank.json64
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_wooden_tank.json64
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_blast_furnace.json30
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_water_pump.json82
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_grinder.json112
-rw-r--r--config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_oven.json112
-rw-r--r--config/gregtech/terminal/guide/multiblocks/zh_cn/electric/central_monitor.json183
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/01_definition.json49
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/02_element.json78
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/03_flag.json148
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/04_icon_set.json59
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/05_create.json257
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/06_modify.json81
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/terminal/ct_terminal_01.json107
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_0_guidepage.json148
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_1_widget.json304
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_2_textbox.json256
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_3_image.json207
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/important_concepts/machine_grid.json6
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/multiblocks/forming_multiblocks.json13
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/multiblocks/large_turbine_mechanics.json13
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/multiblocks/multibock_troubleshooting.json13
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/resource_pack/emissive_texture.json135
-rw-r--r--config/gregtech/terminal/guide/tutorials/en_us/terminal/terminal_hardware.json223
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/crafttweaker/terminal/ct_terminal_01.json107
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_0_guidepage.json148
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_1_widget.json304
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_2_textbox.json256
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_3_image.json207
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/resource_pack/emissive_texture.json1
-rw-r--r--config/gregtech/terminal/guide/tutorials/zh_cn/terminal/terminal_hardware.json1
-rw-r--r--config/gregtech/terminal/image/wallpaper_Kumquat.pngbin0 -> 636453 bytes
-rw-r--r--config/gregtech/terminal/image/wallpaper_Zalgo.pngbin0 -> 734801 bytes
-rw-r--r--config/gregtech/terminal/image/wallpaper_celeryman.pngbin0 -> 520724 bytes
-rw-r--r--config/gregtech/terminal/image/wallpaper_moth.pngbin0 -> 326547 bytes
-rw-r--r--config/gregtech/worldgen/fluid/nether/lava_deposit.json17
-rw-r--r--config/gregtech/worldgen/fluid/nether/natural_gas_deposit.json17
-rw-r--r--config/gregtech/worldgen/fluid/overworld/heavy_oil_deposit.json19
-rw-r--r--config/gregtech/worldgen/fluid/overworld/light_oil_deposit.json14
-rw-r--r--config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json14
-rw-r--r--config/gregtech/worldgen/fluid/overworld/oil_deposit.json19
-rw-r--r--config/gregtech/worldgen/fluid/overworld/raw_oil_deposit.json14
-rw-r--r--config/gregtech/worldgen/fluid/overworld/salt_water_deposit.json20
-rw-r--r--config/gregtech/worldgen_extracted.json8
114 files changed, 6823 insertions, 0 deletions
diff --git a/config/gregtech/dimensions.json b/config/gregtech/dimensions.json
new file mode 100644
index 0000000..a4a6adf
--- /dev/null
+++ b/config/gregtech/dimensions.json
@@ -0,0 +1,16 @@
+{
+ "dims": [
+ {
+ "dimID": 0,
+ "dimName": "Overworld"
+ },
+ {
+ "dimID": 1,
+ "dimName": "End"
+ },
+ {
+ "dimID": -1,
+ "dimName": "Nether"
+ }
+ ]
+} \ No newline at end of file
diff --git a/config/gregtech/forestry_integration.cfg b/config/gregtech/forestry_integration.cfg
new file mode 100644
index 0000000..78c2d38
--- /dev/null
+++ b/config/gregtech/forestry_integration.cfg
@@ -0,0 +1,33 @@
+# Configuration file
+
+forestry {
+ # Whether to disable some bees from other Forestry addons, such as ExtraBees and MagicBees, in favor of GTs.
+ # Heavily recommended, as the removed bees have no purpose with GT Bees other than JEI and breed tree clutter.
+ # Default: true
+ B:disableConflictingBees=true
+
+ # Enable GregTech Bees.
+ # Requirements: Forestry Apiculture module
+ # Recommended: ExtraBees and MagicBees, as some GT bees are only added, and others have more interesting mutations, if those mods are present
+ # Default: true
+ B:enableGTBees=true
+
+ # Enable GregTech Electron Tubes.
+ # Default: true
+ B:enableGTElectronTubes=true
+
+ # Enable GregTech Apiary Frames.
+ # Requirements: Forestry Apiculture module
+ # Default: true
+ B:enableGTFrames=true
+
+ # Enable the GregTech Scoop.
+ # Default: true
+ B:enableGTScoop=true
+
+ # Whether to remove some Forestry Crafting Table recipes (such as Fertilizer, Compost, etc) in favor of GT recipes.
+ # Default: false
+ B:harderForestryRecipes=false
+}
+
+
diff --git a/config/gregtech/gregtech.cfg b/config/gregtech/gregtech.cfg
new file mode 100644
index 0000000..7928d94
--- /dev/null
+++ b/config/gregtech/gregtech.cfg
@@ -0,0 +1,793 @@
+# Configuration file
+
+general {
+
+ ##########################################################################################################
+ # client options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for client-only features
+ ##########################################################################################################
+
+ "client options" {
+ # Whether or not to enable Emissive Textures for Electric Blast Furnace Coils when the multiblock is working.
+ # Default: true
+ B:coilsActiveEmissiveTextures=true
+
+ # The default color to overlay onto machines.
+ # 16777215 (0xFFFFFF in decimal) is no coloring (like GTCE).
+ # 13819135 (0xD2DCFF in decimal) is the classic blue from GT5 (default).
+ # Min: 0
+ # Max: 16777215
+ I:defaultPaintingColor=13819135
+
+ # The default color to overlay onto Machine (and other) UIs.
+ # 16777215 (0xFFFFFF) is no coloring (like GTCE).
+ # 13819135 (0xD2DCFF in decimal) is the classic blue from GT5 (default).
+ # Min: 0
+ # Max: 16777215
+ I:defaultUIColor=13819135
+
+ # Enable the fancy rendering for Super/Quantum Chests/Tanks.
+ # Default: true
+ B:enableFancyChestRender=true
+
+ # Whether to hook depth texture. Has no effect on performance, but if there is a problem with rendering, try disabling it.
+ # Default: true
+ B:hookDepthTexture=true
+
+ # Whether or not to enable Emissive Textures for GregTech Machines and multiblock parts.
+ # Default: true
+ B:machinesEmissiveTextures=true
+
+ # Overrides the MC total playable sounds limit. MC's default is 28, which causes problems with many machine sounds at once
+ # If sounds are causing large amounts of lag, try lowering this.
+ # If sounds are not working at all, try setting this to the lowest value (28).
+ # Default: 512
+ # Min: 28
+ # Max: 2048
+ I:maxNumSounds=512
+
+ # The color to use as a background for the Multiblock Preview JEI Page.
+ # Default: 13027014 (0xC6C6C6), which is JEI's background color.
+ # Min: 0
+ # Max: 16777215
+ I:multiblockPreviewColor=13027014
+
+ # The color to use for the text in the Multiblock Preview JEI Page.
+ # Default: 3355443 (0x333333), which is minecraft's dark gray color.
+ # Min: 0
+ # Max: 16777215
+ I:multiblockPreviewFontColor=3355443
+
+ # Prevent optical and laser cables from animating when active.
+ # Default: false
+ B:preventAnimatedCables=false
+
+ # Prevent tooltips from blinking for better visibility
+ B:preventBlinkingTooltips=false
+
+ # Resolution level for fragment shaders.
+ # Higher values increase quality (limited by the resolution of your screen) but are more GPU intensive.
+ # Default: 2
+ # Min: 0.0
+ # Max: 5.0
+ D:resolution=2.0
+
+ # Terminal root path.
+ # Default: {.../config}/gregtech/terminal
+ S:terminalRootPath=gregtech/terminal
+
+ # Whether or not sounds should be played when crafting with tools.
+ # Default: true
+ B:toolCraftingSounds=true
+
+ # Whether or not sounds should be played when using tools outside of crafting.
+ # Default: true
+ B:toolUseSounds=true
+
+ # Whether to use the Spray Can color in UIs when a machine is painted.
+ # Default: true
+ B:useSprayCanColorInUI=true
+
+ "gui config" {
+ # The scrolling speed of widgets
+ # Default: 13
+ # Min: 1
+ # Max: 2147483647
+ I:scrollSpeed=13
+
+ # If progress bars should move smoothly.
+ # False is incremental like the Minecraft furnace.
+ # Default: true
+ B:smoothProgressBars=true
+ }
+
+ "armor hud location" {
+ # Sets HUD location
+ # 1 - left-upper corner
+ # 2 - right-upper corner
+ # 3 - left-bottom corner
+ # 4 - right-bottom corner
+ # Default: 1
+ # Min: 1
+ # Max: 4
+ I:hudLocation=1
+
+ # Horizontal offset of HUD.
+ # Default: 0
+ # Min: 0
+ # Max: 100
+ I:hudOffsetX=0
+
+ # Vertical offset of HUD.
+ # Default: 0
+ # Min: 0
+ # Max: 100
+ I:hudOffsetY=0
+ }
+
+ ##########################################################################################################
+ # shader options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for Shaders and Post-processing Effects
+ ##########################################################################################################
+
+ "shader options" {
+ # Particle config option for the Assembly Line
+ B:assemblyLineParticles=true
+
+ # The base brightness of the bloom.
+ # It is similar to strength
+ # This value should be smaller than highBrightnessThreshold.
+ # OUTPUT = BACKGROUND + BLOOM * strength * ({base} + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 0.1
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:baseBrightness=0.1
+
+ # Bloom Algorithm
+ # 0 - Simple Gaussian Blur Bloom (Fast)
+ # 1 - Unity Bloom
+ # 2 - Unreal Bloom
+ # Default: 2
+ # Min: 0
+ # Max: 2
+ I:bloomStyle=2
+
+ # Whether or not to enable Emissive Textures with bloom effect.
+ # Default: true
+ B:emissiveTexturesBloom=true
+
+ # The brightness after bloom should not exceed this value. It can be used to limit the brightness of highlights (e.g., daytime).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*({HT}-LT)))
+ # This value should be greater than lowBrightnessThreshold.
+ # Default: 0.5
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:highBrightnessThreshold=0.5
+
+ # The brightness after bloom should not smaller than this value. It can be used to limit the brightness of dusky parts (e.g., night/caves).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + {LT} + (1 - BACKGROUND_BRIGHTNESS)*(HT-{LT})))
+ # This value should be smaller than highBrightnessThreshold.
+ # Default: 0.2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:lowBrightnessThreshold=0.2
+
+ # Mipmap Size.
+ # Higher values increase quality, but are slower to render.
+ # Default: 5
+ # Min: 2
+ # Max: 5
+ I:nMips=5
+
+ # Blur Step (bloom range)
+ # Default: 1
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:step=1.0
+
+ # Bloom Strength
+ # OUTPUT = BACKGROUND + BLOOM * {strength} * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:strength=1.5
+
+ # Whether to use shader programs.
+ # Default: true
+ B:useShader=true
+
+ ##########################################################################################################
+ # fusion reactor
+ #--------------------------------------------------------------------------------------------------------#
+ # Bloom config options for the fusion reactor.
+ ##########################################################################################################
+
+ "fusion reactor" {
+ # The base brightness of the bloom.
+ # It is similar to strength
+ # This value should be smaller than highBrightnessThreshold.
+ # OUTPUT = BACKGROUND + BLOOM * strength * ({base} + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 0.1
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:baseBrightness=0.0
+
+ # Bloom Algorithm
+ # 0 - Simple Gaussian Blur Bloom (Fast)
+ # 1 - Unity Bloom
+ # 2 - Unreal Bloom
+ # Default: 2
+ # Min: 0
+ # Max: 2
+ I:bloomStyle=1
+
+ # The brightness after bloom should not exceed this value. It can be used to limit the brightness of highlights (e.g., daytime).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*({HT}-LT)))
+ # This value should be greater than lowBrightnessThreshold.
+ # Default: 0.5
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:highBrightnessThreshold=1.3
+
+ # The brightness after bloom should not smaller than this value. It can be used to limit the brightness of dusky parts (e.g., night/caves).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + {LT} + (1 - BACKGROUND_BRIGHTNESS)*(HT-{LT})))
+ # This value should be smaller than highBrightnessThreshold.
+ # Default: 0.2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:lowBrightnessThreshold=0.3
+
+ # Bloom Strength
+ # OUTPUT = BACKGROUND + BLOOM * {strength} * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:strength=1.5
+
+ # Whether to use shader programs.
+ # Default: true
+ B:useShader=true
+ }
+
+ ##########################################################################################################
+ # heat effect
+ #--------------------------------------------------------------------------------------------------------#
+ # Bloom config options for the heat effect (cable burning).
+ ##########################################################################################################
+
+ "heat effect" {
+ # The base brightness of the bloom.
+ # It is similar to strength
+ # This value should be smaller than highBrightnessThreshold.
+ # OUTPUT = BACKGROUND + BLOOM * strength * ({base} + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 0.1
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:baseBrightness=0.0
+
+ # Bloom Algorithm
+ # 0 - Simple Gaussian Blur Bloom (Fast)
+ # 1 - Unity Bloom
+ # 2 - Unreal Bloom
+ # Default: 2
+ # Min: 0
+ # Max: 2
+ I:bloomStyle=2
+
+ # The brightness after bloom should not exceed this value. It can be used to limit the brightness of highlights (e.g., daytime).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*({HT}-LT)))
+ # This value should be greater than lowBrightnessThreshold.
+ # Default: 0.5
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:highBrightnessThreshold=1.4
+
+ # The brightness after bloom should not smaller than this value. It can be used to limit the brightness of dusky parts (e.g., night/caves).
+ # OUTPUT = BACKGROUND + BLOOM * strength * (base + {LT} + (1 - BACKGROUND_BRIGHTNESS)*(HT-{LT})))
+ # This value should be smaller than highBrightnessThreshold.
+ # Default: 0.2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:lowBrightnessThreshold=0.6
+
+ # Bloom Strength
+ # OUTPUT = BACKGROUND + BLOOM * {strength} * (base + LT + (1 - BACKGROUND_BRIGHTNESS)*(HT-LT)))
+ # Default: 2
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:strength=1.1
+
+ # Whether to use shader programs.
+ # Default: true
+ B:useShader=true
+ }
+
+ }
+
+ }
+
+ ##########################################################################################################
+ # compatibility options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for Mod Compatibility
+ ##########################################################################################################
+
+ "compatibility options" {
+ # Whether to hide facades of all blocks in JEI and creative search menu.
+ # Default: true
+ B:hideFacadesInJEI=true
+
+ # Whether to hide filled cells in JEI and creative search menu.
+ # Default: true
+ B:hideFilledCellsInJEI=true
+
+ # Specifies priorities of mods in Ore Dictionary item registration.
+ # First ModID has highest priority, last has lowest. Unspecified ModIDs follow standard sorting, but always have lower priority than the last specified ModID.
+ # Default: ["minecraft", "gregtech"]
+ S:modPriorities <
+ minecraft
+ gregtech
+ >
+
+ # Whether Gregtech should remove smelting recipes from the vanilla furnace for ingots requiring the Electric Blast Furnace.
+ # Default: true
+ B:removeSmeltingForEBFMetals=true
+
+ ##########################################################################################################
+ # energy compat options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options regarding GTEU compatibility with AE2
+ ##########################################################################################################
+
+ "energy compat options" {
+ # Enable GTEU to FE (and vice versa) Converters.
+ # Default: false
+ B:enableFEConverters=true
+
+ # GTEU to Forge Energy ratio for converting EU to FE.
+ # Affects native conversion and Converters.
+ # Default: 4 FE == 1 EU
+ # Min: 1
+ # Max: 16
+ I:euToFeRatio=1
+
+ # Forge Energy to GTEU ratio for converting FE to EU.
+ # Only affects converters.
+ # Default: 4 FE == 1 EU
+ # Min: 1
+ # Max: 16
+ I:feToEuRatio=1
+
+ # The energy consumption of ME Hatch/Bus.
+ # Default: 1.0AE/t
+ # Min: 0.0
+ # Max: 10.0
+ D:meHatchEnergyUsage=1.0
+
+ # Enable Native GTEU to Forge Energy (RF and alike) on GT Cables and Wires.
+ # This does not enable nor disable Converters.
+ # Default: true
+ B:nativeEUToFE=true
+
+ # The interval between ME Hatch/Bus interact ME network.
+ # It may cause lag if the interval is too small.
+ # Default: 2 sec
+ # Min: 1
+ # Max: 80
+ I:updateIntervals=40
+ }
+
+ }
+
+ ##########################################################################################################
+ # machine options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for GT Machines, Pipes, Cables, and Electric Items
+ ##########################################################################################################
+
+ "machine options" {
+ # Whether tick acceleration effects are allowed to affect GT machines.
+ # This does NOT apply to the World Accelerator, but to external effects like Time in a Bottle.
+ # Default: true
+ B:allowTickAcceleration=true
+
+ # Additional Fluids to allow in GT Boilers in place of Water or Distilled Water.
+ # Useful for mods like TerraFirmaCraft with different Fluids for Water
+ # Default: none
+ S:boilerFluids <
+ >
+
+ # The EU/t drain for each screen of the Central Monitor.
+ # Default: 8
+ # Min: 0
+ # Max: 2147483647
+ I:centralMonitorEuCost=8
+
+ # Whether multiblocks should ignore all cleanroom requirements.
+ # This does nothing if B:enableCleanroom is false.
+ # Default: false
+ B:cleanMultiblocks=false
+
+ # Whether machines explode in rainy weather or when placed next to certain terrain, such as fire or lava
+ # Default: false
+ B:doTerrainExplosion=false
+
+ # Whether machines or boilers damage the terrain when they explode.
+ # Note machines and boilers always explode when overloaded with power or met with special conditions, regardless of this config.
+ # Default: true
+ B:doesExplosionDamagesTerrain=true
+
+ # Whether to enable the cleanroom, required for various recipes.
+ # Default: true
+ B:enableCleanroom=true
+
+ # Whether to enable High-Tier Solar Panels (IV-UV). They will not have recipes.
+ # Default: false
+ B:enableHighTierSolars=false
+
+ # Whether to enable the Maintenance Hatch, required for Multiblocks.
+ # Default: true
+ B:enableMaintenance=true
+
+ # Whether to enable Assembly Line research for recipes.
+ # Default: true
+ B:enableResearch=true
+
+ # Whether to enable World Accelerators, which accelerate ticks for surrounding Tile Entities, Crops, etc.
+ # Default: true
+ B:enableWorldAccelerators=true
+
+ # Energy use multiplier for electric items.
+ # Default: 100
+ I:energyUsageMultiplier=100
+
+ # Whether to use GT6-style pipe and cable connections, meaning they will not auto-connect unless placed directly onto another pipe or cable.
+ # Default: true
+ B:gt6StylePipesCables=true
+
+ # If High Tier (>UV-tier) GT content should be registered.
+ # Items and Machines enabled with this config will have missing recipes by default.
+ # This is intended for modpack developers only, and is not playable without custom tweaks or addons.
+ # Other mods can override this to true, regardless of the config file.
+ # Default: false
+ B:highTierContent=false
+
+ # Minimum distance betweeb Long Distance Fluid Pipe Endpoints
+ # Default: 50
+ I:ldFluidPipeMinDistance=50
+
+ # Minimum distance between Long Distance Item Pipe Endpoints
+ # Default: 50
+ I:ldItemPipeMinDistance=50
+
+ # Whether to play machine sounds while machines are active.
+ # Default: true
+ B:machineSounds=true
+
+ # Steam to EU multiplier for Steam Multiblocks.
+ # 1.0 means 1L Steam -> 1 EU. 0.5 means 2L Steam -> 1 EU.
+ # Default: 0.5
+ D:multiblockSteamToEU=0.5
+
+ # Whether the Assembly Line should require the item inputs to be in order.
+ # Default: true
+ B:orderedAssembly=true
+
+ # Whether the Assembly Line should require the fluid inputs to be in order.
+ # This does nothing if B:orderedAssembly is false.
+ # Default: false
+ B:orderedFluidAssembly=false
+
+ # Blacklist of machines for the Processing Array.
+ # Add the unlocalized Recipe Map name to blacklist the machine.
+ # Default: All machines allowed
+ S:processingArrayBlacklist <
+ >
+
+ # Whether insufficient energy supply should reset Machine recipe progress to zero.
+ # If true, progress will reset.
+ # If false, progress will decrease to zero with 2x speed
+ # Default: false
+ B:recipeProgressLowEnergy=false
+
+ # Block to replace mined ores with in the miner and multiblock miner.
+ # Default: minecraft:cobblestone
+ S:replaceMinedBlocksWith=minecraft:cobblestone
+
+ # Whether to require a Wrench, Wirecutter, or other GregTech tools to break machines, casings, wires, and more.
+ # Default: false
+ B:requireGTToolsForBlocks=false
+
+ # Whether Steam Multiblocks should use Steel instead of Bronze.
+ # Default: false
+ B:steelSteamMultiblocks=false
+
+ # List of TileEntities that the World Accelerator should not accelerate.
+ # GregTech TileEntities are always blocked.
+ # Entries must be in a fully qualified format. For example: appeng.tile.networking.TileController
+ # Default: none
+ S:worldAcceleratorBlacklist <
+ >
+ }
+
+ ##########################################################################################################
+ # miscellaneous options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for miscellaneous features
+ ##########################################################################################################
+
+ "miscellaneous options" {
+ # Whether to enable more verbose logging.
+ # Default: false
+ B:debug=false
+
+ # Chance with which flint and steel will create fire.
+ # Default: 50
+ # Min: 0
+ # Max: 100
+ I:flintChanceToCreateFire=100
+
+ # Setting this to true makes GTCEu ignore error and invalid recipes that would otherwise cause crash.
+ # Default: true
+ B:ignoreErrorOrInvalidRecipes=true
+
+ # Whether to enable a login message to players when they join the world.
+ # Default: true
+ B:loginMessage=true
+
+ # Whether to give the terminal to new players on login
+ # Default: true
+ B:spawnTerminal=false
+
+ # Whether to enable Special Event features (e.g. Christmas, etc).
+ # Default: true
+ B:specialEvents=true
+ }
+
+ ##########################################################################################################
+ # recipe options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config Options for GregTech and Vanilla Recipes
+ ##########################################################################################################
+
+ "recipe options" {
+ # How many Multiblock Casings to make per craft. Either 1, 2, or 3.
+ # Default: 2
+ # Min: 1
+ # Max: 3
+ I:casingsPerCraft=2
+
+ # Whether to disable the Vanilla Concrete from Powder with Water behavior, forcing the GT recipe.
+ # Default: false
+ B:disableConcreteInWorld=false
+
+ # Whether to remove Block/Ingot compression and decompression in the Crafting Table.
+ # Default: false
+ B:disableManualCompression=false
+
+ # Whether to make the Flint and Steel recipe require steel parts.
+ # Default: true.
+ B:flintAndSteelRequireSteel=false
+
+ # Whether to generate Flawed and Chipped Gems for materials and recipes involving them.
+ # Useful for mods like TerraFirmaCraft.
+ # Default: false
+ B:generateLowQualityGems=false
+
+ # Recipes for items like Iron Doors, Trapdoors, Anvil require Iron Plates, Rods, and more.
+ # Default: false
+ B:hardAdvancedIronRecipes=false
+
+ # Whether to make coloring blocks like Concrete or Glass harder.
+ # Default: false
+ B:hardDyeRecipes=false
+
+ # Whether to make Glass related recipes harder. Default: true
+ B:hardGlassRecipes=false
+
+ # Recipes for Buckets, Cauldrons, Hoppers, and Iron Bars require Iron Plates, Rods, and more.
+ # Default: true
+ B:hardIronRecipes=false
+
+ # Whether to make miscellaneous recipes harder.
+ # Default: false
+ B:hardMiscRecipes=false
+
+ # Whether to make Redstone related recipes harder.
+ # Default: false
+ B:hardRedstoneRecipes=false
+
+ # Whether to make Vanilla Tools and Armor recipes harder.
+ # Excludes Flint and Steel, and Buckets.
+ # Default: false
+ B:hardToolArmorRecipes=false
+
+ # Whether to make Wood related recipes harder.
+ # Excludes sticks and planks.
+ # Default: false
+ B:hardWoodRecipes=false
+
+ # Whether to make crafting recipes for Bricks, Nether Bricks, Firebricks, and Coke Bricks harder.
+ # Default: false
+ B:harderBrickRecipes=false
+
+ # Whether to remove charcoal smelting recipes from the vanilla furnace.
+ # Default: true
+ B:harderCharcoalRecipe=false
+
+ # Whether to nerf the output amounts of the first circuit in a set to 1 (from 2) and SoC to 2 (from 4).
+ # Default: false
+ B:harderCircuitRecipes=false
+
+ # Whether to make the recipe for the EBF Controller harder.
+ # Default: false
+ B:harderEBFControllerRecipe=false
+
+ # Change the recipe of Rods in the Lathe to 1 Rod and 2 Small Piles of Dust, instead of 2 Rods.
+ # Default: false
+ B:harderRods=false
+
+ # Whether to nerf the Paper crafting recipe.
+ # Default: true
+ B:nerfPaperCrafting=false
+
+ # Whether to nerf Wood crafting to 2 Planks from 1 Log, and 2 Sticks from 2 Planks.
+ # Default: false
+ B:nerfWoodCrafting=false
+
+ # Whether to remove Vanilla Block Recipes from the Crafting Table.
+ # Default: false
+ B:removeVanillaBlockRecipes=false
+ }
+
+ ##########################################################################################################
+ # tool and armor options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for Tools and Armor
+ ##########################################################################################################
+
+ "tool and armor options" {
+ # Random chance for electric tools to take actual damage
+ # Default: 10%
+ # Min: 0
+ # Max: 100
+ I:rngDamageElectricTools=10
+
+ # Advanced Electric Jetpack Voltage Tier.
+ # Default: 3 (HV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierAdvImpeller=3
+
+ # Advanced NanoSuit Chestplate Voltage Tier.
+ # Default: 3 (HV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierAdvNanoSuit=3
+
+ # Advanced QuarkTech Suit Chestplate Voltage Tier.
+ # Default: 5 (LuV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierAdvQuarkTech=6
+
+ # Electric Impeller Jetpack Voltage Tier.
+ # Default: 2 (MV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierImpeller=2
+
+ # NanoSuit Voltage Tier. Default: 3 (HV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierNanoSuit=3
+
+ # NightVision Goggles Voltage Tier. Default: 1 (LV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierNightVision=1
+
+ # QuarkTech Suit Voltage Tier.
+ # Default: 5 (IV)
+ # Min: 0
+ # Max: 14
+ I:voltageTierQuarkTech=5
+
+ "nanosaber options" {
+ # The EU/t consumption of the NanoSaber.
+ # Default: 64
+ # Min: 1
+ # Max: 512
+ I:energyConsumption=64
+
+ # The base damage of the NanoSaber.
+ # Default: 5.0
+ # Min: 0.0
+ # Max: 100.0
+ D:nanoSaberBaseDamage=5.0
+
+ # The additional damage added when the NanoSaber is powered.
+ # Default: 20.0
+ # Min: 0.0
+ # Max: 100.0
+ D:nanoSaberDamageBoost=20.0
+
+ # Should Zombies spawn with charged, active NanoSabers on hard difficulty?
+ # Default: true
+ B:zombieSpawnWithSabers=true
+ }
+
+ ##########################################################################################################
+ # armorhud
+ #--------------------------------------------------------------------------------------------------------#
+ # Armor HUD Location
+ ##########################################################################################################
+
+ armorhud {
+ # Sets HUD location
+ # 1 - left-upper corner
+ # 2 - right-upper corner
+ # 3 - left-bottom corner
+ # 4 - right-bottom corner
+ I:hudLocation=1
+
+ # Horizontal offset of HUD [0 ~ 100)
+ I:hudOffsetX=0
+
+ # Vertical offset of HUD [0 ~ 100)
+ I:hudOffsetY=0
+ }
+
+ }
+
+ ##########################################################################################################
+ # worldgen options
+ #--------------------------------------------------------------------------------------------------------#
+ # Config options for World Generation features
+ ##########################################################################################################
+
+ "worldgen options" {
+ # Allow GregTech to add additional GregTech Items as loot in various structures.
+ # Default: true
+ B:addLoot=true
+
+ # Specifies an additional random number of veins in a section.
+ # Default: 0
+ I:additionalVeinsInSection=0
+
+ # Should all Stone Types drop unique Ore Item Blocks?
+ # Default: false (meaning only Stone, Netherrack, and Endstone
+ B:allUniqueStoneTypes=false
+
+ # Whether to disable Rubber Tree world generation.
+ # Default: false
+ B:disableRubberTreeGeneration=false
+
+ # Whether to disable Vanilla ore generation in world.
+ # Default: true
+ B:disableVanillaOres=true
+
+ # Whether veins should be generated in the center of chunks.
+ # Default: true
+ B:generateVeinsInCenterOfChunk=true
+
+ # Whether to increase number of rolls for dungeon chests. Increases dungeon loot drastically.
+ # Default: true
+ B:increaseDungeonLoot=true
+
+ # Specifies the minimum number of veins in a section.
+ # Default: 1
+ I:minVeinsInSection=1
+
+ # Multiplier for the chance to spawn a Rubber Tree on any given roll. Higher values make Rubber Trees more common.
+ # Default: 1.0
+ # Min: 0.0
+ # Max: 1.7976931348623157E308
+ D:rubberTreeRateIncrease=1.0
+ }
+
+}
+
+
diff --git a/config/gregtech/modules.cfg b/config/gregtech/modules.cfg
new file mode 100644
index 0000000..79f94e0
--- /dev/null
+++ b/config/gregtech/modules.cfg
@@ -0,0 +1,52 @@
+# Configuration file
+
+##########################################################################################################
+# modules
+#--------------------------------------------------------------------------------------------------------#
+# Module configuration file. Can individually enable/disable modules from GregTech and its addons
+##########################################################################################################
+
+modules {
+ # Chisel Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ chisel ]
+ B:"gregtech:chisel_integration"=true
+
+ # Core GregTech content. Disabling this disables the entire mod and all its addons.
+ B:"gregtech:core"=true
+
+ # Forestry Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ forestry ]
+ B:"gregtech:fr_integration"=true
+
+ # GroovyScript Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ groovyscript ]
+ B:"gregtech:grs_integration"=true
+
+ # General GregTech Integration Module. Disabling this disables all integration modules.
+ # Module Dependencies: [ gregtech:core ]
+ B:"gregtech:integration"=true
+
+ # JustEnoughItems Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ jei ]
+ B:"gregtech:jei_integration"=true
+
+ # OpenComputers Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ opencomputers ]
+ B:"gregtech:oc_integration"=true
+
+ # GregTech Tools Module. Cannot be disabled for now.
+ # Module Dependencies: [ gregtech:core ]
+ B:"gregtech:tools"=true
+
+ # TheOneProbe Integration Module
+ # Module Dependencies: [ gregtech:integration ]
+ # Mod Dependencies: [ theoneprobe ]
+ B:"gregtech:top_integration"=true
+}
+
+
diff --git a/config/gregtech/persistent_data.dat b/config/gregtech/persistent_data.dat
new file mode 100644
index 0000000..04edbe1
--- /dev/null
+++ b/config/gregtech/persistent_data.dat
Binary files differ
diff --git a/config/gregtech/terminal/config/theme.json b/config/gregtech/terminal/config/theme.json
new file mode 100644
index 0000000..ac33fcf
--- /dev/null
+++ b/config/gregtech/terminal/config/theme.json
@@ -0,0 +1 @@
+{"COLOR_1":-7277708,"COLOR_2":-798604,"COLOR_3":-1613985,"COLOR_4":-16747521,"COLOR_5":-9364519,"COLOR_6":-14803426,"COLOR_7":-1644826,"COLOR_F_1":-7019839,"COLOR_F_2":-2085683200,"COLOR_B_1":1342177280,"COLOR_B_2":-1610612736,"COLOR_B_3":-1594460040,"WALL_PAPER":{"type":"resource","resource":"gregtech:textures/gui/terminal/terminal_background.png"}} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/activity_detector.json b/config/gregtech/terminal/guide/items/en_us/covers/activity_detector.json
new file mode 100644
index 0000000..6e55239
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/activity_detector.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Activity Detector",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:302"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/advanced_activity_detector.json b/config/gregtech/terminal/guide/items/en_us/covers/advanced_activity_detector.json
new file mode 100644
index 0000000..d6e5d2f
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/advanced_activity_detector.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Advanced Activity Detector",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:303"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/computer_monitor.json b/config/gregtech/terminal/guide/items/en_us/covers/computer_monitor.json
new file mode 100644
index 0000000..9557d8c
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/computer_monitor.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Computer Monitorc",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:307"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/conveyor.json b/config/gregtech/terminal/guide/items/en_us/covers/conveyor.json
new file mode 100644
index 0000000..11e8a65
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/conveyor.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Conveyor Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:157"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/crafting_table.json b/config/gregtech/terminal/guide/items/en_us/covers/crafting_table.json
new file mode 100644
index 0000000..c6fd856
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/crafting_table.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Crafting Table Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:308"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/digital_interface_cover.json b/config/gregtech/terminal/guide/items/en_us/covers/digital_interface_cover.json
new file mode 100644
index 0000000..3e9b91d
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/digital_interface_cover.json
@@ -0,0 +1,253 @@
+{
+ "metaitem": "cover.digital",
+ "section": "Covers",
+ "title": "Digital Interface Cover",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "§cDigital Interface Cover §ris a new cover, hereinafter referred to as the §lDIC§r.\n"
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 312,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 313,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lContents:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "introduction",
+ "content": [
+ "1. §9Introduction"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fluid",
+ "content": [
+ "2. §9Fluid Mode"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "item",
+ "content": [
+ "3. §r§9Item Mode"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "energy",
+ "content": [
+ "4. §9Energy Mode"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "machine",
+ "content": [
+ "5. §9Machine Mode"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "proxy",
+ "content": [
+ "6. §9Proxy Mode"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "wireless",
+ "content": [
+ "7. §9Wireless Cover"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "introduction",
+ "content": [
+ "§lIntroduction:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "You can place it at any side of machines, including the front side. It will automatically detect the machine and display the information of the machine.\n\nUsing the Screwdriver right click the §4DIC§r to open GUI.\n\nThere are five modes supported: §lFluid, Item, Energy, Machine, and Proxy§r.\n\nIn addition to the GUI, you can interact with DIC directly by hand.Try exploring on your own."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fluid",
+ "content": [
+ "§lFluid Mode:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "monitor and interact(fill or drain) with fluids."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397364-8d212680-6b39-11eb-9152-b91f8f559ed6.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "item",
+ "content": [
+ "§lItem Mode:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "monitor and interact(fill or extract) with items."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397608-c8235a00-6b39-11eb-95ad-77e4e5bc5d8b.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "energy",
+ "content": [
+ "§lEnergy Mode:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "monitor the Energy usage. (monitoring energy stored, input and output per second)."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397946-1a647b00-6b3a-11eb-8680-52d13dd56e59.png",
+ "width": 190,
+ "height": 110
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "machine",
+ "content": [
+ "§lMachine Mode:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "monitor and interact (stop or active) with workable machines. (low power, is working, working progress, isActive)."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107398096-42ec7500-6b3a-11eb-8c26-b708ae183c3d.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "proxy",
+ "content": [
+ "§lProxy Mode:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "should be used with the §1§lCentral Monitor§r."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107856228-c1f6eb80-6e61-11eb-8098-454ea7133ca1.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "wireless",
+ "content": [
+ "§lWireless:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The wireless cover only has §4proxy Mode§r, allowing the §1§lCentral Monitor§r to access the cover remotely. Bind it remotely by right-clicking on a Central Monitor, and clear the binding by shift-right-clicking on Air."
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/ender_fluid_link.json b/config/gregtech/terminal/guide/items/en_us/covers/ender_fluid_link.json
new file mode 100644
index 0000000..d881980
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/ender_fluid_link.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Ender Fluid Link Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:311"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/energy_detector.json b/config/gregtech/terminal/guide/items/en_us/covers/energy_detector.json
new file mode 100644
index 0000000..8d5fc2e
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/energy_detector.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Energy Detector",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:306"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/fluid_detector.json b/config/gregtech/terminal/guide/items/en_us/covers/fluid_detector.json
new file mode 100644
index 0000000..9562d8b
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/fluid_detector.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Fluid Detector",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:304"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/fluid_filter.json b/config/gregtech/terminal/guide/items/en_us/covers/fluid_filter.json
new file mode 100644
index 0000000..6c60268
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/fluid_filter.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Fluid Filter",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:290"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/fluid_regulator.json b/config/gregtech/terminal/guide/items/en_us/covers/fluid_regulator.json
new file mode 100644
index 0000000..163bed8
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/fluid_regulator.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Fluid Regulator Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:247"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/infinite_water.json b/config/gregtech/terminal/guide/items/en_us/covers/infinite_water.json
new file mode 100644
index 0000000..c7c7301
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/infinite_water.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Infinite Water Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:310"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/item_detector.json b/config/gregtech/terminal/guide/items/en_us/covers/item_detector.json
new file mode 100644
index 0000000..71ec3aa
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/item_detector.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Item Detector",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:305"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/item_filter.json b/config/gregtech/terminal/guide/items/en_us/covers/item_filter.json
new file mode 100644
index 0000000..52d6678
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/item_filter.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Item Filter",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:291"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/machine_controller.json b/config/gregtech/terminal/guide/items/en_us/covers/machine_controller.json
new file mode 100644
index 0000000..a930161
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/machine_controller.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Machine Controller",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:301"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/ore_dictionary_filter.json b/config/gregtech/terminal/guide/items/en_us/covers/ore_dictionary_filter.json
new file mode 100644
index 0000000..d08d8d1
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/ore_dictionary_filter.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Ore Dictionary Filter",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:292"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/pump.json b/config/gregtech/terminal/guide/items/en_us/covers/pump.json
new file mode 100644
index 0000000..c5f615d
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/pump.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Pump Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:142"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/robot_arm.json b/config/gregtech/terminal/guide/items/en_us/covers/robot_arm.json
new file mode 100644
index 0000000..28294c1
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/robot_arm.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Robot Arm Cover",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:187"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/shutter_module.json b/config/gregtech/terminal/guide/items/en_us/covers/shutter_module.json
new file mode 100644
index 0000000..db8644b
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/shutter_module.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Shutter Module",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:309"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/covers/smart_item_filter.json b/config/gregtech/terminal/guide/items/en_us/covers/smart_item_filter.json
new file mode 100644
index 0000000..b8c617b
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/covers/smart_item_filter.json
@@ -0,0 +1,7 @@
+{
+ "section": "Covers",
+ "title": "Smart Item Filter",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_item_1:293"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/axe.json b/config/gregtech/terminal/guide/items/en_us/tools/axe.json
new file mode 100644
index 0000000..30e9c44
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/axe.json
@@ -0,0 +1,7 @@
+{
+ "section": "Tools",
+ "title": "Axe",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_tool:3"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/buzzsaw.json b/config/gregtech/terminal/guide/items/en_us/tools/buzzsaw.json
new file mode 100644
index 0000000..747a0c6
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/buzzsaw.json
@@ -0,0 +1,7 @@
+{
+ "section": "Tools",
+ "title": "Buzzsaw",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_tool:32"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/drill.json b/config/gregtech/terminal/guide/items/en_us/tools/drill.json
new file mode 100644
index 0000000..a8cdb41
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/drill.json
@@ -0,0 +1,7 @@
+{
+ "section": "Tools",
+ "title": "Drill",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_tool:20"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/file.json b/config/gregtech/terminal/guide/items/en_us/tools/file.json
new file mode 100644
index 0000000..e37a5a6
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/file.json
@@ -0,0 +1,14 @@
+{
+ "section": "Tools",
+ "title": "File",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6File§r is a tool that is only used for crafting recipes. No special uses unfortunately.\n\nLike most Gregtech tools, it can be repaired in an anvil."
+ ]
+ }
+ ],
+ "fixed": [],
+ "item": "gregtech:meta_tool:9"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/hammer.json b/config/gregtech/terminal/guide/items/en_us/tools/hammer.json
new file mode 100644
index 0000000..466e74e
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/hammer.json
@@ -0,0 +1,14 @@
+{
+ "section": "Tools",
+ "title": "Hammer",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Hammer§r is a tool mainly used in crafting recipes.\n\nHowever, it has one special use outside of crafting recipes. When Right Clicked on a machine, it will mute the sounds of the machine running. Simply Right Click again to unmute.\n\nLike most Gregtech tools, it can be repaired in an anvil."
+ ]
+ }
+ ],
+ "fixed": [],
+ "item": "gregtech:meta_tool:6"
+}
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/mining_hammer.json b/config/gregtech/terminal/guide/items/en_us/tools/mining_hammer.json
new file mode 100644
index 0000000..c83b8f5
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/mining_hammer.json
@@ -0,0 +1,14 @@
+{
+ "section": "Tools",
+ "title": "Mining Hammer",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Mining Hammer§r is an Early Game alternative to the §6Drill§r, which does not require a source of power. It mines in a simple 3x3 area, and will mine in a 1x1 area when sneaking. Make sure to make some before going mining.\n\nLike most Gregtech tools, it can be repaired in an anvil."
+ ]
+ }
+ ],
+ "fixed": [],
+ "item": "gregtech:meta_tool:19"
+}
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/saw.json b/config/gregtech/terminal/guide/items/en_us/tools/saw.json
new file mode 100644
index 0000000..0be1497
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/saw.json
@@ -0,0 +1,14 @@
+{
+ "section": "Tools",
+ "title": "Saw",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Saw§r is a Gregtech tool that is mainly using in crafting recipes, but has some special uses outside of crafting recipes.\n\nFirstly, it will harvest §1Ice§r and §1Packed Ice§r as if it had Silk Touch, dropping the actual items.\n\nSecondly, it will act like Shears when harvesting §1Leaves§r and §1Vines§r, meaning that the actual blocks will be dropped."
+ ]
+ }
+ ],
+ "fixed": [],
+ "item": "gregtech:meta_tool:5"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/screwdriver.json b/config/gregtech/terminal/guide/items/en_us/tools/screwdriver.json
new file mode 100644
index 0000000..f0b0125
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/screwdriver.json
@@ -0,0 +1,7 @@
+{
+ "section": "Tools",
+ "title": "Screwdriver",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_tool:11"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/sense.json b/config/gregtech/terminal/guide/items/en_us/tools/sense.json
new file mode 100644
index 0000000..a291d15
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/sense.json
@@ -0,0 +1,7 @@
+{
+ "section": "Tools",
+ "title": "Sense",
+ "stream": [],
+ "fixed": [],
+ "item": "gregtech:meta_tool:17"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/items/en_us/tools/wrench.json b/config/gregtech/terminal/guide/items/en_us/tools/wrench.json
new file mode 100644
index 0000000..99a1639
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/en_us/tools/wrench.json
@@ -0,0 +1,15 @@
+{
+ "section": "Tools",
+ "title": "Wrench",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "The §6Wrench§r is one of the main tools in §1Gregtech§r and has several important uses.\n\nFirst, the Wrench can be the designated tool for breaking machines (Config option, default false). If a Wrench is not used to break the machine, it will break slower.\n\nSecondly, the Wrench can be used to set the output side for machines and multiblock components. Using the §4Machine Grid§r or just clicking on the desired face, Right Clicking with a Wrench will set the output face.\n\nRelated to the above, the Wrench can be used to set the Front Face of machines. Sneaking while Right Clicking (either directly on a face of the machine or using the machine grid) will change the front face of a machine, if it can be changed.\n\nIn addition to manipulating machines, wrenches are used for manipulating pipes. When Right Clicking on a pipe with a wrench, it will enable or disable the pipe connections to the corresponding face. When Sneaking while Right Clicking, pipes will have their travel routes blocked instead (Fluid Pipes only).\n\nLike most Gregtech tools, it can be repaired in an anvil."
+ ]
+ }
+ ],
+ "fixed": [],
+ "item": "gregtech:meta_tool:8"
+}
diff --git a/config/gregtech/terminal/guide/items/zh_cn/covers/digital_interface_cover.json b/config/gregtech/terminal/guide/items/zh_cn/covers/digital_interface_cover.json
new file mode 100644
index 0000000..59fd56d
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/zh_cn/covers/digital_interface_cover.json
@@ -0,0 +1,253 @@
+{
+ "metaitem": "cover.digital",
+ "section": "覆盖版",
+ "title": "数字化接口覆盖版",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "§c数字化接口覆盖版 §r是一个新覆盖版, 一下简称 §lDIC§r.\n"
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 312,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 313,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§l目录:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "introduction",
+ "content": [
+ "1. §9介绍"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fluid",
+ "content": [
+ "2. §9流体模式"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "item",
+ "content": [
+ "3. §r§9物品模式"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "energy",
+ "content": [
+ "4. §9能源模式"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "machine",
+ "content": [
+ "5. §9机器模式"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "proxy",
+ "content": [
+ "6. §9代理模式"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "wireless",
+ "content": [
+ "7. §9无线覆盖板"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "introduction",
+ "content": [
+ "§l介绍:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "你可以将DIC放在任机器何面(包括正面)。它会自动检测机器并可视化信息。\n\n用扳手右键§4DIC§r 可以打开GUI。\n\n有五种模式: §l流体, 物品, 能源, 机器, 以及代理§r.\n\n此外,你也能直接用手和覆盖版进行交互。尝试着自己探索吧!"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fluid",
+ "content": [
+ "§l流体模式:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "监控并交互(填充或抽取)流体."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397364-8d212680-6b39-11eb-9152-b91f8f559ed6.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "item",
+ "content": [
+ "§l物品模式:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "监控并交互(提取或存放)物品。"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397608-c8235a00-6b39-11eb-95ad-77e4e5bc5d8b.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "energy",
+ "content": [
+ "§l能源模式:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "监控能源情况。 (监控能源储量,输入/输出的每秒流量)"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107397946-1a647b00-6b3a-11eb-8680-52d13dd56e59.png",
+ "width": 190,
+ "height": 110
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "machine",
+ "content": [
+ "§l机器模式:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "监控并交互(暂停或启动)机器(是否低电量,是否工作,当前配方进度,是否启动)。"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107398096-42ec7500-6b3a-11eb-8c26-b708ae183c3d.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "proxy",
+ "content": [
+ "§l代理模式:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "应该配合§1§l中央监控器§r使用。"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107856228-c1f6eb80-6e61-11eb-8098-454ea7133ca1.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "wireless",
+ "content": [
+ "§l无线覆盖版:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "无线覆盖版只有 §4代理模式§r, 允许§1§l中央监控器§r 远程访问改覆盖版. 通过右键点击中央监控器来绑定,通过对空气shfit右键点击来取消绑定。"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/items/zh_cn/tools/wrench.json b/config/gregtech/terminal/guide/items/zh_cn/tools/wrench.json
new file mode 100644
index 0000000..1a48f7f
--- /dev/null
+++ b/config/gregtech/terminal/guide/items/zh_cn/tools/wrench.json
@@ -0,0 +1,33 @@
+{
+ "metaitem": "tool.wrench",
+ "section": "工具",
+ "title": "Wrench",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "扳扳这,扳扳那"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fontSize": 5,
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/machines/en_us/steam/steam_boiler_coal_bronze.json b/config/gregtech/terminal/guide/machines/en_us/steam/steam_boiler_coal_bronze.json
new file mode 100644
index 0000000..ea0ae9b
--- /dev/null
+++ b/config/gregtech/terminal/guide/machines/en_us/steam/steam_boiler_coal_bronze.json
@@ -0,0 +1,33 @@
+{
+ "machine": "steam_boiler_coal_bronze",
+ "section": "Steam",
+ "title": "Small Steam Coal Boiler",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "Wrench this, wrench that"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fontSize": 5,
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_fluid_drilling_plant.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_fluid_drilling_plant.json
new file mode 100644
index 0000000..20f7045
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_fluid_drilling_plant.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Advanced Fluid Drilling Plant",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oExtreme is very apprioriate this time around, and you will see why.§r\n\nAt the cost of 4x the drilling Power, the §3Advanced Fluid Drilling Rig§r will be gaining §616x the output§r in Fluid.\nThe depletion of veins is also halved. This means you will get a total of §632x§r as much Oil (or whatever fluid) from a bedrock fluid vein until depletion!\n\nEven when depleted, you can still use this and be very power positive.\n\nOne single §3Advanced Fluid Drilling Rig§r should be enough to supply Power for a base up to §dLuV§r Age and possibly beyond!\n\nAs a brief §9reminder§r:\n§9-§r §aLight Oil§r can be used for §dLPG§r and §dMethane§r, to run in §3Large Gas Turbines§r.\n§9-§r §aOil§r can be used for §dDiesel§r and §dCetane-Boosted Diesel§r, to run in §3Large Combustion Engines§r.\n§9-§r §aHeavy Oil§r can be used for §dNitrobenzene§r, to run in §3Large Gas Turbines§r."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "fluid_drilling_rig.hv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_processing_array.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_processing_array.json
new file mode 100644
index 0000000..2ffe5eb
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/advanced_processing_array.json
@@ -0,0 +1,7 @@
+{
+ "section": "Electric",
+ "title": "Advanced Processing Array",
+ "stream": [],
+ "fixed": [],
+ "metatileentity": "advanced_processing_array"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/assembly_line.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/assembly_line.json
new file mode 100644
index 0000000..379c8bc
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/assembly_line.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Assembly Line",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oNo. The Assembly Line is not just a big Assembler, it\u0027s a lot more than that!\nYou can also call it the Assline. Do not feel guilty.§r\n\nMaking §dLuV§r Components will require more work.\nThe §3Assembly Line§r is an entry point towards late game.\n\nThis Multiblock has a §cvariable size§r. Each §3ULV Input Bus§r accepts a different stack of items.\nYou will want to build this with a size of §d10§r to get started, or of a size of §d14§r to accept all possible recipes.\n\nRecipes require §aFluids§r, so it is a good idea to keep the §3Input Hatches§r permanently filled with §dSoldering Alloy§r, §dLubricant§r and §dStyrene-Butadienne Rubber§r.\n\nMy recommendation of Assembly Line §4automation§r goes as follows:\nHave your Interface face an §3Item P2P§r. Set two output P2Ps, into the first §3Input Bus§r, and into §3Item Pipes§r. Make your Item Pipes connect to all Input Buses including the first.\nDo not forget §dBlocking Mode§r, and you have got yourself an easy automation! This will also work flawlessly once we inevitably add ordered item inputs.\n\n\n§bLots of Lore:§r GT5\u0027s Assembly Line is a massive project to work towards, even more so than here. You are required to scan items to put their construction data into a Data Stick. That Data Stick is then required to fit into a Data Hatch which has limited slots on the Assembly Line.\n\nThe recipe could only be viewed by printing a book with the Data Stick! It was then made to display in NEI once you acquire the item.\nTecTech made a nice machine which acts as a recipe viewer for the Data Stick (this mod is so great...).\n\nFurthermore, Item and Fluid inputs are required to be ordered the same way as the recipe indicates it. This makes automation of the Assembly Line a nice challenge which can be solved using other mods, redstone, GT item pipes... you pick it.\n\nWe are planning to port some of the GT5 features, as the Assembly Line §lshould be a challenge§r for the player."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "assembly_line"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_fluid_drilling_rig.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_fluid_drilling_rig.json
new file mode 100644
index 0000000..e504de9
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_fluid_drilling_rig.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Basic Fluid Drilling Rig",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oFinally, Fluid Drilling Rigs in GTCEu!§r\n\nIt is quite an investment to get to run a §3Fluid Drilling Rig§r, but it is by far the most prominent §6source of Oil§r.\nIt pumps fluids from underneath Bedrock. Note that the fluids aren\u0027t actually there, instead they are simulated.\n\nFluid veins are stored within regions of §48x8 chunks§r. Each vein has a different fluid, but they are mostly types Oil.\nYou are not able to do prospection for fluid veins §oyet§r, this will come in the §6HV§r Age.\n\nEach vein generates with a different base yield. This is typically between §d150L§r to §d300L per second§r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time, until it reaches its depletion yield. At that point you should move the Rig to somewhere else.\nA §3Basic Fluid Drilling Rig§r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for §6well over 10,000§r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.\n\n\nWhat you can find in the §2Overworld§r:\n§9Oil:§r richer in §aLight Fuel§r, the most appreciated variant.\n§9Light Oil:§r richer in §aRefinery Gas§r, usable for power.\n§9Heavy Oil:§r richer in §aHeavy Fuel§r, which has uses that are more niche.\n§9Raw Oil:§r essentially a less dense version of §aOil§r, the least appreciated.\n§9Natural Gas:§r grants §aRefinery Gas§r with no distillation required.\n§9Salt Water:§r grants §aSodium§r and §aChlorine§r, useful later.\n\n§rWhat you can find in the §cNether§r:\n§9Natural Gas:§r grants §aRefinery Gas§r but with higher yield than the Overworld vein.\n§9Lava:§r you know what this is.\n\n\nFor starters you may have to tap randomly until you find something you like. Whatever you pump can be used to refuel your Fluid Rig."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "fluid_drilling_rig.mv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_ore_drilling_plant.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_ore_drilling_plant.json
new file mode 100644
index 0000000..200af4c
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/basic_ore_drilling_plant.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Basic Ore Drilling Plant",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "A completely §doptional§r Multiblock.\n\nThe §3Larger Miner§r is ridiculously good to collect ores from veins!\n\nOres are mined as if they were §amacerated§r, but they yield §6three times§r as many §dCrushed ores§r.\n\nYou will need §aDrilling Fluid§r automation to run this.\n\nYou might also want to use a §3Quantum Tunnel§r from AE2 and §3GTEU P2P Tunnels§r to transfer the items and to power it up.\n\n\n§bLore:§r There were some interesting side effects from porting this over from Gregicality, as the multiblock originated from GregTech 5... It\u0027s not perfect, as there isn\u0027t really any advantage on upgrading this miner to the advanced versions. We were thinking of rebalancing the energy costs and yield per tier, so there may be rework for this miner at some point!"
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_miner.ev"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/central_monitor.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/central_monitor.json
new file mode 100644
index 0000000..1c130ba
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/central_monitor.json
@@ -0,0 +1,183 @@
+{
+ "metatileentity": "central_monitor",
+ "section": "Electric",
+ "title": "Central Monitor",
+ "stream": [
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1029,
+ "count": 1
+ },
+ {
+ "id": "gregtech:machine",
+ "damage": 1667,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lContents:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "introduction",
+ "content": [
+ "1. §9Introduction"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fluid",
+ "content": [
+ "2. §9How to build it"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "item",
+ "content": [
+ "3. §r§9How to use it"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "energy",
+ "content": [
+ "4. §9Plugins"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107856228-c1f6eb80-6e61-11eb-8098-454ea7133ca1.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "introduction",
+ "content": [
+ "§lIntroduction"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§c§lCentral Monitor§r is a multi machine for monitor (visualization and interaction).\n\nIt can monitor the storage and status of machines, including all §9Digital Interface Cover§r§9\u0027s §rfeatures, and extends the capabilities of machines to the screen.\n\nIn addition, there are many plugins that support more advanced features."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fluid",
+ "content": [
+ "§lHow to build it?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "In order to build it, you need a §c§lCentral Monitor§r, several §c§lMonitor Screen§r, several §c§lSteel Metal Casing§r, and at least one §c§lEnergy Input Hatch§r.\n\nYou can build the screen from 3×2 to 14×9 (width × height). The default build height is 3, and you can adjust the screen height in the GUI before the structure formed.\n\n§lEnergy Cost:§r 50 EU/s for each screen."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "item",
+ "content": [
+ "§lHow to use it?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "1. The back of §c§lCentral Monitor §rcan be connected to cables or wires, which can be connected to the energy net to monitor all the machines being proxied (A §9Digital Interface Cover§r set with proxy mode is placed at the connecting side between the machine and the wire. ). Besides, a §9Wireless Cover §rthat is boung to the central monitor can also be used, avoiding using cables.\n\n2. Right click the §c§lCentral Monitor §ror screwdriver right click the §c§lMonitor§r to open the GUI for settings."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "energy",
+ "content": [
+ "§lPlugins"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Put the plugin into the plugin slot for use. For specific features, please refer to their guide pages. The following are the supported plugins.\n\n§4§lNote§r§4: §rsome plugins need to work with the proxy mode in the §c§lCentral Monitor§r, and the proxy mode is only used for plugins."
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -3745585,
+ "width": 170,
+ "height": 60,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": 48,
+ "y": 930,
+ "width": 100,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 780,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 781,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 782,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 783,
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/distillation_tower.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/distillation_tower.json
new file mode 100644
index 0000000..cea752f
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/distillation_tower.json
@@ -0,0 +1,106 @@
+{
+ "section": "Electric",
+ "title": "Distillation Tower",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Distillation Tower§r is the Variable Layer Multiblock form of the Single Block Distilleries. While the Distillery can only have one output from an input fluid, the Distillation Tower can get all possible outputs from the input fluid.\n\nHowever, the Distillation Tower has a few additional limitations. Most importantly, The number of fluids that the Distillation Tower can output is equal to the number of layers of the of the Multiblock. Additionally, the Distillation Tower cannot be formed with Multifluid output hatches, and the fluid input hatch must be located on the bottom layer of the structure."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1005,
+ "count": 1
+ }
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 10,
+ "y": 234,
+ "width": 177,
+ "height": 90,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 3,
+ "y": 269,
+ "width": 52,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1181,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": -1,
+ "y": 242,
+ "width": 61,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1196,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": -5,
+ "y": 296,
+ "width": 67,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1166,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 50,
+ "y": 241,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Fluid Output Hatch. Exactly 1 per layer"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 49,
+ "y": 267,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Fluid Input Hatch. Exactly 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 46,
+ "y": 294,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Output bus. Optionally 1"
+ ]
+ }
+ ],
+ "metatileentity": "distillation_tower"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/electric_blast_furnace.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/electric_blast_furnace.json
new file mode 100644
index 0000000..483e092
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/electric_blast_furnace.json
@@ -0,0 +1,243 @@
+{
+ "section": "Electric",
+ "title": "Electric Blast Furnace",
+ "stream": [
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "content": [
+ "The §6Electric Blast Furnace§r is one of the main Multiblock Structures in Gregtech, and the main goal of earlygame progression."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1001,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Like all Gregtech Multiblocks, this structure is modular, and can be made up of many different combinations of Multiblock Parts."
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -3745585,
+ "width": 180,
+ "height": 190,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Electric Blast Furnace§r can form with any combination of blocks above. For example, if the desired recipe does not deal with fluids, neither of the fluid related hatches are required.\n\nOverclocking the Blast Furnace is as simple as ensuring the the Multiblock has 2 Energy Inputs, so 4 Amps of energy can be received, which will ensure that the mutliblock runs at the tier above the energy inputs.\n\nFor the Blast Furnace specifically, the Muffler Hatch needs to be placed at the center of the top layer, and must face upwards."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The §3Electric Blast Furnace§r, §3Pyrolyse Oven, §3Multi Smelter§r, and §3Cracking Unit§r all require heating Coils. But what are the advantages of using higher tier coils?\n\nThe latter three are quite straightforward. Higher tier coils reduce the §eprocessing time§r of the Pyrolyse Oven, reduce the §9energy usage§r of the Cracking Unit, and increase the §anumber of parallel smelts§r and reduce the §9energy usage§r of the Multi Smelter.\n\nFor the EBF, things get slightly more complicated. The EBF smelts items at a certain §dtemperature§r. This is mainly determined by the tier of heating coil used - §r§6Cupronickel§r is §d1800K§r, §bKanthal§r is §d2700K§r, etc. Additionally, starting from §6HV§r, each tier of energy adds §d100K§r to the temperature.\n\nEach EBF recipe has a certain base temperature, for example, §bAluminium§r is smelted at §d1700K§r. If the EBF temperature is not high enough, the recipe can\u0027t be done. If the EBF temperature is high enough, 2 different bonuses are applied:\n§9-§r For every §d900K§r above the recipe temperature, the amount of energy required is multiplied by §a0.95x§r, which stacks.\n§9-§r For every §d1800K§r above the recipe temperature, one additional overclock will be §6100% efficient§r; in other words, it will §5quadruple the speed§r, instead of doubling it."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": 12,
+ "y": 159,
+ "width": 35,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1001,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 11,
+ "y": 182,
+ "width": 36,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1151,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 12,
+ "y": 206,
+ "width": 34,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1166,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 13,
+ "y": 228,
+ "width": 32,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1181,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 13,
+ "y": 251,
+ "width": 32,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1196,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 10,
+ "y": 273,
+ "width": 38,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1654,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 10,
+ "y": 296,
+ "width": 38,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1657,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 9,
+ "y": 319,
+ "width": 40,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1211,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 159,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "The Controller block"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 182,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Input. Minimum 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 51,
+ "y": 206,
+ "width": 108,
+ "height": 10,
+ "content": [
+ "Item Output. Minimum 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 51,
+ "y": 230,
+ "width": 125,
+ "height": 10,
+ "content": [
+ "Fluid Input. No Minimum"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 49,
+ "y": 251,
+ "width": 131,
+ "height": 10,
+ "content": [
+ "Fluid Output. No Minimum"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 48,
+ "y": 271,
+ "width": 135,
+ "height": 20,
+ "content": [
+ "Maintence Hatch. Required based on Config. Exactly 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 48,
+ "y": 295,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Muffler Hatch. Exactly 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 47,
+ "y": 318,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Energy Input. Minimum 1"
+ ]
+ }
+ ],
+ "metatileentity": "electric_blast_furnace"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_1.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_1.json
new file mode 100644
index 0000000..049f379
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_1.json
@@ -0,0 +1,7 @@
+{
+ "section": "Electric",
+ "title": "Fusion Reactor MK 1",
+ "stream": [],
+ "fixed": [],
+ "metatileentity": "fusion_reactor.luv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_2.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_2.json
new file mode 100644
index 0000000..fbd7234
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_2.json
@@ -0,0 +1,7 @@
+{
+ "section": "Electric",
+ "title": "Fusion Reactor MK 2",
+ "stream": [],
+ "fixed": [],
+ "metatileentity": "fusion_reactor.zpm"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_3.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_3.json
new file mode 100644
index 0000000..6f896cd
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/fusion_reactor_3.json
@@ -0,0 +1,7 @@
+{
+ "section": "Electric",
+ "title": "Fusion Reactor MK 3",
+ "stream": [],
+ "fixed": [],
+ "metatileentity": "fusion_reactor.uv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/implosion_compressor.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/implosion_compressor.json
new file mode 100644
index 0000000..bb6d263
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/implosion_compressor.json
@@ -0,0 +1,136 @@
+{
+ "section": "Electric",
+ "title": "Implosion Compressor",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Implosion Compressor§r is a Multiblock that turns gem dusts back into gems, as well as processes a few other recipes."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1003,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Recipes in the Implosion Compressor use varying explosives with different efficiencies, so make sure to check recipes in JEI."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 11,
+ "y": 138,
+ "width": 179,
+ "height": 112,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 6,
+ "y": 147,
+ "width": 63,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1151,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 6,
+ "y": 174,
+ "width": 63,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1166,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 7,
+ "y": 203,
+ "width": 63,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1657,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 9,
+ "y": 229,
+ "width": 58,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1654,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 56,
+ "y": 146,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Input Bus. Minimum 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 172,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Output Bus. Minimum 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 203,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Muffler Hatch. Exactly 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 55,
+ "y": 227,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Maintenance Hatch. Exactly 1"
+ ]
+ }
+ ],
+ "metatileentity": "implosion_compressor"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/large_chemical_reactor.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/large_chemical_reactor.json
new file mode 100644
index 0000000..257f082
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/large_chemical_reactor.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Large Chemical Reactor",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §3Large Chemical Reactor (LCR)§r is a multiblock §3Chemical Reactor§r with more input/output slots, which can handle more recipes thanks to Teflon.\n\nThe §3LCR§r can perform some exclusive reactions which allow you to combine multiple normal §3Chemical Reactor§r steps into a §6single step§r. Examples below:\n§9-§r §aNitrogen Dioxide§r (for Nitric Acid and Dinitrogen Tetroxide)\n§9-§r §aSulfuric Acid§r\n§9-§r §aPhenol§r\n§9-§r §aEpichlorohydrin§r (you need it for Epoxy§r!)\n§9-§r §aEpoxy§r\n\n\nThere are also §3LCR§r exclusive recipes. For example §aRadon§r requires it.\n\nAll §dOverclocks§r in the §3LCR§r are §6100% efficient§r; each overclock will §5quadruple the speed§r, as opposed to doubling it.\n\n\n§9Tip:§r Given the amount of LCRs you may end up using, I would recommend using the §dwallsharing§r to its full potential.\nYou may share one 2A (standard) §3Energy Hatch§r with 2 LCRs.\nYou may share §3Input/Output Hatches§r, but be careful to not make them run the wrong recipes.\nKeep in mind Maintenance is not sharable."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_chemical_reactor"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/multi_smelter.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/multi_smelter.json
new file mode 100644
index 0000000..f2e7413
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/multi_smelter.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Multi Smelter",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThe §3§oMulti Smelter§r§o might be the §6§omost powerful Furnace§r§o in modded Minecraft.§r\n\nAt its lowest power (Cupronickel coils and LV Voltage), it smelts 32 items in just 12 seconds - equivalent to §926.7 Furnaces§r, or 3.3 Steam Ovens!\n\nNot to mention, standard §aoverclocks§r are in effect.\nAnd more importantly higher tier §3Coils§r increase the amount of items it can smelt in §dparallel§r! Higher tier §3Coils§r also provide better energy and duration discounts for recipes."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "multi_furnace"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/oil_cracking_unit.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/oil_cracking_unit.json
new file mode 100644
index 0000000..0526093
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/oil_cracking_unit.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Oil Cracking Unit",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oLet\u0027s get cracking, shall we?§r\n\nThe §3Oil Cracking Unit§r is a multiblock meant to make cracked fluids. It has all the recipes of §3Chemical Reactor§r Cracking, but it is §6lossless§r.\n\nThis multiblock is §doptional§r, but it saves a lot of Fuel in the long term!\n\nHigher Coil tiers provide small energy discount, not too important."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "cracker"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/processing_array.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/processing_array.json
new file mode 100644
index 0000000..2ab24c2
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/processing_array.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Processing Array",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThe Processing Array does nothing... except that it does a lot!§r\n\nThe §3Processing Array§r is a power §6automation tool§r.\nIt combines several single block machines into one single multiblock.\nPlace up to §d16§r Machines into the §3Machine Access Interface§r.\n\nThe §3PA§r will now §asimulate§r all the machines you put inside, as if they were running at the same time.\nThis means recipes can now be performed up to §d16§r at a time, this is called §4parallel§r.\n\nPower cost is based on the current recipe being run, times the number of §4parallel§r being performed.\nAs an §9example§r, §316 LV Distilleries§r will require an §3HV Energy Hatch§r in order to run effectively.\n\n\n§cWhere or why is the Processing Array useful?§r\n§9-§r §4Parallelization is superior§r to oveclocking. Use it for passive setups such as Ore Processing or Oil Distilling.\n§9-§r §6Distinct buses§r: a §3PA§r can accept up to 10 §3Input Buses§r. Use it for your pattern automation with §3Extruder§r, §3Engraver§r, and many other.\n\n\n§9Note:§r With §2Gregicality Multiblocks§r installed, the §3PA§r can be mostly replaced with all the specialized Multiblocks instead. That\u0027s for you if you hate 3x3 blue cubes, or if you hate crafting numerous low tier machines.\n\n\n§bLore:§r In GregTech 5, the Data Orb was used to Matter Replicator to store data of the material you wanted to replicate. There is no replication here, the Orb is just a crafting component."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "processing_array"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/pyrolyse_oven.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/pyrolyse_oven.json
new file mode 100644
index 0000000..bb143f7
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/pyrolyse_oven.json
@@ -0,0 +1,14 @@
+{
+ "section": "Electric",
+ "title": "Pyrolyse Oven",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThe Pyrolyse Oven processes organic products by thermal decomposition in an inert environment.§r\n\nThe §3Pyrolyse Oven§r is an electric equivalent of the §3Coke Oven§r. It can produce §9Coal Coke§r and §9Charcoal§r with a §9Creosote§r byproduct just as before, but also has additional §6Organic Byproducts§r. The most beneficial of these being §aWood Tar§r.\nAnother product is §aBiomass§r, which is more pertinent for progression §oright now§r.\n\nThose byproducts can be Distilled for an array of organic resources, with different byproducts giving different ratios of different chemicals.\nYou will need to read the §9Distillation§r Quest to hopefully understand the full scale..\n\nThere are recipes that can accept §bNitrogen§r to double the speed.\n\nThe §3Cupronickel Coils§r are more than enough to get started, but you will want to upgrade eventually. This is because the §3Cupronickel Coils§r actually have a processing speed malus, making all recipes slower. This malus turns into a processing speed bonus as the coil tier used increases.\n\n\n§9§lNote:§r§l The Plant path is one path towards §9§lEthylene§r§l. The other path involves Oil.§r\nThe Pyrolyse Oven remains §doptional§r. But it is great to have either for Power, or for the various Byproducts.\n\n\n§bLore:§r In GT5u, the structure for the Pyrolyse Oven is a giant box with only 9 coils inside. Players usually spend several minutes debugging what is wrong due to the lack of JEI preview."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "pyrolyse_oven"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/electric/vacuum_freezer.json b/config/gregtech/terminal/guide/multiblocks/en_us/electric/vacuum_freezer.json
new file mode 100644
index 0000000..01c1f2d
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/electric/vacuum_freezer.json
@@ -0,0 +1,136 @@
+{
+ "section": "Electric",
+ "title": "Vacuum Freezer",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Vacuum Freezer§r is one of the more important Multiblocks, as it allows you to get actual ingots from super heated Blast Furnace outputs."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1002,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Any ingots made in the §6Electric Blast Furnace§r that have a blast temperature of greater than §91750§r K will not generate regular ingots, but instead will generate Hot Ingots. These Ingots will damage the player when held, and are required to be cooled down in the Vacuum Freezer."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 6,
+ "y": 189,
+ "width": 178,
+ "height": 105,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 7,
+ "y": 198,
+ "width": 56,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1151,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 14,
+ "y": 224,
+ "width": 43,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1166,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 54,
+ "y": 199,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Input bus. Maximum 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 223,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Item Output Bus. Maximum 1"
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 8,
+ "y": 249,
+ "width": 55,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1181,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 1,
+ "y": 274,
+ "width": 68,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1196,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 248,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Fluid Input Hatch. Optionally 1"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 51,
+ "y": 273,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Fluid Output Hatch. Optionally 1"
+ ]
+ }
+ ],
+ "metatileentity": "vacuum_freezer"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/extreme_combustion_engine.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/extreme_combustion_engine.json
new file mode 100644
index 0000000..b61c47f
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/extreme_combustion_engine.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Extreme Combustion Engine",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThe Ultimate Combustion fuel Generator!§r\n\nTo run the §3Extreme Combustion Engine§r, you will most likely want to boost it (§oelse why would you bother...§r).\nYou will want a §34A IV Dynamo Hatch§r as the output, and one §3Vacuum Freezer§r for §aLiquid Oxygen§r.\n\nYou can now harness the equivalent of 1 §dLuV§r Amp, while burning fuel at §6200% efficiency§r!\n\nDon\u0027t forge to keep it supplied with a small amount of §aLubricant§r.\n\nThe §3ECE§r is also void-free, unlike Large Turbines. Any energy that cannot be output will momentarily pause the multiblock.\n\n\n§bLore:§r The ECE comes from GT:NH. However... the story is not so great. The stats on the tooltip looked similar to this one, so far so good.\nHowever if you made calculations, you ended up realizing you needed to run around 16 whole HV Vacuum Freezers to keep up with Liquid Oxygen...\nThe one and only fuel it would accept is High Octane Gasoline, which was stated to be burned at 300% efficiency when boosted, but it was a lie! The efficiency remained 100%!\nThe GT:NH team recently decided to rework the ECE among other power options, phew!"
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "extreme_combustion_engine"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_bronze_boiler.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_bronze_boiler.json
new file mode 100644
index 0000000..ee94e35
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_bronze_boiler.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Large Bronze Boiler",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "This is an §6optional§r power generating multiblock, depending on which power options you chose.\n\n\nThe §3Large Boilers§r ultimately are §othe§r option for large scale Steam production. They will run off solid and liquid fuels.\n§cImportant:§r This Boiler can also §cexplode§r similarly to the regular Boilers!\n§cWater supply is crucial§r. But simply upgrading the §3Output Hatch§r on your §3Primitive Pump§r should be enough.\n\n\nOnce fully heated up, the §3LBB§r produces 800 Steam per tick, which is §d400EU/t§r after conversion, or 12.5 Basic Steam Turbines! This (relatively!) immense power comes at the cost of §la lot§r of burnable fuel.\n§5§lBut§r the GUI can let you §9throttle§r the Boiler, down to 25% power for 200 Steam per tick. That is §d100EU/t§r, or slightly above 3 Basic Steam Turbines."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_boiler.bronze"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_combustion_engine.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_combustion_engine.json
new file mode 100644
index 0000000..1bea232
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_combustion_engine.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Large Combustion Engine",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §3Large Combustion Engine§r is a multiblock able to burn §dCombustion Fuels§r for even more Power Generation!\n\nIt\u0027s default production outputs 2048 EU/t, which is simply the same as 4 §3Turbo Combustion Generators§r.\n\nWhere it shines is the ability to §6boost§r it with §aOxygen§r.\nThis will double the fuel consumption, but §9triple the power generation§r for 6144 EU/t!\nThis results in §6150% Fuel efficiency§r.\n\nIt also requires a small amount of §aLubricant§r, nothing too crazy.\n\nThe §3LCE§r is also void-free, unlike Large Turbines. Any energy that cannot be output will momentarily pause the multiblock.\n\n\n§9Note:§r To harness the 6144 EU/t Power output, you will need a §34A EV Dynamo Hatch§r, or an §3IV Dynamo Hatch§r."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_combustion_engine"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_gas_turbine.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_gas_turbine.json
new file mode 100644
index 0000000..f9cca9c
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_gas_turbine.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Large Gas Turbine",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §3Large Gas Turbine§r may not be so impressive in the §5EV§r Age, but it has the ability to scale really well, to §9better production§r than the base 4096 EU/t, and §9greater efficiency§r.\n\nEach Large Turbine will require a §aTurbine Rotor§r and a §3Rotor Holder§r. More on the Turbine mechanics in the §lnext§r Quest.\n\n§9Note:§r To harness the Power output when using a Rotor having more than 100% Power stats, you will need a §34A EV Dynamo Hatch§r or an §3IV Dynamo Hatch§r.\nTurbines §cvoid§r energy that they can not output."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_turbine.gas"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_plasma_turbine.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_plasma_turbine.json
new file mode 100644
index 0000000..7ae7b70
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_plasma_turbine.json
@@ -0,0 +1,7 @@
+{
+ "section": "Generator",
+ "title": "Large Plasma Turbine",
+ "stream": [],
+ "fixed": [],
+ "metatileentity": "large_turbine.plasma"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steam_turbine.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steam_turbine.json
new file mode 100644
index 0000000..c4b7cb2
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steam_turbine.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Large Steam Turbine",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oIf you\u0027re still running off Steam, here is a solution for you!§r\n\nThe §3Large Steam Turbine§r is a multiblock Steam Turbine for §6HV§r power. It is a quite expensive multiblock to generate 1024 EU/t, but it also the ability to scale to §9higher Power Production and higher Effiency§r.\n\nThe Turbine will output §dDistilled Water§r given an §3Output Hatch§r, so you can loop it back to your §3Large Boilers§r.\nNot completely recommend, as your Boilers will end up exploding if the system fails...\n\nEach Large Turbine will require a §aTurbine Rotor§r and a §3Rotor Holder§r. More on the Turbine mechanics in the §lnext§r Quest.\n\n§9Note:§r Turbines §cvoid§r energy that they can not output. If you plan on using this with HV power, use a Rotor with close to 100% Power stat."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_turbine.steam"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steel_boiler.json b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steel_boiler.json
new file mode 100644
index 0000000..59da151
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/generator/large_steel_boiler.json
@@ -0,0 +1,14 @@
+{
+ "section": "Generator",
+ "title": "Large Steel Boiler",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "If you\u0027re still running off the §3Large Bronze Boiler§r, you may want to upgrade to the §3Large Steel Boiler§r.\n\nIt is slightly more efficient than the §3LBB§r, and produces §d900 EU/t worth of Steam§r."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "large_boiler.steel"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/hatches/advanced_maintenance.json b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/advanced_maintenance.json
new file mode 100644
index 0000000..cc2a252
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/advanced_maintenance.json
@@ -0,0 +1,14 @@
+{
+ "section": "Hatches",
+ "title": "Advanced Maintenance",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "You now have access to two §3new Maintenance Hatches§r. Both start with §6no Maintenance required§r.\n\nThe §3Automatic Maintenance Hatch§r is pretty simple, it eliminates the need for Maintenance, §6forever§r.\n\nThe §3Configurable Maintenance Hatch§r is more interesting. You can configure it to cut off §a10% duration§r on recipes, at the cost of making Maintenance happen three times as fast. That is §d16 real hours§r of activity.\n§9Reminder:§r You can put Tape in the maintenance Hatch to automatically fix problems.\n\n\n§bLore:§r The Automatic Maintenance Hatch texture and mechanic comes from TecTech, an addon mod originally made for GregTech: New Horizons. I will be honest with you: that mod is excessively cool!\nMore TecTech references coming up, if you stick with us with the late game!"
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "maintenance_hatch_full_auto"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/hatches/energy_hatch.json b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/energy_hatch.json
new file mode 100644
index 0000000..49c10bc
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/energy_hatch.json
@@ -0,0 +1,14 @@
+{
+ "section": "Hatches",
+ "title": "Energy Hatch",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oTo power Multiblocks with energy, you need Energy Hatches.§r\n\nMultiblocks do not look at Voltage of recipes, instead they simply check if they have the Power requirement.\nFor example, The EBF needs at least §4120EU/t§r power input to run its recipes. It is achieved with §3two LV Energy Hatches§r. Each one takes 2 Amps of LV, so that\u0027s 4 Amps of LV for 128EU/t maximum power.\n\n\n§9Note:§r Be wary of Cable §closses§r bringing the actual power input below the recipe requirement! I §lhighly§r recommend placing your §3Battery Buffer§r next to the §3Energy Hatches§r for the minimum cable length."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "energy_hatch.input.lv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/hatches/maintenance_hatch.json b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/maintenance_hatch.json
new file mode 100644
index 0000000..a6db7c6
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/maintenance_hatch.json
@@ -0,0 +1,14 @@
+{
+ "section": "Hatches",
+ "title": "Maintenance Hatch",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oI know what you\u0027re thinking! Don\u0027t think! I mean... Maintenance in GregTech is not as bad as you think, and looking at multiblocks with this hatch makes me feel happy.§r\n\nMost Multiblocks require a §3Maintenance Hatch§r. You will need to do Maintenance for the Multiblock to begin operating.\nThis is done by having a §9Wrench§r, a §9Screwdriver§r, a §9Soft Mallet§r, a §9Hammer§r, a §9Wire Cutter§r, and a §9Crowbar§r in your inventory, opening the Maintenance Hatch and §4clicking the center spot once§r. §cNo need to move tools individually§r.\nAlternatively you can fix problems by placing a §9Tape§r in the Maintenance Hatch, but I would love to tell you that\u0027s unethical.\n\nMaintenance problems may occur after §d48 real hours of activity§r. Needless to say they are very rare. Each problem increases the recipe durations by 10%. Fixing the problems is done the same way as above.\n\n\nAt §6HV§r age, you will unlock other Maintenance Hatches that do not enforce fixing the problems manually.\n\n\n§bLore:§r Maintenance dates back to GregTech 3 for Minecraft 1.5.2. That\u0027s a long time ago!\nMaintenance problems increased power usage instead of duration. And that caused all sorts of \"happy\" issues. Ah, fun times!"
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "maintenance_hatch"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/hatches/muffler_hatch.json b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/muffler_hatch.json
new file mode 100644
index 0000000..e11eef2
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/muffler_hatch.json
@@ -0,0 +1,14 @@
+{
+ "section": "Hatches",
+ "title": "Muffler Hatch",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §3Electric Blast Furnace§r requires a §3Muffler Hatch§r to run. This hatch must be §cunobstructed§r so it can output its beautiful smoke particles.\n\nWhen a recipe is performed, there is a small chance for the §3Muffler Hatch§r to give bonus items, typically tiny Dusts of Ash.\n\n§9Note:§r Do not try to automate the extraction of items from the §3Muffler Hatch§r, it is not intended. It voids excess when full, so do not worry about it stopping machines from running.\n\n\n§bLore:§r In GregTech 5, polluting multiblocks had Muffler Hatches. The higher tier the hatch, the lower the Pollution.\nPollution had interesting effects such as turning grass and dirt into sand.\nMuffler Hatches in GTCEu are more about the look (can you deny that the particles look good!?) and small rewards, rather than punishing game mechanics."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "muffler_hatch.lv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/hatches/multiblock_input_output.json b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/multiblock_input_output.json
new file mode 100644
index 0000000..3a6532b
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/hatches/multiblock_input_output.json
@@ -0,0 +1,14 @@
+{
+ "section": "Hatches",
+ "title": "Multiblock Input/Output",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§3Busses§r are needed to for Multiblocks in order to insert recipe inputs and retrieve recipe outputs.\nHigher tier §3Busses§r have more slots for items\n\nFor fluids, you will need §3Hatches§r.\n\nFor fluids, there are also special §3Multi-Fluid Hatches§r, which can handle multiple fluids at the same time. These come in 4x and 9x versions."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "item_bus.import.lv"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/coke_oven.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/coke_oven.json
new file mode 100644
index 0000000..2b30058
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/coke_oven.json
@@ -0,0 +1,88 @@
+{
+ "section": "Primitive",
+ "title": "Coke Oven",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Coke Oven§r is most likely one of the first Multiblocks that you will make. It is the source of early game §1Charcoal§r, a nice fuel for making §1Steel§r initially."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1017,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Unlike other Multiblocks,this structure has a limited number of multiblock parts that can be added."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 6,
+ "y": 137,
+ "width": 182,
+ "height": 61,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 3,
+ "y": 140,
+ "width": 52,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1017,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": -3,
+ "y": 163,
+ "width": 65,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1018,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 46,
+ "y": 160,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "The Coke Oven Hatch. Maximum: 5"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 47,
+ "y": 139,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "The Controller Block"
+ ]
+ }
+ ],
+ "metatileentity": "coke_oven"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_steel_tank.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_steel_tank.json
new file mode 100644
index 0000000..b9b4d9b
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_steel_tank.json
@@ -0,0 +1,64 @@
+{
+ "section": "Primitive",
+ "title": "Steel Multiblock Tank",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Steel Multiblock Tank§r is another early game multiblock for storing fluids. However, unlike the Wooden version, this structure can store gases and hot fluids."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1599,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Similar to the Wooden version, this structure has specific Multiblock Parts used for automating fluid input and output into the structure."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": 2,
+ "y": 149,
+ "width": 52,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1598,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "card",
+ "x": 8,
+ "y": 146,
+ "width": 178,
+ "height": 32,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "x": 47,
+ "y": 149,
+ "width": 137,
+ "height": 20,
+ "content": [
+ "Tank Valve for automating structure. Maximum: 2"
+ ]
+ }
+ ],
+ "metatileentity": "tank.steel"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_wooden_tank.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_wooden_tank.json
new file mode 100644
index 0000000..4fb6f84
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/multiblock_wooden_tank.json
@@ -0,0 +1,64 @@
+{
+ "section": "Primitive",
+ "title": "Wooden Multiblock Tank",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Wooden Multiblock Tank§r is an early game solution for storing liquids. Unfortunately, it cannot store much, as it does not handle gases or hot liquids."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1597,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "This Multiblock has one possible Multiblock Part, which is used for automatically filling and extracting fluids from the structure."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": -12,
+ "y": 176,
+ "width": 59,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1596,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "card",
+ "x": 7,
+ "y": 170,
+ "width": 178,
+ "height": 35,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "x": 35,
+ "y": 176,
+ "width": 137,
+ "height": 20,
+ "content": [
+ "Tank Valve for automating structure. Maximum: 2"
+ ]
+ }
+ ],
+ "metatileentity": "tank.wood"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_blast_furnace.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_blast_furnace.json
new file mode 100644
index 0000000..34c471d
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_blast_furnace.json
@@ -0,0 +1,30 @@
+{
+ "section": "Primitive",
+ "title": "Primitive Blast Furnace",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Primitive Blast Furnace§r is the main multiblock of the Steam Age. It is used for making the first §1Steel§r, which is the main gateway to the §2LV§r age."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1000,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Unlike other §3Gregtech§r Multiblocks, there are no multiblock parts that can be used in this structure. It is only composed of the controller and the Primitive Bricks."
+ ]
+ }
+ ],
+ "fixed": [],
+ "metatileentity": "primitive_blast_furnace.bronze"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_water_pump.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_water_pump.json
new file mode 100644
index 0000000..59377b8
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/primitive_water_pump.json
@@ -0,0 +1,82 @@
+{
+ "section": "Primitive",
+ "title": "Primitive Water Pump",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Primitive Water Pump§r is a Multiblock used for gathering water in the early game. The amount of water gathered depends on the biome that the Multiblock is constructed in. Detailed information on the rates in available on the §3JEI§r information page for the Multiblock."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1648,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Primitive Water Pump§r has only one possible Multiblock part, though it is limited in what tier the part can be."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": -23,
+ "y": 189,
+ "width": 100,
+ "height": 18,
+ "item_list": []
+ },
+ {
+ "type": "slots",
+ "x": 61,
+ "y": 182,
+ "width": 67,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1649,
+ "count": 1
+ },
+ {
+ "id": "gregtech:machine",
+ "damage": 1195,
+ "count": 1
+ },
+ {
+ "id": "gregtech:machine",
+ "damage": 1196,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "card",
+ "x": 9,
+ "y": 174,
+ "width": 180,
+ "height": 76,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "x": 13,
+ "y": 203,
+ "width": 168,
+ "height": 40,
+ "content": [
+ "The §6Primitive Water Pump§r is limited to §rthe specific output hatch, §ra §2ULV§r output hatch, or a §2LV§r output hatch"
+ ]
+ }
+ ],
+ "metatileentity": "primitive_water_pump"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_grinder.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_grinder.json
new file mode 100644
index 0000000..4a3ad37
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_grinder.json
@@ -0,0 +1,112 @@
+{
+ "section": "Primitive",
+ "title": "Steam Grinder",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Steam Grinder§r is an early game multiblock for performing macerator recipes. It can perform up to §58§r recipes in parallel, and has duration of §51.5§r times the normal macerator recipe duration.\n\nHowever, only the first output from the recipe will be output. This means that no byproducts will be recieved from any ores grinded down."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1025,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Unlike other Multiblocks, this structure has specialized hatches for handling steam that must be used."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 4,
+ "y": 217,
+ "width": 182,
+ "height": 81,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 11,
+ "y": 224,
+ "width": 50,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1651,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 5,
+ "y": 247,
+ "width": 62,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1652,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 10,
+ "y": 272,
+ "width": 52,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1653,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 224,
+ "width": 117,
+ "height": 20,
+ "content": [
+ "Specialized Output bus for Steam Multiblocks"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 250,
+ "width": 120,
+ "height": 20,
+ "content": [
+ "Specialized Input bus for Steam Multiblocks"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 273,
+ "width": 120,
+ "height": 20,
+ "content": [
+ "Specialized Input Hatch for Steam Multiblocks"
+ ]
+ }
+ ],
+ "metatileentity": "steam_grinder"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_oven.json b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_oven.json
new file mode 100644
index 0000000..b45a1bf
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/en_us/primitive/steam_oven.json
@@ -0,0 +1,112 @@
+{
+ "section": "Primitive",
+ "title": "Steam Oven",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "The §6Steam Oven§r is an early game multiblock for performing furnace recipes. It can perform up to §58§r recipes in parallel, and has duration of §51.5§r times the normal furnace recipe duration.\n\nThis should not really matter, but only the first output from the recipe will be obtained. Although if someone is adding a weird furnace recipe, that is their fault."
+ ]
+ },
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1024,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Unlike other Multiblocks, this structure has specialized hatches for handling steam that must be used."
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "card",
+ "x": 4,
+ "y": 217,
+ "width": 182,
+ "height": 81,
+ "fill": -3745585,
+ "isShadow": true
+ },
+ {
+ "type": "slots",
+ "x": 11,
+ "y": 224,
+ "width": 50,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1651,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 5,
+ "y": 247,
+ "width": 62,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1652,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 10,
+ "y": 272,
+ "width": 52,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1653,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 224,
+ "width": 117,
+ "height": 20,
+ "content": [
+ "Specialized Output bus for Steam Multiblocks"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 250,
+ "width": 120,
+ "height": 20,
+ "content": [
+ "Specialized Input bus for Steam Multiblocks"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 273,
+ "width": 120,
+ "height": 20,
+ "content": [
+ "Specialized Input Hatch for Steam Multiblocks"
+ ]
+ }
+ ],
+ "metatileentity": "steam_oven"
+}
diff --git a/config/gregtech/terminal/guide/multiblocks/zh_cn/electric/central_monitor.json b/config/gregtech/terminal/guide/multiblocks/zh_cn/electric/central_monitor.json
new file mode 100644
index 0000000..4de1eb5
--- /dev/null
+++ b/config/gregtech/terminal/guide/multiblocks/zh_cn/electric/central_monitor.json
@@ -0,0 +1,183 @@
+{
+ "section": "电力",
+ "title": "中央监控器",
+ "stream": [
+ {
+ "type": "slots",
+ "item_list": [
+ {
+ "id": "gregtech:machine",
+ "damage": 1028,
+ "count": 1
+ },
+ {
+ "id": "gregtech:machine",
+ "damage": 1667,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§l目录:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "introduction",
+ "content": [
+ "1. §9介绍"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fluid",
+ "content": [
+ "2. §9如何构建它"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "item",
+ "content": [
+ "3. §r§9如何使用它"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "energy",
+ "content": [
+ "4. §9插件"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/107856228-c1f6eb80-6e61-11eb-8098-454ea7133ca1.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "introduction",
+ "content": [
+ "§l介绍"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§c§l中央监控仪§r是一个用来监控(可视化和交互)的多方块.\n\n它可以监控并交互机器的存储及运行状态,它包含§9数字化接口覆盖版§r§9§r的所有功能,并将机器的其他接口扩展到屏幕上。\n\n此外,还有许多插件支持更多高级功能。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fluid",
+ "content": [
+ "§l怎么构建它?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "为了构建它,你需要一个§c§l中央监控器§r,一些§c§l监控屏幕§r,一些§c§l不锈钢机械方块§r,个至少一个§c§l能源输入仓§r.\n\n屏幕尺寸从3×2到14×9(宽 × 高)不等。默认高度是3,但是你可以在结构成型前在GUI中设置高度。\n\n§l能源消耗:§r每个屏幕50 EU/s。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "item",
+ "content": [
+ "§l如何使用它?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "1. §c§l中央监控器的§r的背后可以连接线缆,线缆所处的电网中可以监控所有被代理的机器(§9数字化接口覆盖版§r设置为代理模式,并放置在线和机器的接口处。) 此外,绑定了中央控制器的§9无线覆盖版§r同样可以使用,避免使用线缆。\n\n2. 右击§c§l中央监控器§r或者扳手右击§c§l监控屏幕§r可以打开GUI进行设置。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "energy",
+ "content": [
+ "§l插件"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "将插件放入插件槽中使用。有关具体功能,请参阅其指南页。以下是支持的插件。\n\n§4§l注意§r§4: §r在§c§l中央监控器§r中,有些插件需要使用代理模式工作,而代理模式仅用于插件。"
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -3745585,
+ "width": 170,
+ "height": 60,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "slots",
+ "x": 48,
+ "y": 730,
+ "width": 100,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 780,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 781,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 782,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 783,
+ "count": 1
+ }
+ ]
+ }
+ ],
+ "metatileentity": "central_monitor"
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/01_definition.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/01_definition.json
new file mode 100644
index 0000000..b319e88
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/01_definition.json
@@ -0,0 +1,49 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "Material Definition",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 11,
+ "fontColor": -65536,
+ "content": [
+ "§lFirstly, you should know what is the Material."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Material is the basis of CEu. It defines to a substance and its properties. It usually takes the form of an §lelement§r or a §lchemical§r, but it can also take the form of something weird like the §lEnder Eye§r."
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 11,
+ "fontColor": -16776961,
+ "content": [
+ "§lSecondly, it defines which properties?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The §lmaterial§r specifies whether it has a §lfluid§r state, §lplasma§r state, §ldust§r state, etc. When it has a specific state, the CEu will register the corresponding item or fluid automatically."
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 11,
+ "fontColor": -16731136,
+ "content": [
+ "§lThirdly, What else does it define?"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "You can actually define its colors, flag, iconSet, cableProperties, Element, formula, components and so on. Don\u0027t worry, they are not complicated, will be introduced in other pages."
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/02_element.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/02_element.json
new file mode 100644
index 0000000..22f3b6a
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/02_element.json
@@ -0,0 +1,78 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "Element",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "The §lElement§r use to specify a material as an elemental and affects its chemical fomular. CEu basically has the periodic table, so you probably won\u0027t need it. \n\n§lContents:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "element",
+ "content": [
+ "1. §9Element"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ct",
+ "content": [
+ "2. §9CT"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "element",
+ "content": [
+ "§c§lElement:§r\n §l○ §nprotons§r – Amount of Protons\n §l○ §nneutrons§r – Amount of Neutrons (I could have made mistakes with the Neutron amount calculation, please tell me if I did something wrong)\n §l○ §nhalfLifeSeconds§r – Amount of Half Life this Material has in Seconds. -1 for stable Materials\n §l○ §ndecayTo§r – String representing the Elements it decays to. Separated by an \u0027\u0026\u0027 Character\n §l○ §nname§r – Name of the Element\n §l○ §nsymbol§r – Symbol of the Element"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lExisting elements:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 1623820032,
+ "stroke_width": 3,
+ "fill": 1623820032,
+ "content": [
+ " §l○ §c§lH§r: 1, 0, -1, null, \"Hydrogen\", \"H\", false\n §l○ §c§lD§r: 1, 1, -1, \"H\", \"Deuterium\", \"D\", true\n §l○ §c§lT§r: 1, 2, -1, \"D\", \"Tritium\", \"T\", true\n §l○ §c§lHe§r: 2, 2, -1, null, \"Helium\", \"He\", false\n §l○ §c§lHe3§r: 2, 1, -1, \"H\u0026D\", \"Helium-3\", \"He-3\", true\n §l○ §c§lLi§r: 3, 4, -1, null, \"Lithium\", \"Li\", false\n §l○ §c§lBe§r: 4, 5, -1, null, \"Beryllium\", \"Be\", false\n §l○ §c§lB§r: 5, 5, -1, null, \"Boron\", \"B\", false\n §l○ §c§lC§r: 6, 6, -1, null, \"Carbon\", \"C\", false\n §l○ §c§lN§r: 7, 7, -1, null, \"Nitrogen\", \"N\", false\n §l○ §c§lO§r: 8, 8, -1, null, \"Oxygen\", \"O\", false\n §l○ §c§lF§r: 9, 9, -1, null, \"Fluorine\", \"F\", false\n §l○ §c§lNe§r: 10, 10, -1, null, \"Neon\", \"Ne\", false\n §l○ §c§lNa§r: 11, 11, -1, null, \"Sodium\", \"Na\", false\n §l○ §c§lMg§r: 12, 12, -1, null, \"Magnesium\", \"Mg\", false\n §l○ §c§lAl§r: 13, 13, -1, null, \"Aluminium\", \"Al\", false\n §l○ §c§lSi§r: 14, 14, -1, null, \"Silicon\", \"Si\", false\n §l○ §c§lP§r: 15, 15, -1, null, \"Phosphorus\", \"P\", false\n §l○ §c§lS§r: 16, 16, -1, null, \"Sulfur\", \"S\", false\n §l○ §c§lCl§r: 17, 18, -1, null, \"Chlorine\", \"Cl\", false\n §l○ §c§lAr§r: 18, 22, -1, null, \"Argon\", \"Ar\", false\n §l○ §c§lK§r: 19, 20, -1, null, \"Potassium\", \"K\", false\n §l○ §c§lCa§r: 20, 20, -1, null, \"Calcium\", \"Ca\", false\n §l○ §c§lSc§r: 21, 24, -1, null, \"Scandium\", \"Sc\", false\n §l○ §c§lTi§r: 22, 26, -1, null, \"Titanium\", \"Ti\", false\n §l○ §c§lV§r: 23, 28, -1, null, \"Vanadium\", \"V\", false\n §l○ §c§lCr§r: 24, 28, -1, null, \"Chrome\", \"Cr\", false\n §l○ §c§lMn§r: 25, 30, -1, null, \"Manganese\", \"Mn\", false\n §l○ §c§lFe§r: 26, 30, -1, null, \"Iron\", \"Fe\", false\n §l○ §c§lCo§r: 27, 32, -1, null, \"Cobalt\", \"Co\", false\n §l○ §c§lNi§r: 28, 30, -1, null, \"Nickel\", \"Ni\", false\n §l○ §c§lCu§r: 29, 34, -1, null, \"Copper\", \"Cu\", false\n §l○ §c§lZn§r: 30, 35, -1, null, \"Zinc\", \"Zn\", false\n §l○ §c§lGa§r: 31, 39, -1, null, \"Gallium\", \"Ga\", false\n §l○ §c§lGe§r: 32, 40, -1, null, \"Germanium\", \"Ge\", false\n §l○ §c§lAs§r: 33, 42, -1, null, \"Arsenic\", \"As\", false\n §l○ §c§lSe§r: 34, 45, -1, null, \"Selenium\", \"Se\", false\n §l○ §c§lBr§r: 35, 45, -1, null, \"Bromine\", \"Br\", false\n §l○ §c§lKr§r: 36, 48, -1, null, \"Krypton\", \"Kr\", false\n §l○ §c§lRb§r: 37, 48, -1, null, \"Rubidium\", \"Rb\", false\n §l○ §c§lSr§r: 38, 49, -1, null, \"Strontium\", \"Sr\", false\n §l○ §c§lY§r: 39, 50, -1, null, \"Yttrium\", \"Y\", false\n §l○ §c§lZr§r: 40, 51, -1, null, \"Zirconium\", \"Zr\", false\n §l○ §c§lNb§r: 41, 53, -1, null, \"Niobium\", \"Nb\", false\n §l○ §c§lMo§r: 42, 53, -1, null, \"Molybdenum\", \"Mo\", false\n §l○ §c§lTc§r: 43, 55, -1, null, \"Technetium\", \"Tc\", false\n §l○ §c§lRu§r: 44, 57, -1, null, \"Ruthenium\", \"Ru\", false\n §l○ §c§lRh§r: 45, 58, -1, null, \"Rhodium\", \"Rh\", false\n §l○ §c§lPd§r: 46, 60, -1, null, \"Palladium\", \"Pd\", false\n §l○ §c§lAg§r: 47, 60, -1, null, \"Silver\", \"Ag\", false\n §l○ §c§lCd§r: 48, 64, -1, null, \"Cadmium\", \"Cd\", false\n §l○ §c§lIn§r: 49, 65, -1, null, \"Indium\", \"In\", false\n §l○ §c§lSn§r: 50, 68, -1, null, \"Tin\", \"Sn\", false\n §l○ §c§lSb§r: 51, 70, -1, null, \"Antimony\", \"Sb\", false\n §l○ §c§lTe§r: 52, 75, -1, null, \"Tellurium\", \"Te\", false\n §l○ §c§lI§r: 53, 74, -1, null, \"Iodine\", \"I\", false\n §l○ §c§lXe§r: 54, 77, -1, null, \"Xenon\", \"Xe\", false\n §l○ §c§lCs§r: 55, 77, -1, null, \"Caesium\", \"Cs\", false\n §l○ §c§lBa§r: 56, 81, -1, null, \"Barium\", \"Ba\", false\n §l○ §c§lLa§r: 57, 81, -1, null, \"Lanthanum\", \"La\", false\n §l○ §c§lCe§r: 58, 82, -1, null, \"Cerium\", \"Ce\", false\n §l○ §c§lPr§r: 59, 81, -1, null, \"Praseodymium\", \"Pr\", false\n §l○ §c§lNd§r: 60, 84, -1, null, \"Neodymium\", \"Nd\", false\n §l○ §c§lPm§r: 61, 83, -1, null, \"Promethium\", \"Pm\", false\n §l○ §c§lSm§r: 62, 88, -1, null, \"Samarium\", \"Sm\", false\n §l○ §c§lEu§r: 63, 88, -1, null, \"Europium\", \"Eu\", false\n §l○ §c§lGd§r: 64, 93, -1, null, \"Gadolinium\", \"Gd\", false\n §l○ §c§lTb§r: 65, 93, -1, null, \"Terbium\", \"Tb\", false\n §l○ §c§lDy§r: 66, 96, -1, null, \"Dysprosium\", \"Dy\", false\n §l○ §c§lHo§r: 67, 97, -1, null, \"Holmium\", \"Ho\", false\n §l○ §c§lEr§r: 68, 99, -1, null, \"Erbium\", \"Er\", false\n §l○ §c§lTm§r: 69, 99, -1, null, \"Thulium\", \"Tm\", false\n §l○ §c§lYb§r: 70, 103, -1, null, \"Ytterbium\", \"Yb\", false\n §l○ §c§lLu§r: 71, 103, -1, null, \"Lutetium\", \"Lu\", false\n §l○ §c§lHf§r: 72, 106, -1, null, \"Hafnium\", \"Hf\", false\n §l○ §c§lTa§r: 73, 107, -1, null, \"Tantalum\", \"Ta\", false\n §l○ §c§lW§r: 74, 109, -1, null, \"Tungsten\", \"W\", false\n §l○ §c§lRe§r: 75, 111, -1, null, \"Rhenium\", \"Re\", false\n §l○ §c§lOs§r: 76, 114, -1, null, \"Osmium\", \"Os\", false\n §l○ §c§lIr§r: 77, 115, -1, null, \"Iridium\", \"Ir\", false\n §l○ §c§lPt§r: 78, 117, -1, null, \"Platinum\", \"Pt\", false\n §l○ §c§lAu§r: 79, 117, -1, null, \"Gold\", \"Au\", false\n §l○ §c§lHg§r: 80, 120, -1, null, \"Mercury\", \"Hg\", false\n §l○ §c§lTl§r: 81, 123, -1, null, \"Thallium\", \"Tl\", false\n §l○ §c§lPb§r: 82, 125, -1, null, \"Lead\", \"Pb\", false\n §l○ §c§lBi§r: 83, 125, -1, null, \"Bismuth\", \"Bi\", false\n §l○ §c§lPo§r: 84, 124, -1, null, \"Polonium\", \"Po\", false\n §l○ §c§lAt§r: 85, 124, -1, null, \"Astatine\", \"At\", false\n §l○ §c§lRn§r: 86, 134, -1, null, \"Radon\", \"Rn\", false\n §l○ §c§lFr§r: 87, 134, -1, null, \"Francium\", \"Fr\", false\n §l○ §c§lRa§r: 88, 136, -1, null, \"Radium\", \"Ra\", false\n §l○ §c§lAc§r: 89, 136, -1, null, \"Actinium\", \"Ac\", false\n §l○ §c§lTh§r: 90, 140, -1, null, \"Thorium\", \"Th\", false\n §l○ §c§lPa§r: 91, 138, -1, null, \"Protactinium\", \"Pa\", false\n §l○ §c§lU§r: 92, 146, -1, null, \"Uranium\", \"U\", false\n §l○ §c§lU238§r: 92, 146, -1, null, \"Uranium-238\", \"U-238\", false\n §l○ §c§lU235§r: 92, 143, -1, null, \"Uranium-235\", \"U-235\", true\n §l○ §c§lNp§r: 93, 144, -1, null, \"Neptunium\", \"Np\", false\n §l○ §c§lPu§r: 94, 152, -1, null, \"Plutonium\", \"Pu\", false\n §l○ §c§lPu239§r: 94, 145, -1, null, \"Plutonium-239\", \"Pu-239\", false\n §l○ §c§lPu241§r: 94, 149, -1, null, \"Plutonium-241\", \"Pu-241\", true\n §l○ §c§lAm§r: 95, 150, -1, null, \"Americium\", \"Am\", false\n §l○ §c§lCm§r: 96, 153, -1, null, \"Curium\", \"Cm\", false\n §l○ §c§lBk§r: 97, 152, -1, null, \"Berkelium\", \"Bk\", false\n §l○ §c§lCf§r: 98, 153, -1, null, \"Californium\", \"Cf\", false\n §l○ §c§lEs§r: 99, 153, -1, null, \"Einsteinium\", \"Es\", false\n §l○ §c§lFm§r: 100, 157, -1, null, \"Fermium\", \"Fm\", false\n §l○ §c§lMd§r: 101, 157, -1, null, \"Mendelevium\", \"Md\", false\n §l○ §c§lNo§r: 102, 157, -1, null, \"Nobelium\", \"No\", false\n §l○ §c§lLr§r: 103, 159, -1, null, \"Lawrencium\", \"Lr\", false\n §l○ §c§lRf§r: 104, 161, -1, null, \"Rutherfordium\", \"Rf\", false\n §l○ §c§lDb§r: 105, 163, -1, null, \"Dubnium\", \"Db\", false\n §l○ §c§lSg§r: 106, 165, -1, null, \"Seaborgium\", \"Sg\", false\n §l○ §c§lBh§r: 107, 163, -1, null, \"Bohrium\", \"Bh\", false\n §l○ §c§lHs§r: 108, 169, -1, null, \"Hassium\", \"Hs\", false\n §l○ §c§lMt§r: 109, 167, -1, null, \"Meitnerium\", \"Mt\", false\n §l○ §c§lDs§r: 110, 171, -1, null, \"Darmstadtium\", \"Ds\", false\n §l○ §c§lRg§r: 111, 169, -1, null, \"Roentgenium\", \"Rg\", false\n §l○ §c§lCn§r: 112, 173, -1, null, \"Copernicium\", \"Cn\", false\n §l○ §c§lNh§r: 113, 171, -1, null, \"Nihonium\", \"Nh\", false\n §l○ §c§lFl§r: 114, 175, -1, null, \"Flerovium\", \"Fl\", false\n §l○ §c§lMc§r: 115, 173, -1, null, \"Moscovium\", \"Mc\", false\n §l○ §c§lLv§r: 116, 177, -1, null, \"Livermorium\", \"Lv\", false\n §l○ §c§lTs§r: 117, 177, -1, null, \"Tennessine\", \"Ts\", false\n §l○ §c§lOg§r: 118, 176, -1, null, \"Oganesson\", \"Og\", false\n §l○ §c§lTr§r: 119, 178, -1, null, \"Tritanium\", \"Tr\", false\n §l○ §c§lDr§r: 120, 180, -1, null, \"Duranium\", \"Dr\", false\n §l○ §c§lKe§r: 125, 198, -1, null, \"Trinium\", \"Ke\", false\n §l○ §c§lNq§r: 174, 352, 140, null, \"Naquadah\", \"Nq\", true\n §l○ §c§lNq1§r: 174, 354, 140, null, \"NaquadahEnriched\", \"Nq+\", true\n §l○ §c§lNq2§r: 174, 348, 140, null, \"Naquadria\", \"*Nq*\", true\n §l○ §c§lNt§r: 0, 1000, -1, null, \"Neutronium\", \"Nt\", false\n §l○ §c§lAd§r: 750, 1000, -1, null, \"Adamantium\", \"Ad\", false\n §l○ §c§lVb§r: 850, 900, -1, null, \"Vibranium\", \"Vb\", false\n §l○ §c§lTn§r: 550, 670, -1, null, \"Taranium\", \"Tn\", false"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ct",
+ "content": [
+ "§lElements.add§r: §o§nElements.add(long protons, long neutrons, long halfLifeSeconds, String decayTo, String name, String symbol, boolean isIsotope)§r \nAdd a new element.\n\n§lElements.get§r: §o§nElements.get(String name)§r \nGet the element by name."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Elements§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0Au§r§5 §r§5\u003d§r§5 §r§0Elements§r§5.§r§0get§r§5(§r§0Au§r§5)§r§5;§r§5 §r§8// get an existing element.§r§5\n§r§9var§r§5 §r§0name§r§5 §r§5\u003d§r§5 §r§0Au§r§5.§r§0name§r§5;§r§5 §r§8// \"Gold\"§r§5\n§r§9var§r§5 §r§0symbol§r§5 §r§5\u003d§r§5 §r§0Au§r§5.§r§0symbol§r§5;§r§5 §r§8// \"Au\"§r§5\n§r§9var§r§5 §r§0protons§r§5 §r§5\u003d§r§5 §r§0Au§r§5.§r§0protons§r§5 §r§8// 79§r§5\n§r§9var§r§5 §r§0neutrons§r§5 §r§5\u003d§r§5 §r§0Au§r§5.§r§0neutrons§r§8// 117§r§5\n§r§9var§r§5 §r§0mass§r§5 §r§5\u003d§r§5 §r§0Au§r§5.§r§0mass§r§5 §r§8// 196§r§5\n§r§5\n§r§9var§r§5 §r§0CEu§r§5 §r§5\u003d§r§5 §r§0Elements§r§5.§r§0add§r§5(§r§c999§r§5,§r§5 §r§c999§r§5,§r§5 §r§5-§r§c1§r§5,§r§5 §r§cnull§r§5,§r§5 §r§2\"GTCEu\"§r§5,§r§5 §r§2\"CEu\"§r§5,§r§5 §r§cfalse§r§5)§r§5;§r§5 §r§8// create a new element.§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0element§r§5(§r§2\"CEu\"§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5 §r§8// register my element.§r§5\n§r"
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/03_flag.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/03_flag.json
new file mode 100644
index 0000000..e739ce1
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/03_flag.json
@@ -0,0 +1,148 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "MaterialFlag",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "The §lMaterialFlag§r refers to some additional features it has.\n\nAvailable MaterialFlag are: "
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "element",
+ "content": [
+ "§r§4§ogeneric:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ " §l○ §n\"no_unification\"§r: Add to material to disable it\u0027s unification fully todo implement.\n §l○ §n\"decomposition_requires_hydrogen\"§r: Decomposition recipe requires hydrogen as additional input. Amount is equal to input amount.\n §l○ §n\"decomposition_by_electrolyzing\"§r: Enables electrolyzer decomposition recipe generation.\n §l○ §n\"decomposition_by_centrifuging\"§r: Enables centrifuge decomposition recipe generatio.\n §l○ §n\"disable_decomposition\"§r: Disables decomposition recipe generation for this material and all materials that has it as component.\n §l○ §n\"explosive\"§r: Add to material if it is some kind of explosive.\n §l○ §n\"flammable\"§r: Add to material if it is some kind of flammable."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ct",
+ "content": [
+ "§4§oGenerate a plate for this material If it\u0027s dust material, dust compressor recipe into plate will be generated If it\u0027s metal material, bending machine recipes will be generated If block is found, cutting machine recipe will be also generated:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"generate_plate\"§r, §n\"generate_rod\"§r, §n\"generate_frame\"§r, §n\"generate_gear\"§r, §n\"generate_long_rod\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§4§oThis will prevent material from creating Shapeless recipes for dust to block and vice versa Also preventing extruding and alloy smelting recipes via SHAPE_EXTRUDING/MOLD_BLOCK:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"exclude_block_crafting_recipes\"§r, §n\"exclude_plate_compressor_recipe\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§4§oThis will prevent material from creating Shapeless recipes for dust to block and vice versa:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"exclude_block_crafting_by_hand_recipes\"§r, §n\"mortar_grindable\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§4§oAdd to material if it cannot be worked by any other means, than smashing or smelting. This is used for coated Materials:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"no_working\"§r, §n\"no_smashing\"§r, §n\"no_smelting\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§4§oAdd this to your Material if you want to have its Ore Calcite heated in a Blast Furnace for more output. Already listed are: Iron, Pyrite, PigIron, WroughtIron:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"blast_furnace_calcite_double\"§r, §n\"blast_furnace_calcite_triple\"§r, §n\"generate_foil\"§r, §n\"generate_bolt_screw\"§r, §n\"generate_ring\"§r, §n\"generate_spring\"§r, §n\"generate_spring_small\"§r, §n\"generate_small_gear\"§r, §n\"generate_fine_wire\"§r, §n\"generate_rotor\"§r, §n\"generate_dense\"§r, §n\"generate_round\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§4§oIf this material can be crystallized:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§n\"crystallizable\"§r, §n\"generate_lens\"§r, §n\"high_sifter_output\"§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/04_icon_set.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/04_icon_set.json
new file mode 100644
index 0000000..f0749c2
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/04_icon_set.json
@@ -0,0 +1,59 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "MaterialIconSet",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "The §lMaterialIconSet§r will determine the appearance of the material."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "element",
+ "content": [
+ "§rAvailable MaterialIconSet are:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§l\"NONE\", \"METALLIC\", \"DULL\", \"MAGNETIC\", \"QUARTZ\", \"DIAMOND\", \"EMERALD\", \"SHINY\", \"ROUGH\", \"FINE\", \"SAND\", \"FLINT\", \"RUBY\", \"LAPIS\", \"FLUID\", \"GAS\", \"LIGNITE\", \"OPAL\", \"GLASS\", \"WOOD\", \"GEM_HORIZONTAL\", \"GEM_VERTICAL\", \"PAPER\", \"NETHERSTAR\", \"BRIGHT\"§r."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ct",
+ "content": [
+ "For example, the following figure shows the appearance of ores with different Materialiconsets."
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/143435701-058dcfea-ea35-4976-a7ba-7901fa791e36.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/05_create.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/05_create.json
new file mode 100644
index 0000000..feaa04e
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/05_create.json
@@ -0,0 +1,257 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "Create a Material",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "You can help create a Material by the §lMaterialBuilder§r.\n\n§lContents:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "bui",
+ "content": [
+ "1. §9MaterialBuilder"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "pro",
+ "content": [
+ "2. §9Material Properties"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ico",
+ "content": [
+ "3. §9Material IconSet"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "com",
+ "content": [
+ "4. §9Material Component"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fla",
+ "content": [
+ "5. §9Material Flag"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ele",
+ "content": [
+ "6§r. §9Material Element"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lMaterialBuilder"
+ ],
+ "ref": "bui"
+ },
+ {
+ "type": "textbox",
+ "ref": "element",
+ "content": [
+ "§o§nMaterialBuilder(String materialName)§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5\n"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "pro",
+ "content": [
+ "§lMaterial Properties"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lcolor§r: §o§ncolor(int color)§r\nSet the Color of this Material. Defaults to 0xFFFFFF unless §ncolorAverage()§r.\n\n§lcolorAverage§r: §o§ncolorAverage(int color)§r\nColor will be a weighted average of the components of the Material.\n\n§lFluid§r: §o§nfluid(@Optional String type, @Optional boolean hasBlock)§r\nAdd a FluidProperty to this Material.\n §l○§r type – The Material.FluidType of this Material, either \"fluid\" or \"gas\".\n §l○§r hasBlock – If true, create a Fluid Block for this Material.\n\n§lplasma§r: §o§nplasma()§r \nAdd a PlasmaProperty to this Material.\n §l○§r type – The Material.FluidType of this Material, either \"fluid\" or \"gas\".\n §l○§r hasBlock – If true, create a Fluid Block for this Material.\n\n§ldust§r: §o§ndust(@Optional int harvestLevel, @Optional int burnTime)§r \nAdd a DustProperty to this Material.\n §l○§r harvestLevel – The Harvest Level of this block for Mining. If this Material also has a ToolProperty, this value will also be used to determine the tool\u0027s Mining Level.\n §l○§r burnTime – The Burn Time (in ticks) of this Material as a Furnace Fuel.\n\n§lingot§r: §o§ningot(@Optional int harvestLevel, @Optional int burnTime)§r \nAdd an IngotProperty to this Material.\n §l○§r harvestLevel – The Harvest Level of this block for Mining. If this Material also has a ToolProperty, this value will also be used to determine the tool\u0027s Mining level. If this Material already had a Harvest Level defined, it will be overridden.\n §l○§r burnTime – The Burn Time (in ticks) of this Material as a Furnace Fuel. If this Material already had a Burn Time defined, it will be overridden.\n\n§lgem§r: §o§ngem(@Optional int harvestLevel, @Optional int burnTime)§r \nAdd a GemProperty to this Material.\n §l○§r harvestLevel – The Harvest Level of this block for Mining. If this Material also has a ToolProperty, this value will also be used to determine the tool\u0027s Mining level. If this Material already had a Harvest Level defined, it will be overridden.\n §l○§r burnTime – The Burn Time (in ticks) of this Material as a Furnace Fuel. If this Material already had a Burn Time defined, it will be overridden.\n\n§ltoolStats§r: §o§ntoolStats(float speed, float damage, int durability, int enchantability)§r \nSet the stat for tools which are made from this Material.\n §l○§r speed – Speed.\n §l○§r damage – Attack damage.\n §l○§r durability – Durability of tools.\n §l○§r enchantability – Enchantability of tools.\n\n§lblastTemp§r: §o§nblastTemp(int temp)§r \nBlast Furnace Temperature of this Material. If below 1000K, Primitive Blast Furnace recipes will be also added. If above 1750K, a Hot Ingot and its Vacuum Freezer recipe will be also added.\n\nIf a Material with this Property has a Fluid, its temperature will be set to this if it is the default Fluid temperature.\n §l○§r temp – Temperature.\n\n§lore§r: §o§nore(@Optional int oreMultiplier, @Optional int byproductMultiplier, @Optional boolean emissive)§r \nAdd ore blocks of this Material.\n §l○§r oreMultiplier – Crushed Ore output amount multiplier during Maceration. Default: 1 (no multiplier).\n §l○§r byproductMultiplier – Byproducts output amount multiplier during Maceration. Default: 1 (no multiplier).\n §l○§r emissive – Should ore block use the emissive texture. Default: false.\n\nEmissive ore as follow:"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/143446969-80de6354-ad12-4170-81f5-071d6c0bb7cd.png",
+ "width": 190,
+ "height": 110
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lwashedIn§r: §o§nwashedIn(String materialName, @Optional int washedAmount)§r \n\n§lwashedIn§r: §o§nwashedIn(Material material, @Optional int washedAmount)§r \nSet washing product of this Material (must has the ore property).\n §l○§r material – material.\n §l○§r washedAmount – amount.\n\n§lseparatedInto§r: §o§nseparatedInto(String... materialNames)§r \n\n§lseparatedInto§r: §o§nseparatedInto(Material... materials)§r \nSet separated products of this Material (must has the ore property).\n §l○§r materials – separated materials.\n\n§laddOreByproducts§r: §o§naddOreByproducts(String... materialNames)§r \n\n§laddOreByproducts§r: §o§naddOreByproducts(Material... materials)§r \nSet ore byproducts of this Material (must has the ore property).\n §l○§r materials – separated materials.\n\n§loreSmeltInto§r: §o§noreSmeltInto(String materialName)§r \n\n§loreSmeltInto§r: §o§noreSmeltInto(Material material)§r \nSet smelt product of this Material (must has the ore property).\n §l○§r material – material.\n\n§lpolarizesInto§r: §o§npolarizesInto(String materialName)§r \n\n§lpolarizesInto§r: §o§npolarizesInto(Material material)§r \nSet polarizes product of this Material (must has the ore property).\n §l○§r material – material.\n\n§larcSmeltInto§r: §o§narcSmeltInto(String materialName)§r \n\n§larcSmeltInto§r: §o§narcSmeltInto(Material material)§r \nSet arcSmelt product of this Material (must has the ore property).\n §l○§r material – material.\n\n§lmacerateInto§r: §o§nmacerateInto(String materialName)§r \n\n§lmacerateInto§r: §o§nmacerateInto(Material material)§r \nSet macerate product of this Material (must has the ore property).\n §l○§r material – material.\n\n§lingotSmeltInto§r: §o§ningotSmeltInto(String materialName)§r \n\n§lingotSmeltInto§r: §o§ningotSmeltInto(Material material)§r \nSet ingotSmelt product of this Material (must has the ore property).\n §l○§r material – material.\n\n§lfluidTemp§r: §o§nfluidTemp(int temp)§r \nSet the temperature of the fluid of this Material (must has the fluid property).\n §l○§r temp – temperature.\n\n§lcableProperties§r: §o§ncableProperties(long voltage, int amperage, int loss, @Optional boolean isSuperCon)§r \nAdd a cables and wires of this Material.\n §l○§r voltage – voltage.\n §l○§r amperage – amperage.\n §l○§r loss – loss.\n §l○§r isSuperCon – isSuperCon.\n\n§lfluidPipeProperties§r: §o§nfluidPipeProperties(int maxTemp, int throughput, boolean gasProof)§r \nAdd fluid pipes of this Material.\n §l○§r maxTemp – max acceptable temperature.\n §l○§r throughput – §l//TODO§r.\n §l○§r gasProof – §l//TODO§r.\n\n§litemPipeProperties§r: §o§nitemPipeProperties(int priority, float stacksPerSec)§r \nAdd item pipes of this Material.\n §l○§r priority – Items will try to take the path with the lowest priority.\n §l○§r stacksPerSec – rate in stacks per sec.\n\n§laddDefaultEnchant§r: §o§naddDefaultEnchant(IEnchantment enchantment)§r \nAdd Default Enchant of this Material.\n §l○§r enchantment – enchantment."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialRegistry§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0gold§r§5 §r§5\u003d§r§5 §r§0MaterialRegistry§r§5(§r§2\"gold\"§r§5)§r§5\n§r§9var§r§5 §r§0copper§r§5 §r§5\u003d§r§5 §r§0MaterialRegistry§r§5(§r§2\"copper\"§r§5)§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5 §r§8// name§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0color§r§5(§r§5-§r§c1§r§5)§r§5 §r§8// white§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0fluid§r§5(§r§2\"gas\"§r§5,§r§5 §r§cfalse§r§5)§r§5 §r§8// gas without block§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0dust§r§5(§r§5)§r§5 §r§8// has dust§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0ingot§r§5(§r§5)§r§5 §r§8// has ingot§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0toolStats§r§5(§r§c10§r§5,§r§5 §r§c3§r§5,§r§5 §r§c256§r§5,§r§5 §r§c21§r§5)§r§5 §r§8// tool stats§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0blastTemp§r§5(§r§c1000§r§5)§r§5 §r§8// EBF temperature§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0ore§r§5(§r§5)§r§5 §r§8// has ore blocks§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0addOreByproducts§r§5(§r§0gold§r§5,§r§5 §r§0copper§r§5)§r§5 §r§8// add byproducts§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0cableProperties§r§5(§r§c0§r§5,§r§5 §r§c2§r§5,§r§5 §r§c0§r§5,§r§5 §r§ctrue§r§5)§r§5 §r§8// add cables§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5.§r§0build§r§5(§r§5)§r§5;§r§5\n"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ico",
+ "content": [
+ "§lMaterial IconSet"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§liconSet§r: §o§niconSet(String iconSet)§r \nSet the MaterialIconSet of this Material. Defaults vary depending on if the Material has a: \n §l○§r §nGemProperty§r, it will default to §l\"GEM_VERTICAL\"§r\n §l○§r §nIngotProperty§r or §nDustProperty§r, it will default to §l\"DULL\"§r\n §l○§r §nFluidProperty§r, it will default to either §l\"FLUID\"§r or §l\"GAS\"§r, depending on the FluidType\n §l○§r §nPlasmaProperty§r, it will default to §l\"FLUID\"§r\n\nDefault will be determined by first-found Property in this order, unless specified."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0iconSet§r§5(§r§2\"QUARTZ\"§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5\n§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "com",
+ "content": [
+ "§lComponent"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "The §lComponent§r refers to compositions of the material. \nFor example, the compositions of the §lSugar§r are §n2*Carbon§r, §n5*Water§r, and §n25*Oxygen§r. That would affect its chemical formula:"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/143438573-cd2e9078-744d-4861-a00c-1e9fc5ccd32a.png",
+ "width": 110,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lcomponents§r: §o§ncomponents(MaterialStack[] components)§r \nSet the compositions of the material.\n §l○§r components - compositions."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialStack§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialRegistry§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0carbonMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialRegistry§r§5.§r§0get§r§5(§r§2\"carbon\"§r§5)§r§5;§r§5\n§r§9var§r§5 §r§0oxygenMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialRegistry§r§5.§r§0get§r§5(§r§2\"oxygen\"§r§5)§r§5;§r§5\n§r§5\n§r§0val§r§5 §r§0compositions§r§5 §r§0as§r§5 §r§0MaterialStack§r§5[§r§5]§r§5 §r§5\u003d§r§5 §r§5[§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§0carbonMaterial§r§5 §r§5*§r§5 §r§c2§r§5,§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§5 §r§0oxygenMaterial§r§5 §r§5*§r§5 §r§c3§r§5,§r§5\n§r§5 §r§5 §r§5 §r§5 §r§5]§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0components§r§5(§r§0compositions§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5\n§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fla",
+ "content": [
+ "§lMaterial Flag"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lflags§r: §o§nflags(String... names)§r \nAdd MaterialFlags to this Material.\n §l○§r names - names of specific MaterialFlags."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0flags§r§5(§r§2\"generate_rod\"§r§5,§r§5 §r§2\"generate_foil\"§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5\n§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ele",
+ "content": [
+ "§lElement"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lelement§r: §o§nelement(String elementName)§r \nSet the element of this Material.\n §l○§r elementName - names of the element."
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialBuilder§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Elements§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0CEu§r§5 §r§5\u003d§r§5 §r§0Elements§r§5.§r§0add§r§5(§r§c999§r§5,§r§5 §r§c999§r§5,§r§5 §r§5-§r§c1§r§5,§r§5 §r§cnull§r§5,§r§5 §r§2\"GTCEu\"§r§5,§r§5 §r§2\"CEu\"§r§5,§r§5 §r§cfalse§r§5)§r§5;§r§5 §r§8// create a new element.§r§5\n§r§5\n§r§9var§r§5 §r§0myMaterial§r§5 §r§5\u003d§r§5 §r§0MaterialBuilder§r§5(§r§2\"my_material\"§r§5)§r§5.§r§0element§r§5(§r§2\"CEu\"§r§5)§r§5.§r§0build§r§5(§r§5)§r§5;§r§5 §r§8// register my element.§r§5\n§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/06_modify.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/06_modify.json
new file mode 100644
index 0000000..f9e1dee
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/material/06_modify.json
@@ -0,0 +1,81 @@
+{
+ "section": "CraftTweaker/Material",
+ "title": "Modify Existing Materials",
+ "stream": [
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "You can get Materials by the §lMaterialRegistry§r."
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "element",
+ "content": [
+ "1. §9Getters"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ct",
+ "content": [
+ "2. §9Setters"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "element",
+ "content": [
+ "§c§lGetters:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ " §l○§r §o§nMaterialRegistry.get(String materialName)§r get §nMaterial§r by name.\n\n §l○§r §o§nMaterialRegistry.getAllMaterials()§r get §nMaterial§r List.\n\n §l○§r §o§ngetChemicalFormula()§r get default formula.\n\n §l○§r §o§nmaterialRGB§r get default materialRGB.\n\n §l○§r §o§nradioactive§r get default radioactive.\n\n §l○§r §o§nprotons§r get default protons.\n\n §l○§r §o§nneutrons§r get default neutrons.\n\n §l○§r §o§nmass§r get default mass.\n\n §l○§r §o§naverageProtons§r get default averageProtons.\n\n §l○§r §o§naverageNeutrons§r get default averageNeutrons.\n\n §l○§r §o§naverageMass§r get default averageMass.\n\n §l○§r §o§nblastTemperature§r get default blastTemperature.\n\n §l○§r §o§ncamelCaseName§r get default camelCaseName.\n\n §l○§r §o§nunlocalizedName§r get default unlocalizedName.\n\n §l○§r §o§nlocalizedName§r get default localizedName.\n\n §l○§r §o§nname§r get default name."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ct",
+ "content": [
+ "§c§lSetters:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ " §l○§r §o§nsetFormula(String formula, @Optional boolean withFormatting)§r Set the formula of this Material.\n\n §l○§r §o§naddFlags(String... names)§r Add additional flags to this Material.\n\n §l○§r §o§nsetMaterialRGB(int materialRGB)§r Set the color of this Material.\n\n §l○§r §o§nsetFormula(String formula, @Optional boolean withFormatting)§r Set the formula of this Material."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"
+ ]
+ },
+ {
+ "type": "textbox",
+ "stroke": 687800320,
+ "stroke_width": 3,
+ "fill": 687800320,
+ "content": [
+ "§5\n§r§8#loader gregtech§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0MaterialRegistry§r§5;§r§5\n§r§9import§r§5 §r§0mods§r§5.§r§0gregtech§r§5.§r§0material§r§5.§r§0Material§r§5;§r§5\n§r§5\n§r§9var§r§5 §r§0gold§r§5 §r§5\u003d§r§5 §r§0MaterialRegistry§r§5.§r§0get§r§5(§r§2\"gold\"§r§5)§r§5;§r§5\n§r§9var§r§5 §r§0name§r§5 §r§5\u003d§r§5 §r§0gold§r§5.§r§0name§r§5;§r§5 §r§8// \"gold\"§r§5\n§r§9var§r§5 §r§0color§r§5 §r§5\u003d§r§5 §r§0gold§r§5.§r§0materialRGB§r§5;§r§5 §r§8// 0xFFE650§r§5\n§r§0gold§r§5.§r§0setFormula§r§5(§r§2\"AggA\"§r§5)§r§5;§r§5 §r§8// set formula§r§5\n§r§9var§r§5 §r§0formula§r§5 §r§5\u003d§r§5 §r§0gold§r§5.§r§0getChemicalFormula§r§5(§r§5)§r§5;§r§5 §r§8// \"AggA\"§r§5\n§r§0gold§r§5.§r§0addFlag§r§5(§r§2\"generate_long_rod\"§r§5,§r§5 §r§2\"generate_gear\"§r§5)§r§5;§r§5 §r§8// add gold long rod, add gold gear§r§5\n§r"
+ ]
+ }
+ ],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/terminal/ct_terminal_01.json b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/terminal/ct_terminal_01.json
new file mode 100644
index 0000000..b1cdd3a
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/crafttweaker/terminal/ct_terminal_01.json
@@ -0,0 +1,107 @@
+{
+ "section": "CraftTweaker/Terminal",
+ "title": "CraftTweaker of Terminal",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "Content:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§1§lURL:§r§n https://github.com/Gregicality/GregTech/wiki/CraftTweaker-of-Terminal"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "api",
+ "isShadow": false,
+ "content": [
+ "§4§lAPI:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "1. §1registerDevice(deviceItemStack, deviceName)§0:\nRegister the custon device.\n\n2. §1createAppRegistryBuilder(appName):\n§0Create the registryBuilder according to the app name (found in the store app).\n\n3. §1isDefaultApp(default):\n§0Make it as a default app.\n\n4. §1battery(euTier, cost):\n§0Set battery requirements for all tier.\n\n5. §1battery(appTier, euTier, cost):\n§0Set battery requirements for the specific tier.\n\n6. §1device(deviceName...):\n§0Set device requirements for all tier. (available by default: \"scanner\", \"wireless\", \"camera\", \"solar_lv\").\n\n7. §1device(appTier, device...):\n§0Set device requirements for the specific tier.\n\n8. §1upgrade(upgradeItemStack...):\n§0Set upgrade requirements for all tier.\n\n9. §1upgrade(appTier, upgradeItemStack...):\n§0Set upgrade requirements for the specific tier.\n\n10. §1build():\n§0finish and register."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "demo",
+ "space": 1,
+ "content": [
+ "\n§4§lZS Demo:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fill": -912478525,
+ "fontSize": 9,
+ "content": [
+ "import mods.gregtech.TerminalRegistry;\n\nTerminalRegistry.registerDevice(\u003core:ingotIron\u003e.firstItem, \"ingot_iron\");\n\nTerminalRegistry.createAppRegistryBuilder(\"ore_prospector\")\n .isDefaultApp(true)\n .battery(1, 500)\n .battery(3, 3, 1000)\n .device(\"camera\", \"wireless\")\n .device(4, \"ingot_iron\")\n .upgrade(\u003cminecraft:apple\u003e * 9)\n .upgrade(2, \u003cminecraft:apple\u003e * 9, \u003cminecraft:grass\u003e * 12)\n .build();"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "§4§lResult:\n§rCustom Device"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280593-37922838-4a20-4e1b-9be9-73935c4c8c13.png",
+ "width": 190,
+ "height": 120
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "Register Battery, Device, and Upgrade"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280587-84dc8f67-6dde-472f-9ed8-6a4c5e71abc4.png",
+ "width": 190,
+ "height": 120
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280590-d4700a88-5780-4e0f-95f8-130e82f4634a.png",
+ "width": 190,
+ "height": 120
+ }
+ ],
+ "fixed": [
+ {
+ "type": "textbox",
+ "x": 49,
+ "y": 40,
+ "width": 16,
+ "height": 10,
+ "link": "api",
+ "content": [
+ "§9§napi"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 67,
+ "y": 40,
+ "width": 25,
+ "height": 10,
+ "link": "demo",
+ "content": [
+ "§9§ndemo"
+ ]
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_0_guidepage.json b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_0_guidepage.json
new file mode 100644
index 0000000..8fe3a94
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_0_guidepage.json
@@ -0,0 +1,148 @@
+{
+ "section": "Guide Widget Api",
+ "title": "Guide Page",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "In this page we'll learn how to write a guide page.",
+ "-------------------------------",
+ "Let's take a look at an example config file for a guide page.",
+ "§lJSON§r:",
+ "{",
+ " \"section\": \"section name here\",",
+ " \"title\": \"title here\",",
+ " \"stream\": [",
+ " {",
+ " \"type\": \"textbox\",",
+ " \"content\": [\"TextBox widget\"]",
+ " }",
+ " ],",
+ " \"fixed\": [",
+ " {",
+ " \"x\": 50,",
+ " \"y\": 100,",
+ " \"width\": 150,",
+ " \"height\": 40,",
+ " \"type\": 0,",
+ " \"content\": [\"TextBox widget\"]",
+ " }",
+ " ]",
+ "}",
+ "-------------------------------",
+ "§lContents§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "section",
+ "content": [
+ " 1.§nsection§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "title",
+ "content": [
+ " 2.§ntitle§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stream",
+ "content": [
+ " 3.§nstream§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fixed",
+ "content": [
+ " 4.§nfixed§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "section",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nsection§r (§4required§r)",
+ "§ltype§r: String",
+ "§lillustrate§r: Specifies which section of the application the page belongs to.",
+ "The application automatically merges pages of the same section name and builds a directory tree."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "title",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §ntitle§r (§4required§r)",
+ "§ltype§r: String",
+ "§lillustrate§r: The page title."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "stream",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nstream§r (§4required§r)",
+ "§ltype§r: Array",
+ "§lillustrate§r: Widgets in streaming layout. You don't need to care the position and size of widgets in stream, all typography will be done automatically."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fixed",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nfixed§r (§4required§r)",
+ "§ltype§r: Array",
+ "§lillustrate§r: Widgets in fixed layout. You need to specify the position and size of each widget."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: fixed and stream"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "hover_text": ["stream widget"],
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "image",
+ "x": 30,
+ "y": 800,
+ "stroke": 4278190335,
+ "hover_text": ["fixed widget", "\"x\": 30","\"y\": 800","\"width\": 100","\"width\": 100"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_1_widget.json b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_1_widget.json
new file mode 100644
index 0000000..7d8d23b
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_1_widget.json
@@ -0,0 +1,304 @@
+{
+ "section": "Guide Widget Api",
+ "title": "Guide Widget",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "In this page we'll learn what is §4§lGuide Widget§r, and its public attributes.",
+ "Widgets are rendered in the Guide Page, which is the basis for your custom pages. §nTextbox§r, §nImage§r, etc",
+ "To use it, just add the related JSON code under the §l\"fixed\"§r or §l\"stream\"§r.",
+ "There are some attributes effects (styles) that are valid for all widgets",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"type here\",",
+ " \"x\": 50,",
+ " \"y\": 100,",
+ " \"width\": 150,",
+ " \"height\": 40,",
+ " \"ref\": \"ref\",",
+ " \"stroke\": 0,",
+ " \"stroke_width\": 1,",
+ " \"fill\": 0,",
+ " \"link\": \"ref\"",
+ " \"hover_text\": [\"text here\"]",
+ "}",
+ "-------------------------------",
+ "§lContents§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "type",
+ "content": [
+ " 1.§ntype§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "xywh",
+ "content": [
+ " 2.§nx, y, width, height§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ref",
+ "content": [
+ " 3.§nref§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fill",
+ "content": [
+ " 4.§nfill§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stroke",
+ "content": [
+ " 5.§nstroke§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stroke_width",
+ "content": [
+ " 6.§nstroke_width§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "link",
+ "content": [
+ " 7.§nlink§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "hover",
+ "content": [
+ " 8.§nhover_text§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "type",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §ntype§r (§4required§r)",
+ "§ltype§r: String",
+ "§lillustrate§r: This is the unique id of the widget. See the API documentation for each widget."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "xywh",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nx, y, width, height§r (§4optional§r)",
+ "§ltype§r: Integer",
+ "§lillustrate§r: The position and size of the widget. In a stream layout, you usually don't need to set it (the image widget needs to set width and height). Under fixed layout you must set these four attributes."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ref",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nref§r (§4optional§r)",
+ "§ltype§r: String",
+ "§ldefault§r: null",
+ "§lillustrate§r: This is a tag of this widget. The ref should be unique on the same page."
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fill",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nfill§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 0",
+ "§lillustrate§r: The background color."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: 4278190335 (0xFF0000FF)"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4278190335,
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "stroke",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nstroke§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 0",
+ "§lillustrate§r: The border color."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: 4278190335 (0xFF0000FF)"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "stroke": 4278190335,
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "ref": "stroke_width",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nstroke_width§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 1",
+ "§lillustrate§r: The border width."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: 5"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "stroke": 4278190335,
+ "stroke_width": 5,
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "ref": "link",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nlink§r (§6optional§r)",
+ "§ltype§r: String",
+ "§ldefault§r: null",
+ "§lillustrate§r: Click to jump to the specified location. Need to be used with ref, target is ref."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"P2\""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4286430975,
+ "hover_text": ["\"ref\": \"P1\""],
+ "ref": "P1",
+ "link": "P2",
+ "content": ["Click Me!"]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"P1\""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4286430975,
+ "hover_text": ["\"ref\": \"P2\""],
+ "ref": "P2",
+ "link": "P1",
+ "content": ["Click Me!"]
+ },
+ {
+ "type": "textbox",
+ "ref": "hover",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nhover_text§r (§6optional§r)",
+ "§ltype§r: Array",
+ "§ldefault§r: null",
+ "§lillustrate§r: Displays text when the mouse is over the widget."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: [\"THIS IS\",\"GT ICON\"]"
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["THIS IS","GT ICON"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/gregtech_logo.png",
+ "width": 100,
+ "height": 100
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_2_textbox.json b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_2_textbox.json
new file mode 100644
index 0000000..f67b885
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_2_textbox.json
@@ -0,0 +1,256 @@
+{
+ "section": "Guide Widget Api",
+ "title": "1. TextBox Widget",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "In this page we'll learn how to use the powerful §4§lTextBox§r, which is the most commonly used. So you should read the API documentation carefully.",
+ "-------------------------------",
+ "§lWidget Type§r: §ntextbox§r",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"textbox\",",
+ " \"space\": 1,",
+ " \"fontSize\": 9,",
+ " \"fontColor\": 4278190080,",
+ " \"isCenter\": false,",
+ " \"isShadow\": false,",
+ " \"content\": [\"content here!\"]",
+ "}",
+ "-------------------------------",
+ "§lContents§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "content",
+ "content": [
+ " 1.§ncontent§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "space",
+ "content": [
+ " 2.§nspace§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fontSize",
+ "content": [
+ " 3.§nfontSize§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fontColor",
+ "content": [
+ " 4.§nfontColor§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "isCenter",
+ "content": [
+ " 5.§nisCenter§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "isShadow",
+ "content": [
+ " 6.§nisShadow§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "content",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §ncontent§r (§4required§r)",
+ "§ltype§r: Array",
+ "§lillustrate§r: Text contents, each item will be a newline.Text that is too long will auto wrap itself. (Supporting Minecraft Formatting Code)"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "content": [
+ "§lDemo§r: [...]",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "space",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nspace§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 1",
+ "§lillustrate§r: The spacing between lines of text."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "space": 5,
+ "content": [
+ "§lDemo§r: 5",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "fontSize",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nfontSize§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 9",
+ "§lillustrate§r: The font size. (Actually it's the height of the font)"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "fontSize": 5,
+ "content": [
+ "§lDemo§r: 5",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "fontColor",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nfontColor§r (§6optional§r)",
+ "§ltype§r: Number",
+ "§ldefault§r: 4278190080",
+ "§lillustrate§r: The default color of the content. You can also set the colors with special symbols (provided by Minecraft).But maybe you need it sometimes."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "fontColor": 5,
+ "content": [
+ "§lDemo§r: 4294901760 (0xFFFF0000)",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "isCenter",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nisCenter§r (§6optional§r)",
+ "§ltype§r: Boolean",
+ "§ldefault§r: false",
+ "§lillustrate§r: Text-align center."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "stroke": 4294901760,
+ "content": [
+ "§lDemo§r: false",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "isShadow",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nisShadow§r (§6optional§r)",
+ "§ltype§r: Boolean",
+ "§ldefault§r: false",
+ "§lillustrate§r: Render shadow."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "isShadow": true,
+ "content": [
+ "§lDemo§r: true",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_3_image.json b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_3_image.json
new file mode 100644
index 0000000..39f6d14
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/guide_widget_api/api_3_image.json
@@ -0,0 +1,207 @@
+{
+ "section": "Guide Widget Api",
+ "title": "2. Image Widget",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "In this page we'll learn how to add an §4§lImage§r. There are three different forms of image supported here: §4Url§r, §4Item§r, and §4ResourceLocation§r. Don't worry, it's easy",
+ "-------------------------------",
+ "§lWidget Type§r: §nimage§r",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"image\",",
+ " \"form\": \"Item\",",
+ " \"source\": \"minecraft:ender_pearl\",",
+ " \"width\": 100,",
+ " \"height\": 100",
+ "}",
+ "-------------------------------",
+ "§lContents§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "form",
+ "content": [
+ " 1.§nform§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "source",
+ "content": [
+ " 2.§nsource§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "wh",
+ "content": [
+ " 3.§nwidth, height§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "form",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nform§r (§4required§r)",
+ "§ltype§r: String",
+ "§lillustrate§r: It can only be set one of §4Url§r, §4Item§r, or §4ResourceLocation§r.",
+ " \"url\" -- image url.",
+ " \"item\" -- The registered name of the Item in game.",
+ " \"resource\" -- The resource location."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"url\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["https://z3.ax1x.com/2021/07/29/Wb4Djs.gif"],
+ "form": "url",
+ "source": "https://z3.ax1x.com/2021/07/29/Wb4Djs.gif",
+ "stroke": 4278190080,
+ "stroke_width": 2,
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"item\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"resource\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["gregtech:textures/gui/icon/multiblock_category.png"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/multiblock_category.png",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "source",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nsource§r (§4required§r)",
+ "§ltype§r: String",
+ "§lillustrate§r: The source of the picture. The three images above correspond to the following sources:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"https://z3.ax1x.com/2021/07/29/Wb4Djs.gif\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["https://z3.ax1x.com/2021/07/29/Wb4Djs.gif"],
+ "form": "url",
+ "source": "https://z3.ax1x.com/2021/07/29/Wb4Djs.gif",
+ "stroke": 4278190080,
+ "stroke_width": 2,
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"minecraft:ender_pearl\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"gregtech:textures/gui/icon/multiblock_category.png\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["gregtech:textures/gui/icon/multiblock_category.png"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/multiblock_category.png",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "wh",
+ "content": [
+ "-------------------------------",
+ "",
+ "§lAttr§r: §nwidth, height§r (§4required§r)",
+ "§ltype§r: Integer",
+ "§lillustrate§r: The Size of the picture."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"50, 50\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§lDemo§r: \"100, 50\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 50
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/important_concepts/machine_grid.json b/config/gregtech/terminal/guide/tutorials/en_us/important_concepts/machine_grid.json
new file mode 100644
index 0000000..31aafa4
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/important_concepts/machine_grid.json
@@ -0,0 +1,6 @@
+{
+ "section": "Important Concepts",
+ "title": "Machine Grid",
+ "stream": [],
+ "fixed": []
+} \ No newline at end of file
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/forming_multiblocks.json b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/forming_multiblocks.json
new file mode 100644
index 0000000..e98245d
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/forming_multiblocks.json
@@ -0,0 +1,13 @@
+{
+ "section": "Multiblocks",
+ "title": "Forming Multiblocks",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThis is a Guide to help you form Multiblocks and troubleshoot issues.§r\n\nThere are two really important factors to know when building Multiblocks.\n\n§lCheck the JEI preview:§r This one was probably obvious, but there\u0027s more than just a picture of how the Multiblock looks like! Use your mouse to §drotate§r the preview, §9hover over the parts§r to gain additional informations. The JEI page also contains the amount of blocks to build it. You can also §dright-click§r a block in the preview to get a display of all available blocks in that placement.\n\n\n§lThe JEI preview is a suggestion:§r There is no unique way to form the Multiblock. Most of the time, you have complete freedom for the §9tier of Buses/Hatches§r. And you also have the §dfreedom of placement§r.\n\nTaking the EBF as example, any tier of Energy/Bus/Hatch can be used, and they can be placed anywhere replacing a casing. Fluid Hatches are also optional, though you probably want them to handle recipes with fluid.\n\nAdditionally, you can §dsneak right-click§r the multiblock controller for an §6in-world preview§r, or use the §4Terminal§r\u0027s Multiblock Helper."
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/large_turbine_mechanics.json b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/large_turbine_mechanics.json
new file mode 100644
index 0000000..a967020
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/large_turbine_mechanics.json
@@ -0,0 +1,13 @@
+{
+ "section": "Multiblocks",
+ "title": "Large Turbine Mechanics",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "§oThe Large Turbines are the most complex Multiblock Generators there exists in GTCEu in the present day.§r\n\nLet\u0027s start with the §4drawbacks§r of §3Large Turbines§r:\n§9-§r They work off §cInertia§r, which requires continuous running to achieve maximum Power.\n§9-§r Any excess unconsumed Energy produced will be §cvoided§r. So ideally you want to use large Energy buffers, and possibly control your Turbines with a redstone RS latch type of deal.\n§9-§r They require a §aRotor§r which loses durability over time and eventually §cbreak§r.\n§9-§r A little bit of Math is required to get the expected results.\n\n\nNow, with the §6upsides§r:\n§9-§r They can scale §9Power§r production substancially higher than the base output thanks to tiered §3Rotor Holders§r.\n§9-§r The §aRotor§r can give a huge boost to §dFuel efficiency§r, and §9Power§r production.\n§9-§r Self satisfaction for setting them up properly (yay!).\n\n\n§3Rotor Holders§r above the tier of the §3Large Turbine§r will §6double§r the production for every tier, multiplicatively.\n§3Rotor Holders§r above the tier of the §3Large Turbine§r will increase the efficiency by 10% for every tier, additively.\n\n§aRotors§r have a §9Power§r, §dEfficiency§r and §4Durability§r that are based on tool stats.\n§9Power§r multiplies the production of the §3Turbine§r. This stacks multiplicatively with the §3Rotor Holder§r.\n§dEfficiency§r reduces the fuel consumption. This stacks multiplicatively with the §3Rotor Holder§r.\n§4Durability§r is the lifetime of the §aRotor§r in seconds, when the §3Turbine§r is active.\n\n\n§2§lIn summary:§r\n\nThe §9Power§r output affects both the fuel consumption and the EU/t generation. It is calculated with the following formula:\n§cproduction \u003d baseEUt §l*§r rotorPower §l*§r 2^(rotorHolderTier - turbineTier)§r\n\nThe §dEfficiency§r reduces the fuel consumption, but does not alter the EU/t generation. It is calculated with the following formula:\n§cefficiency \u003d rotorEfficiency §l*§r (1 + 0.1 §l*§r (rotorHolderTier - turbineTier))§r\n\n\n§2§lSome examples:§r\n\nLarge Steam Turbine, with Ultimet Rotor and EV Rotor Holder:\nProduction \u003d 1024 §l*§r 1.60 §l*§r 2 \u003d 3276 EU/t\nEfficiency \u003d 1.30 §l*§r 1.10 \u003d 143%\n(Steam consumption \u003d 4582 L/t, this is above a Titanium Boiler, or a TungstenSteel Boiler with §m70% throttle)\n\nLarge Gas Turbine, with Chrome Rotor and EV Rotor Holder:\nProduction \u003d 4096 §l*§r 1.70 §l*§r 1 \u003d 5325 EU/t\nEfficiency \u003d 1.55 §l*§r 1.00 \u003d 155%\n(The same fuel consumption would produce 3435 EU/t using 6.7 Turbo Gas Turbines)\n\nLarge Plasma Turbine, with HSS-S Rotor and ZPM Rotor Holder:\nProduction \u003d 16834 §l*§r 2.50 §l*§r 4 \u003d 168340 EU/t\nEfficiency \u003d 1.80 §l*§r 1.20 \u003d 216%\n(This is more than a ZPM Amp!)"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/multibock_troubleshooting.json b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/multibock_troubleshooting.json
new file mode 100644
index 0000000..096c157
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/multiblocks/multibock_troubleshooting.json
@@ -0,0 +1,13 @@
+{
+ "section": "Multiblocks",
+ "title": "Multiblock Troubleshooting",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "If a multiblock is formed, but you are having troubles figuring out why it does not run:\n§9-§r Check if the Multiblock is properly plugged in (we all make these mistakes!).\n\n§9-§r Do the initial Maintenance fix.\n\n§9-§r Verify the recipe usage, the max EU/t has to be greater than that of the recipe.\n\n§9- §rCheck the special requirements the recipe may have (JEI always has some kind of indication for it).\n\n§9-§r Make sure the recipe is properly input, this is less obvious than in a regular machine because you have to juggle between Input Bus and Input Hatch.\n\n§9-§r Make sure there is space for output. Maybe the multiblock formed but you forgot a Hatch. The other biggest offender is the Output Hatches being too low tier and having too little capacity!"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/resource_pack/emissive_texture.json b/config/gregtech/terminal/guide/tutorials/en_us/resource_pack/emissive_texture.json
new file mode 100644
index 0000000..752ae42
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/resource_pack/emissive_texture.json
@@ -0,0 +1,135 @@
+{
+ "section": "Resource Pack",
+ "title": "Custom Emissive Texture",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "Developers and resource pack authors can easily have emissive textures and set the bloom effect.\n\n§lContents:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "emissive",
+ "content": [
+ "1. §1Emissive Texture"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "bloom",
+ "content": [
+ "2.§1 Bloom"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "demo",
+ "content": [
+ "3. §1Demo"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "emissive",
+ "content": [
+ "§lEmissive Texture"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "* For model-based blocks: Similar to §4CTM§r, you only need to set mcmeta file for the texture that you want to have the emissive effect."
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -3745585,
+ "width": 190,
+ "height": 100,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§2light §rhere represents the default level of light it emit (from 0~15). Besides, you can also set sky and block separately as what CTM does."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "* For CEu machines: They mostly are overlay textures under the assets/textures/blocks/machines and assets/textures/overlay/machines. You no need to set the mcmeta file for them. Just add a new texture file for the emissive part named \"XXX_emissive.png\"."
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§lBloom"
+ ],
+ "ref": "bloom"
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "* For CEu machines: You don\u0027t need to modify anything; all emissive textures have the bloom effect by default.\n\n* For model-based blocks: You just need to add an extra line to the mcmeta file. (§2\"layer\"§r: \"BLOOM\")"
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -3745585,
+ "width": 190,
+ "height": 110,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "ref": "demo",
+ "content": [
+ "§lDemo"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/138578815-d2d4e357-8080-4d57-b8ac-61235eac8c2a.png",
+ "width": 190,
+ "height": 130
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/138578838-b9e6a16d-e348-4fea-8ab4-8a940e1ecd0f.png",
+ "width": 190,
+ "height": 100
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/138578853-9a2497f4-e1f5-45e9-ab64-26b5eb859139.png",
+ "width": 190,
+ "height": 110
+ }
+ ],
+ "fixed": [
+ {
+ "type": "textbox",
+ "x": 8,
+ "y": 206,
+ "width": 181,
+ "height": 90,
+ "content": [
+ "{\n §2\"ctm\"§r: {\n §2\"ctm_version\"§r: 1,\n §2\"gregtech:§r true,\n §2\"extra\"§r: {\n §2\"light\"§r: 15\n }\n }\n}"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 8,
+ "y": 550,
+ "width": 181,
+ "height": 100,
+ "content": [
+ "{\n §2\"ctm\"§r: {\n §2\"ctm_version\"§r: 1,\n §2\"layer\"§r: \"BLOOM\",\n §2\"gregtech\"§r true,\n §2\"extra\"§r: {\n §2\"light\"§r: 15\n }\n }\n}"
+ ]
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/en_us/terminal/terminal_hardware.json b/config/gregtech/terminal/guide/tutorials/en_us/terminal/terminal_hardware.json
new file mode 100644
index 0000000..3a9c51f
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/en_us/terminal/terminal_hardware.json
@@ -0,0 +1,223 @@
+{
+ "section": "Terminal",
+ "title": "Hardware",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "Current supported §4§lhardware§r:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "battery",
+ "content": [
+ " 1.§nBattery"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "device",
+ "content": [
+ " 2.§nDevice"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "isShadow": false,
+ "content": [
+ "§lBattery"
+ ],
+ "ref": "battery"
+ },
+ {
+ "type": "card",
+ "fill": -2172721,
+ "width": 170,
+ "height": 90,
+ "isShadow": true
+ },
+ {
+ "type": "textbox",
+ "ref": "device",
+ "isCenter": true,
+ "content": [
+ "\n\n§lDevice"
+ ]
+ },
+ {
+ "type": "card",
+ "fill": -2172721,
+ "width": 170,
+ "height": 133,
+ "isShadow": true
+ }
+ ],
+ "fixed": [
+ {
+ "type": "textbox",
+ "x": 18,
+ "y": 92,
+ "width": 160,
+ "height": 30,
+ "content": [
+ "All §4§lresuable§r batteries can be used as the §lBattery Hardware"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 53,
+ "y": 229,
+ "width": 102,
+ "height": 10,
+ "content": [
+ "Wireless transmitter"
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 47,
+ "y": 136,
+ "width": 100,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 732,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 733,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 742,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 748,
+ "count": 1
+ },
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 753,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": -16,
+ "y": 224,
+ "width": 100,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 503,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": -16,
+ "y": 250,
+ "width": 100,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 466,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 253,
+ "width": 100,
+ "height": 10,
+ "content": [
+ "Prospector"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 279,
+ "width": 100,
+ "height": 10,
+ "content": [
+ "Solar"
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 10,
+ "y": 325,
+ "width": 48,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 467,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 12,
+ "y": 275,
+ "width": 45,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 333,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "slots",
+ "x": 22,
+ "y": 302,
+ "width": 25,
+ "height": 18,
+ "item_list": [
+ {
+ "id": "gregtech:meta_item_1",
+ "damage": 504,
+ "count": 1
+ }
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 52,
+ "y": 306,
+ "width": 100,
+ "height": 10,
+ "content": [
+ "Camera"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 51,
+ "y": 325,
+ "width": 100,
+ "height": 20,
+ "content": [
+ "Advanced Prospector"
+ ]
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/crafttweaker/terminal/ct_terminal_01.json b/config/gregtech/terminal/guide/tutorials/zh_cn/crafttweaker/terminal/ct_terminal_01.json
new file mode 100644
index 0000000..d787b38
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/crafttweaker/terminal/ct_terminal_01.json
@@ -0,0 +1,107 @@
+{
+ "section": "CraftTweaker/终端",
+ "title": "终端的CT教程",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "目录:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "§1§lURL:§r§n https://github.com/Gregicality/GregTech/wiki/CraftTweaker-of-Terminal"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "api",
+ "isShadow": false,
+ "content": [
+ "§4§lAPI:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "1. §1registerDevice(deviceItemStack, deviceName)§0:\n注册自定义设备。\n\n2. §1createAppRegistryBuilder(appName):\n§0根据应用名称(可从商店获取)获得构造器。\n\n3. §1isDefaultApp(default):\n§0设置为默认应用。\n\n4. §1battery(euTier, cost):\n§0为所有层级设置相同的电池要求。\n\n5. §1battery(appTier, euTier, cost):\n§0为特定等级设置电池要求。\n\n6. §1device(deviceName...):\n§0为所有等级设置设备要求。 (默认可用设备: \"scanner\", \"wireless\", \"camera\", \"solar_lv\").\n\n7. §1device(appTier, device...):\n§0为特定等级设置设备要求。\n\n8. §1upgrade(upgradeItemStack...):\n§0设置所有等级的升级要求。\n\n9. §1upgrade(appTier, upgradeItemStack...):\n§0设置特定等级的升级和要求。\n\n10. §1build():\n§0完成并注册。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "demo",
+ "space": 1,
+ "content": [
+ "\n§4§lZS Demo:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fill": -912478525,
+ "fontSize": 9,
+ "content": [
+ "import mods.gregtech.TerminalRegistry;\n\nTerminalRegistry.registerDevice(\u003core:ingotIron\u003e.firstItem, \"ingot_iron\");\n\nTerminalRegistry.createAppRegistryBuilder(\"ore_prospector\")\n .isDefaultApp(true)\n .battery(1, 500)\n .battery(3, 3, 1000)\n .device(\"camera\", \"wireless\")\n .device(4, \"ingot_iron\")\n .upgrade(\u003cminecraft:apple\u003e * 9)\n .upgrade(2, \u003cminecraft:apple\u003e * 9, \u003cminecraft:grass\u003e * 12)\n .build();"
+ ]
+ },
+ {
+ "type": "textbox",
+ "fontSize": 9,
+ "content": [
+ "§4§l结果:\n§r自定义设备"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280593-37922838-4a20-4e1b-9be9-73935c4c8c13.png",
+ "width": 190,
+ "height": 120
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "注册电池、设备、升级"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280587-84dc8f67-6dde-472f-9ed8-6a4c5e71abc4.png",
+ "width": 190,
+ "height": 120
+ },
+ {
+ "type": "image",
+ "form": "url",
+ "source": "https://user-images.githubusercontent.com/18493855/140280590-d4700a88-5780-4e0f-95f8-130e82f4634a.png",
+ "width": 190,
+ "height": 120
+ }
+ ],
+ "fixed": [
+ {
+ "type": "textbox",
+ "x": 27,
+ "y": 24,
+ "width": 16,
+ "height": 10,
+ "link": "api",
+ "content": [
+ "§9§napi"
+ ]
+ },
+ {
+ "type": "textbox",
+ "x": 41,
+ "y": 24,
+ "width": 25,
+ "height": 10,
+ "link": "demo",
+ "content": [
+ "§9§ndemo"
+ ]
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_0_guidepage.json b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_0_guidepage.json
new file mode 100644
index 0000000..c501c92
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_0_guidepage.json
@@ -0,0 +1,148 @@
+{
+ "section": "指南页控件API",
+ "title": "指南页",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "这一页我们将学习如何编写指南页。",
+ "-------------------------------",
+ "先看一看一个简单里指南页示例。",
+ "§lJSON§r:",
+ "{",
+ " \"section\": \"section name here\",",
+ " \"title\": \"title here\",",
+ " \"stream\": [",
+ " {",
+ " \"type\": \"textbox\",",
+ " \"content\": [\"TextBox widget\"]",
+ " }",
+ " ],",
+ " \"fixed\": [",
+ " {",
+ " \"x\": 50,",
+ " \"y\": 100,",
+ " \"width\": 150,",
+ " \"height\": 40,",
+ " \"type\": 0,",
+ " \"content\": [\"TextBox widget\"]",
+ " }",
+ " ]",
+ "}",
+ "-------------------------------",
+ "§l目录§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "section",
+ "content": [
+ " 1.§nsection§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "title",
+ "content": [
+ " 2.§ntitle§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stream",
+ "content": [
+ " 3.§nstream§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fixed",
+ "content": [
+ " 4.§nfixed§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "section",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nsection§r (§4必须§r)",
+ "§l类型§r: String",
+ "§l说明§r: 指定页面属于哪个章节。",
+ "指南App会自动合并具有相同节名的页面并构建目录树。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "title",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §ntitle§r (§4必须§r)",
+ "§l类型§r: String",
+ "§l说明§r: 页标题。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "stream",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nstream§r (§4必须§r)",
+ "§l类型§r: Array",
+ "§l说明§r: 属于流布局的控件。 你不需要关心控件在流中的位置和大小,所有的排版都会自动完成。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fixed",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nfixed§r (§4必须§r)",
+ "§l类型§r: Array",
+ "§l说明§r: 属于固定布局的控件。 您需要指定每个控件的位置和大小。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: 固定布局和流布局"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "hover_text": ["流布局"],
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": [
+ {
+ "type": "image",
+ "x": 30,
+ "y": 800,
+ "stroke": 4278190335,
+ "hover_text": ["固定布局", "\"x\": 30","\"y\": 800","\"width\": 100","\"width\": 100"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ }
+ ]
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_1_widget.json b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_1_widget.json
new file mode 100644
index 0000000..a1575f6
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_1_widget.json
@@ -0,0 +1,304 @@
+{
+ "section": "指南页控件API",
+ "title": "控件",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "这里我们将学习什么是 §4§l控件§r, 以及它的公共属性。",
+ "控件被渲染在指南页中,是一切的基础。 §n文本控件§r, §n图片控件§r, 等等",
+ "要使用控件,只需要将对应的控件配置写在 §l\"fixed\"§r 或者 §l\"stream\"§r下即可。",
+ "有一些公共属性、效果(样式)对所有控件都有效。",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"type here\",",
+ " \"x\": 50,",
+ " \"y\": 100,",
+ " \"width\": 150,",
+ " \"height\": 40,",
+ " \"ref\": \"ref\",",
+ " \"stroke\": 0,",
+ " \"stroke_width\": 1,",
+ " \"fill\": 0,",
+ " \"link\": \"ref\"",
+ " \"hover_text\": [\"text here\"]",
+ "}",
+ "-------------------------------",
+ "§l目录§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "type",
+ "content": [
+ " 1.§ntype§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "xywh",
+ "content": [
+ " 2.§nx, y, width, height§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "ref",
+ "content": [
+ " 3.§nref§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fill",
+ "content": [
+ " 4.§nfill§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stroke",
+ "content": [
+ " 5.§nstroke§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "stroke_width",
+ "content": [
+ " 6.§nstroke_width§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "link",
+ "content": [
+ " 7.§nlink§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "hover",
+ "content": [
+ " 8.§nhover_text§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "type",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §ntype§r (§4必须§r)",
+ "§l类型§r: String",
+ "§l说明§r: 控件类型的唯一标识。通过api文档可以查看控件对应的控件类型标识。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "xywh",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nx, y, width, height§r (§4可选§r)",
+ "§l类型§r: Integer",
+ "§l说明§r: 控件的位置和大小。 在流布局中,通常不需要设置它(图片控件需要设置宽度和高度)。 在固定布局下,你必须设置这四个属性。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "ref",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nref§r (§4可选§r)",
+ "§l类型§r: String",
+ "§l缺省值§r: null",
+ "§l说明§r: 这是这个控件的一个引用标记。 同一页中的引用标记应该是唯一的。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "fill",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nfill§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 0",
+ "§l说明§r: 背景颜色。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: 4278190335 (0xFF0000FF)"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4278190335,
+ "content": [
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "stroke",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nstroke§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 0",
+ "§l说明§r: 边框颜色"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: 4278190335 (0xFF0000FF)"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "stroke": 4278190335,
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "ref": "stroke_width",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nstroke_width§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 1",
+ "§l说明§r: 边框宽度。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: 5"
+ ]
+ },
+ {
+ "type": "image",
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "stroke": 4278190335,
+ "stroke_width": 5,
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "ref": "link",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nlink§r (§6可选§r)",
+ "§l类型§r: String",
+ "§l缺省值§r: null",
+ "§l说明§r: 单击可跳转到指定引用的位置。需要与引用标记一起使用,目标是ref。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"P2\""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4286430975,
+ "hover_text": ["\"ref\": \"P1\""],
+ "ref": "P1",
+ "link": "P2",
+ "content": ["点我!"]
+ },
+ {
+ "type": "textbox",
+ "content": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"P1\""
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "fill": 4286430975,
+ "hover_text": ["\"ref\": \"P2\""],
+ "ref": "P2",
+ "link": "P1",
+ "content": ["点我!"]
+ },
+ {
+ "type": "textbox",
+ "ref": "hover",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nhover_text§r (§6可选§r)",
+ "§l类型§r: Array",
+ "§l缺省值§r: null",
+ "§l说明§r: 鼠标悬停时的展示文本。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: [\"这是\",\"GT图标\"]"
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["这是","GT图标"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/gregtech_logo.png",
+ "width": 100,
+ "height": 100
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_2_textbox.json b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_2_textbox.json
new file mode 100644
index 0000000..83c645b
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_2_textbox.json
@@ -0,0 +1,256 @@
+{
+ "section": "指南页控件API",
+ "title": "1. 文本控件",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "我们将学习指南中最常用的控件 §4§l文本控件§r。 因此,您应该仔细阅读API文档。",
+ "-------------------------------",
+ "§l控件类型标识§r: §ntextbox§r",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"textbox\",",
+ " \"space\": 1,",
+ " \"fontSize\": 9,",
+ " \"fontColor\": 4278190080,",
+ " \"isCenter\": false,",
+ " \"isShadow\": false,",
+ " \"content\": [\"content here!\"]",
+ "}",
+ "-------------------------------",
+ "§l目录§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "content",
+ "content": [
+ " 1.§ncontent§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "space",
+ "content": [
+ " 2.§nspace§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fontSize",
+ "content": [
+ " 3.§nfontSize§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "fontColor",
+ "content": [
+ " 4.§nfontColor§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "isCenter",
+ "content": [
+ " 5.§nisCenter§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "isShadow",
+ "content": [
+ " 6.§nisShadow§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "content",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §ncontent§r (§4必须§r)",
+ "§l类型§r: Array",
+ "§l说明§r: 文本内容数组,每一项都会换行。 文本太长会自动换行。 (支持Minecraft格式代码) "
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "content": [
+ "§l示例§r: [...]",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "space",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nspace§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 1",
+ "§l说明§r: 文本行之间的间隔。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "space": 5,
+ "content": [
+ "§l示例§r: 5",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "fontSize",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nfontSize§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 9",
+ "§l说明§r: 字体大小。(实际上是字体的高度)"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "fontSize": 5,
+ "content": [
+ "§l示例§r: 5",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "fontColor",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nfontColor§r (§6可选§r)",
+ "§l类型§r: Number",
+ "§l缺省值§r: 4278190080",
+ "§l说明§r: 文本的默认颜色。你也可以用特殊的符号设置颜色(Minecraft提供的)。但也许有时候你需要它。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "fontColor": 5,
+ "content": [
+ "§l示例§r: 4294901760 (0xFFFF0000)",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "isCenter",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nisCenter§r (§6可选§r)",
+ "§l类型§r: Boolean",
+ "§l缺省值§r: false",
+ "§l说明§r: 文本水平居中。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": false,
+ "stroke": 4294901760,
+ "content": [
+ "§l示例§r: false",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ },{
+ "type": "textbox",
+ "ref": "isShadow",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nisShadow§r (§6可选§r)",
+ "§l类型§r: Boolean",
+ "§l缺省值§r: false",
+ "§l说明§r: 渲染文本阴影。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "stroke": 4294901760,
+ "isShadow": true,
+ "content": [
+ "§l示例§r: true",
+ "§nMinecraft Formatting",
+ "§r§00 §11 §22 §33",
+ "§44 §55 §66 §77",
+ "§88 §99 §aa §bb",
+ "§cc §dd §ee §ff",
+ "§r§0k §kMinecraft",
+ "§rl §lMinecraft",
+ "§rm §mMinecraft",
+ "§rn §nMinecraft",
+ "§ro §oMinecraft",
+ "§rr §rMinecraft"
+ ]
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_3_image.json b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_3_image.json
new file mode 100644
index 0000000..9098438
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/guide_widget_api/api_3_image.json
@@ -0,0 +1,207 @@
+{
+ "section": "指南页控件API",
+ "title": "2. 图片控件",
+ "stream": [
+ {
+ "type": "textbox",
+ "content": [
+ "我们将学习实用的§4§l图片控件§r。这里支持三种不同形式的图像:§4Url§r, §4Item§r, and §4ResourceLocation§r。别担心,一切都很容易。",
+ "-------------------------------",
+ "§l控件类型标识§r: §nimage§r",
+ "-------------------------------",
+ "§lJSON§r:",
+ "{",
+ " \"type\": \"image\",",
+ " \"form\": \"Item\",",
+ " \"source\": \"minecraft:ender_pearl\",",
+ " \"width\": 100,",
+ " \"height\": 100",
+ "}",
+ "-------------------------------",
+ "§l目录§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "form",
+ "content": [
+ " 1.§nform§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "source",
+ "content": [
+ " 2.§nsource§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "link": "wh",
+ "content": [
+ " 3.§nwidth, height§r"
+ ]
+ },
+ {
+ "type": "textbox",
+ "ref": "form",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nform§r (§4必须§r)",
+ "§l类型§r: String",
+ "§l说明§r: 它只能是 §4Url§r, §4Item§r, 或 §4ResourceLocation§r中的一个。",
+ " \"url\" -- image url.",
+ " \"item\" -- The registered name of the Item in game.",
+ " \"resource\" -- The resource location."
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"url\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["https://z3.ax1x.com/2021/07/29/Wb4Djs.gif"],
+ "form": "url",
+ "source": "https://z3.ax1x.com/2021/07/29/Wb4Djs.gif",
+ "stroke": 4278190080,
+ "stroke_width": 2,
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"item\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"resource\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["gregtech:textures/gui/icon/coke_oven.png"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/coke_oven.png",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "source",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nsource§r (§4必须§r)",
+ "§l类型§r: String",
+ "§l说明§r: The source of the picture. The three images above correspond to the following sources:"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"https://z3.ax1x.com/2021/07/29/Wb4Djs.gif\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["https://z3.ax1x.com/2021/07/29/Wb4Djs.gif"],
+ "form": "url",
+ "source": "https://z3.ax1x.com/2021/07/29/Wb4Djs.gif",
+ "stroke": 4278190080,
+ "stroke_width": 2,
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"minecraft:ender_pearl\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"gregtech:textures/gui/icon/coke_oven.png\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["gregtech:textures/gui/icon/coke_oven.png"],
+ "form": "resource",
+ "source": "gregtech:textures/gui/icon/coke_oven.png",
+ "width": 100,
+ "height": 100
+ },
+ {
+ "type": "textbox",
+ "ref": "wh",
+ "content": [
+ "-------------------------------",
+ "",
+ "§l属性§r: §nwidth, height§r (§4必须§r)",
+ "§l类型§r: Integer",
+ "§l说明§r: 图片尺寸。"
+ ]
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"50, 50\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 50,
+ "height": 50
+ },
+ {
+ "type": "textbox",
+ "isCenter": true,
+ "content": [
+ "§l示例§r: \"100, 50\""
+ ]
+ },
+ {
+ "type": "image",
+ "hover_text": ["minecraft:ender_pearl"],
+ "form": "item",
+ "source": "minecraft:ender_pearl",
+ "width": 100,
+ "height": 50
+ }
+ ],
+ "fixed": []
+}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/resource_pack/emissive_texture.json b/config/gregtech/terminal/guide/tutorials/zh_cn/resource_pack/emissive_texture.json
new file mode 100644
index 0000000..dfef1a0
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/resource_pack/emissive_texture.json
@@ -0,0 +1 @@
+{"section":"资源包","title":"自定义发光材质","stream":[{"type":"textbox","content":["开发人员和资源包作者可以很容易地有发光材质和设置泛光效果。\n\n§l目录:"]},{"type":"textbox","link":"emissive","content":["1. §1发光材质"]},{"type":"textbox","link":"bloom","content":["2.§1 泛光"]},{"type":"textbox","link":"demo","content":["3. §1示例"]},{"type":"textbox","ref":"emissive","content":["§l发光材质"]},{"type":"textbox","content":["* 对于常规模型: 与§4CTM§r相似,你只需要为你想要有发射效果的材质配置mcmeta文件即可。"]},{"type":"card","fill":-3745585,"width":190,"height":100,"isShadow":true},{"type":"textbox","content":["这里的§2light §r表示它发出的默认光级别(从0~15)。另外,你也可以像CTM一样把sky和block分开设置。"]},{"type":"textbox","content":["* 对于CEu机器: 他们材质大多数在 assets/textures/blocks/machines 和 assets/textures/overlay/machines下。 你不需要为他们设置mcmeta文件。只需为发光部分添加一个名为 \"XXX_emissive.png\"的材质即可。"]},{"type":"textbox","content":["§l泛光"],"ref":"bloom"},{"type":"textbox","content":["* 对于CEu机器: 你不需要修改任何东西,所有发光的材质都自带泛光。\n\n* 对于基本模型: 你只需要在mcmeta文件中添加额外的一行。 (§2\"layer\"§r: \"BLOOM\")"]},{"type":"card","fill":-3745585,"width":190,"height":110,"isShadow":true},{"type":"textbox","ref":"demo","content":["§l示例"]},{"type":"image","form":"url","source":"https://user-images.githubusercontent.com/18493855/138578815-d2d4e357-8080-4d57-b8ac-61235eac8c2a.png","width":190,"height":130},{"type":"image","form":"url","source":"https://user-images.githubusercontent.com/18493855/138578838-b9e6a16d-e348-4fea-8ab4-8a940e1ecd0f.png","width":190,"height":100},{"type":"image","form":"url","source":"https://user-images.githubusercontent.com/18493855/138578853-9a2497f4-e1f5-45e9-ab64-26b5eb859139.png","width":190,"height":110}],"fixed":[{"type":"textbox","x":8,"y":171,"width":181,"height":90,"content":["{\n §2\"ctm\"§r: {\n §2\"ctm_version\"§r: 1,\n §2\"gregtech:§r true,\n §2\"extra\"§r: {\n §2\"light\"§r: 15\n }\n }\n}"]},{"type":"textbox","x":7,"y":466,"width":181,"height":100,"content":["{\n §2\"ctm\"§r: {\n §2\"ctm_version\"§r: 1,\n §2\"layer\"§r: \"BLOOM\",\n §2\"gregtech\"§r true,\n §2\"extra\"§r: {\n §2\"light\"§r: 15\n }\n }\n}"]}]}
diff --git a/config/gregtech/terminal/guide/tutorials/zh_cn/terminal/terminal_hardware.json b/config/gregtech/terminal/guide/tutorials/zh_cn/terminal/terminal_hardware.json
new file mode 100644
index 0000000..ebfa564
--- /dev/null
+++ b/config/gregtech/terminal/guide/tutorials/zh_cn/terminal/terminal_hardware.json
@@ -0,0 +1 @@
+{"section":"终端","title":"Hardware","stream":[{"type":"textbox","content":["Current supported §4§lhardware§r:"]},{"type":"textbox","link":"battery","content":[" 1.§nBattery"]},{"type":"textbox","link":"device","content":[" 2.§nDevice"]},{"type":"textbox","isCenter":true,"isShadow":false,"content":["§lBattery"],"ref":"battery"},{"type":"card","fill":-2172721,"width":170,"height":90,"isShadow":true},{"type":"textbox","ref":"device","isCenter":true,"content":["\n\n§lDevice"]},{"type":"card","fill":-2172721,"width":170,"height":113,"isShadow":true}],"fixed":[{"type":"textbox","x":18,"y":92,"width":160,"height":30,"content":["All §4§lresuable§r batteries could be used as the §lBattery Hardware"]},{"type":"textbox","x":53,"y":229,"width":102,"height":10,"content":["Wireless transmitter"]},{"type":"slots","x":47,"y":136,"width":100,"height":18,"item_list":[{"id":"gregtech:meta_item_1","damage":732,"count":1},{"id":"gregtech:meta_item_1","damage":733,"count":1},{"id":"gregtech:meta_item_1","damage":742,"count":1},{"id":"gregtech:meta_item_1","damage":748,"count":1},{"id":"gregtech:meta_item_1","damage":753,"count":1}]},{"type":"slots","x":-16,"y":224,"width":100,"height":18,"item_list":[{"id":"gregtech:meta_item_1","damage":468,"count":1}]},{"type":"slots","x":-16,"y":250,"width":100,"height":18,"item_list":[{"id":"gregtech:meta_item_1","damage":465,"count":1}]},{"type":"textbox","x":52,"y":253,"width":100,"height":10,"content":["Scanner"]},{"type":"textbox","x":52,"y":279,"width":100,"height":10,"content":["Solar"]},{"type":"slots","x":12,"y":275,"width":45,"height":18,"item_list":[{"id":"gregtech:meta_item_1","damage":333,"count":1}]},{"type":"slots","x":22,"y":302,"width":25,"height":18,"item_list":[{"id":"gregtech:meta_item_1","damage":469,"count":1}]},{"type":"textbox","x":52,"y":306,"width":100,"height":10,"content":["Camera"]}]}
diff --git a/config/gregtech/terminal/image/wallpaper_Kumquat.png b/config/gregtech/terminal/image/wallpaper_Kumquat.png
new file mode 100644
index 0000000..7bc9b57
--- /dev/null
+++ b/config/gregtech/terminal/image/wallpaper_Kumquat.png
Binary files differ
diff --git a/config/gregtech/terminal/image/wallpaper_Zalgo.png b/config/gregtech/terminal/image/wallpaper_Zalgo.png
new file mode 100644
index 0000000..9b8f8e7
--- /dev/null
+++ b/config/gregtech/terminal/image/wallpaper_Zalgo.png
Binary files differ
diff --git a/config/gregtech/terminal/image/wallpaper_celeryman.png b/config/gregtech/terminal/image/wallpaper_celeryman.png
new file mode 100644
index 0000000..8a4515b
--- /dev/null
+++ b/config/gregtech/terminal/image/wallpaper_celeryman.png
Binary files differ
diff --git a/config/gregtech/terminal/image/wallpaper_moth.png b/config/gregtech/terminal/image/wallpaper_moth.png
new file mode 100644
index 0000000..d0dd2aa
--- /dev/null
+++ b/config/gregtech/terminal/image/wallpaper_moth.png
Binary files differ
diff --git a/config/gregtech/worldgen/fluid/nether/lava_deposit.json b/config/gregtech/worldgen/fluid/nether/lava_deposit.json
new file mode 100644
index 0000000..e6b2f87
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/nether/lava_deposit.json
@@ -0,0 +1,17 @@
+{
+ "name": "gregtech.veins.fluid.lava",
+ "weight": 65,
+ "yield": {
+ "min": 125,
+ "max": 250
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 30
+ },
+ "fluid": "lava",
+ "dimension_filter": [
+ "name:the_nether"
+ ]
+}
diff --git a/config/gregtech/worldgen/fluid/nether/natural_gas_deposit.json b/config/gregtech/worldgen/fluid/nether/natural_gas_deposit.json
new file mode 100644
index 0000000..d9f5492
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/nether/natural_gas_deposit.json
@@ -0,0 +1,17 @@
+{
+ "name": "gregtech.veins.fluid.natural_gas_nether",
+ "weight": 35,
+ "yield": {
+ "min": 150,
+ "max": 300
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 40
+ },
+ "fluid": "natural_gas",
+ "dimension_filter": [
+ "name:the_nether"
+ ]
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/heavy_oil_deposit.json b/config/gregtech/worldgen/fluid/overworld/heavy_oil_deposit.json
new file mode 100644
index 0000000..c1d6198
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/heavy_oil_deposit.json
@@ -0,0 +1,19 @@
+{
+ "name": "gregtech.veins.fluid.heavy_oil",
+ "weight": 15,
+ "yield": {
+ "min": 100,
+ "max": 200
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 20
+ },
+ "fluid": "oil_heavy",
+ "biome_modifier": {
+ "type": "biome_dictionary",
+ "ocean": 5,
+ "sandy": 10
+ }
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/light_oil_deposit.json b/config/gregtech/worldgen/fluid/overworld/light_oil_deposit.json
new file mode 100644
index 0000000..d0bd688
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/light_oil_deposit.json
@@ -0,0 +1,14 @@
+{
+ "name": "gregtech.veins.fluid.light_oil",
+ "weight": 25,
+ "yield": {
+ "min": 175,
+ "max": 300
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 25
+ },
+ "fluid": "oil_light"
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json b/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json
new file mode 100644
index 0000000..1978081
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/natural_gas_deposit.json
@@ -0,0 +1,14 @@
+{
+ "name": "gregtech.veins.fluid.natural_gas_overworld",
+ "weight": 15,
+ "yield": {
+ "min": 100,
+ "max": 175
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 20
+ },
+ "fluid": "natural_gas"
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/oil_deposit.json b/config/gregtech/worldgen/fluid/overworld/oil_deposit.json
new file mode 100644
index 0000000..a03803b
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/oil_deposit.json
@@ -0,0 +1,19 @@
+{
+ "name": "gregtech.veins.fluid.oil",
+ "weight": 20,
+ "yield": {
+ "min": 175,
+ "max": 300
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 25
+ },
+ "fluid": "oil",
+ "biome_modifier": {
+ "type": "biome_dictionary",
+ "ocean": 5,
+ "sandy": 5
+ }
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/raw_oil_deposit.json b/config/gregtech/worldgen/fluid/overworld/raw_oil_deposit.json
new file mode 100644
index 0000000..988dcda
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/raw_oil_deposit.json
@@ -0,0 +1,14 @@
+{
+ "name": "gregtech.veins.fluid.raw_oil",
+ "weight": 20,
+ "yield": {
+ "min": 200,
+ "max": 300
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 25
+ },
+ "fluid": "oil_medium"
+}
diff --git a/config/gregtech/worldgen/fluid/overworld/salt_water_deposit.json b/config/gregtech/worldgen/fluid/overworld/salt_water_deposit.json
new file mode 100644
index 0000000..a43334e
--- /dev/null
+++ b/config/gregtech/worldgen/fluid/overworld/salt_water_deposit.json
@@ -0,0 +1,20 @@
+{
+ "name": "gregtech.veins.fluid.salt_water",
+ "weight": 0,
+ "yield": {
+ "min": 50,
+ "max": 100
+ },
+ "depletion": {
+ "amount": 1,
+ "chance": 100,
+ "depleted_yield": 15
+ },
+ "fluid": "salt_water",
+ "biome_modifier": {
+ "type": "biome_map",
+ "ocean": 150,
+ "frozen_ocean": 150,
+ "deep_ocean": 200
+ }
+}
diff --git a/config/gregtech/worldgen_extracted.json b/config/gregtech/worldgen_extracted.json
new file mode 100644
index 0000000..bcb8e7f
--- /dev/null
+++ b/config/gregtech/worldgen_extracted.json
@@ -0,0 +1,8 @@
+{
+ "_comment0": "This File exists to prevent custom oregen configurations from being overridden.",
+ "_comment1": "If this file is deleted, the oregen files will be regenerated from their defaults.",
+ "_comment2": "Modpack authors make sure this file is included in your modpack if you have customized ore generation",
+ "_comment3": "The below versions are used for when GT must forcefully override existing vein configurations, and should not be used by packs.",
+ "fluidVersion": 2,
+ "veinVersion": 1
+}