Skip to content

Commit

Permalink
Prepare 1.7.4 (#115)
Browse files Browse the repository at this point in the history
Co-authored-by: TechLord22 <[email protected]>
  • Loading branch information
htmlcsjs and TechLord22 authored Jan 24, 2024
1 parent 3141945 commit 3b81cdb
Show file tree
Hide file tree
Showing 9 changed files with 955 additions and 485 deletions.
54 changes: 28 additions & 26 deletions build/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ""
Expand Down Expand Up @@ -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 = "<html><body><h1>Modlist</h1><ul>"
for mod in modlist:
data += "<li>" + mod.split(".jar")[0] + "</li>"
data += "<li>" + mod["name"].split(".jar")[0] + "</li>"
data += "</ul></body></html>"
file.write(data)
print("modlist.html done")
Expand All @@ -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)):
Expand All @@ -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]
Expand Down Expand Up @@ -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")
Expand Down
199 changes: 199 additions & 0 deletions config/Universal Tweaks - Bugfixes.cfg
Original file line number Diff line number Diff line change
@@ -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
}

}


18 changes: 18 additions & 0 deletions config/Universal Tweaks - General.cfg
Original file line number Diff line number Diff line change
@@ -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
}

}


Loading

0 comments on commit 3b81cdb

Please sign in to comment.