From 3b81cdb30da38c1dcb8304b48e94faec71670e0d Mon Sep 17 00:00:00 2001 From: htmlcsjs <46023024+htmlcsjs@users.noreply.github.com> Date: Wed, 24 Jan 2024 03:58:49 +0000 Subject: [PATCH] Prepare 1.7.4 (#115) Co-authored-by: TechLord22 <37029404+techlord22@users.noreply.github.com> --- build/main.py | 54 +- config/Universal Tweaks - Bugfixes.cfg | 199 +++++++ config/Universal Tweaks - General.cfg | 18 + config/Universal Tweaks - Mod Integration.cfg | 376 ++++++++++++ ...eaks.cfg => Universal Tweaks - Tweaks.cfg} | 554 ++++-------------- config/betterquesting/DefaultQuests.json | 189 +++++- groovy/postInit/ae2.groovy | 19 + groovy/postInit/ae2_fc.groovy | 12 + manifest.json | 19 +- 9 files changed, 955 insertions(+), 485 deletions(-) create mode 100644 config/Universal Tweaks - Bugfixes.cfg create mode 100644 config/Universal Tweaks - General.cfg create mode 100644 config/Universal Tweaks - Mod Integration.cfg rename config/{UniversalTweaks.cfg => Universal Tweaks - Tweaks.cfg} (62%) diff --git a/build/main.py b/build/main.py index 8486b887..2e196689 100644 --- a/build/main.py +++ b/build/main.py @@ -33,17 +33,14 @@ def parse_args(): def build(args): modlist = [] basePath = os.path.normpath(os.path.realpath(__file__)[:-7] + "..") - copyDirs = ["/config", "/mods", "/groovy"] - serverCopyDirs = ["/config", "/mods", "/groovy"] - modURLlist = [] - modClientOnly = [] - # remove the old build files + copyDirs = ["/scripts", "/resources", "/config", + "/mods", "/structures", "/groovy"] + serverCopyDirs = ["/scripts", "/config", "/mods", "/structures", "/groovy"] - shutil.rmtree(basePath + "/buildOut/client/overrides", - ignore_errors=True) - shutil.rmtree(basePath + "/buildOut/server", ignore_errors=True) - if args.clean: + shutil.rmtree(basePath + "/buildOut/client/overrides", + ignore_errors=True) + shutil.rmtree(basePath + "/buildOut/server", ignore_errors=True) shutil.rmtree(basePath + "/mods", ignore_errors=True) sys.exit(0) sha = "" @@ -143,24 +140,27 @@ def mkdirs(path): continue + name = "placeholder" if "name" in mod: name = mod["name"] if name[-4:] != ".jar": name += ".jar" - modlist.append(name) else: - modlist.append(metadata["data"].split("/")[-1]) - modURLlist.append(metadata["data"]) + name = metadata["data"].split("/")[-1] + url = metadata["data"] + clientOnly = False try: - modClientOnly.append(mod["clientOnly"]) + clientOnly = mod["clientOnly"] except: - modClientOnly.append(False) - + clientOnly = False + + modlist.append({"name": name, "url": url, "clientOnly": clientOnly}) + print("modlist compiled") with open(basePath + "/buildOut/modlist.html", "w") as file: data = "

Modlist

" file.write(data) print("modlist.html done") @@ -176,9 +176,9 @@ def mkdirs(path): except Exception as e: print("Directory exists, skipping") print("directories copied to buildOut/server") - for i, mod in enumerate(modURLlist): - jarname = mod.split("/")[-1] - if (modClientOnly[i] == True): + for mod in modlist: + jarname = mod["url"].split("/")[-1] + if (mod["clientOnly"] == True): continue if os.path.exists(os.path.join(cachepath, jarname)): @@ -188,9 +188,9 @@ def mkdirs(path): continue with open(basePath + "/buildOut/server/mods/" + jarname, "w+b") as jar: - r = requests.get(mod) + r = requests.get(mod["url"]) jar.write(r.content) - print(mod + " Downloaded") + print(mod["name"] + " Downloaded") print("Mods Downloaded") with open(basePath + "/buildOut/server/forge-installer.jar", "w+b") as jar: forgeVer = manifest["minecraft"]["modLoaders"][0]["id"].split("-")[-1] @@ -253,19 +253,21 @@ def mkdirs(path): basePath + "/buildOut/mmc/minecraft/mods/") for dir in copyDirs: try: - os.copytree(basePath + dir, basePath + + os.symlink(basePath + dir, basePath + "/buildOut/mmc/minecraft/" + dir) except Exception as e: print("Directory exists, skipping") print("directories copied to buildOut/mmc/minecraft") - for i, mod in enumerate(modURLlist): - jarname = mod.split("/")[-1] + for mod in modlist: + jarname = mod["name"].split("/")[-1] + if (modClientOnly[i] == False): + break with open(basePath + "/buildOut/mmc/minecraft/mods/" + jarname, "w+b") as jar: - r = requests.get(mod) + r = requests.get(mod["url"]) jar.write(r.content) - print(mod + " Downloaded") + print(mod["name"] + " Downloaded") shutil.copy(basePath + "/mmc-instance-data.json", basePath + "/buildOut/mmc/mmc-pack.json") diff --git a/config/Universal Tweaks - Bugfixes.cfg b/config/Universal Tweaks - Bugfixes.cfg new file mode 100644 index 00000000..82dbe7b3 --- /dev/null +++ b/config/Universal Tweaks - Bugfixes.cfg @@ -0,0 +1,199 @@ +# Configuration file + +general { + + blocks { + # Fixes rendering issues with banners by correctly sizing their render bounding boxes + # Incompatible with RenderLib + B:"Banner Bounding Box"=true + + # Fixes inconsistent delays of comparators to prevent redstone timing issues + B:"Comparator Timing"=true + + # Only damage living entities hit by falling blocks, prevents killing items and XP + B:"Falling Block Entity Damage"=true + + # Slims down the hopper bounding box for easier access of nearby blocks + B:"Hopper Bounding Box"=true + + # Prevents crashes when the destination tile entity becomes unavailable during the item insert process + # Mainly utilized to suppress edge case symptoms with Thaumcraft's Thaumatorium + B:"Hopper Insert Safety Check"=true + + # Prevents voiding held items when right + left clicking on an item frame simultaneously + B:"Item Frame Void"=true + + # Disables climbing movement when flying + B:"Ladder Flying Slowdown"=true + + # Avoids the need for multiple mining attempts by sending additional movement packets + B:"Mining Glitch"=true + + # Properly saves the last state of pistons to tags + B:"Piston Progress"=true + + "block overlay" { + # Fixes x-ray when standing in non-suffocating blocks + B:"[1] Block Overlay Toggle"=true + + # Excludes blocks from the block overlay bugfix + # Syntax: modid:block + S:"[2] Blacklist" < + > + + # Includes blocks in the block overlay bugfix + # Syntax: modid:block + S:"[3] Whitelist" < + > + } + + } + + entities { + # Improves the attack radius of hostile mobs by checking the line of sight with raytracing + B:"Attack Radius"=true + + # Prevents fire projectiles burning entities when blocking with shields + B:"Block Fire"=true + + # Fixes entities glitching through the bottom of boats + B:"Boat Riding Offset"=true + + # Replaces linked entity AI task sets with concurrent sets to avoid mod exception concerning entity AI + # Only enable this if you're facing concurrent modification exceptions with entity AI tasks, for example Thaumcraft's Pechs + B:"Concurrent Entity AI Tasks"=false + + # Fixes corrupted entities exceeding the allowed death time + B:"Death Time"=true + + # Fixes lag caused by dead entities by sending additional packets when the player is not alive + B:"Destroy Entity Packets"=true + + # Fixes missing player states when changing dimensions by sending additional packets + B:"Dimension Change Player States"=true + + # Fixes item duplications when players are dropping items and disconnecting + B:"Disconnect Dupe"=true + + # Fixes a duplication exploit connected to the inventories of donkeys and mules + B:"Donkey/Mule Dupe"=true + + # Fixes consuming an item having a chance of also consuming a second item without any animation + B:"Double Consumption"=true + + # Relocate elytra deployment and landing to client side to prevent issues with high latencies + B:"Elytra Deployment & Landing"=true + + # Saves entity bounding boxes to tags to prevent breakouts and suffocation + B:"Entity Bounding Box"=true + + # Fixes non-functional elytra firework boosting and guardian targeting if the entity ID is 0 + B:"Entity ID"=true + + # Prevents corruption of entities caused by invalid health or damage values + B:"Entity NaN Values"=true + + # Pushes entities out of blocks when growing up to prevent suffocation + B:"Entity Suffocation"=true + + # Fixes entity tracker to prevent client-sided desyncs when teleporting or changing dimensions + # Incompatible with SpongeForge + B:"Entity Tracker"=true + + # Changes UUIDs of loaded entities in case their UUIDs are already assigned (and removes log spam) + B:"Entity UUID"=true + + # Modifies falling logic of horses, listening to LivingFallEvent and taking jump boost into account + B:"Horse Falling"=true + + # Corrects maximum player health on joining by setting the last saved health value + B:"Max Player Health"=true + + # Fixes mounts and boats sometimes disappearing after dismounting + B:"Mount Desync"=true + + # Fixes saturation depleting in peaceful mode + B:"Player Saturation"=true + + # Fixes a duplication exploit connected to shearing mooshrooms + B:"Shear Mooshroom Dupe"=true + + # Fixes skeletons not looking at their targets when strafing + B:"Skeleton Aim"=true + + # Returns missing hoods to villager mantles + B:"Villager Mantle Hoods"=true + + "entity desync" { + # Fixes entity motion desyncs most notable with arrows and thrown items + # Incompatible with Immersive Vehicles + B:"[1] Entity Desync Toggle"=true + + # Syntax: modid:entity + # Example: minecraft:minecart + S:"[2] Entity Blacklist" < + minecraft:minecart + > + } + + } + + misc { + # Improves the accuracy of smooth lighting by checking for suffocation and light opacity + B:"Accurate Smooth Lighting"=true + + # Fixes entity and particle rendering issues by enabling depth buffer writing + B:"Depth Mask"=true + + # Replaces the help command, sorts and reports broken commands + B:"Help Command"=true + + # Prevents various crashes with Turkish locale + B:"Locale Crash"=true + + # Increases the packet size limit to account for large packets in modded environments + # Vanilla default is 0x200000 + # Incompatible with SpongeForge and RandomPatches + I:"Packet Size"=16777216 + + "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 + } + + } + + world { + # Fixes loading of outdated chunks to prevent duplications, deletions and data corruption + # Incompatible with SpongeForge + B:"Chunk Saving"=true + + # Fixes invisible chunks in edge cases (small enclosed rooms at chunk borders) + B:"Frustum Culling"=true + + # Changes the data table of tile entities to resolve issues + # HASHMAP: Vanilla default + # LINKED_HASHMAP: Keeps the loading order of tile entities to prevent issues during the first ticks of chunk loading + # CONCURRENT_HASHMAP: Allows simultaneous access to tile entities to prevent concurrent modification exceptions + # CONCURRENT_LINKED_HASHMAP: Combines LINKED_HASHMAP and CONCURRENT_HASHMAP, may have random side effects + # Valid values: + # HASHMAP + # LINKED_HASHMAP + # CONCURRENT_HASHMAP + # CONCURRENT_LINKED_HASHMAP + S:"Tile Entity Map"=LINKED_HASHMAP + } + +} + + diff --git a/config/Universal Tweaks - General.cfg b/config/Universal Tweaks - General.cfg new file mode 100644 index 00000000..7af8cfb1 --- /dev/null +++ b/config/Universal Tweaks - General.cfg @@ -0,0 +1,18 @@ +# Configuration file + +general { + + debug { + # For those who live life on the edge, may or may not include Jons + B:"Bypass Incompatibility Warnings"=false + + # Enables debug logging + B:"Debug Logging"=false + + # Prints the time the game needed to launch to the log + B:"Show Loading Time"=true + } + +} + + diff --git a/config/Universal Tweaks - Mod Integration.cfg b/config/Universal Tweaks - Mod Integration.cfg new file mode 100644 index 00000000..b4d12e4a --- /dev/null +++ b/config/Universal Tweaks - Mod Integration.cfg @@ -0,0 +1,376 @@ +# Configuration file + +general { + + abyssalcraft { + # Makes an optimization to reduce tick overhead of AbyssalCraft's item transport system + B:"Optimized Item Transport"=true + } + + "actually additions" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "arcane archives" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "advent of ascension" { + # Fixes AoA player ticking in certain GUIs without player inventories (i.e. Flux Networks GUI) + B:"Inventory-less GUI Compatibility"=false + } + + "biomes o' plenty" { + # Fixes rapid inflection of regeneration effects in hot spring water + B:"Hot Spring Water"=true + } + + "blood magic" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + + # Optimizes the Hellfire/Soul Forge to reduce tick time + B:"Optimized Hellfire Forge"=true + + # Fixes memory leak related to unloading worlds/switching dimensions + B:"World Unload Memory Leak Fix"=true + } + + botania { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + + # Enables the Botania Garden of Glass skybox for custom dimensions + # Abides by Botania's 'enableFancySkybox' config option + # Example: 43 + I:"Fancy Skybox" < + > + } + + chisel { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "chocolate quest repoured" { + # Restores the golden feather behavior from the original Better Dungeons mod + B:"Legacy Golden Feather"=true + } + + "cofh core" { + # Sets the damage multiplier of the Vorpal enchantment + D:"Vorpal Enchantment Damage"=10.0 + } + + "elementary staffs" { + # Reintroduces the 1.5 electric staff behavior along with some subtle particles + B:"Electric Staff Port"=true + } + + "elenai dodge 2" { + # Fixes server-sided crashes when the Feathers Helper API is utilized + B:"Feathers Helper API Fix"=true + + # Sets the amount of consumed half-feathers per interval when the player is sprinting + I:"Sprinting Feather Consumption"=0 + + # Sets the rate feathers are consumed in ticks when the player is sprinting + I:"Sprinting Feather Interval"=20 + + # Sets the amount of half-feathers required to start sprinting + I:"Sprinting Feather Requirement"=6 + } + + "epic siege mod" { + # Disables leftover debug logging inside the digger AI of the beta builds + B:"Disable Digger AI Debug"=true + } + + "the erebus" { + # Prevents HWYLA/TOP crashes with preserved blocks + B:"Preserved Blocks Fix"=true + } + + "extra utilities 2" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + forestry { + # Adds custom emerald to germling trades to the arborist villager + # Syntax: level;emeralds_min;emeralds_max;germlings_min;germlings_max;type;complexity_min;complexity_max + # level Level when this trade becomes available (how much trading needs to be done) + # emeralds_min Lower random limit for emeralds + # emeralds_max Upper random limit for emeralds + # germlings_min Lower random limit for germlings + # germlings_max Upper random limit for germlings + # type Type of germling, can be either pollen or sapling + # complexity_min Lower limit of allele complexity + # complexity_max Upper limit of allele complexity + # + # Example for a level 5 trade for a single sapling with a complexity between 6 and 10, costing between 10 to 40 emeralds: + # 5;10;40;1;1;sapling;6;10 + S:"Arborist Villager Trades" < + > + + # Disables damage caused by bees bypassing player armor + B:"Disable Bee Damage Armor Bypass"=true + + # Fixes various duplication exploits + B:"Duplication Fixes"=true + + # Allows Forestry farms to pick up ExtraTrees fruit + B:"Extra Trees: Gather Windfall"=true + + # Allows Forestry farms to automatically replant cocoa beans + B:"Replanting Cocoa Beans"=true + } + + "industrialcraft 2" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "industrial foregoing" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "infernal mobs" { + # Enables compatibility between Infernal Mobs' Sticky effect and Reliquary's Pedestal + B:"Sticky Pedestal Compatibility"=true + + # Enables compatibility between Infernal Mobs' Sticky effect and Capsule's Recall enchantment + B:"Sticky Recall Compatibility"=true + } + + "iron backpacks" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "item stages" { + # Changes item matching code to CraftTweaker's ingredient matching system, fixes item NBT issues + B:"Ingredient Matching"=true + } + + mekanism { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "mob stages" { + # Fixes mob replacement ignoring entity spawning rules + B:"Spawning Rules Fixes"=true + } + + "nether chest" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + netherrocks { + # Prevents crashing with mods implementing right click crop harvesting + B:"Right Click Harvesting Fix"=true + } + + nuclearcraft { + # Changes the data table of the radiation environment handler to improve performance + # CONCURRENT_HASHMAP: NuclearCraft default + # CONCURRENT_LINKED_HASHMAP: Keeps order of radiation environment info to improve iteration - Better performance + # CONCURRENT_LINKED_QUEUE: Uses a queue to avoid iteration - Best performance + # Valid values: + # CONCURRENT_HASHMAP + # CONCURRENT_LINKED_HASHMAP + # CONCURRENT_LINKED_QUEUE + S:"Radiation Environment Map"=CONCURRENT_LINKED_QUEUE + } + + projectred { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + quark { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + roost { + # Improves load time by registering CT chickens early for Roost to detect them + # Note: All CT chickens must be specified in "Custom Chickens" for this tweak to work! + # Note: In your .zs files, to use ContentTweaker's MaterialSystem Parts, you must: + # 1) Use '#loader finalize_contenttweaker', not '#loader contenttweaker' + # 2) Use the Material Part Bracket Handler to reference the item + B:"ContentTweaker: Early Register CT Chickens"=false + + # Adds custom chickens from mods (e.g. ContentTweaker) to Roost's stock texture check + # Syntax: name + # name Chicken name + S:"Custom Chickens" < + > + } + + "simple difficulty" { + # Fixes the interaction of iron canteens with rain collectors + B:"Iron Canteen Interaction Fix"=true + } + + "simply jetpacks" { + # Fixes a client-side memory leak associated with EntityPlayer + B:"Memory Leak Fix"=true + } + + "spice of life" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "storage drawers" { + # Approximate range in blocks at which drawers render contained items + # 0 for default unlimited range + I:"Render Range"=0 + } + + "tardis mod" { + # Fixes a client-side memory leak associated with EntityPlayer + B:"Memory Leak Fix"=true + } + + "tech reborn" { + # Optimizes the Rolling Machine to reduce tick time + B:"Optimized Rolling Machine"=true + } + + 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 + B:"Stable Thaumometer"=true + } + + "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 + } + + "thaumcraft: foci" { + + "focus effects" { + # Overhauls the break focus effect cast sound + B:"[01] Break: Cast Sound Revamp"=true + + # Adds an impact sound to the break focus effect + B:"[02] Break: Impact Sound"=true + + # Overhauls the earth focus effect cast sound + B:"[03] Earth: Cast Sound Revamp"=true + + # Adds an impact sound to the earth focus effect + B:"[04] Earth: Impact Sound"=true + + # Adds an impact sound to the fire focus effect + B:"[05] Fire: Impact Sound"=true + + # Adds an impact sound to the flux focus effect + B:"[06] Flux: Impact Sound"=true + + # Overhauls the frost focus effect cast sound to make it a lot less plangent + B:"[07] Frost: Cast Sound Revamp"=true + + # Adds an impact sound to the frost focus effect + B:"[08] Frost: Impact Sound"=true + + # Overhauls the heal focus effect cast sound + B:"[09] Heal: Cast Sound Revamp"=true + + # Adds an impact sound to the heal focus effect + B:"[10] Heal: Impact Sound"=true + + # Overhauls the rift focus effect cast sound + B:"[11] Rift: Cast Sound Revamp"=true + + # Adds an impact sound to the rift focus effect + B:"[12] Rift: Impact Sound"=true + } + + "focus mediums" { + # Plays an additional cast sound when using any bolt focus medium to add an extra layer of pow + B:"[1] Bolt: Cast Sound"=true + + # Plays an additional cast sound when using any cloud focus medium + B:"[2] Cloud: Cast Sound"=true + + # Adds additional cast, despawn, and setup sounds when using any mine focus medium + B:"[3] Mine: Sound Overhaul"=true + + # Plays an additional cast sound when summoning any type of spellbat + B:"[4] Spellbat: Cast Sound"=true + } + + } + + "thaumic wonders" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "the farlanders" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + + "thermal expansion" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + + # Adds Monoculture Cycle integration to desired phytogenic insolator recipes added by ModTweaker + # Register the recipe with Insolator.addRecipeMonoculture() instead of Insolator.addRecipe() in .zs files + # (and Insolator.addRecipeMonocultureSaplingInfuser() instead of Insolator.addRecipeSaplingInfuser()) + # Note: Make sure the 'fertilizer' is specified as the secondaryInput arg in the function + B:"Insolator Custom Monoculture"=true + } + + "tinkers' construct" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + + # Excludes gaseous fluids from being transferable via faucets + B:"Gaseous Fluids"=false + + # Hides tool/bow materials in the 'Materials and You' book + # Syntax: material + # Enabling debug logging prints all materials on game launch + S:"Material Blacklist" < + > + + # Suppresses special abilities of long swords and rapiers when shurikens are wielded in the offhand + B:"Offhand Shuriken"=true + + # Caches all ore dictionary smelting recipes to speed up game loading + B:"Ore Dictionary Cache"=true + + # Despawns unbreakable projectiles faster to improve framerates + B:"Projectile Despawning"=true + } + + "tiny progressions" { + # Fixes various duplication exploits + B:"Duplication Fixes"=true + } + +} + + diff --git a/config/UniversalTweaks.cfg b/config/Universal Tweaks - Tweaks.cfg similarity index 62% rename from config/UniversalTweaks.cfg rename to config/Universal Tweaks - Tweaks.cfg index 772fb793..e5acbab4 100644 --- a/config/UniversalTweaks.cfg +++ b/config/Universal Tweaks - Tweaks.cfg @@ -2,410 +2,7 @@ general { - "bugfixes: blocks" { - # Fixes inconsistent delays of comparators to prevent redstone timing issues - B:"Comparator Timing"=true - - # Slims down the hopper bounding box for easier access of nearby blocks - B:"Hopper Bounding Box"=true - - # Prevents crashes when the destination tile entity becomes unavailable during the item insert process - # Mainly utilized to suppress edge case symptoms with Thaumcraft's Thaumatorium - B:"Hopper Insert Safety Check"=true - - # Prevents voiding held items when right + left clicking on an item frame simultaneously - B:"Item Frame Void"=true - - # Disables climbing movement when flying - B:"Ladder Flying Slowdown"=true - - # Avoids the need for multiple mining attempts by sending additional movement packets - B:"Mining Glitch"=true - - # Properly saves the last state of pistons to tags - B:"Piston Progress"=true - - "block overlay" { - # Fixes x-ray when standing in non-suffocating blocks - B:"[1] Block Overlay Toggle"=true - - # Excludes blocks from the block overlay bugfix - # Syntax: modid:block - S:"[2] Blacklist" < - > - - # Includes blocks in the block overlay bugfix - # Syntax: modid:block - S:"[3] Whitelist" < - > - } - - } - - "bugfixes: entities" { - # Improves the attack radius of hostile mobs by checking the line of sight with raytracing - B:"Attack Radius"=true - - # Prevents fire projectiles burning entities when blocking with shields - B:"Block Fire"=true - - # Fixes entities glitching through the bottom of boats - B:"Boat Riding Offset"=true - - # Replaces linked entity AI task sets with concurrent sets to avoid mod exception concerning entity AI - # Only enable this if you're facing concurrent modification exceptions with entity AI tasks, for example Thaumcraft's Pechs - B:"Concurrent Entity AI Tasks"=false - - # Fixes corrupted entities exceeding the allowed death time - B:"Death Time"=true - - # Fixes lag caused by dead entities by sending additional packets when the player is not alive - B:"Destroy Entity Packets"=true - - # Fixes missing player states when changing dimensions by sending additional packets - B:"Dimension Change Player States"=true - - # Fixes item dupes when players are dropping items and disconnecting - B:"Disconnect Dupe"=true - - # Fixes consuming an item having a chance of also consuming a second item without any animation - B:"Double Consumption"=true - - # Relocate elytra deployment and landing to client side to prevent issues with high latencies - B:"Elytra Deployment & Landing"=true - - # Saves entity bounding boxes to tags to prevent breakouts and suffocation - B:"Entity Bounding Box"=true - - # Fixes entity motion desyncs most notable with arrows and thrown items - B:"Entity Desync"=true - - # Fixes non-functional elytra firework boosting and guardian targeting if the entity ID is 0 - B:"Entity ID"=true - - # Prevents corruption of entities caused by invalid health or damage values - B:"Entity NaN Values"=true - - # Pushes entities out of blocks when growing up to prevent suffocation - B:"Entity Suffocation"=true - - # Fixes entity tracker to prevent client-sided desyncs when teleporting or changing dimensions - B:"Entity Tracker"=true - - # Changes UUIDs of loaded entities in case their UUIDs are already assigned (and removes log spam) - B:"Entity UUID"=true - - # Corrects maximum player health on joining by setting the last saved health value - B:"Max Player Health"=true - - # Fixes mounts and boats sometimes disappearing after dismounting - B:"Mount Desync"=true - - # Fixes saturation depleting in peaceful mode - B:"Player Saturation"=true - - # Fixes skeletons not looking at their targets when strafing - B:"Skeleton Aim"=true - - # Returns missing hoods to villager mantles - B:"Villager Mantle Hoods"=true - } - - "bugfixes: misc" { - # Improves the accuracy of smooth lighting by checking for suffocation and light opacity - B:"Accurate Smooth Lighting"=true - - # Fixes entity and particle rendering issues by enabling depth buffer writing - B:"Depth Mask"=true - - # Replaces the help command, sorts and reports broken commands - B:"Help Command"=true - - # Prevents various crashes with Turkish locale - B:"Locale Crash"=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 - } - - } - - "bugfixes: world" { - # Fixes loading of outdated chunks to prevent duplications, deletions and data corruption - B:"Chunk Saving"=true - - # Fixes invisible chunks in edge cases (small enclosed rooms at chunk borders) - B:"Frustum Culling"=true - - # Changes the data table of tile entities to resolve issues - # HASHMAP: Vanilla default - # LINKED_HASHMAP: Keeps the loading order of tile entities to prevent issues during the first ticks of chunk loading - # CONCURRENT_HASHMAP: Allows simultaneous access to tile entities to prevent concurrent modification exceptions - # CONCURRENT_LINKED_HASHMAP: Combines LINKED_HASHMAP and CONCURRENT_HASHMAP - # Valid values: - # HASHMAP - # LINKED_HASHMAP - # CONCURRENT_HASHMAP - # CONCURRENT_LINKED_HASHMAP - S:"Tile Entity Map"=CONCURRENT_LINKED_HASHMAP - } - - debug { - # Disables config resets on mod updates - # Please note that you will face duplicate/invalid config settings - B:"Bypass Config Versioning"=false - - # For those who live life on the edge, may or may not include Jons - B:"Bypass Incompatibility Warnings"=false - - # Version number of the config file - # Do not touch! - S:"Config Version"=1.12.2-1.6.0 - - # Enables debug logging - B:"Debug Logging"=false - - # Enables a screen displaying incompatible mods on game load - B:"Obsolete Mods Screen"=true - - # Prints the time the game needed to launch to the log - B:"Show Loading Time"=true - } - - "mod integration" { - - abyssalcraft { - # Makes an optimization to reduce tick overhead of AbyssalCraft's item transport system - B:"Optimized Item Transport"=true - } - - "advent of ascension" { - # Fixes AoA player ticking in certain GUIs without player inventories (i.e. Flux Networks GUI) - B:"Inventory-less GUI Compatibility"=false - } - - "biomes o' plenty" { - # Fixes rapid inflection of regeneration effects in hot spring water - B:"Hot Spring Water"=true - } - - botania { - # Enables the Botania Garden of Glass skybox for custom dimensions - # Abides by Botania's 'enableFancySkybox' config option - # Example: 43 - I:"Fancy Skybox" < - > - } - - "chocolate quest repoured" { - # Restores the golden feather behavior from the original Better Dungeons mod - B:"Legacy Golden Feather"=true - } - - "elementary staffs" { - # Reintroduces the 1.5 electric staff behavior along with some subtle particles - B:"Electric Staff Port"=true - } - - "elenai dodge 2" { - # Fixes server-sided crashes when the Feathers Helper API is utilized - B:"Feathers Helper API Fix"=true - } - - "epic siege mod" { - # Disables leftover debug logging inside the digger AI of the beta builds - B:"Disable Digger AI Debug"=true - } - - forestry { - # Adds custom emerald to germling trades to the arborist villager - # Syntax: level;emeralds_min;emeralds_max;germlings_min;germlings_max;type;complexity_min;complexity_max - # level Level when this trade becomes available (how much trading needs to be done) - # emeralds_min Lower random limit for emeralds - # emeralds_max Upper random limit for emeralds - # germlings_min Lower random limit for germlings - # germlings_max Upper random limit for germlings - # type Type of germling, can be either pollen or sapling - # complexity_min Lower limit of allele complexity - # complexity_max Upper limit of allele complexity - # - # Example for a level 5 trade for a single sapling with a complexity between 6 and 10, costing between 10 to 40 emeralds: - # 5;10;40;1;1;sapling;6;10 - S:"Arborist Villager Trades" < - > - - # Disables damage caused by bees bypassing player armor - B:"Disable Bee Damage Armor Bypass"=true - - # Allows Forestry farms to pick up ExtraTrees fruit - B:"Extra Trees: Gather Windfall"=true - } - - "mo' creatures" { - # Adds support for modded biome spawns - # Syntax: modid;name;key;tag;filename - # modid Mod ID required for this to be added - # name Mod name - # key Used for class lookups, needs to be a unique part of the modded package, e.g. mod.acgaming.*universaltweaks*.mods - # tag Short tag for logs - # filename Filename to use for the generated config - S:"Custom Modded Biomes" < - pvj;vibrantjourneys;vibrantjourneys;PVJ;ProjectVibrantJourneys.cfg - traverse;traverse;traverse;TRAV;Traverse.cfg - dimdoors;dimdoors;dimdoors;DD;DimDoors.cfg - > - - # Disables the flickering burning effect of flame wraiths - B:"Disable Flame Wraith Burning"=true - } - - roost { - # Improves load time by registering CT chickens early for Roost to detect them - # Note: All CT chickens must be specified in "Custom Chickens" for this tweak to work! - # Note: In your .zs files, to use ContentTweaker's MaterialSystem Parts, you must: - # 1) Use '#loader finalize_contenttweaker', not '#loader contenttweaker' - # 2) Use the Material Part Bracket Handler to reference the item - B:"ContentTweaker: Early Register CT Chickens"=false - - # Adds custom chickens from mods (e.g. ContentTweaker) to Roost's stock texture check - # Syntax: name - # name Chicken name - S:"Custom Chickens" < - > - } - - "simple difficulty" { - # Fixes the interaction of iron canteens with rain collectors - B:"Iron Canteen Interaction Fix"=true - } - - "storage drawers" { - # Fixes voiding of items when nearing full capacity - # Fixes slotless item handler implementation not allowing the extraction from compacting item drawers with the vending upgrade - # Caches the drawer controller tile to avoid getting the TE from the world every time a drawer slave is interacted with - B:"Item Handlers"=false - - # Approximate range in blocks at which drawers render contained items - # 0 for default unlimited range - I:"Render Range"=0 - } - - "tech reborn" { - # Optimizes the Rolling Machine to reduce tick time - B:"Optimized Rolling Machine"=true - } - - thaumcraft { - # 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 - B:"Stable Thaumometer"=true - } - - "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 - } - - "thaumcraft: foci" { - - "focus effects" { - # Overhauls the break focus effect cast sound - B:"[01] Break: Cast Sound Revamp"=true - - # Adds an impact sound to the break focus effect - B:"[02] Break: Impact Sound"=true - - # Overhauls the earth focus effect cast sound - B:"[03] Earth: Cast Sound Revamp"=true - - # Adds an impact sound to the earth focus effect - B:"[04] Earth: Impact Sound"=true - - # Adds an impact sound to the fire focus effect - B:"[05] Fire: Impact Sound"=true - - # Adds an impact sound to the flux focus effect - B:"[06] Flux: Impact Sound"=true - - # Overhauls the frost focus effect cast sound to make it a lot less plangent - B:"[07] Frost: Cast Sound Revamp"=true - - # Adds an impact sound to the frost focus effect - B:"[08] Frost: Impact Sound"=true - - # Overhauls the heal focus effect cast sound - B:"[09] Heal: Cast Sound Revamp"=true - - # Adds an impact sound to the heal focus effect - B:"[10] Heal: Impact Sound"=true - - # Overhauls the rift focus effect cast sound - B:"[11] Rift: Cast Sound Revamp"=true - - # Adds an impact sound to the rift focus effect - B:"[12] Rift: Impact Sound"=true - } - - "focus mediums" { - # Plays an additional cast sound when using any bolt focus medium to add an extra layer of pow - B:"[1] Bolt: Cast Sound"=true - - # Plays an additional cast sound when using any cloud focus medium - B:"[2] Cloud: Cast Sound"=true - - # Adds additional cast, despawn, and setup sounds when using any mine focus medium - B:"[3] Mine: Sound Overhaul"=true - - # Plays an additional cast sound when summoning any type of spellbat - B:"[4] Spellbat: Cast Sound"=true - } - - } - - "thermal expansion" { - # Adds Monoculture Cycle integration to desired phytogenic insolator recipes added by ModTweaker - # Register the recipe with Insolator.addRecipeMonoculture() instead of Insolator.addRecipe() in .zs files - # (and Insolator.addRecipeMonocultureSaplingInfuser() instead of Insolator.addRecipeSaplingInfuser()) - # Note: Make sure the 'fertilizer' is specified as the secondaryInput arg in the function - B:"Insolator Custom Monoculture"=true - } - - "tinkers' construct" { - # Excludes gaseous fluids from being transferable via faucets - B:"Gaseous Fluids"=false - - # Suppresses special abilities of long swords and rapiers when shurikens are wielded in the offhand - B:"Offhand Shuriken"=true - - # Caches all ore dictionary smelting recipes to speed up game loading - B:"Ore Dictionary Cache"=true - - # Despawns unbreakable projectiles faster to improve framerates - B:"Projectile Despawning"=true - } - - } - - "tweaks: blocks" { + blocks { # Replaces bed obstruction checks with an improved version B:"Bed Obstruction Replacement"=true @@ -505,7 +102,7 @@ general { } - "tweaks: entities" { + entities { # Removes entity AI for improved server performance B:"AI Removal"=false @@ -521,6 +118,9 @@ general { # Sets the acceleration value for controlling boats D:"Boat Speed"=0.04 + # Lets baby zombies burn in daylight as in Minecraft 1.13+ + B:"Burning Baby Zombies"=true + # Sets the chance for creepers to spawn charged # Min: 0.0 # Max: 1.0 @@ -531,11 +131,18 @@ general { # Max: 1.0 D:"Creeper Confetti Spawning Chance"=0.0 + # Sets the additional damage that critical arrows deal + # -1 for vanilla random default + I:"Critical Arrow Damage"=-1 + # Disables creepers dropping music discs when slain by skeletons B:"Disable Creeper Music Discs"=false - # Disables skipping night by using a bed while making it still able to set spawn - B:"Disable Sleeping"=false + # Disables leveling of villager careers, only allowing base level trades + B:"Disable Villager Trade Leveling"=false + + # Disables withers targeting animals + B:"Disable Wither Targeting AI"=false # Lets husks and strays spawn underground like regular zombies and skeletons B:"Husk & Stray Spawning"=true @@ -598,14 +205,6 @@ general { B:"[5] Spreading Fire"=true } - "easy breeding" { - # Enables easy breeding of animals by tossing food on the ground - B:"[1] Easy Breeding Toggle"=false - - # Determines the distance for animals to search for food - D:"[2] Search Distance"=10.0 - } - "collision damage" { # Applies horizontal collision damage to the player akin to elytra collision B:"[1] Collision Damage Toggle"=false @@ -615,6 +214,32 @@ general { I:"[2] Damage Factor"=10 } + "damage velocity" { + # Enables the modification of damage sources that change the entity's velocity + B:"[1] Damage Velocity Toggle"=false + + # Syntax: damagetype + S:"[2] Damage Velocity List" < + inFire + onFire + > + + # Blacklist Mode: Damage sources that don't change velocity, others do + # Whitelist Mode: Damage sources that change velocity, others don't + # Valid values: + # WHITELIST + # BLACKLIST + S:"[3] List Mode"=BLACKLIST + } + + "easy breeding" { + # Enables easy breeding of animals by tossing food on the ground + B:"[1] Easy Breeding Toggle"=false + + # Determines the distance for animals to search for food + D:"[2] Search Distance"=10.0 + } + "no golems" { # Disables the manual creation of iron golems B:"[1] Iron Golem Toggle"=false @@ -664,6 +289,17 @@ general { B:"[4] Indication Sound"=false } + sleeping { + # Disables skipping night by using a bed while making it still able to set spawn + B:"Disable Sleeping"=false + + # Determines at which time of day sleeping is allowed in ticks (0 - 23999) + # -1 for vanilla default + # Min: -1 + # Max: 23999 + I:"Sleeping Time"=-1 + } + "spawn caps" { # Sets maximum spawning limits for different entity types B:"[1] Spawn Caps Toggle"=false @@ -699,7 +335,10 @@ general { } - "tweaks: items" { + items { + # Allows the consumption of food at any time, regardless of the hunger bar + B:"Always Eat"=false + # Switches the selected hotbar slot to a proper tool if required B:"Auto Switch Tools"=false @@ -758,9 +397,6 @@ general { # Prevents placing of liquid source blocks in the world B:"Hardcore Buckets"=false - # Disables the 1.9 combat update attack cooldown - B:"No Attack Cooldown"=false - # Disables crafting recipes for repairing tools B:"No Crafting Repair"=false @@ -774,6 +410,17 @@ general { # -1 for vanilla default I:"XP Bottle Amount"=-1 + "attack cooldown" { + # Disables the 1.9 combat update attack cooldown + B:"[1] No Attack Cooldown Toggle"=false + + # Only removes the attack cooldown of swords to balance other weapons like axes + B:"[2] Only Affect Swords"=false + + # Hides attack speed tooltips of weapons + B:"[3] Hide Attack Speed Tooltip"=true + } + "item entities" { # Enables the modification of item entity properties B:"[01] Item Entities Toggle"=true @@ -891,7 +538,7 @@ general { } - "tweaks: misc" { + misc { # Enables clicking of `/seed` world seed in chat to copy to clipboard B:"Copy World Seed"=false @@ -919,9 +566,6 @@ general { # 0 for vanilla default I:"Linear XP Amount"=0 - # Disables the flashing of skybox and ground brightness on lightningflash strikes - B:"No Lightning Flash"=false - # Disables the flashing effect when the night vision potion effect is about to run out B:"No Night Vision Flash"=true @@ -934,7 +578,12 @@ general { # Prevents placing offhand blocks when blocks or food are held in the mainhand B:"Offhand Improvement"=true + # Sets the Y value of the overlay message (action bar), displayed for playing records etc. + # -4 for vanilla default + I:"Overlay Message Height"=-4 + # Removes the redundant Minecraft Realms button from the main menu + # Incompatible with RandomPatches B:"Remove Realms Button"=true # Removes the recipe book button from GUIs @@ -943,12 +592,48 @@ general { # Forcefully turns off the snooper and hides the snooper settings button from the options menu B:"Remove Snooper"=true + # Sets the Y value of the selected item tooltip, displayed when held items are changed + # 59 for vanilla default + I:"Selected Item Tooltip Height"=59 + # Skips the credits screen after the player goes through the end podium portal B:"Skip Credits"=false + # Automatically confirms the 'Missing Registry Entries' screen on world load + # Identical to the launch parameter `-Dfml.queryResult=confirm` + B:"Skip Missing Registry Entries Screen"=false + # Adds a button to the pause menu to toggle cheats B:"Toggle Cheats Button"=true + "armor curve" { + # Adjusts the armor scaling and degradation formulae for mobs and players + B:"[1] Armor Curve Toggle"=false + + # Configure how much armor does against damage + # Valid values are 'armor', 'damage', and 'toughness' + # Set to 1 to not modify damage at this step + S:"[2] Armor Damage Reduction Formula"=damage-(damage>(40/(toughness+1)))*((40/(toughness+1)))/2 + + # Configure sudden death protection for armor toughness + # Valid values are 'armor', 'damage', and 'toughness' + # Set to 1 to not modify damage at this step + S:"[3] Armor Toughness Damage Reduction Formula"=damage*MAX(10/(10+armor),0.2) + + # Configure the efficiency of protection enchantments + # Valid values are 'enchant' and 'damage' + # Set to 1 to not modify damage at this step + S:"[4] Enchantment Damage Reduction Formula"=damage*10/(10+enchant) + + # Configure how armor degrades + # Valid values are 'remaining' and 'max' + # Set to 1 to disable + S:"[5] Armor Degradation Formula"=remaining/MAX(max,1) + + # Enables debug logging for easier config validation + B:"[6] Debug Logging"=false + } + "incurable potions" { # Determines if potion effects are curable with curative items like buckets of milk B:"[1] Incurable Potions Toggle"=true @@ -965,6 +650,20 @@ general { S:"[3] List Mode"=BLACKLIST } + lightning { + # Sets the damage lightning bolts deal to entities + D:"Lightning Damage"=5.0 + + # Sets the duration in ticks lightning bolts set entities on fire + I:"Lightning Fire Ticks"=8 + + # Disables the creation of fire around lightning strikes + B:"No Lightning Fire"=false + + # Disables the flashing of skybox and ground brightness on lightning bolt strikes + B:"No Lightning Flash"=false + } + "load sounds" { # Play load sound on... # Valid values: @@ -1101,7 +800,7 @@ general { } - "tweaks: performance" { + performance { # Determines the interval in ticks between world auto saves I:"Auto Save Interval"=900 @@ -1124,6 +823,7 @@ general { B:"Fast Prefix Checking"=true # Skips initial world chunk loading & garbage collection to speed up world loading + # May have side effects such as slower chunk generation B:"Fast World Loading"=true # Fixes slow background startup edge case caused by checking tooltips during the loading process @@ -1136,7 +836,11 @@ general { B:"Uncap FPS"=true } - "tweaks: world" { + world { + # Sets the default height of the overworld's sea level + # Vanilla default is 63 + I:"Sea Level"=63 + # Replaces stronghold generation with a safer variant B:"Stronghold Replacement"=true diff --git a/config/betterquesting/DefaultQuests.json b/config/betterquesting/DefaultQuests.json index d28d5f48..76727816 100644 --- a/config/betterquesting/DefaultQuests.json +++ b/config/betterquesting/DefaultQuests.json @@ -5798,7 +5798,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§oBy itself, the Battery Buffer does nothing. What it does, however, is accept batteries in its inventory, to act as a... buffer... with the... batteries. I hope you got it!§r\n\nThe §3Battery Buffer§r handles §9two Amps in§r, and §9one Amp out§r §dper Battery§r. Output side has the dot, all other sides are inputs.\n§6It will also charge both EU and RF Tools inside it§r.\n\nThis is a must have if you don\u0027t have unlimited power at hand.\n\nGet §eany§r LV Battery Buffer. However the 16 slots variant is a bit overkill at this stage.\n\n§9Note:§r Do not loop your lossy Cables back to your Battery Buffer, you will end up voiding energy!\n\n§bLore:§r To be frank with you, the GTCE Battery Buffer was mediocre. It has been reworked by yours truly to provide a mix between GT5 and GTCE\u0027s functionality. Energy now splits evenly across all batteries!", + "desc:8": "§oBy itself, the Battery Buffer does nothing. What it does, however, is accept batteries in its inventory, to act as a... buffer... with the... batteries. I hope you got it!§r\n\nThe §3Battery Buffer§r handles §9two Amps in§r, and §9one Amp out§r §dper Battery§r. Output side has the dot, all other sides are inputs.\n§6It will also charge both EU and RF Tools inside it§r.\n\nThis is a must have if you don\u0027t have unlimited power at hand.\n\nGet §eany§r LV Battery Buffer to complete this quest. However the 16 slots variant is a bit overkill at this stage. You\u0027ll probably want a 4 slot buffer to start with for your machines, and a second 4 slot buffer which you can make later for your EBF. Make sure you understand why by the end of the LV chapter!\n\n§9Note:§r Do not loop your lossy Cables back to your Battery Buffer, you will end up voiding energy!\n\n§bLore:§r To be frank with you, the GTCE Battery Buffer was mediocre. It has been reworked by yours truly to provide a mix between GT5 and GTCE\u0027s functionality. Energy now splits evenly across all batteries!", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -7417,8 +7417,13 @@ } }, "99:10": { + "preRequisiteTypes:7": [ + 0, + 1 + ], "preRequisites:11": [ - 81 + 81, + 86 ], "properties:10": { "betterquesting:10": { @@ -7556,7 +7561,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§oThe §3Large Boiler§r is an §6optional§r big boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this will be your choice. Other power options are listed in the §bMV§r Chapter.\n\n\n§cImportant:§r This Boiler can also §cexplode§r similarly to the regular Boilers! I would like to say the explosion is not kind... but it\u0027s configured to not damage blocks or entities on this modpack.\n§cWater supply is crucial§r. Dedicate a §3Primitive Pump§r with a LV Output Hatch in the §lsame chunk§r as the Boiler. Any biome will still be enough to supply enough water.\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.\n\n\n§9Note:§r Informations about Multiblocks are given after you get the §3Electric Blast Furnace§r. I recommend you get that first.", + "desc:8": "§oThe §3Large Boiler§r is an §6optional§r big boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this will be your choice. Other power options are listed in the §bMV§r Chapter.\n\n\n§cImportant:§r This Boiler can also §cexplode§r similarly to the regular Boilers! I would like to say the explosion is not kind... but it\u0027s configured to not damage blocks or entities on this modpack.\n§cWater supply is crucial§r. Dedicate a §3Primitive Pump§r with a LV Output Hatch in the §lsame chunk§r as the Boiler. Any biome will still be enough to supply enough water.\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 +/- buttons in the GUI 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.\n\n\n§9Note:§r Informations about Multiblocks are given after you get the §3Electric Blast Furnace§r. I recommend you get that first.", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -9320,7 +9325,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§oRemember the Ore Processing Quest referencing the Electrolyzer? It told you that you had to wait until MV, so here we are.§r\n\nThe Advanced Electrolyzer allows you to decompose §6all§r Dusts. This will make getting materials such as §aAluminium§o§§ a lot easier!", + "desc:8": "§oRemember the Ore Processing Quest referencing the Electrolyzer? It told you that you had to wait until MV, so here we are.§r\n\nThe Advanced Electrolyzer allows you to decompose §6all§r Dusts. This will make getting materials such as §aAluminium§o§§ a lot easier!§r\n\nIf you\u0027re looking for a faster source of nitrogen than air centrifugation, electrolyzing Saltpeter is a good pick!", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -11160,7 +11165,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§oAutocrafting at last!§r\n\n§aPatterns§r are used for AE2 autocrafting. Using §aPolyvinyl Chloride§r increases the yield by §64 times§r, and higher-tier plastics have higher yields.\n\n§3Molecular Assemblers§r aren\u0027t available for a little while more, but you can still automate machines with §9ME Interfaces§r.", + "desc:8": "§oAutocrafting at last!§r\n\n§aPatterns§r are used for AE2 autocrafting. Using §aPolyvinyl Chloride§r increases the yield by §64 times§r, and higher-tier polymers have higher yields.\n\n§3Molecular Assemblers§r aren\u0027t available for a little while more, but you can still automate machines with §9ME Interfaces§r.\n§r\nWhen using §9ME Terminals§r, you can input mathmatical expressions into the amount field when requesting crafts, so you don\u0027t need a calculator.\n\nWhen a craft is finished, you will get a §etoast§r notifying you. This can be disabled in the config.", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -17139,7 +17144,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "Explaining §2Applied Energistics§r mechanics would almost need its own entire Quest Book, which is too much effort for what it\u0027s worth.\n\nThere are great resources online and excellent video tutorials for all the mechanics in §2AE2§r, which I invite you to check out.\nThe Quests focus on on major milestones, and tricks that are not widely known.\n\nMake sure to use §aJEI§r for all the exper-style modified recipes, which remain fairly accessible.\n\n\n§9Note:§r In this modpack, Channels are §4disabled§r.\nThis means there is no need for a ME Controller or to manage channels in any way whatsoever.\n\n\n§bLore:§r The version of AE2 is a fork originally made for Omnifactory. Notice \"Unofficial\" in the mod name? It comes with a lot of performance improvements and QoL over the original version.", + "desc:8": "Explaining §2Applied Energistics§r mechanics would almost need its own entire Quest Book, which is too much effort for what it\u0027s worth.\n\nThere are great resources online and excellent video tutorials for all the mechanics in §2AE2§r, which I invite you to check out.\nThe Quests focus on on major milestones, and tricks that are not widely known.\n\nMake sure to use §aJEI§r for all the exper-style modified recipes, which remain fairly accessible.\n\n\n§9Note:§r In this modpack, Channels are §4disabled§r.\nThis means there is no need for a ME Controller or to manage channels in any way whatsoever.\n\n\n§bLore:§r This version of AE2 is a fork originally made for Omnifactory. Notice \"Unofficial\" in the mod name? It comes with a lot of performance improvements and QoL over the original version.", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -17843,7 +17848,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§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§eWhere 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 fully 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.\nAdditionally GregTech 5\u0027s PA and other Multiblocks acted as a Cleanroom. There is no such thing here. You will need to place Multiblocks in the Cleanroom.", + "desc:8": "§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§eWhere or why is the Processing Array useful?§r\n§9-§r §4Parallelization is superior§r to overclocking. 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 fully 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.\nAdditionally GregTech 5\u0027s PA and other Multiblocks acted as a Cleanroom. There is no such thing here. You will need to place Multiblocks in the Cleanroom.", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -19981,7 +19986,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§oThe concepts presented are for the curious players. Don\u0027t read past the TL;DR if you are not interested.§r\n\n§bLore:§r The Amperage bug, exploit or feature (call it whatever you want!) from GTCE has been §lfixed§r in GTCEu. The Energy network now works as intended.\n\n§6§lTL;DR:§r For safety, match the Amperage limit of your Cables with the max amount of Amps from Energy Producers.\n\n\nYou surely have realised by now the Energy system in §2GregTech§r is §cnot as simple§r as the §1RF§r you may be used to using in modded Minecraft!\n§1EU§r mechanics have a depth to them and are not dissimilar to real electricity. It can also be §4dangerous§r if mishandled. But it also gives a lot of §6satisfaction§r, if harnessed well.\n\nThis Quest tackles the §9Amperage§r mechanics. As for the §dVoltage§r mechanics, that will be explained once you reach §bMV§r.\n\nEach single-block Generator in GregTech is configured to produce §91 Amp§r for its voltage tier. For §7LV§r, that results in §232EU/t§r.\nIf a machine requires 16EU/t, one packet of 32EU is sent every other tick (assuming no cable loss).\n\nA Battery Buffer with §94§r Batteries can produce up to §94 Amps§r, for §2128EU/t§r as §7LV§r, which is important for the §3Electric Blast Furnace§r, or to run multiple machines simultaneously.\nGeneric machines are configured to draw up to §92 Amps§r to account for cable loss. Other machines have specific §9Amps IN§r, described in the tooltip.\n\n§aCables§r have an §9Amperage §climit§r. Attempting to transport more Amps than the limit will §4burn§r them.\n\n§9Amps§r are drawn §oonly§r through the §aCables§r connecting the Producers and Consumers directly, and §oonly§r if the Consumers are active.\nThis means you can safely step down your Cables in certain places, feel free to experiment!", + "desc:8": "§oThe concepts presented are for the curious players. Don\u0027t read past the TL;DR if you are not interested.§r\n\n§bLore:§r The Amperage bug, exploit or feature (call it whatever you want!) from GTCE has been §lfixed§r in GTCEu. The Energy network now works as intended.\n\n§6§lTL;DR:§r For safety, match the Amperage limit of your Cables with the max amount of Amps from Energy Producers.\n\n\nYou surely have realised by now the Energy system in §2GregTech§r is §cnot as simple§r as the §1RF§r you may be used to using in modded Minecraft!\n§1EU§r mechanics have a depth to them and are not dissimilar to real electricity. It can also be §4dangerous§r if mishandled. But it also gives a lot of §6satisfaction§r, if harnessed well.\n\nThis Quest tackles the §9Amperage§r mechanics. As for the §dVoltage§r mechanics, that will be explained once you reach §bMV§r.\n\nEach single-block Generator in GregTech is configured to produce §91 Amp§r for its voltage tier. For §7LV§r, that results in §232EU/t§r.\nIf a machine requires 16EU/t, one packet of 32EU is sent every other tick (assuming no cable loss).\n\nA Battery Buffer with §94§r Batteries can produce up to §94 Amps§r, for §2128EU/t§r as §7LV§r, which is important for the §3Electric Blast Furnace§r, or to run multiple machines simultaneously.\nGeneric machines are configured to draw up to §92 Amps§r when less than §950%§r full to account for cable loss, but otherwise draw §91 Amp§r. Other machines have specific §9Amps IN§r, described in the tooltip.\n\n§aCables§r have an §9Amperage §climit§r. Attempting to transport more Amps than the limit will §4burn§r them.\n\n§9Amps§r are drawn §oonly§r through the §aCables§r connecting the Producers and Consumers directly, and §oonly§r if the Consumers are active.\nThis means you can safely step down your Cable Amperage in certain places, feel free to experiment!", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -19990,7 +19995,7 @@ "id:8": "gregtech:cable_quadruple" }, "ignoresview:1": 0, - "ismain:1": 0, + "ismain:1": 1, "issilent:1": 0, "lockedprogress:1": 0, "name:8": "But what are Amps?", @@ -24067,7 +24072,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "This is the §9Nano§r Circuit line.\n\nStarting from here all circuits follow a similar pattern:\n§9-§r Processor\n§9-§r Assembly\n§9-§r Cupercomputer\n§9-§r Mainframe", + "desc:8": "This is the §9Nano§r Circuit line.\n\nStarting from here all circuits follow a similar pattern:\n§9-§r Processor\n§9-§r Assembly\n§9-§r Supercomputer\n§9-§r Mainframe", "globalshare:1": 0, "icon:10": { "Count:3": 1, @@ -32256,6 +32261,122 @@ "taskID:8": "bq_standard:retrieval" } } + }, + "501:10": { + "preRequisites:11": [ + 374 + ], + "properties:10": { + "betterquesting:10": { + "autoclaim:1": 0, + "desc:8": "The §aAdvanced Memory Card§r allows for much greater control and efficiency when setting up §9P2Ps§r.\n\nYou can use the card on any §9P2P tunnel§r connected to an §9AE2§r network, and it allows you to rename, rebind, link, or cycle the mdoe of any other §9P2P§r on the network. You can also use it to reset all connections on a §9P2P tunnel§r.\n\n§bLore:§r The §aAdvanced Memory Card§r is from §2Betterer P2P§r, which is a fork of §2Better P2P§r, integrating features from GTNH\u0027s fork of the mod.", + "globalshare:1": 0, + "icon:10": { + "Count:3": 1, + "Damage:2": 0, + "OreDict:8": "", + "id:8": "betterp2p:advanced_memory_card", + "tag:10": { + "frequency:2": 0, + "gui:1": 1, + "mode:3": 0, + "selectedIndex:10": {} + } + }, + "ignoresview:1": 0, + "ismain:1": 0, + "issilent:1": 0, + "lockedprogress:1": 0, + "name:8": "Advanced Memory Card", + "questlogic:8": "AND", + "repeat_relative:1": 1, + "repeattime:3": -1, + "simultaneous:1": 0, + "snd_complete:8": "minecraft:entity.player.levelup", + "snd_update:8": "minecraft:entity.player.levelup", + "tasklogic:8": "AND", + "visibility:8": "ALWAYS" + } + }, + "questID:3": 501, + "rewards:9": {}, + "tasks:9": { + "0:10": { + "autoConsume:1": 0, + "consume:1": 0, + "groupDetect:1": 0, + "ignoreNBT:1": 0, + "index:3": 0, + "partialMatch:1": 1, + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 0, + "OreDict:8": "", + "id:8": "betterp2p:advanced_memory_card", + "tag:10": { + "frequency:2": 0, + "gui:1": 1, + "mode:3": 0, + "selectedIndex:10": {} + } + } + }, + "taskID:8": "bq_standard:retrieval" + } + } + }, + "502:10": { + "preRequisites:11": [ + 248 + ], + "properties:10": { + "betterquesting:10": { + "autoclaim:1": 0, + "desc:8": "This hatch acts like an infinite water source for multiblocks! It can make some setups much more convenient, and also has effectively infinite throughput so it doesn\u0027t have the limitations of the §9Infinite Water Source Cover§r not being fast enough.", + "globalshare:1": 0, + "icon:10": { + "Count:3": 1, + "Damage:2": 1418, + "OreDict:8": "", + "id:8": "gregtech:machine" + }, + "ignoresview:1": 0, + "ismain:1": 0, + "issilent:1": 0, + "lockedprogress:1": 0, + "name:8": "Reservoir Hatch", + "questlogic:8": "AND", + "repeat_relative:1": 1, + "repeattime:3": -1, + "simultaneous:1": 0, + "snd_complete:8": "minecraft:entity.player.levelup", + "snd_update:8": "minecraft:entity.player.levelup", + "tasklogic:8": "AND", + "visibility:8": "ALWAYS" + } + }, + "questID:3": 502, + "rewards:9": {}, + "tasks:9": { + "0:10": { + "autoConsume:1": 0, + "consume:1": 0, + "groupDetect:1": 0, + "ignoreNBT:1": 0, + "index:3": 0, + "partialMatch:1": 1, + "requiredItems:9": { + "0:10": { + "Count:3": 1, + "Damage:2": 1418, + "OreDict:8": "", + "id:8": "gregtech:machine" + } + }, + "taskID:8": "bq_standard:retrieval" + } + } } }, "questLines:9": { @@ -33270,7 +33391,7 @@ "sizeX:3": 36, "sizeY:3": 36, "x:3": 162, - "y:3": 54 + "y:3": 90 }, "21:10": { "id:3": 70, @@ -33290,21 +33411,21 @@ "id:3": 72, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 192, + "x:3": 198, "y:3": 18 }, "24:10": { "id:3": 73, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 192, - "y:3": -60 + "x:3": 138, + "y:3": 18 }, "25:10": { "id:3": 74, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 210, + "x:3": 216, "y:3": -30 }, "26:10": { @@ -33368,7 +33489,7 @@ "sizeX:3": 24, "sizeY:3": 24, "x:3": 240, - "y:3": 102 + "y:3": 120 }, "35:10": { "id:3": 85, @@ -33480,13 +33601,13 @@ "sizeX:3": 36, "sizeY:3": 36, "x:3": 258, - "y:3": -42 + "y:3": -36 }, "51:10": { "id:3": 102, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 126, + "x:3": 120, "y:3": 96 }, "52:10": { @@ -33521,8 +33642,8 @@ "id:3": 111, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 210, - "y:3": 60 + "x:3": 198, + "y:3": 54 }, "57:10": { "id:3": 112, @@ -33584,7 +33705,7 @@ "id:3": 347, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 174, + "x:3": 180, "y:3": -30 }, "66:10": { @@ -34620,8 +34741,8 @@ "id:3": 249, "sizeX:3": 24, "sizeY:3": 24, - "x:3": -114, - "y:3": -168 + "x:3": -72, + "y:3": -138 }, "12:10": { "id:3": 252, @@ -34993,6 +35114,13 @@ "sizeY:3": 24, "x:3": 204, "y:3": 288 + }, + "65:10": { + "id:3": 502, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -72, + "y:3": -198 } } }, @@ -36097,8 +36225,8 @@ "id:3": 104, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 168, - "y:3": 66 + "x:3": 81, + "y:3": 114 }, "1:10": { "id:3": 156, @@ -36174,7 +36302,7 @@ "id:3": 468, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 60, + "x:3": 36, "y:3": 114 }, "12:10": { @@ -36209,7 +36337,7 @@ "id:3": 497, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 102, + "x:3": 126, "y:3": 114 }, "17:10": { @@ -36232,6 +36360,13 @@ "sizeY:3": 24, "x:3": -48, "y:3": 114 + }, + "20:10": { + "id:3": 501, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 168, + "y:3": 66 } } }, diff --git a/groovy/postInit/ae2.groovy b/groovy/postInit/ae2.groovy index 6508957e..ad7fe672 100644 --- a/groovy/postInit/ae2.groovy +++ b/groovy/postInit/ae2.groovy @@ -446,6 +446,17 @@ crafting.shapedBuilder().name('network_memory_card') .key('P', ore('plateIron')) .register() +// Advanced Memory Card +crafting.remove('betterp2p:advanced_memory_card') +crafting.shapedBuilder().name('advanced_memory_card') + .output(item('betterp2p:advanced_memory_card')) + .matrix('Cs', 'wT') + .key('C', item('appliedenergistics2:memory_card')) + .key('s', ore('toolScrewdriver')) + .key('w', ore('toolWrench')) + .key('T', item('appliedenergistics2:network_tool')) + .register() + // Network Tool crafting.remove('appliedenergistics2:tools/network_tool') crafting.shapedBuilder().name('network_tool') @@ -659,6 +670,14 @@ crafting.shapelessBuilder().name('cardredstone') .input(ore('plateRedAlloy')) .register() +// Sticky Card +crafting.remove('appliedenergistics2:materials/cardsticky') +crafting.shapelessBuilder().name('cardsticky') + .output(item('appliedenergistics2:material', 61)) + .input(item('appliedenergistics2:material', 25)) + .input(metaitem('rubber_drop')) + .register() + // Charged Certus Quartz recipemap('polarizer').recipeBuilder() .inputs(ore('gemCertusQuartz')) diff --git a/groovy/postInit/ae2_fc.groovy b/groovy/postInit/ae2_fc.groovy index 3517d868..5e6f2df2 100644 --- a/groovy/postInit/ae2_fc.groovy +++ b/groovy/postInit/ae2_fc.groovy @@ -112,3 +112,15 @@ crafting.shapedBuilder().name('ultimate_encoder') .key('C', ore('circuitUv')) .mirrored() .register() + +// Wireless Fluid Pattern Terminal +crafting.remove('ae2fc:wireless_fluid_pattern_terminal') +crafting.shapedBuilder().name('wireless_fluid_pattern_terminal') + .output(item('ae2fc:wireless_fluid_pattern_terminal')) + .matrix('TC', 'Kd') + .key('d', ore('toolScrewdriver')) //TODO native tools + .key('T', item('appliedenergistics2:wireless_pattern_terminal')) + .key('C', ore('circuitZpm')) + .key('K', metaitem('fluid.regulator.iv')) + .register() + diff --git a/manifest.json b/manifest.json index 2db071bf..1c7e19dd 100644 --- a/manifest.json +++ b/manifest.json @@ -327,7 +327,7 @@ }, { "projectID": 557242, - "fileID": 4951281, + "fileID": 5050979, "required": true }, { @@ -363,7 +363,7 @@ }, { "projectID": 570458, - "fileID": 4851091, + "fileID": 5047265, "required": true }, { @@ -383,7 +383,7 @@ }, { "projectID": 623955, - "fileID": 4845148, + "fileID": 5036015, "required": true }, { @@ -393,7 +393,7 @@ }, { "projectID": 705000, - "fileID": 4704976, + "fileID": 4929573, "required": true }, { @@ -404,7 +404,7 @@ }, { "projectID": 687577, - "fileID": 4941103, + "fileID": 4991701, "required": true }, { @@ -424,18 +424,23 @@ }, { "projectID": 624243, - "fileID": 4943783, + "fileID": 4996326, "required": true }, { "projectID": 884359, - "fileID": 4951324, + "fileID": 4955559, "required": true }, { "projectID": 564858, "fileID": 4910674, "required": true + }, + { + "projectID": 943734, + "fileID": 4928154, + "required": true } ] } \ No newline at end of file