mirror of
https://github.com/eaglerforge/EaglerForgeInjector
synced 2025-07-26 15:29:26 -09:00
not quite done, but launch GUI before client (#5)
* Update modgui.js * Update modgui.injector.js * idk if u want this * idk if u want this pt 2 * I cont beleive i forgor this * forgor
This commit is contained in:
parent
df75615ea7
commit
6aa24515ab
@ -105,6 +105,11 @@ var main;(function(){`
|
|||||||
\<script id="libserverside"\>{"._|_libserverside_|_."}\<\/script\>`
|
\<script id="libserverside"\>{"._|_libserverside_|_."}\<\/script\>`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
patchedFile = patchedFile.replace(
|
||||||
|
`document.getElementById("launch_countdown_screen").remove(); main();`,
|
||||||
|
`document.getElementById("launch_countdown_screen").remove(); window.modapi_displayModGui();`
|
||||||
|
)
|
||||||
|
|
||||||
const extractConstructorRegex =
|
const extractConstructorRegex =
|
||||||
/^\s*function (\S*?)__init_\d*?\((?!\$)/gm;
|
/^\s*function (\S*?)__init_\d*?\((?!\$)/gm;
|
||||||
const extractConstructorFullNameRegex =
|
const extractConstructorFullNameRegex =
|
||||||
|
@ -42,7 +42,7 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays
|
|||||||
<button class="button" onclick="window.modapi_uploadmod()">Upload Mod (.js)</button>
|
<button class="button" onclick="window.modapi_uploadmod()">Upload Mod (.js)</button>
|
||||||
<button class="button" onclick="window.modapi_addmod()">Add Mod From URL</button>
|
<button class="button" onclick="window.modapi_addmod()">Add Mod From URL</button>
|
||||||
<button class="button" style="text-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5)" onclick="window.modapi_clearmods()">Clear All Mods</button>
|
<button class="button" style="text-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5)" onclick="window.modapi_clearmods()">Clear All Mods</button>
|
||||||
<button class="button" onclick="this.parentElement.parentElement.remove();">Done</button>
|
<button class="button" onclick="this.parentElement.parentElement.remove(); main();">Done</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span>(reload to apply changes)</span>
|
<span>(reload to apply changes)</span>
|
||||||
@ -159,6 +159,7 @@ globalThis.modapi_guikit = `// ModAPI GUI made by TheIdiotPlays
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</div>\`;
|
</div>\`;
|
||||||
|
|
||||||
async function fileToDataURI(file) {
|
async function fileToDataURI(file) {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
var fr = new FileReader();
|
var fr = new FileReader();
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
<button class="button" onclick="window.modapi_uploadmod()">Upload Mod (.js)</button>
|
<button class="button" onclick="window.modapi_uploadmod()">Upload Mod (.js)</button>
|
||||||
<button class="button" onclick="window.modapi_addmod()">Add Mod From URL</button>
|
<button class="button" onclick="window.modapi_addmod()">Add Mod From URL</button>
|
||||||
<button class="button" style="text-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5)" onclick="window.modapi_clearmods()">Clear All Mods</button>
|
<button class="button" style="text-shadow: 0px 0px 10px rgba(255, 0, 0, 0.5)" onclick="window.modapi_clearmods()">Clear All Mods</button>
|
||||||
<button class="button" onclick="this.parentElement.parentElement.remove();">Done</button>
|
<button class="button" onclick="this.parentElement.parentElement.remove(); main();">Done</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span>(reload to apply changes)</span>
|
<span>(reload to apply changes)</span>
|
||||||
@ -159,6 +159,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</div>`;
|
</div>`;
|
||||||
|
|
||||||
async function fileToDataURI(file) {
|
async function fileToDataURI(file) {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
var fr = new FileReader();
|
var fr = new FileReader();
|
||||||
|
@ -741,35 +741,6 @@ globalThis.modapi_postinit = `(() => {
|
|||||||
ModAPI.materials = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.block.material.Material")].staticVariables, StaticProps_ProxyConf);
|
ModAPI.materials = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.block.material.Material")].staticVariables, StaticProps_ProxyConf);
|
||||||
ModAPI.enchantments = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.enchantment.Enchantment")].staticVariables, StaticProps_ProxyConf);
|
ModAPI.enchantments = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.enchantment.Enchantment")].staticVariables, StaticProps_ProxyConf);
|
||||||
|
|
||||||
|
|
||||||
const originalOptionsInit = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")];
|
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")] = function (...args) {
|
|
||||||
var x = originalOptionsInit.apply(this, args);
|
|
||||||
|
|
||||||
//NOT A BUG DO NOT FIX
|
|
||||||
var msg = Math.random() < 0.025 ? "Plugins" : "Mods";
|
|
||||||
|
|
||||||
// Find the right constructor. (int id, int x, int y, int width, int height, String buttonText);
|
|
||||||
var btnConstructor = ModAPI.hooks._classMap['nmcg_GuiButton'].constructors.filter(c => { return c.length === 6 })[0];
|
|
||||||
var btn = btnConstructor(9635329, 0, args[0].$height8 - 21, 100, 20, ModAPI.util.str(msg));
|
|
||||||
args[0].$buttonList.$add(btn);
|
|
||||||
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
const originalOptionsAction = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "actionPerformed")];
|
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "actionPerformed")] = function (...args) {
|
|
||||||
if (args[1] && args[1].$id12 === 9635329) {
|
|
||||||
if (typeof window.modapi_displayModGui === "function") {
|
|
||||||
window.modapi_displayModGui();
|
|
||||||
} else {
|
|
||||||
alert("[ModAPI] Mod Manager GUI does not exist!")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var x = originalOptionsAction.apply(this, args);
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
const originalCrashMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")];
|
const originalCrashMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")];
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")] = function (...args) {
|
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")] = function (...args) {
|
||||||
if (window.confirm("Your game has crashed, do you want to open the mod manager gui?")) {
|
if (window.confirm("Your game has crashed, do you want to open the mod manager gui?")) {
|
||||||
|
29
postinit.js
29
postinit.js
@ -741,35 +741,6 @@
|
|||||||
ModAPI.materials = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.block.material.Material")].staticVariables, StaticProps_ProxyConf);
|
ModAPI.materials = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.block.material.Material")].staticVariables, StaticProps_ProxyConf);
|
||||||
ModAPI.enchantments = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.enchantment.Enchantment")].staticVariables, StaticProps_ProxyConf);
|
ModAPI.enchantments = new Proxy(ModAPI.hooks._classMap[ModAPI.util.getCompiledName("net.minecraft.enchantment.Enchantment")].staticVariables, StaticProps_ProxyConf);
|
||||||
|
|
||||||
|
|
||||||
const originalOptionsInit = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")];
|
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "initGui")] = function (...args) {
|
|
||||||
var x = originalOptionsInit.apply(this, args);
|
|
||||||
|
|
||||||
//NOT A BUG DO NOT FIX
|
|
||||||
var msg = Math.random() < 0.025 ? "Plugins" : "Mods";
|
|
||||||
|
|
||||||
// Find the right constructor. (int id, int x, int y, int width, int height, String buttonText);
|
|
||||||
var btnConstructor = ModAPI.hooks._classMap['nmcg_GuiButton'].constructors.filter(c => { return c.length === 6 })[0];
|
|
||||||
var btn = btnConstructor(9635329, 0, args[0].$height8 - 21, 100, 20, ModAPI.util.str(msg));
|
|
||||||
args[0].$buttonList.$add(btn);
|
|
||||||
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
const originalOptionsAction = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "actionPerformed")];
|
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.minecraft.client.gui.GuiOptions", "actionPerformed")] = function (...args) {
|
|
||||||
if (args[1] && args[1].$id12 === 9635329) {
|
|
||||||
if (typeof window.modapi_displayModGui === "function") {
|
|
||||||
window.modapi_displayModGui();
|
|
||||||
} else {
|
|
||||||
alert("[ModAPI] Mod Manager GUI does not exist!")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var x = originalOptionsAction.apply(this, args);
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
const originalCrashMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")];
|
const originalCrashMethod = ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")];
|
||||||
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")] = function (...args) {
|
ModAPI.hooks.methods[ModAPI.util.getMethodFromPackage("net.lax1dude.eaglercraft.v1_8.internal.teavm.ClientMain", "showCrashScreen")] = function (...args) {
|
||||||
if (window.confirm("Your game has crashed, do you want to open the mod manager gui?")) {
|
if (window.confirm("Your game has crashed, do you want to open the mod manager gui?")) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user