pathcess
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
@echo off
|
||||
title MakeOfflineDownload
|
||||
java -cp "lwjgl-rundir/MakeOfflineDownload.jar;lwjgl-rundir/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeOfflineDownload "javascript/OfflineDownloadTemplate.txt" "javascript/classes.js" "javascript/assets.epk" "javascript/EaglercraftX_1.8_Offline_en_US.html" "javascript/EaglercraftX_1.8_Offline_International.html" "javascript/lang"
|
||||
java -cp "lwjgl-rundir/MakeOfflineDownload.jar;lwjgl-rundir/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeOfflineDownload "javascript/OfflineDownloadTemplate.txt" "javascript/classes.js" "javascript/assets.epk" "javascript/Eaglercraft_1.7.10_Offline_en_US.html" "javascript/EaglercraftX_1.7.10_Offline_International.html" "javascript/lang"
|
||||
pause
|
||||
File diff suppressed because one or more lines are too long
+971302
-35810
File diff suppressed because one or more lines are too long
+971301
-35809
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
|
||||
<meta name="description" content="Eaglercraft Alpha 1.0.6_03 Offline Download">
|
||||
<meta name="keywords" content="eaglercraft, minecraft, alpha, mark101, voidexp, alpha 1.1.2_01">
|
||||
<title>Eaglercraft Alpha 1.0.6_03</title>
|
||||
<meta name="description" content="Eaglercraft 1.7.10 Offline Download">
|
||||
<meta name="keywords" content="eaglercraft, minecraft, release, 1.7, combat, 1.7.10, mc">
|
||||
<title>Eaglercraft 1.7.10</title>
|
||||
<meta property="og:locale" content="en-US">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Eaglercraft Alpha 1.0.6_03 Offline">
|
||||
<meta property="og:title" content="Eaglercraft Alpha 1.7.10 Offline">
|
||||
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass">
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
|
||||
Binary file not shown.
+33597
-33587
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+31
-16
@@ -1,16 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="und" style="width:100%;height:100%;background-color:black;">
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
|
||||
<meta name="description" content="Eaglercraft Alpha 1.0.6_03">
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, socket, alphaver, mark101, voidexp, minecraft, Alpha, Alpha 1.1.2, Alpha 1.0.6_03">
|
||||
<title>Eaglercraft Alpha 1.0.6_03</title>
|
||||
<meta property="og:locale" content="en-US">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Eaglercraft Alpha 1.0.6_03">
|
||||
<meta property="og:description" content="test directory HTML page">
|
||||
<link type="image/png" rel="shortcut icon" href="favicon.png">
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8 test directory HTML page" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglercraftX 1.8</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglercraftX 1.8" />
|
||||
<meta property="og:description" content="test directory HTML page" />
|
||||
<link type="image/png" rel="shortcut icon" href="favicon.png" />
|
||||
<script type="text/javascript" src="classes.js"></script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
@@ -20,20 +20,35 @@
|
||||
}else {
|
||||
var relayId = Math.floor(Math.random() * 3);
|
||||
window.eaglercraftXOpts = {
|
||||
demoMode: false,
|
||||
container: "game_frame",
|
||||
assetsURI: "assets.epk",
|
||||
localesURI: "lang/",
|
||||
worldsDB: "worlds",
|
||||
logInvalidCerts: true,
|
||||
crashOnUncaughtExceptions: true
|
||||
crashOnUncaughtExceptions: true,
|
||||
servers: [
|
||||
{ addr: "ws://localhost:8081/", name: "Local test server" }
|
||||
],
|
||||
relays: [
|
||||
{ addr: "wss://relay.deev.is/", comment: "lax1dude relay #1", primary: relayId === 0 },
|
||||
{ addr: "wss://relay.lax1dude.net/", comment: "lax1dude relay #2", primary: relayId === 1 },
|
||||
{ addr: "wss://relay.shhnowisnottheti.me/", comment: "ayunami relay #1", primary: relayId === 2 }
|
||||
]
|
||||
};
|
||||
main();
|
||||
console.log(window.eaglercraftXOpts.assetsURI);
|
||||
console.log(window.eaglercraftXOpts.assetsURIArray);
|
||||
|
||||
var q = window.location.search;
|
||||
if((typeof q === "string") && q[0] === "?" && (typeof window.URLSearchParams !== "undefined")) {
|
||||
q = new window.URLSearchParams(q);
|
||||
var s = q.get("server");
|
||||
if(s) window.eaglercraftXOpts.joinServer = s;
|
||||
}
|
||||
|
||||
main();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:black;" id="game_frame">
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Awww you feel sad. Please suck my coke
|
||||
|
||||
Time: 21.09.2025 16:53
|
||||
Description: Updating screen events
|
||||
|
||||
java.lang.IllegalStateException: Server is in state 3 'WORLD_LOADED' which is not the 'WORLD_NONE' state for the requested IPC operation
|
||||
at net.lax1dude.eaglercraft.sp.SingleplayerServerController.ensureReady(SingleplayerServerController.java:202)
|
||||
at net.lax1dude.eaglercraft.sp.SingleplayerServerController.launchEaglercraftServer(SingleplayerServerController.java:217)
|
||||
at net.minecraft.client.Minecraft.launchIntegratedServer(Minecraft.java:1756)
|
||||
at net.minecraft.client.gui.GuiCreateWorld.actionPerformed(GuiCreateWorld.java:219)
|
||||
at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:195)
|
||||
at net.minecraft.client.gui.GuiCreateWorld.mouseClicked(GuiCreateWorld.java:339)
|
||||
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:265)
|
||||
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:239)
|
||||
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1410)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- Head --
|
||||
Thread: main
|
||||
Stacktrace:
|
||||
at net.lax1dude.eaglercraft.sp.SingleplayerServerController.ensureReady(SingleplayerServerController.java:202)
|
||||
at net.lax1dude.eaglercraft.sp.SingleplayerServerController.launchEaglercraftServer(SingleplayerServerController.java:217)
|
||||
at net.minecraft.client.Minecraft.launchIntegratedServer(Minecraft.java:1756)
|
||||
at net.minecraft.client.gui.GuiCreateWorld.actionPerformed(GuiCreateWorld.java:219)
|
||||
at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:195)
|
||||
at net.minecraft.client.gui.GuiCreateWorld.mouseClicked(GuiCreateWorld.java:339)
|
||||
at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:265)
|
||||
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:239)
|
||||
|
||||
-- Affected screen --
|
||||
Details:
|
||||
Screen name: net.minecraft.client.gui.GuiMainMenu
|
||||
Stacktrace:
|
||||
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1410)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 297474080 bytes (283 MB) / 413138944 bytes (394 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Who set us up the TNT?
|
||||
|
||||
Time: 23.09.2025 16:08
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 18645032 bytes (17 MB) / 111149056 bytes (106 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Who set us up the TNT?
|
||||
|
||||
Time: 23.09.2025 16:13
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 70807632 bytes (67 MB) / 100663296 bytes (96 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// I let you down. Sorry :(
|
||||
|
||||
Time: 23.09.2025 16:14
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 19537872 bytes (18 MB) / 111149056 bytes (106 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Ur face is making me freaky, can i have 1 backshots?
|
||||
|
||||
Time: 23.09.2025 16:15
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 86276576 bytes (82 MB) / 121634816 bytes (116 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// I let you down. Sorry :(
|
||||
|
||||
Time: 23.09.2025 16:17
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 32347840 bytes (30 MB) / 157286400 bytes (150 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,36 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// I blame Dinnerbone.
|
||||
|
||||
Time: 23.09.2025 16:17
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.entity.EntityClientPlayerMP.setAngles(float, float)" because "this.mc.thePlayer" is null
|
||||
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:958)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 6933472 bytes (6 MB) / 111149056 bytes (106 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,56 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Ooh. Shiny.
|
||||
|
||||
Time: 23.09.2025 16:24
|
||||
Description: Updating screen events
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.settings.KeyBinding.getKeyCode()" because "this.gameSettings.field_152396_an" is null
|
||||
at net.minecraft.client.Minecraft.func_152348_aa(Minecraft.java:2291)
|
||||
at net.minecraft.client.gui.GuiScreen.handleKeyboardInput(GuiScreen.java:287)
|
||||
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:245)
|
||||
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1410)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- Head --
|
||||
Thread: main
|
||||
Stacktrace:
|
||||
at net.minecraft.client.Minecraft.func_152348_aa(Minecraft.java:2291)
|
||||
at net.minecraft.client.gui.GuiScreen.handleKeyboardInput(GuiScreen.java:287)
|
||||
at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:245)
|
||||
|
||||
-- Affected screen --
|
||||
Details:
|
||||
Screen name: net.minecraft.client.gui.GuiMultiplayer
|
||||
Stacktrace:
|
||||
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1410)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 87340704 bytes (83 MB) / 123731968 bytes (118 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
@@ -0,0 +1,67 @@
|
||||
---- Minecraft Crash Report ----
|
||||
// Would you like a cupcake?
|
||||
|
||||
Time: 23.09.2025 16:25
|
||||
Description: Unexpected error
|
||||
|
||||
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.settings.KeyBinding.getKeyCode()" because "this.gameSettings.field_152396_an" is null
|
||||
at net.minecraft.client.Minecraft.func_152348_aa(Minecraft.java:2291)
|
||||
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1511)
|
||||
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:783)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
|
||||
A detailed walkthrough of the error, its code path and all known details is as follows:
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
-- Head --
|
||||
Thread: main
|
||||
Stacktrace:
|
||||
at net.minecraft.client.Minecraft.func_152348_aa(Minecraft.java:2291)
|
||||
|
||||
-- Affected level --
|
||||
Details:
|
||||
Level name: MpServer
|
||||
All players: 1 total; [EntityClientPlayerMP['YeegYeeg8967'/301, l='MpServer', x=218,85, y=70,62, z=277,74]]
|
||||
Chunk stats: MultiplayerChunkCache: 169, 169
|
||||
Level seed: 0
|
||||
Level generator: ID 00 - default, ver 1. Features enabled: false
|
||||
Level generator options:
|
||||
Level spawn location: World: (212,64,252), Chunk: (at 4,4,12 in 13,15; contains blocks 208,0,240 to 223,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
|
||||
Level time: 7133627 game time, 4273016 day time
|
||||
Level dimension: 0
|
||||
Level storage version: 0x00000 - Unknown?
|
||||
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
|
||||
Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
|
||||
Forced entities: 15 total; [EntityClientPlayerMP['YeegYeeg8967'/301, l='MpServer', x=218,85, y=70,62, z=277,74], EntityZombie['Zombie'/322, l='MpServer', x=195,50, y=18,00, z=252,50], EntityCreeper['Creeper'/354, l='MpServer', x=180,50, y=31,00, z=244,50], EntityCreeper['Creeper'/514, l='MpServer', x=254,50, y=34,00, z=315,50], EntityCreeper['Creeper'/355, l='MpServer', x=183,16, y=31,00, z=244,53], EntitySkeleton['Skeleton'/365, l='MpServer', x=180,50, y=70,00, z=296,50], EntitySheep['Sheep'/143, l='MpServer', x=184,72, y=71,00, z=278,41], EntityChicken['Chicken'/144, l='MpServer', x=189,47, y=68,00, z=321,16], EntityZombie['Zombie'/531, l='MpServer', x=264,50, y=38,00, z=305,50], EntityChicken['Chicken'/212, l='MpServer', x=266,69, y=63,00, z=238,47], EntityChicken['Chicken'/213, l='MpServer', x=265,44, y=63,00, z=237,34], EntityChicken['Chicken'/214, l='MpServer', x=264,28, y=64,00, z=240,69], EntityChicken['Chicken'/215, l='MpServer', x=260,97, y=71,00, z=303,25], EntitySkeleton['Skeleton'/503, l='MpServer', x=182,50, y=44,00, z=296,50], EntitySkeleton['Skeleton'/316, l='MpServer', x=179,50, y=68,00, z=254,50]]
|
||||
Retry entities: 0 total; []
|
||||
Server brand: PaperSpigot
|
||||
Server type: Non-integrated multiplayer server
|
||||
Stacktrace:
|
||||
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:363)
|
||||
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2112)
|
||||
at net.minecraft.client.Minecraft.run(Minecraft.java:804)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.LWJGLEntryPoint.main_(LWJGLEntryPoint.java:75)
|
||||
at net.lax1dude.eaglercraft.internal.lwjgl.MainClass.main(MainClass.java:6)
|
||||
|
||||
-- System Details --
|
||||
Details:
|
||||
Minecraft Version: 1.7.10
|
||||
Operating System: Windows 11 (amd64) version 10.0
|
||||
Java Version: 21.0.4, Eclipse Adoptium
|
||||
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
|
||||
Memory: 95491912 bytes (91 MB) / 157286400 bytes (150 MB) up to 4223664128 bytes (4028 MB)
|
||||
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
|
||||
Launched Version: 1.7.10
|
||||
LWJGL: 2.9.4
|
||||
OpenGL: ANGLE (Intel, Intel(R) Iris(R) Xe Graphics (0x000046A6) Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.101.4502) GL version OpenGL ES 3.0.0 (ANGLE 2.1.22784 git hash: c67f290ef0f0), Google Inc. (Intel)
|
||||
Is Modded: vanilla
|
||||
Type: Client (map_client.txt)
|
||||
Resource Packs: []
|
||||
Current Language: English (US)
|
||||
Profiler Position: N/A (disabled)
|
||||
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
|
||||
Anisotropic Filtering: Off (1)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 922 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 943 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
@@ -39,7 +39,7 @@ public class DesktopWebSocketClient extends AbstractWebSocketClient {
|
||||
this.currentURI = currentURI;
|
||||
currentURIStr = currentURI.toString();
|
||||
clientImpl = new WebSocketClientImpl(this, currentURI);
|
||||
clientImpl.addHeader("Origin", "EAG_LWJGL_1.4.7".replaceAll("[^a-zA-Z0-9\\-_\\.]", "_"));
|
||||
clientImpl.addHeader("Origin", "EAG_LWJGL_1.7.10".replaceAll("[^a-zA-Z0-9\\-_\\.]", "_"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,7 +14,7 @@ public class FAQData {
|
||||
add(tmp, "Performance tips?", "Lower render distance and turn off fancy graphics in Options.");
|
||||
add(tmp, "Why there are no singleplayer mode?", "Because I had a weird chunk loading bug which makes singleplayer UNPLAYABLE. I tried to fix it but It didn't work. Singleplayer will be released in the next update.");
|
||||
add(tmp, "Can I make my own 1.7.10 server?", "Yes, you can use EaglerXRewind plugin in your 1.8/1.12 servers. But If you want the backend to be 1.7.10, then you need to make a velocity server with EaglerXServer and EaglerXRewind plugin. Then make the normal 1.7.10 server and add it to velocity..");
|
||||
add(tmp, "Why is am I getting a bad FPS?", "Because this client is not that optimized as 1.8, but I will be backporting optimizitations from 1.8");
|
||||
add(tmp, "Why am I getting a bad FPS?", "Because this client is not that optimized as 1.8, but I will be backporting optimizitations from 1.8");
|
||||
add(tmp, "Why did you port 1.7.10?", "Because I saw people wanting 1.7.10 to be ported, I think they love the combat of 1.7.10");
|
||||
add(tmp, "Why does some plugins does not work?", "Many plugins are built for newer Minecraft versions (1.8+), which include features 1.7.10 doesn’t support—such as armor stands, JSON chat, advanced holograms, or extra skin layers. When you connect with 1.7.10, these elements either don’t render at all or look broken because your client simply cannot display them. To avoid issues, use a 1.8+ client or ask the server owner if they support 1.7 with compatibility plugins (like ProtocolSupport/EaglerXRewind).");
|
||||
ITEMS = Collections.unmodifiableList(tmp);
|
||||
|
||||
@@ -33,18 +33,29 @@ public class GuiSupportedServers extends GuiScreen {
|
||||
|
||||
int y = START_Y;
|
||||
int cardWidth = Math.min(MAX_CARD_WIDTH, this.width - 40);
|
||||
int cardLeft = this.width / 2 - cardWidth / 2;
|
||||
boolean narrow = cardWidth < (2 * 110 + 12 + CARD_PADDING * 2);
|
||||
int rowHeight = narrow ? 96 : ROW_HEIGHT;
|
||||
|
||||
for (int index = 0; index < supportedServers.size(); index++) {
|
||||
int buttonsY = y + ROW_HEIGHT - CARD_PADDING - 24; // bottom area of the card
|
||||
int buttonsY = y + rowHeight - CARD_PADDING - 24; // baseline for bottom button row
|
||||
|
||||
int btnWidth = 110;
|
||||
int btnSpacing = 12;
|
||||
int totalBtnWidth = btnWidth * 2 + btnSpacing;
|
||||
int btnStartX = this.width / 2 - (totalBtnWidth / 2);
|
||||
if (narrow) {
|
||||
int fullBtnWidth = cardWidth - CARD_PADDING * 2;
|
||||
int btnX = cardLeft + CARD_PADDING;
|
||||
// Stack buttons vertically to avoid overlap
|
||||
this.buttonList.add(new GuiButton(101 + index * 2, btnX, buttonsY - 26, fullBtnWidth, 20, "Add to List"));
|
||||
this.buttonList.add(new GuiButton(100 + index * 2, btnX, buttonsY, fullBtnWidth, 20, "Connect"));
|
||||
} else {
|
||||
int btnWidth = 110;
|
||||
int btnSpacing = 12;
|
||||
int totalBtnWidth = btnWidth * 2 + btnSpacing;
|
||||
int btnStartX = this.width / 2 - (totalBtnWidth / 2);
|
||||
this.buttonList.add(new GuiButton(101 + index * 2, btnStartX, buttonsY, btnWidth, 20, "Add to List"));
|
||||
this.buttonList.add(new GuiButton(100 + index * 2, btnStartX + btnWidth + btnSpacing, buttonsY, btnWidth, 20, "Connect"));
|
||||
}
|
||||
|
||||
this.buttonList.add(new GuiButton(101 + index * 2, btnStartX, buttonsY, btnWidth, 20, "Add to List"));
|
||||
this.buttonList.add(new GuiButton(100 + index * 2, btnStartX + btnWidth + btnSpacing, buttonsY, btnWidth, 20, "Connect"));
|
||||
|
||||
y += ROW_HEIGHT;
|
||||
y += rowHeight;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +96,19 @@ public class GuiSupportedServers extends GuiScreen {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char typedChar, int keyCode) {
|
||||
if (keyCode == 1) {
|
||||
this.mc.displayGuiScreen(parent);
|
||||
return;
|
||||
}
|
||||
super.keyTyped(typedChar, keyCode);
|
||||
}
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||
this.drawDefaultBackground();
|
||||
@@ -93,12 +117,15 @@ public class GuiSupportedServers extends GuiScreen {
|
||||
|
||||
int y = START_Y;
|
||||
int cardWidth = Math.min(MAX_CARD_WIDTH, this.width - 40);
|
||||
int cardLeft = this.width / 2 - cardWidth / 2;
|
||||
boolean narrow = cardWidth < (2 * 110 + 12 + CARD_PADDING * 2);
|
||||
int rowHeight = narrow ? 96 : ROW_HEIGHT;
|
||||
|
||||
for (int i = 0; i < supportedServers.size(); i++) {
|
||||
ServerData data = supportedServers.get(i);
|
||||
int cardLeft = this.width / 2 - cardWidth / 2;
|
||||
int cardRight = this.width / 2 + cardWidth / 2;
|
||||
int cardTop = y;
|
||||
int cardBottom = y + ROW_HEIGHT - 8;
|
||||
int cardBottom = y + rowHeight - 8;
|
||||
|
||||
drawRect(cardLeft, cardTop, cardRight, cardBottom, 0x88000000);
|
||||
drawRect(cardLeft, cardTop, cardRight, cardTop + 1, 0x33FFFFFF);
|
||||
@@ -113,7 +140,7 @@ public class GuiSupportedServers extends GuiScreen {
|
||||
this.fontRendererObj.drawString(data.serverName, textX, nameY, 0xFFFFFF);
|
||||
this.fontRendererObj.drawString(data.serverIP, textX, ipY, 0xCCCCCC);
|
||||
|
||||
y += ROW_HEIGHT;
|
||||
y += rowHeight;
|
||||
}
|
||||
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
|
||||
@@ -23,7 +23,7 @@ public class Display {
|
||||
|
||||
private static long lastDPIUpdate = -250l;
|
||||
private static float cacheDPI = 1.0f;
|
||||
private static String title = "Minecraft 1.4.7";
|
||||
private static String title = "Minecraft 1.7.10";
|
||||
|
||||
public static int getWidth() {
|
||||
return PlatformInput.getWindowWidth();
|
||||
@@ -152,7 +152,7 @@ public class Display {
|
||||
}
|
||||
|
||||
public static String getTitle() {
|
||||
return title != null ? title : "Minecraft 1.4.7";
|
||||
return title != null ? title : "Minecraft 1.7.10";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1133,7 +1133,7 @@ public class Minecraft implements IPlayerUsage {
|
||||
* focus. Also clears any GUI screen currently displayed
|
||||
*/
|
||||
public void setIngameFocus() {
|
||||
if (Display.isActive()) {
|
||||
if (Display.isActive() && this.currentScreen == null) {
|
||||
if (!this.inGameHasFocus) {
|
||||
this.inGameHasFocus = true;
|
||||
this.mouseHelper.grabMouseCursor();
|
||||
@@ -2288,16 +2288,11 @@ public class Minecraft implements IPlayerUsage {
|
||||
if (!(this.currentScreen instanceof GuiControls)
|
||||
|| ((GuiControls) this.currentScreen).field_152177_g <= getSystemTime() - 20L) {
|
||||
if (Keyboard.getEventKeyState()) {
|
||||
if (var1 == this.gameSettings.field_152396_an.getKeyCode())
|
||||
if (var1 == this.gameSettings.field_152397_ao.getKeyCode()) {
|
||||
} else if (var1 == this.gameSettings.field_152398_ap.getKeyCode()) {
|
||||
} else if (var1 == this.gameSettings.field_152399_aq.getKeyCode()) {
|
||||
} else if (var1 == this.gameSettings.field_152395_am.getKeyCode()) {
|
||||
if (var1 == this.gameSettings.field_152395_am.getKeyCode()) {
|
||||
this.toggleFullscreen();
|
||||
} else if (var1 == this.gameSettings.keyBindScreenshot.getKeyCode()) {
|
||||
this.ingameGUI.getChatGUI().func_146227_a(ScreenShotHelper.saveScreenshot());
|
||||
}
|
||||
} else if (var1 == this.gameSettings.field_152399_aq.getKeyCode()) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import net.lax1dude.eaglercraft.EagRuntime;
|
||||
import net.minecraft.event.ClickEvent;
|
||||
import net.minecraft.event.HoverEvent;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -42,7 +43,7 @@ public class GuiChat extends GuiScreen implements GuiYesNoCallback {
|
||||
private boolean field_146414_r;
|
||||
private int field_146413_s;
|
||||
private List field_146412_t = new ArrayList();
|
||||
private URI field_146411_u;
|
||||
private String field_146411_u;
|
||||
protected GuiTextField field_146415_a;
|
||||
private String field_146409_v = "";
|
||||
private static final String __OBFID = "CL_00000682";
|
||||
@@ -164,29 +165,21 @@ public class GuiChat extends GuiScreen implements GuiYesNoCallback {
|
||||
if (isShiftKeyDown()) {
|
||||
this.field_146415_a.func_146191_b(var4.getUnformattedTextForChat());
|
||||
} else {
|
||||
URI var6;
|
||||
String var6;
|
||||
|
||||
if (var5.getAction() == ClickEvent.Action.OPEN_URL) {
|
||||
try {
|
||||
var6 = new URI(var5.getValue());
|
||||
|
||||
if (!field_152175_f.contains(var6.getScheme().toLowerCase())) {
|
||||
throw new URISyntaxException(var5.getValue(),
|
||||
"Unsupported protocol: " + var6.getScheme().toLowerCase());
|
||||
}
|
||||
|
||||
var6 = var5.getValue();
|
||||
if (this.mc.gameSettings.chatLinksPrompt) {
|
||||
this.field_146411_u = var6;
|
||||
this.mc.displayGuiScreen(new GuiConfirmOpenLink(this, var5.getValue(), 0, false));
|
||||
} else {
|
||||
this.func_146407_a(var6);
|
||||
}
|
||||
} catch (URISyntaxException var7) {
|
||||
} catch (Exception var7) {
|
||||
logger.error("Can\'t open url for " + var5, var7);
|
||||
}
|
||||
} else if (var5.getAction() == ClickEvent.Action.OPEN_FILE) {
|
||||
var6 = (new File(var5.getValue())).toURI();
|
||||
this.func_146407_a(var6);
|
||||
} else if (var5.getAction() == ClickEvent.Action.SUGGEST_COMMAND) {
|
||||
this.field_146415_a.setText(var5.getValue());
|
||||
} else if (var5.getAction() == ClickEvent.Action.RUN_COMMAND) {
|
||||
@@ -218,14 +211,8 @@ public class GuiChat extends GuiScreen implements GuiYesNoCallback {
|
||||
}
|
||||
}
|
||||
|
||||
private void func_146407_a(URI p_146407_1_) {
|
||||
try {
|
||||
Class var2 = Class.forName("java.awt.Desktop");
|
||||
Object var3 = var2.getMethod("getDesktop", new Class[0]).invoke((Object) null, new Object[0]);
|
||||
var2.getMethod("browse", new Class[] { URI.class }).invoke(var3, new Object[] { p_146407_1_ });
|
||||
} catch (Throwable var4) {
|
||||
logger.error("Couldn\'t open link", var4);
|
||||
}
|
||||
private void func_146407_a(String p_146407_1_) {
|
||||
EagRuntime.openLink(p_146407_1_);
|
||||
}
|
||||
|
||||
public void func_146404_p_() {
|
||||
|
||||
@@ -107,7 +107,7 @@ public class GuiIngameMenu extends GuiScreen implements GuiYesNoCallback {
|
||||
* Draws the screen and all the components in it.
|
||||
*/
|
||||
public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_) {
|
||||
this.drawDefaultBackground();
|
||||
Gui.drawRect(0, 0, this.width, this.height, 0x88000000);
|
||||
this.drawCenteredString(this.fontRendererObj, I18n.format("menu.game", new Object[0]), this.width / 2, 40,
|
||||
16777215);
|
||||
super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
|
||||
|
||||
@@ -285,8 +285,6 @@ public class GuiMainMenu extends GuiScreen implements GuiYesNoCallback {
|
||||
|
||||
this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12));
|
||||
|
||||
// FAQ button
|
||||
this.buttonList.add(new GuiButton(15, this.width / 2 - 100, i + 72 + 12 + 24, 200, 20, "FAQ"));
|
||||
|
||||
}
|
||||
|
||||
@@ -298,7 +296,6 @@ public class GuiMainMenu extends GuiScreen implements GuiYesNoCallback {
|
||||
GuiButton nig;
|
||||
this.buttonList.add(
|
||||
nig = new GuiButton(1, this.width / 2 - 100, parInt1, I18n.format("menu.singleplayer", new Object[0])));
|
||||
nig.enabled = false;
|
||||
this.buttonList.add(new GuiButton(2, this.width / 2 - 100, parInt1 + parInt2 * 1,
|
||||
I18n.format("menu.multiplayer", new Object[0])));
|
||||
if (EaglercraftVersion.mainMenuEnableGithubButton) {
|
||||
@@ -668,7 +665,6 @@ public class GuiMainMenu extends GuiScreen implements GuiYesNoCallback {
|
||||
int w = fontRendererObj.getStringWidth(lbl) * 3 / 4;
|
||||
|
||||
if (i >= (this.width - w - 4) && i <= this.width && j >= 0 && j <= 9) {
|
||||
Mouse.showCursor(EnumCursorType.HAND);
|
||||
drawRect((this.width - w - 4), 0, this.width, 10, 0x55000099);
|
||||
} else {
|
||||
drawRect((this.width - w - 4), 0, this.width, 10, 0x55200000);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package net.minecraft.client.gui;
|
||||
|
||||
import net.eymenwsmc.GuiFAQ;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.audio.SoundCategory;
|
||||
import net.minecraft.client.audio.SoundEventAccessorComposite;
|
||||
@@ -54,20 +55,7 @@ public class GuiOptions extends GuiScreen implements GuiYesNoCallback {
|
||||
}
|
||||
|
||||
this.buttonList.add(new GuiButton(8675309, this.width / 2 + 5, this.height / 6 + 72 - 6, 150, 20,
|
||||
"Super Secret Settings...") {
|
||||
private static final String __OBFID = "CL_00000701";
|
||||
|
||||
public void func_146113_a(SoundHandler p_146113_1_) {
|
||||
SoundEventAccessorComposite var2 = p_146113_1_
|
||||
.getRandomSoundFromCategories(new SoundCategory[] { SoundCategory.ANIMALS, SoundCategory.BLOCKS,
|
||||
SoundCategory.MOBS, SoundCategory.PLAYERS, SoundCategory.WEATHER });
|
||||
|
||||
if (var2 != null) {
|
||||
p_146113_1_.playSound(
|
||||
PositionedSoundRecord.createPositionedSoundRecord(var2.getSoundEventLocation(), 0.5F));
|
||||
}
|
||||
}
|
||||
});
|
||||
"FAQ"));
|
||||
this.buttonList.add(new GuiButton(106, this.width / 2 - 155, this.height / 6 + 72 - 6, 150, 20,
|
||||
I18n.format("options.sounds", new Object[0])));
|
||||
this.buttonList.add(new GuiButton(101, this.width / 2 - 155, this.height / 6 + 96 - 6, 150, 20,
|
||||
@@ -93,7 +81,7 @@ public class GuiOptions extends GuiScreen implements GuiYesNoCallback {
|
||||
}
|
||||
|
||||
if (p_146284_1_.id == 8675309) {
|
||||
this.mc.entityRenderer.activateNextShader();
|
||||
mc.displayGuiScreen(new GuiFAQ(this));
|
||||
}
|
||||
|
||||
if (p_146284_1_.id == 101) {
|
||||
|
||||
@@ -13,7 +13,7 @@ public class GuiVideoSettings extends GuiScreen {
|
||||
GameSettings.Options.GRAPHICS, GameSettings.Options.RENDER_DISTANCE, GameSettings.Options.AMBIENT_OCCLUSION,
|
||||
GameSettings.Options.FRAMERATE_LIMIT, GameSettings.Options.ANAGLYPH, GameSettings.Options.VIEW_BOBBING,
|
||||
GameSettings.Options.GUI_SCALE, GameSettings.Options.ADVANCED_OPENGL, GameSettings.Options.GAMMA,
|
||||
GameSettings.Options.RENDER_CLOUDS, GameSettings.Options.PARTICLES, GameSettings.Options.USE_FULLSCREEN,
|
||||
GameSettings.Options.RENDER_CLOUDS, GameSettings.Options.PARTICLES,
|
||||
GameSettings.Options.ENABLE_VSYNC, GameSettings.Options.MIPMAP_LEVELS };
|
||||
private static final String __OBFID = "CL_00000718";
|
||||
|
||||
|
||||
@@ -955,6 +955,7 @@ public class EntityRenderer implements IResourceManagerReloadListener {
|
||||
var6 = this.smoothCamFilterY * var8;
|
||||
this.mc.thePlayer.setAngles(var5, var6 * (float) var7);
|
||||
} else {
|
||||
if (mc.currentScreen == null)
|
||||
this.mc.thePlayer.setAngles(var5, var6 * (float) var7);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,14 +39,6 @@ public class GameSettings {
|
||||
"options.particles.minimal" };
|
||||
private static final String[] AMBIENT_OCCLUSIONS = new String[] { "options.ao.off", "options.ao.min",
|
||||
"options.ao.max" };
|
||||
private static final String[] field_152391_aS = new String[] { "options.stream.compression.low",
|
||||
"options.stream.compression.medium", "options.stream.compression.high" };
|
||||
private static final String[] field_152392_aT = new String[] { "options.stream.chat.enabled.streaming",
|
||||
"options.stream.chat.enabled.always", "options.stream.chat.enabled.never" };
|
||||
private static final String[] field_152393_aU = new String[] { "options.stream.chat.userFilter.all",
|
||||
"options.stream.chat.userFilter.subs", "options.stream.chat.userFilter.mods" };
|
||||
private static final String[] field_152394_aV = new String[] { "options.stream.mic_toggle.mute",
|
||||
"options.stream.mic_toggle.talk" };
|
||||
public float mouseSensitivity = 0.5F;
|
||||
public boolean invertMouse;
|
||||
public int renderDistanceChunks = -1;
|
||||
@@ -128,10 +120,6 @@ public class GameSettings {
|
||||
public KeyBinding keyBindTogglePerspective;
|
||||
public KeyBinding keyBindSmoothCamera;
|
||||
public KeyBinding field_152395_am;
|
||||
public KeyBinding field_152396_an;
|
||||
public KeyBinding field_152397_ao;
|
||||
public KeyBinding field_152398_ap;
|
||||
public KeyBinding field_152399_aq;
|
||||
public KeyBinding[] keyBindsHotbar;
|
||||
public KeyBinding[] keyBindings;
|
||||
protected Minecraft mc;
|
||||
@@ -223,10 +211,6 @@ public class GameSettings {
|
||||
this.keyBindTogglePerspective = new KeyBinding("key.togglePerspective", 63, "key.categories.misc");
|
||||
this.keyBindSmoothCamera = new KeyBinding("key.smoothCamera", 0, "key.categories.misc");
|
||||
this.field_152395_am = new KeyBinding("key.fullscreen", 87, "key.categories.misc");
|
||||
this.field_152396_an = new KeyBinding("key.streamStartStop", 64, "key.categories.stream");
|
||||
this.field_152397_ao = new KeyBinding("key.streamPauseUnpause", 65, "key.categories.stream");
|
||||
this.field_152398_ap = new KeyBinding("key.streamCommercial", 0, "key.categories.stream");
|
||||
this.field_152399_aq = new KeyBinding("key.streamToggleMic", 0, "key.categories.stream");
|
||||
this.keyBindsHotbar = new KeyBinding[] { new KeyBinding("key.hotbar.1", 2, "key.categories.inventory"),
|
||||
new KeyBinding("key.hotbar.2", 3, "key.categories.inventory"),
|
||||
new KeyBinding("key.hotbar.3", 4, "key.categories.inventory"),
|
||||
@@ -240,8 +224,7 @@ public class GameSettings {
|
||||
this.keyBindForward, this.keyBindLeft, this.keyBindBack, this.keyBindRight, this.keyBindJump,
|
||||
this.keyBindSneak, this.keyBindDrop, this.keyBindInventory, this.keyBindChat, this.keyBindPlayerList,
|
||||
this.keyBindPickBlock, this.keyBindCommand, this.keyBindScreenshot, this.keyBindTogglePerspective,
|
||||
this.keyBindSmoothCamera, this.keyBindSprint, this.field_152396_an, this.field_152397_ao,
|
||||
this.field_152398_ap, this.field_152399_aq, this.field_152395_am }, this.keyBindsHotbar);
|
||||
this.keyBindSmoothCamera, this.keyBindSprint, this.field_152395_am}, this.keyBindsHotbar);
|
||||
this.difficulty = EnumDifficulty.NORMAL;
|
||||
this.lastServer = "";
|
||||
this.noclipRate = 1.0F;
|
||||
@@ -305,10 +288,6 @@ public class GameSettings {
|
||||
this.keyBindTogglePerspective = new KeyBinding("key.togglePerspective", 63, "key.categories.misc");
|
||||
this.keyBindSmoothCamera = new KeyBinding("key.smoothCamera", 0, "key.categories.misc");
|
||||
this.field_152395_am = new KeyBinding("key.fullscreen", 87, "key.categories.misc");
|
||||
this.field_152396_an = new KeyBinding("key.streamStartStop", 64, "key.categories.stream");
|
||||
this.field_152397_ao = new KeyBinding("key.streamPauseUnpause", 65, "key.categories.stream");
|
||||
this.field_152398_ap = new KeyBinding("key.streamCommercial", 0, "key.categories.stream");
|
||||
this.field_152399_aq = new KeyBinding("key.streamToggleMic", 0, "key.categories.stream");
|
||||
this.keyBindsHotbar = new KeyBinding[] { new KeyBinding("key.hotbar.1", 2, "key.categories.inventory"),
|
||||
new KeyBinding("key.hotbar.2", 3, "key.categories.inventory"),
|
||||
new KeyBinding("key.hotbar.3", 4, "key.categories.inventory"),
|
||||
@@ -322,8 +301,7 @@ public class GameSettings {
|
||||
this.keyBindForward, this.keyBindLeft, this.keyBindBack, this.keyBindRight, this.keyBindJump,
|
||||
this.keyBindSneak, this.keyBindDrop, this.keyBindInventory, this.keyBindChat, this.keyBindPlayerList,
|
||||
this.keyBindPickBlock, this.keyBindCommand, this.keyBindScreenshot, this.keyBindTogglePerspective,
|
||||
this.keyBindSmoothCamera, this.keyBindSprint, this.field_152396_an, this.field_152397_ao,
|
||||
this.field_152398_ap, this.field_152399_aq, this.field_152395_am }, this.keyBindsHotbar);
|
||||
this.keyBindSmoothCamera, this.keyBindSprint, this.field_152395_am }, this.keyBindsHotbar);
|
||||
this.difficulty = EnumDifficulty.NORMAL;
|
||||
this.lastServer = "";
|
||||
this.noclipRate = 1.0F;
|
||||
@@ -749,14 +727,6 @@ public class GameSettings {
|
||||
return var2 + getTranslation(PARTICLES, this.particleSetting);
|
||||
} else if (p_74297_1_ == GameSettings.Options.AMBIENT_OCCLUSION) {
|
||||
return var2 + getTranslation(AMBIENT_OCCLUSIONS, this.ambientOcclusion);
|
||||
} else if (p_74297_1_ == GameSettings.Options.STREAM_COMPRESSION) {
|
||||
return var2 + getTranslation(field_152391_aS, this.field_152405_O);
|
||||
} else if (p_74297_1_ == GameSettings.Options.STREAM_CHAT_ENABLED) {
|
||||
return var2 + getTranslation(field_152392_aT, this.field_152408_R);
|
||||
} else if (p_74297_1_ == GameSettings.Options.STREAM_CHAT_USER_FILTER) {
|
||||
return var2 + getTranslation(field_152393_aU, this.field_152409_S);
|
||||
} else if (p_74297_1_ == GameSettings.Options.STREAM_MIC_TOGGLE_BEHAVIOR) {
|
||||
return var2 + getTranslation(field_152394_aV, this.field_152410_T);
|
||||
} else if (p_74297_1_ == GameSettings.Options.GRAPHICS) {
|
||||
if (this.fancyGraphics) {
|
||||
return var2 + I18n.format("options.graphics.fancy", new Object[0]);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package net.minecraft.entity;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public interface EntityConstructor<T> {
|
||||
|
||||
T createEntity(World world);
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.entity.boss.EntityDragon;
|
||||
import net.minecraft.entity.boss.EntityWither;
|
||||
import net.minecraft.entity.item.EntityBoat;
|
||||
@@ -59,6 +60,8 @@ import net.minecraft.stats.StatBase;
|
||||
import net.minecraft.stats.StatList;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import static net.lax1dude.eaglercraft.sp.relay.RelayManager.logger;
|
||||
|
||||
public class EntityList {
|
||||
/** Provides a mapping between entity classes and a string */
|
||||
private static Map stringToClassMapping = new HashMap();
|
||||
@@ -78,6 +81,9 @@ public class EntityList {
|
||||
/** This is a HashMap of the Creative Entity Eggs/Spawners. */
|
||||
public static HashMap entityEggs = new LinkedHashMap();
|
||||
|
||||
private static final Map<Class<? extends Entity>, EntityConstructor<? extends Entity>> classToConstructorMapping = Maps
|
||||
.newHashMap();
|
||||
|
||||
/**
|
||||
* adds a mapping between Entity classes and both a string representation and an
|
||||
* ID
|
||||
@@ -108,6 +114,22 @@ public class EntityList {
|
||||
return id != null ? createEntityByID(id.intValue(), par1World) : null;
|
||||
}
|
||||
|
||||
|
||||
public static Entity createEntityByClass(Class<? extends Entity> entityClass, World worldIn) {
|
||||
Entity entity = null;
|
||||
|
||||
try {
|
||||
EntityConstructor<? extends Entity> constructor = classToConstructorMapping.get(entityClass);
|
||||
if (constructor != null) {
|
||||
entity = constructor.createEntity(worldIn);
|
||||
}
|
||||
} catch (Exception exception) {
|
||||
logger.error("Could not create entity", exception);
|
||||
}
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
/**
|
||||
* create a new instance of an entity from NBT store
|
||||
*/
|
||||
|
||||
@@ -3,6 +3,8 @@ package net.minecraft.server.management;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.lax1dude.eaglercraft.Random;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.server.S21PacketChunkData;
|
||||
@@ -52,10 +54,158 @@ public class PlayerManager {
|
||||
/** x, z direction vectors: east, south, west, north */
|
||||
private final int[][] xzDirectionsConst = new int[][] { { 1, 0 }, { 0, 1 }, { -1, 0 }, { 0, -1 } };
|
||||
private static final String __OBFID = "CL_00001434";
|
||||
|
||||
// Recursion guard - infinite recursion'ı önlemek için
|
||||
private static final java.util.Set<String> populatingChunks = new java.util.HashSet<String>();
|
||||
|
||||
public PlayerManager(WorldServer p_i1176_1_) {
|
||||
this.theWorldServer = p_i1176_1_;
|
||||
this.func_152622_a(p_i1176_1_.func_73046_m().getConfigurationManager().getViewDistance());
|
||||
|
||||
}
|
||||
|
||||
// SINGLEPLAYER FIX: Constructor'da chunk population yapmayalım - dosya sistemi henüz hazır değil
|
||||
// Population sadece chunk yüklenirken yapılacak
|
||||
|
||||
/**
|
||||
* Manuel ağaç generation - biome decoration çalışmıyorsa direkt ağaç ekler
|
||||
*/
|
||||
private void generateTreesManually(net.minecraft.world.chunk.Chunk chunk, int chunkX, int chunkZ) {
|
||||
try {
|
||||
net.minecraft.world.WorldServer world = this.theWorldServer;
|
||||
Random random = new Random(world.getSeed() + chunkX * 341873128712L + chunkZ * 132897987541L);
|
||||
|
||||
int baseX = chunkX * 16;
|
||||
int baseZ = chunkZ * 16;
|
||||
|
||||
// Biome'u al
|
||||
net.minecraft.world.biome.BiomeGenBase biome = world.getBiomeGenForCoords(baseX + 8, baseZ + 8);
|
||||
|
||||
// Ağaç generation sayısını biome'a göre ayarla
|
||||
int treeCount = 0;
|
||||
if (biome == net.minecraft.world.biome.BiomeGenBase.forest ||
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.forestHills) {
|
||||
treeCount = 10 + random.nextInt(5); // 10-14 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.field_150583_P || // Birch Forest
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.field_150582_Q) { // Birch Forest Hills
|
||||
treeCount = 8 + random.nextInt(4); // 8-11 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.field_150585_R) { // Roofed Forest
|
||||
treeCount = 15 + random.nextInt(5); // 15-19 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.plains) {
|
||||
treeCount = 1 + random.nextInt(2); // 1-2 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.field_150588_X || // Savanna
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.field_150587_Y) { // Savanna Plateau
|
||||
treeCount = 2 + random.nextInt(3); // 2-4 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.jungle ||
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.jungleHills) {
|
||||
treeCount = 12 + random.nextInt(6); // 12-17 ağaç
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.taiga ||
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.taigaHills) {
|
||||
treeCount = 6 + random.nextInt(4); // 6-9 ağaç
|
||||
}
|
||||
|
||||
field_152627_a.info("Manually generating {} trees for chunk ({}, {}) in biome {}",
|
||||
treeCount, chunkX, chunkZ, biome.biomeName);
|
||||
|
||||
// Ağaçları yerleştir
|
||||
for (int i = 0; i < treeCount; i++) {
|
||||
int x = baseX + random.nextInt(16);
|
||||
int z = baseZ + random.nextInt(16);
|
||||
int y = world.getHeightValue(x, z);
|
||||
|
||||
// Uygun yer kontrolü
|
||||
if (y > 60 && y < 120) {
|
||||
net.minecraft.block.Block groundBlock = world.getBlock(x, y - 1, z);
|
||||
if (groundBlock == net.minecraft.init.Blocks.grass ||
|
||||
groundBlock == net.minecraft.init.Blocks.dirt) {
|
||||
|
||||
// Ağaç türünü biome'a göre seç
|
||||
net.minecraft.world.gen.feature.WorldGenerator treeGen;
|
||||
if (biome == net.minecraft.world.biome.BiomeGenBase.field_150583_P || // Birch Forest
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.field_150582_Q) { // Birch Forest Hills
|
||||
// Birch tree - metadata 2 for birch log
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenTrees(false, 5, 2, 2, false);
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.field_150585_R) { // Roofed Forest
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenCanopyTree(false);
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.jungle ||
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.jungleHills) {
|
||||
// Jungle tree - metadata 3 for jungle log
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenTrees(false, 4, 3, 3, true);
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.field_150588_X || // Savanna
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.field_150587_Y) { // Savanna Plateau
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenSavannaTree(false);
|
||||
} else if (biome == net.minecraft.world.biome.BiomeGenBase.taiga ||
|
||||
biome == net.minecraft.world.biome.BiomeGenBase.taigaHills) {
|
||||
// Spruce tree - metadata 1 for spruce log
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenTrees(false, 6, 1, 1, false);
|
||||
} else {
|
||||
// Normal oak tree
|
||||
treeGen = new net.minecraft.world.gen.feature.WorldGenTrees(false);
|
||||
}
|
||||
|
||||
// Ağacı yerleştir
|
||||
if (treeGen.generate(world, random, x, y, z)) {
|
||||
// Başarılı generation log'u
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
field_152627_a.warn("Manual tree generation failed for chunk ({}, {}): {}",
|
||||
chunkX, chunkZ, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Chunk'ın decoration'a ihtiyacı olup olmadığını kontrol eder
|
||||
*/
|
||||
private static boolean isChunkEmpty(net.minecraft.world.chunk.Chunk chunk) {
|
||||
// Ağaç ve decoration eksikliğini tespit etmek için daha hassas heuristic
|
||||
try {
|
||||
int treeBlocks = 0;
|
||||
int decorationBlocks = 0;
|
||||
int totalSurfaceBlocks = 0;
|
||||
|
||||
// Daha yoğun sampling - ağaçları kaçırmamak için
|
||||
for (int x = 0; x < 16; x += 2) {
|
||||
for (int z = 0; z < 16; z += 2) {
|
||||
// Yüzey seviyesini bul
|
||||
for (int y = 80; y >= 60; y--) {
|
||||
net.minecraft.block.Block block = chunk.func_150810_a(x, y, z);
|
||||
if (block != net.minecraft.init.Blocks.air) {
|
||||
totalSurfaceBlocks++;
|
||||
|
||||
// Ağaç blokları (log, leaves)
|
||||
if (block == net.minecraft.init.Blocks.log ||
|
||||
block == net.minecraft.init.Blocks.log2 ||
|
||||
block == net.minecraft.init.Blocks.leaves ||
|
||||
block == net.minecraft.init.Blocks.leaves2) {
|
||||
treeBlocks++;
|
||||
}
|
||||
|
||||
// Diğer decoration blokları
|
||||
if (block != net.minecraft.init.Blocks.stone &&
|
||||
block != net.minecraft.init.Blocks.dirt &&
|
||||
block != net.minecraft.init.Blocks.grass &&
|
||||
block != net.minecraft.init.Blocks.gravel &&
|
||||
block != net.minecraft.init.Blocks.sand &&
|
||||
block != net.minecraft.init.Blocks.sandstone) {
|
||||
decorationBlocks++;
|
||||
}
|
||||
break; // Yüzeyi bulduk, bir sonraki x,z'ye geç
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Ağaç yok veya çok az decoration varsa chunk boş sayılır
|
||||
boolean noTrees = treeBlocks == 0;
|
||||
boolean lowDecoration = totalSurfaceBlocks > 0 && (decorationBlocks * 100 / totalSurfaceBlocks) < 15;
|
||||
|
||||
return noTrees || lowDecoration;
|
||||
} catch (Exception e) {
|
||||
return true; // Hata durumunda decoration gerekli kabul et
|
||||
}
|
||||
}
|
||||
|
||||
public WorldServer getWorldServer() {
|
||||
@@ -194,6 +344,33 @@ public class PlayerManager {
|
||||
while (itRem.hasNext() && chunks.size() < S26PacketMapChunkBulk.func_149258_c()) {
|
||||
ChunkCoordIntPair cc = (ChunkCoordIntPair) itRem.next();
|
||||
Chunk ch = this.theWorldServer.getChunkFromChunkCoords(cc.chunkXPos, cc.chunkZPos);
|
||||
|
||||
// Singleplayer'da chunk population sorununu çöz - remaining chunk'lar için - GÜVENLİ YAKLAŞIM
|
||||
String chunkKey = cc.chunkXPos + "," + cc.chunkZPos;
|
||||
if (!populatingChunks.contains(chunkKey)) {
|
||||
// Chunk'ın decoration durumunu kontrol et
|
||||
boolean needsDecoration = !ch.isTerrainPopulated || isChunkEmpty(ch);
|
||||
|
||||
if (needsDecoration) {
|
||||
populatingChunks.add(chunkKey);
|
||||
try {
|
||||
PlayerManager.field_152627_a.info("SAFE remaining chunk population for ({}, {}) - populated: {}, empty: {}",
|
||||
cc.chunkXPos, cc.chunkZPos, ch.isTerrainPopulated, isChunkEmpty(ch));
|
||||
|
||||
// SADECE MANUEL AĞAÇ GENERATION YAP - normal population neighboring chunk'lara ihtiyaç duyuyor
|
||||
// ve bunlar henüz dosya sisteminde olmayabilir
|
||||
generateTreesManually(ch, cc.chunkXPos, cc.chunkZPos);
|
||||
|
||||
ch.setChunkModified();
|
||||
} catch (Exception e) {
|
||||
PlayerManager.field_152627_a.warn("Safe remaining chunk population failed for chunk ({}, {}): {}",
|
||||
cc.chunkXPos, cc.chunkZPos, e.getMessage());
|
||||
} finally {
|
||||
populatingChunks.remove(chunkKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
chunks.add(ch);
|
||||
tileEntities.addAll(this.theWorldServer.func_147486_a(cc.chunkXPos * 16, 0, cc.chunkZPos * 16,
|
||||
cc.chunkXPos * 16 + 16, 256, cc.chunkZPos * 16 + 16));
|
||||
@@ -405,6 +582,35 @@ public class PlayerManager {
|
||||
public PlayerInstance(int p_i1518_2_, int p_i1518_3_) {
|
||||
this.chunkLocation = new ChunkCoordIntPair(p_i1518_2_, p_i1518_3_);
|
||||
PlayerManager.this.getWorldServer().theChunkProviderServer.loadChunk(p_i1518_2_, p_i1518_3_);
|
||||
|
||||
// Singleplayer'da chunk population sorununu çöz - GÜVENLİ YAKLAŞIM
|
||||
String chunkKey = p_i1518_2_ + "," + p_i1518_3_;
|
||||
if (!populatingChunks.contains(chunkKey)) {
|
||||
populatingChunks.add(chunkKey);
|
||||
try {
|
||||
Chunk ch = PlayerManager.this.theWorldServer.getChunkFromChunkCoords(p_i1518_2_, p_i1518_3_);
|
||||
if (ch != null) {
|
||||
// Chunk'ın decoration durumunu kontrol et - basit bir heuristic
|
||||
boolean needsDecoration = !ch.isTerrainPopulated || isChunkEmpty(ch);
|
||||
|
||||
if (needsDecoration) {
|
||||
PlayerManager.field_152627_a.info("SAFE chunk population for ({}, {}) - populated: {}, empty: {}",
|
||||
p_i1518_2_, p_i1518_3_, ch.isTerrainPopulated, isChunkEmpty(ch));
|
||||
|
||||
// SADECE MANUEL AĞAÇ GENERATION YAP - normal population neighboring chunk'lara ihtiyaç duyuyor
|
||||
// ve bunlar henüz dosya sisteminde olmayabilir
|
||||
generateTreesManually(ch, p_i1518_2_, p_i1518_3_);
|
||||
|
||||
ch.setChunkModified();
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
PlayerManager.field_152627_a.warn("Safe chunk population failed for chunk ({}, {}): {}",
|
||||
p_i1518_2_, p_i1518_3_, e.getMessage());
|
||||
} finally {
|
||||
populatingChunks.remove(chunkKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addPlayer(EntityPlayerMP p_73255_1_) {
|
||||
|
||||
@@ -3,9 +3,12 @@ package net.minecraft.world;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.lax1dude.eaglercraft.EagRuntime;
|
||||
import net.lax1dude.eaglercraft.Random;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityList;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.entity.IEntityLivingData;
|
||||
@@ -146,6 +149,11 @@ public final class SpawnerAnimals {
|
||||
return var5;
|
||||
}
|
||||
|
||||
// Null check for entity creation
|
||||
if (var41 == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var41.setLocationAndAngles((double) var26, (double) var27,
|
||||
(double) var28,
|
||||
p_77192_1_.rand.nextFloat() * 360.0F, 0.0F);
|
||||
@@ -236,10 +244,15 @@ public final class SpawnerAnimals {
|
||||
EntityLiving var22;
|
||||
|
||||
try {
|
||||
var22 = (EntityLiving) var8.entityClass.getConstructor(new Class[] { World.class })
|
||||
.newInstance(new Object[] { p_77191_0_ });
|
||||
} catch (Exception var24) {
|
||||
var24.printStackTrace();
|
||||
var22 = (EntityLiving) EntityList
|
||||
.createEntityByClass(var8.entityClass, p_77191_0_);
|
||||
} catch (Exception exception) {
|
||||
EagRuntime.debugPrintStackTrace(exception);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Null check for entity creation
|
||||
if (var22 == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -129,6 +129,8 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
this.loadedChunkHashMap.add(var3, var5);
|
||||
this.loadedChunks.add(var5);
|
||||
var5.onChunkLoad();
|
||||
|
||||
// Singleplayer chunk population fix - GÜVENLİ YAKLAŞIM
|
||||
var5.populateChunk(this, this, p_73158_1_, p_73158_2_);
|
||||
}
|
||||
|
||||
|
||||
@@ -604,8 +604,8 @@ public class PlatformAudio {
|
||||
}
|
||||
|
||||
public static void setListener(float x, float y, float z, float pitchDegrees, float yawDegrees) {
|
||||
float var2 = MathHelper.cos(-yawDegrees * 0.017453292F);
|
||||
float var3 = MathHelper.sin(-yawDegrees * 0.017453292F);
|
||||
float var2 = MathHelper.cos((-yawDegrees) * 0.017453292F);
|
||||
float var3 = MathHelper.sin((-yawDegrees) * 0.017453292F);
|
||||
float var4 = -MathHelper.cos(pitchDegrees * 0.017453292F);
|
||||
float var5 = MathHelper.sin(pitchDegrees * 0.017453292F);
|
||||
AudioListener l = audioctx.getListener();
|
||||
|
||||
@@ -134,9 +134,21 @@ public class PlatformRuntime {
|
||||
}
|
||||
|
||||
public static void create() {
|
||||
win = Window.current();
|
||||
doc = win.getDocument();
|
||||
PlatformApplication.setMCServerWindowGlobal(null);
|
||||
try {
|
||||
win = Window.current();
|
||||
doc = win.getDocument();
|
||||
PlatformApplication.setMCServerWindowGlobal(null);
|
||||
} catch (Exception e) {
|
||||
// Worker context'inde Window ve Document yok
|
||||
logger.info("Running in worker context, skipping DOM initialization");
|
||||
win = null;
|
||||
doc = null;
|
||||
try {
|
||||
PlatformApplication.setMCServerWindowGlobal(null);
|
||||
} catch (Exception e2) {
|
||||
logger.info("Cannot set window global in worker context, skipping");
|
||||
}
|
||||
}
|
||||
|
||||
ES6ShimStatus shimStatus = ES6ShimStatus.getRuntimeStatus();
|
||||
if(shimStatus != null) {
|
||||
@@ -165,6 +177,12 @@ public class PlatformRuntime {
|
||||
|
||||
TeaVMBlobURLManager.initialize();
|
||||
|
||||
// Worker context'inde DOM operasyonlarını atla
|
||||
if (doc == null) {
|
||||
logger.info("Running in worker context, skipping canvas and DOM setup");
|
||||
return;
|
||||
}
|
||||
|
||||
logger.info("Creating main game canvas");
|
||||
|
||||
root = doc.getElementById(ClientMain.configRootElementId);
|
||||
|
||||
@@ -76,10 +76,10 @@ public class ClientMain {
|
||||
JSObject opts = getEaglerXOpts();
|
||||
|
||||
if(opts == null) {
|
||||
systemErr.println("ClientMain: [ERROR] the \"window.eaglercraftXOpts\" variable is undefined");
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx cannot start");
|
||||
Window.alert("ERROR: game cannot start, the \"window.eaglercraftXOpts\" variable is undefined");
|
||||
return;
|
||||
systemErr.println("ClientMain: [WARN] the \"window.eaglercraftXOpts\" variable is undefined");
|
||||
systemErr.println("ClientMain: [WARN] using default configuration for worker context");
|
||||
// Worker context'inde default config kullan
|
||||
opts = createDefaultConfig();
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -91,11 +91,18 @@ public class ClientMain {
|
||||
if(configRootElementId == null) {
|
||||
throw new JSONException("window.eaglercraftXOpts.container is undefined!");
|
||||
}
|
||||
configRootElement = Window.current().getDocument().getElementById(configRootElementId);
|
||||
|
||||
HTMLElement oldContent;
|
||||
while((oldContent = configRootElement.querySelector("._eaglercraftX_wrapper_element")) != null) {
|
||||
oldContent.delete();
|
||||
// Worker context'inde DOM erişimi yok, sadece main thread'de çalış
|
||||
try {
|
||||
configRootElement = Window.current().getDocument().getElementById(configRootElementId);
|
||||
|
||||
HTMLElement oldContent;
|
||||
while((oldContent = configRootElement.querySelector("._eaglercraftX_wrapper_element")) != null) {
|
||||
oldContent.delete();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
systemOut.println("ClientMain: [INFO] Running in worker context, skipping DOM operations");
|
||||
configRootElement = null;
|
||||
}
|
||||
|
||||
String epkSingleURL = eaglercraftOpts.getAssetsURI();
|
||||
@@ -125,7 +132,7 @@ public class ClientMain {
|
||||
systemErr.println("ClientMain: [ERROR] the \"window.eaglercraftXOpts\" variable is invalid");
|
||||
EagRuntime.debugPrintStackTraceToSTDERR(t);
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx cannot start");
|
||||
Window.alert("ERROR: game cannot start, the \"window.eaglercraftXOpts\" variable is invalid: " + t.toString());
|
||||
// Window.alert("ERROR: game cannot start, the \"window.eaglercraftXOpts\" variable is invalid: " + t.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -180,29 +187,33 @@ public class ClientMain {
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
EagRuntime.create();
|
||||
}catch(ContextLostError ex) {
|
||||
systemErr.println("ClientMain: [ERROR] webgl context lost during initialization!");
|
||||
if (isWorkerContext()) {
|
||||
systemOut.println("ClientMain: [INFO] Running in worker context, skipping EagRuntime.create()");
|
||||
} else {
|
||||
try {
|
||||
showContextLostScreen(EagRuntime.getStackTrace(ex));
|
||||
EagRuntime.create();
|
||||
}catch(ContextLostError ex) {
|
||||
systemErr.println("ClientMain: [ERROR] webgl context lost during initialization!");
|
||||
try {
|
||||
showContextLostScreen(EagRuntime.getStackTrace(ex));
|
||||
}catch(Throwable t) {
|
||||
}
|
||||
return;
|
||||
}catch(PlatformIncompatibleException ex) {
|
||||
systemErr.println("ClientMain: [ERROR] this browser is incompatible with eaglercraftx!");
|
||||
systemErr.println("ClientMain: [ERROR] Reason: " + ex.getMessage());
|
||||
try {
|
||||
showIncompatibleScreen(ex.getMessage());
|
||||
}catch(Throwable t) {
|
||||
}
|
||||
return;
|
||||
}catch(Throwable t) {
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx's runtime could not be initialized!");
|
||||
EagRuntime.debugPrintStackTraceToSTDERR(t);
|
||||
showCrashScreen("EaglercraftX's runtime could not be initialized!", t);
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx cannot start");
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}catch(PlatformIncompatibleException ex) {
|
||||
systemErr.println("ClientMain: [ERROR] this browser is incompatible with eaglercraftx!");
|
||||
systemErr.println("ClientMain: [ERROR] Reason: " + ex.getMessage());
|
||||
try {
|
||||
showIncompatibleScreen(ex.getMessage());
|
||||
}catch(Throwable t) {
|
||||
}
|
||||
return;
|
||||
}catch(Throwable t) {
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx's runtime could not be initialized!");
|
||||
EagRuntime.debugPrintStackTraceToSTDERR(t);
|
||||
showCrashScreen("EaglercraftX's runtime could not be initialized!", t);
|
||||
systemErr.println("ClientMain: [ERROR] eaglercraftx cannot start");
|
||||
return;
|
||||
}
|
||||
|
||||
systemOut.println("ClientMain: [INFO] launching eaglercraftx main thread");
|
||||
@@ -226,11 +237,29 @@ public class ClientMain {
|
||||
}
|
||||
}
|
||||
|
||||
@JSBody(params = {}, script = "if(typeof eaglercraftXOpts === \"undefined\") {return null;}"
|
||||
+ "else if(typeof eaglercraftXOpts === \"string\") {return JSON.parse(eaglercraftXOpts);}"
|
||||
+ "else {return eaglercraftXOpts;}")
|
||||
@JSBody(params = {}, script = "try {"
|
||||
+ "if(typeof window !== \"undefined\" && typeof window.eaglercraftXOpts !== \"undefined\") {"
|
||||
+ "if(typeof window.eaglercraftXOpts === \"string\") {return JSON.parse(window.eaglercraftXOpts);}"
|
||||
+ "else {return window.eaglercraftXOpts;}"
|
||||
+ "} else if(typeof eaglercraftXOpts !== \"undefined\") {"
|
||||
+ "if(typeof eaglercraftXOpts === \"string\") {return JSON.parse(eaglercraftXOpts);}"
|
||||
+ "else {return eaglercraftXOpts;}"
|
||||
+ "} else {return null;}"
|
||||
+ "} catch(e) {return null;}")
|
||||
private static native JSObject getEaglerXOpts();
|
||||
|
||||
@JSBody(params = {}, script = "return {"
|
||||
+ "container: \"game_frame\","
|
||||
+ "worldsDB: \"worlds\","
|
||||
+ "assetsURI: \"assets.epk\","
|
||||
+ "crashOnUncaughtExceptions: false,"
|
||||
+ "deobfStackTraces: true"
|
||||
+ "};")
|
||||
private static native JSObject createDefaultConfig();
|
||||
|
||||
@JSBody(params = {}, script = "return (typeof window === \"undefined\" || typeof document === \"undefined\");")
|
||||
private static native boolean isWorkerContext();
|
||||
|
||||
public static class EPKFileEntry {
|
||||
|
||||
public final String url;
|
||||
@@ -299,8 +328,8 @@ public class ClientMain {
|
||||
}
|
||||
|
||||
StringBuilder str = new StringBuilder();
|
||||
str.append("eaglercraft.version = \"").append("Release 1.4.7").append("\"\n");
|
||||
str.append("eaglercraft.minecraft = \"0.30\"\n");
|
||||
str.append("eaglercraft.version = \"").append("Release 1.7.10").append("\"\n");
|
||||
str.append("eaglercraft.minecraft = \"1.7.10\"\n");
|
||||
str.append("eaglercraft.brand = \"" + "eaglercraft" + "\"\n");
|
||||
str.append('\n');
|
||||
str.append(addWebGLToCrash());
|
||||
@@ -375,7 +404,6 @@ public class ClientMain {
|
||||
}
|
||||
|
||||
if(el == null) {
|
||||
Window.alert("Root element not found, crash report was printed to console");
|
||||
systemErr.println(strFinal);
|
||||
return;
|
||||
}
|
||||
@@ -544,7 +572,7 @@ public class ClientMain {
|
||||
}
|
||||
|
||||
if(el == null) {
|
||||
Window.alert("Compatibility error: " + t);
|
||||
// Window.alert("Compatibility error: " + t);
|
||||
System.err.println("Compatibility error: " + t);
|
||||
return;
|
||||
}
|
||||
@@ -718,7 +746,6 @@ public class ClientMain {
|
||||
}
|
||||
|
||||
if(el == null) {
|
||||
Window.alert("WebGL context lost!");
|
||||
System.err.println("WebGL context lost: " + t);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ import net.lax1dude.eaglercraft.internal.vfs2.VFSIterator2;
|
||||
public class IndexedDBFilesystem implements IEaglerFilesystem {
|
||||
|
||||
public static IEaglerFilesystem createFilesystem(String dbName) {
|
||||
String filesystemDB = "net_eymenwsmc_release_1_4_7_" + dbName;
|
||||
String filesystemDB = "net_eymenwsmc_release_1_7_10_" + dbName;
|
||||
System.out.println(filesystemDB);
|
||||
DatabaseOpen dbOpen = AsyncHandlers.openDB(filesystemDB);
|
||||
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ public class WASMGCCrashReportStrings {
|
||||
public static void setCrashReportStrings() {
|
||||
//setCrashReportString(CRASH_REPORT_EAGLER_VERSION, JSString.valueOf(EaglercraftVersion.projectForkVersion));
|
||||
//setCrashReportString(CRASH_REPORT_EAGLER_VENDOR, JSString.valueOf(EaglercraftVersion.projectForkVendor));
|
||||
setCrashReportString(CRASH_REPORT_MINECRAFT_VERSION, JSString.valueOf("1.4.7"));
|
||||
setCrashReportString(CRASH_REPORT_MINECRAFT_VERSION, JSString.valueOf("1.7.10"));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user