diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 28104d382..9a31a5b5d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,11 +21,6 @@ jobs: - name: Install requests run: | pip install requests - - uses: actions/setup-java@v2 - with: - distribution: 'adopt' # See 'Supported distributions' for available options - java-version: '8' - - run: java -version - name: Run Build run: | python build/main.py @@ -65,4 +60,4 @@ jobs: buildOut/supersymmetry-${{steps.get-version.outputs.result}}.zip buildOut/server-${{steps.get-version.outputs.result}}.zip buildOut/modlist.html - \ No newline at end of file + diff --git a/config/Universal Tweaks - Bugfixes.cfg b/config/Universal Tweaks - Bugfixes.cfg index 9afdea5f0..391178b5b 100644 --- a/config/Universal Tweaks - Bugfixes.cfg +++ b/config/Universal Tweaks - Bugfixes.cfg @@ -178,6 +178,7 @@ general { B:"Crafted Item Statistics"=true # Fixes entity and particle rendering issues by enabling depth buffer writing + # Can cause issues with modded particles B:"Depth Mask"=true # Replaces the help command, sorts and reports broken commands @@ -201,17 +202,8 @@ general { B:"Spectator Menu"=true "model gap" { - # Fixes transparent gaps in all 3D models of blocks and items B:"[1] Model Gap Toggle"=true - - # Quad X/Y offset - # Moves the quad toward the center of the item - # Use to hide gaps, keep as close to 0 as possible D:"[2] Recess Value"=0.007 - - # Quad expansion increment - # Enlarges each quad - # Use to hide gaps, keep as close to 0 as possible D:"[3] Expansion Value"=0.008 } diff --git a/config/Universal Tweaks - Mod Integration.cfg b/config/Universal Tweaks - Mod Integration.cfg index 2a01d7413..fc726ee5d 100644 --- a/config/Universal Tweaks - Mod Integration.cfg +++ b/config/Universal Tweaks - Mod Integration.cfg @@ -14,6 +14,15 @@ general { # Fixes various duplication exploits B:"Duplication Fixes"=true + # Sets what level of Particles Setting is required to disable the Item Particles generated by Item Lasers transferring items + # The config setting here is complex due to how Vanilla Minecraft handles the Particles setting + # -1 or lower will not register the mixin + # 0 disables the creation of these particles entirely + # 1 disables the creation of these particles when the Particle setting is on Minimal only + # 2 disables the creation of these particles when the Particle setting is on Decreased or Minimal + # 3 or higher will never disable these particles + I:"Item Laser Particles Graphics"=-1 + # Fixes Laser Upgrades voiding instead of applying if there is only one item in the stack B:"Laser Upgrade Voiding"=true } @@ -38,10 +47,11 @@ general { # Fixes various duplication exploits B:"Duplication Fixes"=true + # Fixes memory leak when unloading worlds/switching dimensions + B:"Memory Leak Fix"=true + # Optimizes the Hellfire/Soul Forge to reduce tick time B:"Optimized Hellfire Forge"=true - - # Fixes memory leak when unloading worlds/switching dimensions B:"World Unload Memory Leak Fix"=true } @@ -74,6 +84,9 @@ general { "elementary staffs" { # Reintroduces the 1.5 electric staff behavior along with some subtle particles B:"Electric Staff Port"=true + + # Lets the health staff also heal other players (and potentially more living entities) + B:"Health Staff Player Healing"=true } "elenai dodge 2" { @@ -117,6 +130,9 @@ general { # Fixes the Creative Mill Generator not respecting the Creative Block Breaking config B:"Creative Mill Harvestability"=true + # Downgrades the message when creating a potion recipe from info to a debug + B:"Downgrade Potion Recipes Log Level"=true + # Fixes various duplication exploits B:"Duplication Fixes"=true @@ -275,10 +291,7 @@ general { } thaumcraft { - # Fixes various duplication exploits B:"Duplication Fixes"=true - - # Fixes the bounding box always being at the center in both cinderpearls and shimmerleafs B:"Flower Bounding Box"=true # Stops the thaumometer from bobbing rapidly when using it to scan objects @@ -286,13 +299,10 @@ general { } "thaumcraft: entities" { - # Adds particles to firebats similar to legacy versions B:"Firebat Particles"=true # Rotates dead eldritch crabs all the way like endermites, silverfish, and spiders B:"Spiderlike Eldritch Crabs"=true - - # Increases particle size of wisps similar to legacy versions B:"Wisp Particles"=true } @@ -455,8 +465,16 @@ general { } "compact machines" { + # Improves server performance by properly controlling spawn checks (effectiveness depends on CM's config) + # Disable both 'allowHostileSpawns' and 'allowPeacefulSpawns' in the CM config for best performance + # Does nothing if both config values are true + B:"Allowed Spawns Improvement"=true + # Fixes some compact machine walls being invisible if Nothirium 0.2.x (and up) or Vintagium is installed B:"Invisible Wall Render Fix"=true + + # Fixes client-side memory leak associated with miniaturization recipes + B:"Memory Leak Fix"=true } "effortless building" { @@ -526,6 +544,47 @@ general { B:"Sky of Old Dimension Fix"=true } + bibliocraft { + # Fixes client-side memory leak by disabling version check + B:"Disable Version Check"=true + } + + collective { + # Fixes memory leak when unloading worlds/switching dimensions + B:"Memory Leak Fix"=true + } + + emojicord { + # Improves emoji context calculation to improve fps when rendering a lot of text + B:"Emoji Context"=true + } + + "ender io" { + # Fixes client-side memory leak by replacing obelisk renderer with a simpler one + B:"Replace Obelisk Renderer"=true + } + + "in control!" { + # Fixes onJoin spawn rules repeatedly modifying mob attack/health/speed + B:"Spawn Rule Stats Fix"=true + } + + "iron chests" { + # Fixes client-side memory leak by replacing the crystal chest/shulker box renderer with a simpler one + # Note: Stack sizes are not rendered, similar to modern versions of this mod + B:"Replace Crystal Chest/Shulker Renderer"=true + } + + "random things" { + # Fixes a bug where crafting the output of an Anvil recipe would modify the recipe, preventing crafts until restart + B:"Anvil Crafting Fix"=true + } + + woot { + # Remove any leftover entities spawned on simulated mob's death + B:"Cleanup Simulated Kills"=true + } + } diff --git a/config/Universal Tweaks - Tweaks.cfg b/config/Universal Tweaks - Tweaks.cfg index aa64911da..5d1450211 100644 --- a/config/Universal Tweaks - Tweaks.cfg +++ b/config/Universal Tweaks - Tweaks.cfg @@ -54,6 +54,9 @@ general { # Controls if the observer activates itself on the first tick when it is placed B:"Prevent Observer Activating on Placement"=false + # Lets projectiles like arrows bounce off slime blocks + B:"Projectiles Bounce Off Slime Blocks"=false + # Controls if the End Portal renders its texture on the bottom face B:"Render End Portal Bottom"=true @@ -295,22 +298,49 @@ general { attributes { # Sets custom ranges for entity attributes B:"[01] Attributes Toggle"=true + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[02] Max Health Min"=-65536.0 D:"[03] Max Health Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[04] Follow Range Min"=-65536.0 D:"[05] Follow Range Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[06] Knockback Resistance Min"=-65536.0 D:"[07] Knockback Resistance Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[08] Movement Speed Min"=-65536.0 D:"[09] Movement Speed Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[10] Flying Speed Min"=-65536.0 D:"[11] Flying Speed Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[12] Attack Damage Min"=-65536.0 D:"[13] Attack Damage Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[14] Attack Speed Min"=-65536.0 D:"[15] Attack Speed Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[16] Armor Min"=-65536.0 D:"[17] Armor Max"=65536.0 + + # Min: 0.0 + # Max: 1.7976931348623157E308 D:"[18] Armor Toughness Min"=-65536.0 D:"[19] Armor Toughness Max"=65536.0 D:"[20] Luck Min"=-65536.0 @@ -335,11 +365,7 @@ general { } "collision damage" { - # Applies horizontal collision damage to the player akin to elytra collision B:"[1] Collision Damage Toggle"=false - - # The damage factor that gets multiplied with the player speed - # Vanilla default for elytra damage is 10 I:"[2] Damage Factor"=10 } @@ -422,6 +448,9 @@ general { # Disables skipping night by using a bed while making it still able to set spawn B:"Disable Sleeping"=false + # Disables setting the spawn point by using a bed while making it still able to sleep + B:"Disable Sleeping Setting Spawn"=false + # Determines at which time of day sleeping is allowed in ticks (0 - 23999) # -1 for vanilla default # Min: -1 @@ -634,6 +663,9 @@ general { # Prevents placing of liquid source blocks overriding portal blocks B:"Prevent Placing Buckets in Portals"=false + # Requires the hunger bar to be missing food points equal to or more than the amount restored by the food + B:"Smart Eat"=false + # Enables one-time ignition of entities by hitting them with a torch B:"Super Hot Torch"=false @@ -830,8 +862,6 @@ general { # Disables potion effect particles emitting from yourself B:"Hide Personal Effect Particles"=false - - # Provides more information to addPacket removed entity warnings B:"Improved Entity Tracker Warning"=true # Lets background music play continuously without delays @@ -873,6 +903,7 @@ general { B:"Prevent Keybinds from Overflowing Screen"=true # Removes the 3D Anaglyph button from the video settings menu + # Incompatible with OptiFine B:"Remove 3D Anaglyph Button"=true # Removes the redundant Minecraft Realms button from the main menu and silences notifications @@ -981,14 +1012,14 @@ general { S:"[1] Mode"=NOTHING # Sounds to play when Minecraft is loaded - # Syntax: eventname;pitch + # Syntax: eventname;pitch;volume S:"[2] Minecraft Loaded Sounds" < entity.experience_orb.pickup;1.0 entity.player.levelup;1.0 > # Sounds to play when the world is loaded - # Syntax: eventname;pitch + # Syntax: eventname;pitch;volume S:"[3] World Loaded Sounds" < entity.experience_orb.pickup;1.0 entity.player.levelup;1.0 @@ -1086,6 +1117,12 @@ general { # Syntax: modid:block S:"[3] Whitelist" < > + + # Excludes items from the swing through grass tweak + # Syntax: modid:item + S:"[4] Item Blacklist" < + erebus:wand_of_animation + > } "toast control" { @@ -1166,6 +1203,21 @@ general { B:"[3] Compact Messages"=false } + "connection timeouts" { + # Allows configuring read/login timeouts. + # If you are having trouble logging into a server of a large modpack, try changing the timeouts below. + B:"[1] Connection Timeouts Toggle"=true + + # The connection read timeout in seconds. + # This value is used on both client and server. + # On the server, also extends the time allowed to respond to a KeepAlive packet. + I:"[2] Read Timeout"=90 + + # The login timeout in seconds. (Vanilla default: 600 ticks, or 30 secs) + # Only used on the server. + I:"[3] Login Timeout"=90 + } + } performance { @@ -1176,6 +1228,7 @@ general { B:"Check Animated Models"=true # Adds an IRecipe cache to improve recipe performance in larger modpacks + # Incompatible with KemonoCraft B:"Crafting Cache"=true # Improves loading times by removing debug code for missing sounds and subtitles @@ -1187,6 +1240,9 @@ general { # Improves rendering performance by disabling rendering the entity inside mob spawners B:"Disable Mob Spawner Entity"=false + # Prevents Rain and Snow Particles from rendering when Raining or Thundering + B:"Disable Rain Particles"=false + # Replaces color lookup for sheep to check a predefined table rather than querying the recipe registry B:"Fast Dye Blending"=true @@ -1198,9 +1254,11 @@ general { B:"Fast World Loading"=true # Fixes slow background startup edge case caused by checking tooltips during the loading process + # May have side effects concerning tooltips B:"Faster Background Startup"=true # Improves the speed of switching languages in the Language GUI + # Incompatible with OptiFine B:"Improve Language Switching Speed"=true # Improves the speed of connecting to servers by setting the InetAddress host name to the IP in situations @@ -1338,6 +1396,21 @@ general { I:"[9] Particle Spawn Y Level"=8 } + "cave generation" { + # Sets custom values for the vanilla cave generation + B:"[1] Cave Generation Toggle"=false + + # Size of cave systems + # 40 for pre-1.7 generation + # 15 for vanilla default + I:"[2] Cave Size"=15 + + # Chance for generating cave systems + # 15 for pre-1.7 generation + # 7 for vanilla default + I:"[3] Cave Rarity"=7 + } + } } diff --git a/config/betterquesting/DefaultQuests/QuestLines/0.json b/config/betterquesting/DefaultQuests/QuestLines/0.json index 3e378fe09..8611fc147 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/0.json +++ b/config/betterquesting/DefaultQuests/QuestLines/0.json @@ -156,7 +156,7 @@ "id:3": 22, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 420, + "x:3": 456, "y:3": 83 }, "21:10": { @@ -170,7 +170,7 @@ "id:3": 25, "sizeX:3": 40, "sizeY:3": 40, - "x:3": 424, + "x:3": 460, "y:3": -21 }, "23:10": { @@ -191,7 +191,7 @@ "id:3": 30, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 420, + "x:3": 456, "y:3": -89 }, "26:10": { @@ -205,7 +205,7 @@ "id:3": 74, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 432, + "x:3": 468, "y:3": 356 }, "28:10": { @@ -240,8 +240,8 @@ "id:3": 89, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 112, - "y:3": 36 + "x:3": 396, + "y:3": -25 }, "33:10": { "id:3": 90, @@ -254,28 +254,28 @@ "id:3": 91, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 112, - "y:3": 128 + "x:3": 100, + "y:3": 43 }, "35:10": { "id:3": 93, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 71, + "x:3": 84, "y:3": 260 }, "36:10": { "id:3": 106, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 432, + "x:3": 468, "y:3": 304 }, "37:10": { "id:3": 107, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 432, + "x:3": 468, "y:3": 249 }, "38:10": { @@ -303,7 +303,7 @@ "id:3": 129, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 432, + "x:3": 468, "y:3": 39 }, "42:10": { @@ -317,8 +317,8 @@ "id:3": 149, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 165, - "y:3": 95 + "x:3": 178, + "y:3": 55 }, "44:10": { "id:3": 187, @@ -331,15 +331,15 @@ "id:3": 213, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 476, - "y:3": -40 + "x:3": 512, + "y:3": -13 }, "46:10": { "id:3": 366, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 256, - "y:3": -21 + "x:3": 40, + "y:3": 356 }, "47:10": { "id:3": 441, @@ -352,8 +352,8 @@ "id:3": 650, "sizeX:3": 48, "sizeY:3": 48, - "x:3": 536, - "y:3": -52 + "x:3": 555, + "y:3": -25 }, "49:10": { "id:3": 656, @@ -380,22 +380,22 @@ "id:3": 722, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 388, + "x:3": 512, "y:3": -56 }, "53:10": { "id:3": 723, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 388, - "y:3": -28 + "x:3": 567, + "y:3": -56 }, "54:10": { "id:3": 738, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 388, - "y:3": 28 + "x:3": 567, + "y:3": 32 }, "55:10": { "id:3": 763, @@ -408,8 +408,8 @@ "id:3": 861, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 388, - "y:3": 0 + "x:3": 512, + "y:3": 32 }, "57:10": { "id:3": 862, @@ -450,8 +450,8 @@ "id:3": 456863075, "sizeX:3": 32, "sizeY:3": 32, - "x:3": 28, - "y:3": 256 + "x:3": 36, + "y:3": 240 }, "63:10": { "id:3": 530373325, @@ -471,15 +471,15 @@ "id:3": 744003683, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 71, + "x:3": 84, "y:3": 300 }, "66:10": { "id:3": 1107188354, "sizeX:3": 32, "sizeY:3": 32, - "x:3": 176, - "y:3": 264 + "x:3": 166, + "y:3": 296 }, "67:10": { "id:3": 1241306929, @@ -499,7 +499,7 @@ "id:3": 1580653524, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 144, + "x:3": 127, "y:3": 300 }, "70:10": { @@ -520,8 +520,8 @@ "id:3": 1677924297, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 476, - "y:3": -12 + "x:3": 424, + "y:3": -56 }, "73:10": { "id:3": 1767849062, @@ -534,8 +534,8 @@ "id:3": 1867050010, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 476, - "y:3": 16 + "x:3": 424, + "y:3": 32 }, "75:10": { "id:3": 1902566957, @@ -555,7 +555,7 @@ "id:3": 2081939483, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 71, + "x:3": 84, "y:3": 344 } } diff --git a/config/betterquesting/DefaultQuests/QuestLines/1.json b/config/betterquesting/DefaultQuests/QuestLines/1.json index 93e39e43d..a46b2d6d5 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/1.json +++ b/config/betterquesting/DefaultQuests/QuestLines/1.json @@ -430,15 +430,15 @@ "id:3": 518, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -174, - "y:3": -60 + "x:3": -175, + "y:3": -72 }, "60:10": { "id:3": 535, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -204, - "y:3": -90 + "x:3": -228, + "y:3": -72 }, "61:10": { "id:3": 536, diff --git a/config/betterquesting/DefaultQuests/QuestLines/25.json b/config/betterquesting/DefaultQuests/QuestLines/25.json index a925db85d..8d0e5f561 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/25.json +++ b/config/betterquesting/DefaultQuests/QuestLines/25.json @@ -110,6 +110,13 @@ "sizeY:3": 24, "x:3": 216, "y:3": -12 + }, + "14:10": { + "id:3": 1319048907, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 48, + "y:3": 84 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/0/117.json b/config/betterquesting/DefaultQuests/Quests/0/117.json index 397183a93..e8c7fd10f 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/117.json +++ b/config/betterquesting/DefaultQuests/Quests/0/117.json @@ -1,6 +1,11 @@ { + "preRequisiteTypes:7": [ + 0, + 2 + ], "preRequisites:11": [ - 58115670 + 58115670, + 1677924297 ], "properties:10": { "betterquesting:10": { @@ -12,6 +17,7 @@ }, "ignoresview:1": 0, "name:8": "susy.quest.db.117.title", + "questlogic:8": "OR", "visibility:8": "ALWAYS" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/0/1958019111.json b/config/betterquesting/DefaultQuests/Quests/0/1958019111.json index 0f33493a2..eab43f1a7 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/1958019111.json +++ b/config/betterquesting/DefaultQuests/Quests/0/1958019111.json @@ -1,7 +1,6 @@ { "preRequisites:11": [ - 1107188354, - 1580653524 + 1107188354 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/0/366.json b/config/betterquesting/DefaultQuests/Quests/0/366.json index 112e6228d..7257d9b01 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/366.json +++ b/config/betterquesting/DefaultQuests/Quests/0/366.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 21 + 87 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/0/58115670.json b/config/betterquesting/DefaultQuests/Quests/0/58115670.json index 3a5393375..6acad7749 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/58115670.json +++ b/config/betterquesting/DefaultQuests/Quests/0/58115670.json @@ -11,6 +11,7 @@ }, "ignoresview:1": 0, "name:8": "susy.quest.db.58115670.title", + "tasklogic:8": "OR", "visibility:8": "ALWAYS" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/0/744003683.json b/config/betterquesting/DefaultQuests/Quests/0/744003683.json index 1d37cbb7f..b51ff9169 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/744003683.json +++ b/config/betterquesting/DefaultQuests/Quests/0/744003683.json @@ -1,7 +1,6 @@ { "preRequisites:11": [ - 87, - 456863075 + 87 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/0/89.json b/config/betterquesting/DefaultQuests/Quests/0/89.json index 4152c792b..4f4b5f331 100644 --- a/config/betterquesting/DefaultQuests/Quests/0/89.json +++ b/config/betterquesting/DefaultQuests/Quests/0/89.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 149 + 25 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/1/10.json b/config/betterquesting/DefaultQuests/Quests/1/10.json index c2cd467d1..8d4b62858 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/10.json +++ b/config/betterquesting/DefaultQuests/Quests/1/10.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 9 + 12 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/1/34.json b/config/betterquesting/DefaultQuests/Quests/1/34.json index 939965976..58cb76fe7 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/34.json +++ b/config/betterquesting/DefaultQuests/Quests/1/34.json @@ -24,26 +24,39 @@ "requiredItems:9": { "0:10": { "Count:3": 1, - "Damage:2": 16, + "Damage:2": 18, "id:8": "gregtech:meta_item_1" }, "1:10": { "Count:3": 1, - "Damage:2": 12, + "Damage:2": 17, "id:8": "gregtech:meta_item_1" - }, - "2:10": { + } + }, + "taskID:8": "bq_standard:retrieval" + }, + "1:10": { + "entryLogic:8": "AND", + "index:3": 1, + "partialMatch:1": 1, + "requiredItems:9": { + "0:10": { "Count:3": 1, "Damage:2": 13, "id:8": "gregtech:meta_item_1" }, - "3:10": { + "1:10": { "Count:3": 1, - "Damage:2": 17, + "Damage:2": 23, + "id:8": "gregtech:meta_item_1" + }, + "2:10": { + "Count:3": 1, + "Damage:2": 16, "id:8": "gregtech:meta_item_1" } }, - "taskID:8": "bq_standard:retrieval" + "taskID:8": "bq_standard:optional_retrieval" } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/1/518.json b/config/betterquesting/DefaultQuests/Quests/1/518.json index a904f0c6f..f7e0e0d53 100644 --- a/config/betterquesting/DefaultQuests/Quests/1/518.json +++ b/config/betterquesting/DefaultQuests/Quests/1/518.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 32 + 97148971 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/DefaultQuests/Quests/25/1319048907.json b/config/betterquesting/DefaultQuests/Quests/25/1319048907.json new file mode 100644 index 000000000..b6506040f --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/25/1319048907.json @@ -0,0 +1,36 @@ +{ + "preRequisiteTypes:7": [ + 2, + 2, + 2, + 2, + 2 + ], + "preRequisites:11": [ + 59, + 153, + 156, + 563, + 80 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1319048907.desc", + "frame:8": "ROUNDED_SQUARE", + "icon:10": { + "Damage:2": 85, + "id:8": "gregtech:meta_item_1" + }, + "ignoresview:1": 0, + "name:8": "susy.quest.db.1319048907.title", + "questlogic:8": "OR", + "visibility:8": "ALWAYS" + } + }, + "rewards:9": {}, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/25/150.json b/config/betterquesting/DefaultQuests/Quests/25/150.json index 08661cea0..4a70a30dc 100644 --- a/config/betterquesting/DefaultQuests/Quests/25/150.json +++ b/config/betterquesting/DefaultQuests/Quests/25/150.json @@ -22,6 +22,7 @@ "requiredItems:9": { "0:10": { "Count:3": 1, + "OreDict:8": "chest", "id:8": "minecraft:chest" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/3/599.json b/config/betterquesting/DefaultQuests/Quests/3/599.json index 2fd844bbd..bcca44b8f 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/599.json +++ b/config/betterquesting/DefaultQuests/Quests/3/599.json @@ -5,46 +5,41 @@ "properties:10": { "betterquesting:10": { "desc:8": "susy.quest.db.599.desc", - "frame:8": "ROUNDED_SQUARE", "icon:10": { "Damage:2": 4, "id:8": "gregtech:meta_block_frame_20" }, - "ignoresview:1": 0, - "name:8": "susy.quest.db.599.title", - "visibility:8": "ALWAYS" + "name:8": "susy.quest.db.599.title" } }, - "rewards:9": {}, + "questID:3": 599, "tasks:9": { "0:10": { - "entryLogic:8": "AND", - "partialMatch:1": 1, "requiredItems:9": { "0:10": { "Count:3": 1, - "Damage:2": 17011, + "Damage:2": 17021, "id:8": "gregtech:machine" }, "1:10": { - "Count:3": 36, + "Count:3": 9, "Damage:2": 1, "id:8": "gregtech:boiler_casing" }, "2:10": { - "Count:3": 16, - "Damage:2": 2, - "id:8": "gregtech:multiblock_casing" - }, - "3:10": { - "Count:3": 91, + "Count:3": 28, "Damage:2": 4, "id:8": "gregtech:metal_casing" }, - "4:10": { - "Count:3": 300, + "3:10": { + "Count:3": 4, "Damage:2": 4, "id:8": "gregtech:meta_block_frame_20" + }, + "4:10": { + "Count:3": 2, + "Damage:2": 1, + "id:8": "gregtech:turbine_casing" } }, "taskID:8": "bq_standard:retrieval" diff --git a/config/betterquesting/DefaultQuests/Quests/5/756.json b/config/betterquesting/DefaultQuests/Quests/5/756.json index eaca1c172..65a4c14fa 100644 --- a/config/betterquesting/DefaultQuests/Quests/5/756.json +++ b/config/betterquesting/DefaultQuests/Quests/5/756.json @@ -25,7 +25,7 @@ "0:10": { "Count:3": 64, "Damage:2": 15014, - "id:8": "gregtech:meta_wire_fine" + "id:8": "gregtech:meta_thread" } }, "taskID:8": "bq_standard:retrieval" diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/602.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/602.json index 0d8cd61ba..c4cfbb2f3 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/602.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/602.json @@ -1,6 +1,6 @@ { "preRequisites:11": [ - 124 + 126 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 78c5a8c0e..9823ee13f 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -81,7 +81,7 @@ susy.quest.db.11.desc=§6Leather §rneeds to be boiled to make §6Treated Leathe susy.quest.db.12.title=Stone Tools susy.quest.db.12.desc=Now, you should be able to craft your first §7tools§r in your own crafting inventory! A pickaxe and an axe should suffice for now, although a shovel is nice for getting through dirt.%n%nNote: To find the recipe for stone tools, you should check the recipe for their iron variant (or simply by pressing §6[R]§r on the items on the right-hand side) and turn to the §6last§r page of the JEI. susy.quest.db.13.title=Copper -susy.quest.db.13.desc=Copper is found in §6Chalcopyrite, Chalcocite, Malachite, Bornite§f, or §6Tetrahedrite §fveins. Copper can be found pretty much everywhere in the Earth's crust, and even in the deeper layers. Sometimes you might even find some §6Native Copper Deposits§r, which contains coppers in its elemental form.%n%nIf you are having trouble finding a specific deposit, look it up in the JEI database, you will find a page showing where it is found. %n%nLet's start by getting 30 copper ingots.%n%nFinding a §6Tiny Pile of Copper Dust §ron the ground means that there is a deposit under it.%n%n§0§9§e§d§c§b§l§c§c§lAs a very important rule of thumb, quest retrieval numbers are arbitrary. You can follow the suggestion here, but trust me when I say you will need a whole lot more Copper. +susy.quest.db.13.desc=Copper can be found pretty much everywhere in the Earth's crust, and even in the deeper layers. Sometimes you might even find some §6Native Copper Deposits§r, which contains coppers in its elemental form.%n%nYou can get coppers from §eChalcopyrite§r, §8Chalcocite§r, §2Malachite§r, §6Bornite§r, or §4Tetrahedrite§r veins. However, the Primitive Smelter can only process ores with a single type of metal inside, which means that §c§lONLY§r Chalcocite and Malachite can be processed by this.%n%nFinding a §6Tiny Pile of Copper Dust §ron the ground means that there is a deposit under it. If you are having trouble finding a specific deposit, look it up in the JEI database, you will find a page showing where it is found. %n%nLet's start by getting 30 copper ingots.%n%n§c§lAs a very important rule of thumb, quest retrieval numbers are arbitrary. You can follow the suggestion here, but trust me when I say you will need a whole lot more Copper. susy.quest.db.14.title=Tin susy.quest.db.14.desc=Tin can be found in §6Cassiterite Sand§r and §6Cassiterite§f§6 Ore§f veins. You can look them up in the JEI database to see where you can find them.%n%nTin is a silvery-coloured metal. Tin is soft enough to be cut with little force and a bar of tin can be bent with little effort. %n§6%n§l§rOre deposits cover a surface of 20 by 20 meters across. Each deposit can contain up to 5,000 ingots worth of ore. %n%n§0§9§e§d§c§b§l§c§c§lAs a very important rule of thumb, quest retrieval numbers are arbitrary. You can follow the suggestion here, but trust me when I say you will need a lot more Tin and especially Copper. susy.quest.db.15.title=Macerator V0.1 Alpha @@ -787,7 +787,7 @@ susy.quest.db.364.desc=No Description susy.quest.db.365.title=118 | Oganesson susy.quest.db.365.desc=No Description susy.quest.db.366.title=Home Block -susy.quest.db.366.desc=You can craft §6home blocks §rusing a block of smooth stone and a file.%n %nThe home block has 4 variants, you can cycle through them by putting them in a crafting table.%n +susy.quest.db.366.desc=You can craft §6home blocks §rusing a block of smooth stone and a hammer. You can reset your spawn by R-clicking them.%n%nThe home block has 4 variants, you can cycle through them by putting them in a crafting table, or using a chisel if you have aquired some iron. susy.quest.db.367.title=Catalysts susy.quest.db.367.desc=A §6catalyst§r is a substance that speeds up a chemical reaction without being consumed in the process.%n%nThere are §6catalyst beds, pellets, and dusts§r, depending on the machine used. §cTiered§r catalysts can affect speed and energy consumption, similarly to the way overclocking can increase the efficiency of a machine.%n%nCatalysts can be used to help §6speed up processes, or even make them cheaper§r, this chapter will serve as a list of useful or commonly used catalysts. susy.quest.db.368.title=Annealed Copper @@ -1252,8 +1252,8 @@ susy.quest.db.597.title=Thompson susy.quest.db.597.desc=The §6Thompson §ris a §ctwo-handed§r sub-machine gun (SMG) you can make at MV. It uses §6SMG Magazines §ras ammo. susy.quest.db.598.title=Raw Electrum susy.quest.db.598.desc=§6Electrum §rdeposits can be found naturally. They contain a source of §7Silver §rand §6Gold§r. -susy.quest.db.599.title=Ocean Drill -susy.quest.db.599.desc=The §bOcean Drill§r is an electric machine that collect§b 8,000 L of seawater per second §rif its§c controller §ris placed between altitude levels §970 and 75 §rin an ocean.%n%nThe Ocean Drill requires:%n§6%n- 1 Ocean Drill Controller%n- 300 Steel Frame Boxes%n- 16 Grate Machine Casings%n- 91 Solid Steel Machine Casings%n- 36 Steel Pipe Casings%n- 1 Maintenance Hatch%n- 1 MV Energy Hatch%n +susy.quest.db.599.title=Large Fluid Pump +susy.quest.db.599.desc=The §bLarge Fluid Pump§r is an electric machine that collect §b1000 L of fluid per second§r, depending on the §ebiome§r if its§c controller §ris placed at Y level equal to §964§r. The maximum amount of parallel recipes that can be done in this multiblock is 256.%nThe §bLarge Fluid Pump§r requires:%n§6%n- 1 Large Fluid Pump Controller%n- 28 Solid Steel Machine Casings%n- 9 Steel Pipe Casings%n- 2 Steel Gearbox Casings%n- 1 Maintenance Hatch%n- 1 to 2 Energy Hatch%n- 1 Input Bus%n§r%n%nIf you are wondering what happened to the Ocean Pump, that multiblock will be removed from the pack in the near future, and its role has been replaced by Large Fluid Pump. susy.quest.db.600.title=Auto Chisel susy.quest.db.600.desc=The §6Auto Chisel §rcan chisel blocks §aautomatically§r.%n%nThe §6Auto Chisel §rrequires a §6chisel §rto be placed into the top middle slot to work. %n%nThe block to be created is placed into the bottom middle slot, and blocks to be chiseled should be in the left slots. %n%nThe machine will output to the right slots.%n%nThe machine can hold up to 10,000 FE (2,500 EU) susy.quest.db.601.title=Elevators @@ -1831,7 +1831,7 @@ susy.quest.db.18799598.desc=The §6Soaking Pot§r can be used to... soak things. susy.quest.db.58115670.title=Stone Oven susy.quest.db.58115670.desc=The §6Stone Oven§r contains a hollow chamber, where the materials are exposed to a hot environment in a controlled way.%n%nNot like kilns, although working at a much lower temperature, ovens can be used to heat food to a desired temperature, and thus can be used for §6cooking§r. The better control of temperature also makes ovens possible to §6dry things§r like a drying rack.%n%nAdditionally, ovens can dry §4Mud Bricks§r into §eAdobe Bricks§r, which can be used to build the §6Primitive Baking Oven§r, a type of oven specially designed for cooking food. Check corresponding quests for more information.%n%nTo use a stone oven, you need to right click the lower/upper part of the oven to insert fuels/items that you want to smelt, and then ignite it to start the process. susy.quest.db.97148971.title=Primitive Smelter -susy.quest.db.97148971.desc=The §6Primitive Smelter§r is a primitive multiblock furnace capable of §4Smelting Metals§r and §eAlloys§r.%n%nIt can be used to extract certain metals, such as §6Copper§r, §7Tin§r, §5Lead§r, and §7Zinc§r, from their ores through decomposition, driving off other elements as §8gases§r or §8slag§r and leaving the metal behind.%n%nAdditionally, it can produce some basic alloys, such as §6Bronze§r or §eBrass§r, from their components.%n%nThe speed of the §6Primitive Smelter§r depends on the §7Reductant§r (which also serves as §cFuel§r) it is using, as well as the form of the ingredients used for smelting. Generally, the §4dust§r form of the ingredients takes the least time.%n%nCheck the JEI page for more infomation. +susy.quest.db.97148971.desc=The §6Primitive Smelter§r is a primitive multiblock furnace capable of §4Smelting Metals§r and §eAlloys§r.%n%nIt can be used to extract certain metals, such as §6Copper§r, §7Tin§r, §5Lead§r, and §7Zinc§r, from their ores through decomposition, driving off other elements as §8gases§r or §8slag§r and leaving the metal behind.%n%nAdditionally, it can produce some basic alloys, such as §6Bronze§r, §cPotin§r, or §eBrass§r, from their components.%n%nThe speed of the §6Primitive Smelter§r depends on the §7Reductant§r (which also serves as §cFuel§r) it is using, as well as the form of the ingredients used for smelting. Generally, the §4dust§r form of the ingredients takes the least time.%n%nCheck the JEI page for more infomation. susy.quest.db.302928877.title=Coke Oven Brick susy.quest.db.302928877.desc=By mixing §bClays§r and §eSands§r, you created a new kind of clay which, after forming and firing, creates bricks that are quite air-tight, making them suitable to be used as §6Coke Oven Bricks§r. susy.quest.db.456863075.title=Lighting a Fire @@ -1866,3 +1866,5 @@ susy.quest.db.1958019111.title=Masonry Brick susy.quest.db.1958019111.desc=The §7Masonry Brick§r is essentially a brick-shaped piece of stone. It can be used to construct solid and insulated structures such as §6kilns§r, §6ovens§r, and the §6Primitive Smelter§r, or it can simply be utilized for architectural purposes. %n%nTo obtain some §7Masonry Bricks§r, break stones on an anvil using a pickaxe. susy.quest.db.2081939483.title=Brick susy.quest.db.2081939483.desc=By compressing §3Clays§r in a §6Wooden Form§r, you can get §3Compressed Clays§r, which can be fired in a pit kiln to produce §4Bricks§r. +susy.quest.db.1319048907.title=Graduated Cylinders +susy.quest.db.1319048907.desc=While holding any item which can contain fluids in your main hand (i.e. §7buckets§r, §7fluid cells§r, or §7drums§r, etc.), §a§2punch§r any placed block which can also hold fluids (i.e. §7drums§r, §7fluid hatches§r, or §7GregTech machines§r, etc.) to open the §6transfer GUI§r. Here, you can choose the amount in milibuckets to transfer and the direction.%n%nYou can also transfer fluids §2between two items§r, by right-clicking one on top of the other in an inventory.%n%nThis well help a lot for batch crafting with fluids.%n%n§4§lWARNING: DO NOT use this on Coke Oven Hatches, THIS WILL CRASH YOUR GAME! diff --git a/config/bogosorter/config.json b/config/bogosorter/config.json index cf6dadf6b..ccd6c4a78 100644 --- a/config/bogosorter/config.json +++ b/config/bogosorter/config.json @@ -1,12 +1,11 @@ { "General": { "enableAutoRefill": true, - "refillDmgThreshold": 1, + "refillDmgThreshold": 0, "enableHotbarSwap": true, "sortSound": "minecraft:ui.button.click", "buttonColor": "#ffffffff", - "_comment": "By setting the chance below to 0 you agree to have no humor and that you are boring.", - "baseBogoChance": 0.01 + "_comment": "By setting the chance below to 0 you agree to have no humor and that you are boring." }, "ItemSortRules": [ { diff --git a/config/pyrotech/module.Ignition.cfg b/config/pyrotech/module.Ignition.cfg index e76209bfe..b1559d017 100755 --- a/config/pyrotech/module.Ignition.cfg +++ b/config/pyrotech/module.Ignition.cfg @@ -114,7 +114,7 @@ general { # Default: 20 # Min: 0 # Max: 2147483647 - I:BOW_DRILL_USE_DURATION_TICKS=80 + I:BOW_DRILL_USE_DURATION_TICKS=20 # Defines how many cooldown ticks applied after using the durable bow drill. # Default: 20 @@ -132,7 +132,7 @@ general { # Default: 20 # Min: 0 # Max: 2147483647 - I:DURABLE_BOW_DRILL_USE_DURATION_TICKS=60 + I:DURABLE_BOW_DRILL_USE_DURATION_TICKS=5 # Defines how many cooldown ticks applied after using the flint and tinder. # Default: 20 @@ -150,7 +150,7 @@ general { # Default: 80 # Min: 0 # Max: 2147483647 - I:FLINT_AND_TINDER_USE_DURATION_TICKS=80 + I:FLINT_AND_TINDER_USE_DURATION_TICKS=40 # How many ticks the player must wait before using a matchstick again. # Default: 40 diff --git a/config/quark.cfg b/config/quark.cfg index 0eb3a835e..4f2ed3f67 100644 --- a/config/quark.cfg +++ b/config/quark.cfg @@ -782,7 +782,7 @@ experimental { management { - B:"Automatic tool restock"=true + B:"Automatic tool restock"=false B:"Better craft shifting"=true B:"Change hotbar keybind"=true B:"Chest buttons"=true diff --git a/config/vintagefix.properties b/config/vintagefix.properties index 0fd03db99..82e620c6e 100644 --- a/config/vintagefix.properties +++ b/config/vintagefix.properties @@ -1,19 +1,29 @@ # VintageFix config file +mixin.allocation_rate=true mixin.backports.new_world_name=true mixin.backports.white_button_text=true mixin.blockstates=true mixin.branding=true +mixin.bugfix.entity_disappearing=true +mixin.bugfix.exit_freeze=true +mixin.bugfix.extrautils=false mixin.bugfix.missing_edge_chunks=true +mixin.bugfix.slow_tps_catchup=true mixin.bugfix.tab_complete_ddos=true +mixin.chunk_access=true mixin.dynamic_resources=true mixin.dynamic_resources.background_item_bake=true mixin.dynamic_resources.hide_model_exceptions=false mixin.dynamic_structures=true +mixin.invisible_subchunks=true +mixin.jar_discoverer_cache=true mixin.mod_opts.agricraft=true mixin.model_optimizations.dedup_baked_quad=true mixin.model_optimizations.dedup_multipart=true mixin.model_optimizations.dedup_quad_lists=true mixin.model_optimizations.location_canon=true +mixin.model_optimizations.simpler_perspective_wrapper=true mixin.resourcepacks=true mixin.textures=true +mixin.version_protest=false diff --git a/config/visualores.cfg b/config/visualores.cfg index b25ca6c46..d0bea9ca7 100644 --- a/config/visualores.cfg +++ b/config/visualores.cfg @@ -50,7 +50,7 @@ general { # The size, in pixels, of ore icons on the map # Min: 4 # Max: 2147483647 - I:oreIconSize=32 + I:oreIconSize=64 # The string prepending ore names in the ore vein tooltip S:oreNamePrefix=- @@ -58,7 +58,7 @@ general { # The map scale at which displayed ores will stop scaling. # Min: 0.1 # Max: 16.0 - D:oreScaleStop=1.0 + D:oreScaleStop=4.0 } journeymap { diff --git a/groovy/classes/ChangeFlags.groovy b/groovy/classes/ChangeFlags.groovy index e6fdb8ee3..4a089bd54 100644 --- a/groovy/classes/ChangeFlags.groovy +++ b/groovy/classes/ChangeFlags.groovy @@ -143,6 +143,7 @@ class ChangeFlags { BisphenolA.addFlags("no_unification"); Phosphorus.addFlags("no_smelting"); Tetrahedrite.addFlags("no_smelting"); + Gold.addFlags("generate_gear"); /* ManganesePhosphide.addFlags("no_smashing", "no_smelting") diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index c8f7a7266..556e98b9a 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -162,6 +162,13 @@ public class FirstDegreeMaterials { .colorAverage() .build(); + CobaltMatte = new Material.Builder(8106, SuSyUtility.susyId("cobalt_matte")) + .ingot() + .flags(NO_UNIFICATION) + .color(0x7070d6) + .build() + .setFormula("(Co)(?)", true) + AmmoniumNitrate = new Material.Builder(8107, SuSyUtility.susyId('ammonium_nitrate')) .dust() .components(Nitrogen * 2, Oxygen * 3, Hydrogen * 4) @@ -3423,13 +3430,13 @@ public class FirstDegreeMaterials { .components(Argon, Water) .colorAverage() .build() - .setFormula("(Ar)(H20)") + .setFormula("(Ar)(H2O)", true) ArgonHydrogenMixture = new Material.Builder(8628, SuSyUtility.susyId("argon_hydrogen_mixture")) .gas() .components(Argon, Hydrogen * 4) .color(0x20a291) .build() - .setFormula("(Ar)(H)") + .setFormula("(Ar)(H)", true) } } diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index 315996693..caa7aec13 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -719,13 +719,13 @@ public class SecondDegreeMaterials { .components(Argon, Hydrogen * 4, HydrogenChloride) .colorAverage() .build() - .setFormula("(Ar)(HCl)(H)"); + .setFormula("(Ar)(HCl)(H)", true); AmmoniacalArgonHydrogenMixture = new Material.Builder(8627, SuSyUtility.susyId("ammoniacal_argon_hydrogen_mixture")) .gas() .components(Argon, Hydrogen * 4, Ammonia) .colorAverage() .build() - .setFormula("(Ar)(NH3)(H)") + .setFormula("(Ar)(NH3)(H)", true) } } diff --git a/groovy/material/ThermodynamicsMaterials.groovy b/groovy/material/ThermodynamicsMaterials.groovy index 1b17c57f0..3b4ce4c09 100755 --- a/groovy/material/ThermodynamicsMaterials.groovy +++ b/groovy/material/ThermodynamicsMaterials.groovy @@ -487,20 +487,20 @@ class ThermodynamicsMaterials { .components(Argon, Hydrogen, Ammonia) .colorAverage() .build() - .setFormula("(Ar)(NH3)(H)") + .setFormula("(Ar)(NH3)(H)", true) ColdArgonHydrogenMixture = new Material.Builder(22845, SuSyUtility.susyId('cold_argon_hydrogen_mixture')) .gas(new FluidBuilder().temperature(220)) .components(Argon, Hydrogen) .color(0x20a591) .build() - .setFormula("(Ar)(H)") + .setFormula("(Ar)(H)", true) PartiallyLiquefiedArgonHydrogenMixture = new Material.Builder(22846, SuSyUtility.susyId('partially_liquefied_argon_hydrogen_mixture')) .liquid(new FluidBuilder().temperature(73)) .components(Argon, Hydrogen) .color(0x20aa91) .build() - .setFormula("(Ar)(H)") + .setFormula("(Ar)(H)", true) } } \ No newline at end of file diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index b21c520b0..86c1a1d93 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1141,7 +1141,7 @@ public class UnknownCompositionMaterials { .color(0x74561d) .build(); - TitanylSulfateSolution.setFormula('(H20)(TiO[SO4])(?)', true); + TitanylSulfateSolution.setFormula('(H2O)(TiO[SO4])(?)', true); AcidicWastewater = new Material.Builder(4233, SuSyUtility.susyId('acidic_wastewater')) .liquid(new FluidBuilder().attribute(FluidAttributes.ACID)) @@ -1937,11 +1937,5 @@ public class UnknownCompositionMaterials { .dust() .color(0x631a87) .build() - - CobaltMatte = new Material.Builder(4424, SuSyUtility.susyId("cobalt_matte")) - .ingot() - .flags(NO_UNIFICATION) - .color(0x7070d6) - .build() } } diff --git a/groovy/postInit/gameplay/Invasions.groovy b/groovy/postInit/gameplay/Invasions.groovy index a0ccc18f3..c55532347 100644 --- a/groovy/postInit/gameplay/Invasions.groovy +++ b/groovy/postInit/gameplay/Invasions.groovy @@ -4,20 +4,25 @@ import net.minecraft.init.MobEffects; import net.minecraft.potion.PotionEffect; import techguns.entities.npcs.Bandit; -new MobHordeEvent((player) -> {return new EntityZombie(player.world);}, 5, 10, "zombie_medium") - .setAdvancementUnlock(new ResourceLocation("gregtech:steam/4_bronze_boiler")) +new MobHordeEvent((player) -> {EntityZombie zombie = new EntityZombie(player.world); + zombie.addPotionEffect(new PotionEffect(MobEffects.SPEED, 999999, 1)); + return zombie;}, 5, 10, "zombie_medium") + .setAdvancementUnlock(new ResourceLocation("gregtech:steam/1_first_tools")) .setNightOnly(true) .setTimer(144000, 216000) // 2 - 3 hours + .setCanUsePods(false) new MobHordeEvent((player) -> {EntityZombie zombie = new EntityZombie(player.world); zombie.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 999999, 1)); zombie.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 999999, 1)); - zombie.addPotionEffect(new PotionEffect(MobEffects.SPEED, 999999)); + zombie.addPotionEffect(new PotionEffect(MobEffects.SPEED, 999999, 1)); return zombie;}, 6, 12, "zombie_hard") .setAdvancementUnlock(new ResourceLocation("gregtech:steam/16_steel_boiler")) .setNightOnly(true) .setTimer(144000, 216000) // 2 - 3 hours + .setCanUsePods(false) new MobHordeEvent((player) -> {Bandit bandit = new Bandit(player.world); bandit.addRandomArmor(0); return bandit;}, 2, 4, "bandit_medium") .setAdvancementUnlock(new ResourceLocation("gregtech:low_voltage/23_lv_assembler")) .setTimer(72000, 216000) // 1 - 3 hours + diff --git a/groovy/postInit/mod/GregTech.groovy b/groovy/postInit/mod/GregTech.groovy index f448921de..70d28df85 100644 --- a/groovy/postInit/mod/GregTech.groovy +++ b/groovy/postInit/mod/GregTech.groovy @@ -302,7 +302,7 @@ mods.gregtech.assembler.recipeBuilder() .duration(100) .EUt(30) .buildAndRegister(); - + //Steam Conveyor (no recipe for now) @@ -349,13 +349,13 @@ RecyclingHelper.replaceShaped("gregtech:gregtech.machine.macerator.lv", metaitem ]) RecyclingHelper.replaceShaped("gregtech:gregtech.machine.cutter.lv", metaitem('gregtech:cutter.lv'), [ - [metaitem('cableGtSingleTin'), ore('circuitLv'), item('minecraft:glass')], + [metaitem('cableGtSingleTin'), ore('circuitLv'), ore('blockGlass')], [metaitem('conveyor.module.lv'), metaitem('gregtech:hull.lv'), metaitem('toolHeadBuzzSawSteel')], [ore('circuitLv'), metaitem('cableGtSingleTin'), metaitem('electric.motor.lv')] ]) RecyclingHelper.replaceShaped("gregtech:gregtech.machine.cutter.mv", metaitem('gregtech:cutter.mv'), [ - [metaitem('cableGtSingleCopper'), ore('circuitMv'), item('minecraft:glass')], + [metaitem('cableGtSingleCopper'), ore('circuitMv'), ore('blockGlass')], [metaitem('conveyor.module.mv'), metaitem('gregtech:hull.mv'), metaitem('toolHeadBuzzSawAluminium')], [ore('circuitMv'), metaitem('cableGtSingleCopper'), metaitem('electric.motor.mv')] ]) @@ -367,13 +367,13 @@ RecyclingHelper.replaceShaped("gregtech:gregtech.machine.cutter.hv", metaitem('g ]) RecyclingHelper.replaceShaped("gregtech:gregtech.machine.electrolyzer.lv", metaitem('gregtech:electrolyzer.lv'), [ - [metaitem('wireGtSingleSilver'), item('minecraft:glass'), metaitem('wireGtSingleSilver')], + [metaitem('wireGtSingleSilver'), ore('blockGlass'), metaitem('wireGtSingleSilver')], [metaitem('wireGtSingleSilver'), metaitem('gregtech:hull.lv'), metaitem('wireGtSingleSilver')], [ore('circuitLv'), metaitem('cableGtSingleTin'), ore('circuitLv')] ]) RecyclingHelper.replaceShaped("gregtech:gregtech.machine.electrolyzer.mv", metaitem('gregtech:electrolyzer.mv'), [ - [metaitem('wireGtSingleGold'), item('minecraft:glass'), metaitem('wireGtSingleGold')], + [metaitem('wireGtSingleGold'), ore('blockGlass'), metaitem('wireGtSingleGold')], [metaitem('wireGtSingleGold'), metaitem('gregtech:hull.mv'), metaitem('wireGtSingleGold')], [ore('circuitMv'), metaitem('cableGtSingleCopper'), ore('circuitMv')] ]) @@ -1418,7 +1418,7 @@ mods.gregtech.assembler.removeByInput(7, [metaitem('hull.ulv'), item('minecraft: mods.gregtech.assembler.removeByInput(7, [metaitem('hull.ulv'), item('minecraft:glass'), metaitem('circuit.integrated').withNbt(["Configuration": 1])], [fluid('polybenzimidazole') * 4]) crafting.addShaped("gregtech:fluid_hatch.import.ulv", metaitem('fluid_hatch.import.ulv'), [ - [null, item('minecraft:glass'), null], + [null, ore('blockGlass'), null], [null, metaitem('hull.ulv'), null], [null, null, null] ]) @@ -1432,7 +1432,7 @@ mods.gregtech.assembler.removeByInput(7, [metaitem('hull.ulv'), item('minecraft: crafting.addShaped("gregtech:fluid_hatch.export.ulv", metaitem('fluid_hatch.export.ulv'), [ [null, null, null], [null, metaitem('hull.ulv'), null], - [null, item('minecraft:glass'), null] + [null, ore('blockGlass'), null] ]) // Black Granite Dust * 1 diff --git a/groovy/postInit/mod/ImmersiveRailroading.groovy b/groovy/postInit/mod/ImmersiveRailroading.groovy index e48b5e2d9..d206910ee 100755 --- a/groovy/postInit/mod/ImmersiveRailroading.groovy +++ b/groovy/postInit/mod/ImmersiveRailroading.groovy @@ -1,10 +1,11 @@ -log.infoMC("Running ImmersiveRailroading.groovy...") +import cam72cam.immersiverailroading.IRItems +import cam72cam.mod.serialization.TagCompound import globals.Globals -import supersymmetry.api.recipes.SuSyRecipeMaps; -import cam72cam.immersiverailroading.IRItems; -import cam72cam.mod.serialization.TagCompound; -import trackapi.lib.Gauges; +import supersymmetry.api.recipes.SuSyRecipeMaps +import trackapi.lib.Gauges + +log.infoMC("Running ImmersiveRailroading.groovy...") ArrayList name_removals = [ "immersiverailroading:item_manual", @@ -204,7 +205,7 @@ Globals.solders.each { key, val -> .inputs(metaitem('electric.motor.lv') * 4) .inputs(metaitem('electric.piston.lv') * 4) .inputs(item('gregtech:boiler_firebox_casing', 1) * 2) - .inputs(item('minecraft:glass') * 4) + .inputs(ore('blockGlass') * 4) .inputs(ore('plateSteel') * 16) .inputs(ore('stickLongSteel') * 8) .fluidInputs(fluid(key) * (val * 10)) @@ -247,7 +248,7 @@ Globals.solders.each { key, val -> .inputs(metaitem('minecart_wheels.steel') * 4) .inputs(ore('plateSteel') * 20) .inputs(ore('stickLongSteel') * 6) - .inputs(item('minecraft:glass') * 4) + .inputs(ore('blockGlass') * 4) .fluidInputs(fluid(key) * (val * 10)) .outputs(is3.internal) .EUt(30) diff --git a/groovy/postInit/mod/MachineRecipes.groovy b/groovy/postInit/mod/MachineRecipes.groovy index 57a1b242d..b8b5c3ab2 100755 --- a/groovy/postInit/mod/MachineRecipes.groovy +++ b/groovy/postInit/mod/MachineRecipes.groovy @@ -813,11 +813,11 @@ RecyclingHelper.addShaped("gregtech:dumper", metaitem('dumper'), [ [metaitem('plateSteel'), metaitem('plateSteel'), metaitem('plateSteel')] ]) -RecyclingHelper.addShaped("gregtech:ocean_pumper", metaitem('ocean_pumper'), [ +/*RecyclingHelper.addShaped("gregtech:ocean_pumper", metaitem('ocean_pumper'), [ [metaitem('stickLongAluminium'), metaitem('electric.pump.mv'), metaitem('stickLongAluminium')], [ore('circuitMv'), metaitem('hull.mv'), ore('circuitMv')], [metaitem('cableGtSingleCopper'), metaitem('electric.pump.mv'), metaitem('cableGtSingleCopper')] -]) +*/ RecyclingHelper.addShaped("gregtech:coking_tower", metaitem('coking_tower'), [ [metaitem('pipeHugeFluidSteel'), pumps[3], metaitem('pipeHugeFluidSteel')], @@ -1085,3 +1085,11 @@ recipemap('assembler').recipeBuilder() .EUt(30) .duration(600) .buildAndRegister() + +RecyclingHelper.addShaped('gregtech:large_fluid_pump', metaitem('large_fluid_pump'), [ + [metaitem('rotorBronze'), ore('circuitLv'), metaitem('rotorBronze')], + [metaitem('cableGtQuadrupleTin'), metaitem('hull.lv'), metaitem('cableGtQuadrupleTin')], + [metaitem('rotorBronze'), ore('circuitLv'), metaitem('rotorBronze')] +]) + +crafting.addShapeless("gregtech:ocean_pumper_switching", metaitem('large_fluid_pump'), [metaitem('ocean_pumper')]); \ No newline at end of file diff --git a/groovy/postInit/mod/Pyrotech.groovy b/groovy/postInit/mod/Pyrotech.groovy index 7dc0c97f0..91f40db96 100644 --- a/groovy/postInit/mod/Pyrotech.groovy +++ b/groovy/postInit/mod/Pyrotech.groovy @@ -1,14 +1,28 @@ package postInit.mod -import com.codetaylor.mc.pyrotech.modules.tech.basic.ModuleTechBasic; -import com.codetaylor.mc.pyrotech.modules.tech.basic.block.BlockKilnPit; -import com.cleanroommc.groovyscript.api.IIngredient; -import net.minecraft.util.EnumHand; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.event.world.BlockEvent; +import com.cleanroommc.groovyscript.api.IIngredient +import com.codetaylor.mc.pyrotech.library.spi.block.IBlockIgnitableWithIgniterItem +import com.codetaylor.mc.pyrotech.modules.tech.basic.ModuleTechBasic +import com.codetaylor.mc.pyrotech.modules.tech.basic.block.BlockKilnPit +import globals.Globals +import globals.RecyclingHelper +import gregtech.api.items.metaitem.MetaItem +import gregtech.api.items.metaitem.stats.IItemBehaviour +import gregtech.api.util.GTUtility +import gregtech.common.items.behaviors.LighterBehaviour +import net.minecraft.util.EnumHand +import net.minecraftforge.event.entity.player.PlayerInteractEvent +import net.minecraftforge.event.world.BlockEvent +import net.minecraftforge.fml.common.eventhandler.Event log.infoMC("Running Pyrotech.groovy...") +SMELTER = recipemap('primitive_smelter') +ALLOY_SMELTER = recipemap('alloy_smelter') +CUTTER = recipemap('cutter') +ASSEMBLER = recipemap('assembler') +CHEMICAL_BATH = recipemap('chemical_bath') + // Make it easier to create a pit kiln event_manager.listen { PlayerInteractEvent.RightClickBlock event -> EnumFacing facing = event.getFace(); @@ -41,6 +55,42 @@ event_manager.listen { BlockEvent.HarvestDropsEvent event -> } } +// Allow igniting pyrotech furnaces with GT items +eventManager.listen { PlayerInteractEvent.RightClickBlock event -> + + World world = event.getWorld() + BlockPos pos = event.getPos() + EnumFacing facing = event.getFace() + EntityPlayer player = event.getEntityPlayer() + IBlockState blockState = world.getBlockState(pos) + Block block = blockState.getBlock() + + if (block instanceof IBlockIgnitableWithIgniterItem) { + def ignitable = (IBlockIgnitableWithIgniterItem) block + ItemStack stack = event.getItemStack() + Item item = stack.getItem() + + if (item instanceof MetaItem) { + def metaItem = (MetaItem) item + for (IItemBehaviour behaviour : metaItem.getBehaviours(stack)) { + if (behaviour instanceof LighterBehaviour) { + NBTTagCompound compound = GTUtility.getOrCreateNbtCompound(stack) + if (stack.isItemEqual(metaitem('tool.matches')) // Special checks for non-openable igniters + || stack.isItemEqual(metaitem('tool.matchbox')) // WTF why is canOpen field privite + || compound.getBoolean(LighterBehaviour.LIGHTER_OPEN)) { + def lighterBehaviour = (LighterBehaviour) behaviour + lighterBehaviour.consumeFuel(player, stack) + ignitable.igniteWithIgniterItem(world, pos, blockState, facing) + event.setUseItem(Event.Result.DENY) + return + } + break + } + } + } + } +} + def name_removals = [ "pyrotech:crude_hammer", "pyrotech:tech/basic/worktable", @@ -55,7 +105,20 @@ def name_removals = [ "pyrotech:bucket/bucket_stone", "pyrotech:ignition/matchstick", "pyrotech:stone_hammer", + "pyrotech:flint_hammer", + "pyrotech:flint_hammer_durable", + "pyrotech:bone_hammer", + "pyrotech:bone_hammer_durable", + "pyrotech:iron_hammer", + "pyrotech:gold_hammer", + "pyrotech:diamond_hammer", "pyrotech:obsidian_hammer", + "pyrotech:tech/bloomery/tongs_stone", + "pyrotech:tech/bloomery/tongs_flint", + "pyrotech:tech/bloomery/tongs_bone", + "pyrotech:tech/bloomery/tongs_iron", + "pyrotech:tech/bloomery/tongs_gold", + "pyrotech:tech/bloomery/tongs_diamond", "pyrotech:tech/bloomery/tongs_obsidian", "pyrotech:tech/machine/sawmill_blade_stone", "pyrotech:tech/machine/sawmill_blade_flint", @@ -75,6 +138,13 @@ def name_removals = [ "pyrotech:tech/machine/mechanical_spreader", "pyrotech:tech/machine/stone_crucible", "pyrotech:tech/machine/brick_crucible", + "pyrotech:saddle", + "pyrotech:leather_helmet", + "pyrotech:leather_chestplate", + "pyrotech:leather_leggings", + "pyrotech:leather_boots", + "pyrotech:item_frame", + "pyrotech:book", "pyrotech:boat_spruce", "pyrotech:boat_oak", "pyrotech:boat_jungle", @@ -183,7 +253,20 @@ mods.jei.ingredient.yeet( item('pyrotech:anvil_iron_plated'), item('pyrotech:crude_hammer'), item('pyrotech:stone_hammer'), + item('pyrotech:flint_hammer'), + item('pyrotech:flint_hammer_durable'), + item('pyrotech:bone_hammer'), + item('pyrotech:bone_hammer_durable'), + item('pyrotech:iron_hammer'), + item('pyrotech:gold_hammer'), + item('pyrotech:diamond_hammer'), item('pyrotech:obsidian_hammer'), + item('pyrotech:tongs_stone'), + item('pyrotech:tongs_flint'), + item('pyrotech:tongs_bone'), + item('pyrotech:tongs_iron'), + item('pyrotech:tongs_gold'), + item('pyrotech:tongs_diamond'), item('pyrotech:tongs_obsidian'), item('pyrotech:sawmill_blade_stone'), item('pyrotech:sawmill_blade_flint'), @@ -212,6 +295,8 @@ mods.jei.ingredient.yeet( item('pyrotech:material', 5), item('pyrotech:material', 8), item('pyrotech:material', 9), + item('pyrotech:material', 18), + item('pyrotech:material', 19), item('pyrotech:material', 20), item('pyrotech:material', 22), item('pyrotech:material', 23), @@ -220,6 +305,7 @@ mods.jei.ingredient.yeet( item('pyrotech:material', 28), item('pyrotech:material', 31), item('pyrotech:material', 33), + item('pyrotech:material', 34), item('pyrotech:material', 35), item('pyrotech:material', 36), item('pyrotech:material', 37), @@ -497,10 +583,17 @@ crafting.replaceShaped("pyrotech:straw", item('pyrotech:material', 2) * 4, [ [item('pyrotech:material', 13), item('pyrotech:material', 13), item('pyrotech:material', 13)] ]) +// Durable Bow Drill +crafting.replaceShaped("pyrotech:bow_drill_durable", item('pyrotech:bow_drill_durable'), [ + [ore('string'), ore('stickWood'), ore('craftingToolKnife')], + [ore('string'), item('pyrotech:material', 39), ore('stickStone')], + [ore('string'), ore('stickWood'), null] +]) + // Durable spindle crafting.replaceShaped("pyrotech:bow_drill_durable_stick", item('pyrotech:material', 48), [ - [item('pyrotech:material', 39)], - [ore('stickLongWood')] + [ore('craftingToolKnife'), item('pyrotech:material', 39)], + [null, ore('stickLongWood')] ]) // Bow drill @@ -522,6 +615,144 @@ crafting.replaceShaped("pyrotech:bucket/bucket_clay_unfired", item('pyrotech:buc [null, metaitem('compressed.clay'), null] ]) +// Gears +RecyclingHelper.addShapeless("susy:cog_stone", item('pyrotech:cog_stone'), [metaitem('gearStone')]) +RecyclingHelper.replaceShapeless("pyrotech:tech/machine/cog_iron", item('pyrotech:cog_iron'), [metaitem('gearIron')]) +RecyclingHelper.replaceShapeless("pyrotech:tech/machine/cog_gold", item('pyrotech:cog_gold'), [metaitem('gearGold')]) +RecyclingHelper.replaceShapeless("pyrotech:tech/machine/cog_diamond", item('pyrotech:cog_diamond'), [metaitem('gearDiamond')]) + +oreDict.add("gearStone", item('pyrotech:cog_stone')) +oreDict.add("gearIron", item('pyrotech:cog_iron')) +oreDict.add("gearGold", item('pyrotech:cog_gold')) +oreDict.add("gearDiamond", item('pyrotech:cog_diamond')) + +crafting.addShapeless("susy:cog_stone_to_gear", metaitem('gearStone'), [item('pyrotech:cog_stone')]) +crafting.addShapeless("susy:cog_iron_to_gear", metaitem('gearIron'), [item('pyrotech:cog_iron')]) +crafting.addShapeless("susy:cog_gold_to_gear", metaitem('gearGold'), [item('pyrotech:cog_gold')]) +crafting.addShapeless("susy:cog_diamond_to_gear", metaitem('gearDiamond'), [item('pyrotech:cog_diamond')]) + +// Leather ingredients +// Leather Sheet +crafting.addShaped("susy:leather_sheet", item('pyrotech:material', 38), [ + [ore('craftingToolKnife')], + [ore('leather')] +]) + +CUTTER.recipeBuilder() + .inputs(ore('leather')) + .outputs(item('pyrotech:material', 38)) + .chancedOutput(item('pyrotech:material', 38), 5000, 0) + .duration(80) + .EUt(7) + .buildAndRegister() + +// Leather Strap +crafting.addShaped("susy:leather_strap", item('pyrotech:material', 39) * 2, [ + [ore('craftingToolKnife'), item('pyrotech:material', 38)] +]) + +CUTTER.recipeBuilder() + .inputs(item('pyrotech:material', 38)) + .outputs(item('pyrotech:material', 39) * 4) + .duration(50) + .EUt(7) + .buildAndRegister() + +// Leather Cord +crafting.addShaped("susy:leather_cord", item('pyrotech:material', 40), [ + [item('pyrotech:material', 39)], + [item('pyrotech:material', 39)], + [item('pyrotech:material', 39)] +]) + +ASSEMBLER.recipeBuilder() + .inputs(item('pyrotech:material', 39) * 2) + .outputs(item('pyrotech:material', 40)) + .duration(100) + .EUt(7) + .buildAndRegister() + +// Durable Leather ingredients +// Durable Leather +CHEMICAL_BATH.recipeBuilder() + .inputs(ore('leather')) + .fluidInputs(fluid('creosote') * 200) + .outputs(item('pyrotech:material', 41)) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Durable Leather Sheet +crafting.addShaped("susy:leather_sheet_durable", item('pyrotech:material', 42), [ + [ore('craftingToolKnife')], + [ore('leatherDurable')] +]) + +CUTTER.recipeBuilder() + .inputs(ore('leatherDurable')) + .outputs(item('pyrotech:material', 42)) + .chancedOutput(item('pyrotech:material', 42), 5000, 0) + .duration(100) + .EUt(16) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(item('pyrotech:material', 38)) + .fluidInputs(fluid('creosote') * 200) + .outputs(item('pyrotech:material', 42)) + .duration(80) + .EUt(30) + .buildAndRegister() + +// Durable Leather Strap +crafting.addShaped("susy:leather_strap_durable", item('pyrotech:material', 43) * 2, [ + [ore('craftingToolKnife'), item('pyrotech:material', 42)] +]) + +CUTTER.recipeBuilder() + .inputs(item('pyrotech:material', 42)) + .outputs(item('pyrotech:material', 43) * 4) + .duration(80) + .EUt(16) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(item('pyrotech:material', 39)) + .fluidInputs(fluid('creosote') * 50) + .outputs(item('pyrotech:material', 43)) + .duration(50) + .EUt(7) + .buildAndRegister() + +// Durable Leather Cord +crafting.addShaped("susy:leather_cord_durable", item('pyrotech:material', 44), [ + [item('pyrotech:material', 43)], + [item('pyrotech:material', 43)], + [item('pyrotech:material', 43)] +]) + +ASSEMBLER.recipeBuilder() + .inputs(item('pyrotech:material', 43) * 2) + .outputs(item('pyrotech:material', 44)) + .duration(120) + .EUt(16) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(item('pyrotech:material', 40)) + .fluidInputs(fluid('creosote') * 100) + .outputs(item('pyrotech:material', 44)) + .duration(80) + .EUt(16) + .buildAndRegister() + +// Slag Heap +crafting.addShaped("susy:slag_heap", item('pyrotech:pile_slag'), [ + [item('pyrotech:slag'), item('pyrotech:slag'), item('pyrotech:slag')], + [item('pyrotech:slag'), item('pyrotech:slag'), item('pyrotech:slag')], + [item('pyrotech:slag'), item('pyrotech:slag'), item('pyrotech:slag')] +]) + // Mechanical hopper crafting.replaceShaped("pyrotech:tech/machine/mechanical_hopper", item('pyrotech:mechanical_hopper'), [ [item('pyrotech:material', 16), null, item('pyrotech:material', 16)], @@ -703,13 +934,9 @@ def anvil_recipes = [ ["stick_stone", item('pyrotech:material', 16), item('pyrotech:material', 27) * 2, 2, false], ["bone_shard", ore('bone'), item('pyrotech:material', 11) * 3, 2], ["flint_shard", ore('gemFlint'), item('pyrotech:material', 10) * 3, 2], - ["iron_shard", ore('ingotIron'), item('pyrotech:material', 19) * 9, 2], - ["gold_shard", ore('ingotGold'), item('pyrotech:material', 34) * 9, 2], - ["diamond_shard", ore('gemDiamond'), item('pyrotech:material', 18) * 9, 4], - ["coal_pieces", ore('gemCoal'), item('pyrotech:material', 21) * 8, 2], - ["charcoal_flakes", ore('charcoal'), item('pyrotech:material', 15) * 8, 2], ["cobblestone_to_rocks", ore('cobblestone'), item('pyrotech:rock') * 8, 2, false], ["limestone_to_cobbled", ore('stoneLimestone'), item('susy:susy_stone_cobble', 2), 2], + ["pig_iron_shearing", ore('ingotPigIron'), metaitem('ingotWroughtIron'), 2], ["limestone_dust", item('susy:susy_stone_cobble', 2), metaitem('dustLimestone'), 2], ["pottery_shard_to_dust", item('pyrotech:material', 7), metaitem('dustSmallBrick') * 2, 1], ["pottery_fragments_to_dust", item('pyrotech:material', 6), metaitem('dustSmallBrick') * 2, 1] @@ -738,32 +965,32 @@ crafting.replaceShaped("pyrotech:tech/machine/stone_kiln", item('pyrotech:stone_ // Primitive smelter // Controller -crafting.addShaped("susy:primitive_smelter", item('gregtech:machine', 14800), [ +crafting.addShaped("susy:primitive_smelter", metaitem('primitive_smelter'), [ [ore('craftingToolHardHammer')], [item('pyrotech:masonry_brick_block')] ]) // Export -crafting.addShaped("susy:primitive_item_export_bus", item('gregtech:machine', 14802), [ +crafting.addShaped("susy:primitive_item_export_bus", metaitem('primitive_item_export'), [ [item('pyrotech:masonry_brick_block')], [item('pyrotech:mechanical_hopper')] ]) // Import -crafting.addShaped("susy:primitive_item_import_bus", item('gregtech:machine', 14801), [ +crafting.addShaped("susy:primitive_item_import_bus", metaitem('primitive_item_import'), [ [item('pyrotech:mechanical_hopper')], [item('pyrotech:masonry_brick_block')] ]) // Interconversion -crafting.addShaped("susy:primitive_bus_import_to_export", item('gregtech:machine', 14802), [ +crafting.addShaped("susy:primitive_bus_import_to_export", metaitem('primitive_item_export'), [ [ore('craftingToolHardHammer')], - [item('gregtech:machine', 14801)] + [metaitem('primitive_item_import')] ]) -crafting.addShaped("susy:primitive_bus_export_to_import", item('gregtech:machine', 14801), [ +crafting.addShaped("susy:primitive_bus_export_to_import", metaitem('primitive_item_import'), [ [ore('craftingToolHardHammer')], - [item('gregtech:machine', 14802)] + [metaitem('primitive_item_export')] ]) // Misc machines @@ -864,9 +1091,6 @@ def materials = [ // Smelter recipes // Ore metallurgy -oreDict.add("flakeCoal", item('pyrotech:material', 15)) -oreDict.add("flakeCharcoal", item('pyrotech:material', 21)) - class Reductant { String name int consumption @@ -920,7 +1144,7 @@ class Ore { } ItemStack getByproduct(Prefix prefix) { - int amount = prefix.byproduct_amount * output_multiplier * 8 + int amount = prefix.byproduct_amount * output_multiplier * (byproduct == "pyrotech:slag" ? 2 : 8) return (byproduct == null || amount == 0) ? null : (item(byproduct) * amount) } } @@ -935,9 +1159,7 @@ def reductants = [ new Reductant("dustCoal", 10, 0.9), new Reductant("dustLigniteCoke", 12, 1), new Reductant("dustCoke", 8, 0.75), - new Reductant("dustAnthracite", 8, 0.7), - new Reductant("flakeCharcoal", 96, 0.95), - new Reductant("flakeCoal", 80, 0.9) + new Reductant("dustAnthracite", 8, 0.7) ] def prefix_ore = new Prefix("ore", 1, 2) @@ -958,12 +1180,10 @@ def smelting_prefixes = [ def ores = [ // Copper ores new Ore("Malachite", "Copper", 2), - new Ore("Tetrahedrite", "Copper"), -// new Ore("Chalcopyrite", "Copper"), - new Ore("Bornite", "Copper"), new Ore("Chalcocite", "Copper"), // Lead ores + new Ore("Anglesite", "Lead"), new Ore("Cerussite", "Lead"), new Ore("Galena", "Lead"), @@ -972,8 +1192,10 @@ def ores = [ new Ore("Sphalerite", "Zinc"), // Tin ores - new Ore("CassiteriteSand", "Tin", 2), - new Ore("Cassiterite", "Tin", 2) + new Ore("Cassiterite", "Tin", 2), + + // Silver ores + new Ore("Silver", "Silver") ] // Ore smashing @@ -989,7 +1211,6 @@ ores.forEach { oreIn -> } // Actual ore smelting -SMELTER = recipemap('primitive_smelter') reductants.forEach { reductant -> ores.forEach { oreIn -> @@ -1035,20 +1256,11 @@ def alloying_prefixes = [ prefix_dust ] -def fuels = [ - "gemCoal", - "fuelCoke", - "gemAnthracite", - "dustCoal", - "dustCoke", - "dustAnthracite" -] - def alloy_add = {String output, int amount, int duration, ArrayList inputs -> int recipe_multiplier = Math.ceil(8 / amount) def size = inputs.size().intdiv(2) def real = ([alloying_prefixes] * size).combinations() - fuels.forEach { fuel -> + reductants.forEach { reductant -> real.forEach { bad -> def builder = SMELTER.recipeBuilder() double multiplier_sum = 0 @@ -1059,7 +1271,7 @@ def alloy_add = {String output, int amount, int duration, ArrayList inputs -> count += amountIn builder.inputs(ore(bad[i].name + inputs[ 2 * i ]) * (amountIn * recipe_multiplier)) } - builder.inputs(ore(fuel) * (count * recipe_multiplier)) + builder.inputs(ore(reductant.name) * (count * recipe_multiplier)) .outputs(metaitem("ingot" + output) * (amount * recipe_multiplier)) .duration((int) (duration * multiplier_sum / count) * recipe_multiplier) .buildAndRegister() @@ -1076,6 +1288,8 @@ alloying_recipes = [ ["Brass", 4, 200, ["Copper", 3, "Zinc", 1]], // SnFe ["TinAlloy", 2, 100, ["Iron", 1, "Tin", 1]], + // Potin + ["Potin", 9, 100, ["Bronze", 8, "Lead", 1]], // Kovar ["Kovar", 2, 100, ["Iron", 2, "Nickel", 1, "CobaltMatte", 1]] ] @@ -1099,7 +1313,7 @@ mods.gregtech.coke_oven.removeByInput(1, [item('minecraft:coal_block')], null) mods.gregtech.coke_oven.recipeBuilder() .inputs(ore('logWood')) .outputs(item('minecraft:coal', 1)) - .fluidOutputs(fluid('creosote') * 250) + .fluidOutputs(fluid('creosote') * 125) .duration(100) .buildAndRegister() @@ -1107,7 +1321,7 @@ mods.gregtech.coke_oven.recipeBuilder() mods.gregtech.coke_oven.recipeBuilder() .inputs(ore('gemCoal')) .outputs(metaitem('gemCoke')) - .fluidOutputs(fluid('creosote') * 500) + .fluidOutputs(fluid('creosote') * 250) .duration(100) .buildAndRegister() @@ -1115,7 +1329,7 @@ mods.gregtech.coke_oven.recipeBuilder() mods.gregtech.coke_oven.recipeBuilder() .inputs(ore('blockCoal')) .outputs(metaitem('blockCoke')) - .fluidOutputs(fluid('creosote') * 4500) + .fluidOutputs(fluid('creosote') * 2250) .duration(900) .buildAndRegister() @@ -1124,7 +1338,7 @@ mods.gregtech.coke_oven.recipeBuilder() mods.gregtech.coke_oven.recipeBuilder() .inputs(item('pyrotech:log_pile')) .outputs(item('minecraft:coal', 1) * 10) - .fluidOutputs(fluid('creosote') * 2500) + .fluidOutputs(fluid('creosote') * 1250) .duration(900) .buildAndRegister() @@ -1132,7 +1346,7 @@ mods.gregtech.coke_oven.recipeBuilder() mods.gregtech.coke_oven.recipeBuilder() .inputs(ore('gemLignite')) .outputs(ore('gemLigniteCoke').getFirst()) - .fluidOutputs(fluid('creosote') * 250) + .fluidOutputs(fluid('creosote') * 125) .duration(100) .buildAndRegister() @@ -1140,6 +1354,23 @@ mods.gregtech.coke_oven.recipeBuilder() mods.gregtech.coke_oven.recipeBuilder() .inputs(ore('blockLignite')) .outputs(ore('blockLigniteCoke').getFirst()) - .fluidOutputs(fluid('creosote') * 2250) + .fluidOutputs(fluid('creosote') * 1125) .duration(900) .buildAndRegister() + +// Slag glass +ALLOY_SMELTER.recipeBuilder() + .inputs(item('pyrotech:slag') * 9) + .notConsumable(metaitem('shape.mold.block')) + .outputs(item('pyrotech:slag_glass')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister(); + +ALLOY_SMELTER.recipeBuilder() + .inputs(item('pyrotech:pile_slag')) + .notConsumable(metaitem('shape.mold.block')) + .outputs(item('pyrotech:slag_glass')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister(); \ No newline at end of file diff --git a/manifest.json b/manifest.json index 1183ea01c..593b01ddd 100644 --- a/manifest.json +++ b/manifest.json @@ -11,7 +11,7 @@ "manifestType": "minecraftModpack", "manifestVersion": 1, "name": "Supersymmetry", - "version": "0.1.13.1", + "version": "0.1.13.2", "author": "SymmetricDevs", "externalDeps": [], "files": [ @@ -252,7 +252,7 @@ }, { "projectID": 629629, - "fileID": 5802573, + "fileID": 5849559, "required": true }, { @@ -272,7 +272,7 @@ }, { "projectID": 705000, - "fileID": 5529764, + "fileID": 5860191, "required": true }, { @@ -397,7 +397,7 @@ }, { "projectID": 846224, - "fileID": 5826319, + "fileID": 5870351, "required": true }, { @@ -799,7 +799,7 @@ }, { "projectID": 895539, - "fileID": 5121879, + "fileID": 5828524, "required": true }, { @@ -859,7 +859,7 @@ }, { "projectID": 1109784, - "fileID": 5804158, + "fileID": 5872534, "required": true }, { @@ -871,6 +871,11 @@ "projectID": 284973, "fileID": 5405050, "required": true + }, + { + "projectID": 839336, + "fileID": 5241774, + "required": true } ], "overrides": "overrides" diff --git a/structures/active/MonumentSpire.rcst b/structures/active/MonumentSpire.rcst index 2e3f0ec15..81566ef86 100644 Binary files a/structures/active/MonumentSpire.rcst and b/structures/active/MonumentSpire.rcst differ diff --git a/structures/active/SupportBeamChestUp.rcig b/structures/active/SupportBeamChestUp.rcig new file mode 100644 index 000000000..8bb103f59 --- /dev/null +++ b/structures/active/SupportBeamChestUp.rcig @@ -0,0 +1,127 @@ +{ + "version": 2, + "inventoryGeneratorID": "SupportBeamChest", + "items": [ + { + "weight": 1.0, + "min": 1, + "max": 16, + "item": { + "id": "gregtech:meta_stick", + "damage": 324, + "count": 1 + } + }, + { + "weight": 0.4858947992324829, + "min": 1, + "max": 4, + "item": { + "id": "gregtech:meta_block_frame_20", + "damage": 4, + "count": 1 + } + }, + { + "weight": 0.646636426448822, + "min": 1, + "max": 8, + "item": { + "id": "gregtech:meta_screw", + "damage": 324, + "count": 1 + } + }, + { + "weight": 1.0, + "min": 1, + "max": 12, + "item": { + "id": "gregtech:meta_bolt", + "damage": 324, + "count": 1 + } + }, + { + "weight": 0.16315889358520508, + "min": 1, + "max": 2, + "item": { + "id": "gregtech:meta_item_2", + "damage": 1103, + "count": 1 + } + }, + { + "weight": 0.12706157565116882, + "min": 1, + "max": 1, + "item": { + "id": "gregtech:meta_item_2", + "damage": 1102, + "count": 1 + } + }, + { + "weight": 0.11158588528633118, + "min": 1, + "max": 1, + "item": { + "id": "susy:meta_item", + "damage": 2, + "count": 1 + } + }, + { + "weight": 0.08515378087759018, + "min": 1, + "max": 1, + "item": { + "id": "susy:meta_item", + "damage": 3, + "count": 1 + } + }, + { + "weight": 0.4858947992324829, + "min": 1, + "max": 5, + "item": { + "id": "industrialrenewal:brace_steel", + "damage": 0, + "count": 1 + } + }, + { + "weight": 0.646636426448822, + "min": 2, + "max": 8, + "item": { + "id": "industrialrenewal:catwalk_steel_pillar", + "damage": 0, + "count": 1 + } + }, + { + "weight": 0.5889394283294678, + "min": 1, + "max": 6, + "item": { + "id": "industrialrenewal:frame", + "damage": 0, + "count": 1 + } + }, + { + "weight": 0.3978064954280853, + "min": 2, + "max": 12, + "item": { + "id": "industrialrenewal:catwalk_column_steel", + "damage": 0, + "count": 1 + } + } + ], + "dependencyExpression": "" +} \ No newline at end of file diff --git a/structures/active/SupportBeamThing.rcst b/structures/active/SupportBeamThing.rcst index c59b15f76..9150c6c8c 100644 Binary files a/structures/active/SupportBeamThing.rcst and b/structures/active/SupportBeamThing.rcst differ diff --git a/structures/active/TinyStash.rcst b/structures/active/TinyStash.rcst index 7a3f14067..742640347 100644 Binary files a/structures/active/TinyStash.rcst and b/structures/active/TinyStash.rcst differ