Agenta

# Agenta

A authserver and skin fix for legacy versions of minecraft.

# Compatibility

Requires Java 7. (In theory this can be built for Java 5, but I lack the build tools required for that.)
If running this on Java 12 and newer, please add the following JVM argument: `–add-exports java.base/sun.net.www.protocol.http=ALL-UNNAMED`

1. As a mod: The same Jar will run on forge, bukkit and Risugami’s modloader for Minecaft versions Alpha 1.0.4 to Minecraft release 1.7.10 (These are merely the versions I tested)
2. As a JavaAgent: Add the following JVM argument: `-javaagent:{path}/agent.jar` (replace path with the location of the agent.jar)
3. Inline/static: In this setup, Agenta is essentially taking over the role of Launching minecraft. Add the following JVM argument and change out `{mainClass}` as needed depending on which minecraft version you are launching: `-Dagenta.main.class={mainClass}`
4. As a Bukkit plugin (Tested with bukkit for Minecraft Beta 1.2_01)

# JVM/Congig settings

Non of these are needed to launch Agenta. The available contexts are
“*” => ALL
“static” => When Agenta is launched as the main class with the expectation of chainloading another class manually.
“config” => Only appears in the config file.

Context property Argument description
* agenta.assets.fml -Dagenta.assets.fml={value} A link to an archive Agenta should forward legacy forge download requests to
* agenta.assets.index -Dagenta.assets.index={value} The URL for the asset index Agenta should use as a base
* agenta.assets.routing -Dagenta.assets.routing=true Should agenta reroute requests the mojang’s asset servers? (default: “true”)
* agenta.assets.url -Dagenta.assets.url={value} The URL for the resource server Agenta should pull assets from
* agenta.prt.color -Dagenta.prt.color=false Pass the value ‘false’ to disable colour printing.
* agenta.prt.debug -Dagenta.prt.debug=false Should agenta show debug messages?
* agenta.save.file -Dagenta.save.file=saves.json When handling saving for certain versions of old Minecraft that relied on long dead mojang endpoints, what should agenta call the save file? (default: “saves.json”)
* agenta.skin.resize -Dagenta.skin.resize=true Should agenta try to resize skins from 64×64 to 64×32 for better compatibility? (default: “true”)
* agenta.skin.merge -Dagenta.skin.merge=true Should Agenta take multi layered skins and attempt to flatten the layers down? (default: “true”)
* agenta.skin.cache -Dagenta.skin.cache=true Should agenta cache skin lookups? (default: “true”)
config agenta.config.version The version of agenta that generated a set config file. Will be used to detect if agenta should upgrade a set config file
static agenta.main.class -Dagenta.main.class={value} The class Agenta should try to load next when running in static/inline mode

# Fixes

– Skin support for pre 1.7.10 versions
– Cape support for pre 1.7.10 versions
– Sound for versions of the game that predate 1.6
– World savings for certain pre-alpha builds (experimental)
– Forge 1.5.2 being unable to fetch it’s library files (experimental)

# Note

– The same jar will work for almost every version of minecraft that predates Release 1.8
– Any miscellaneous fabric based modloader _should_ be supported.
– NilLoader can load Agenta. (Agenta doesn’t meet the criteria of a [NilLoader mod](https://git.sleeping.town/Nil/NilLoader#:~:text=A%20NilLoader%20mod%20includes%20a%20complete%20copy%20of%20NilLoader%20within%20itself))
– Some ancient versions of Forge/modloader may require you to load Agenta as a jar mod.
– LiteLoader inforces compatibility checks and so can never be fully supported

Achievement Fix

fixes:
– 1.0.0: sniper duel
– 1.4-1.5.2: the end?
– 1.7.x: adventuring time
– 1.13.1-1.13.2: serious dedication

1.0.0 is built for ornithe, there is an instance alongside the other mcsr legacy fabric instances (https://github.com/Minecraft-Java-Edition-Speedrunning/legacy-fabric-instance-generator/releases/latest) and i also have an optifabric release for ornithe

1.13.1 is built for legacy fabric v2 intermediaries, there is not an instance for this but the generator supports it if you just add another tuple, if anyone really wants to play this version i can make one