Skip to content

Commit 369de54

Browse files
committed
Update Source Code for less errors during compilation
1 parent 6276a0e commit 369de54

23,149 files changed

Lines changed: 819380 additions & 526977 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

100755100644
File mode changed.

.gitignore

100755100644
File mode changed.

CompileEPK.bat

100755100644
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@echo off
2-
title epkcompiler
3-
echo compiling, please wait...
4-
java -jar "desktopRuntime/CompileEPK.jar" "desktopRuntime/resources" "javascript/assets.epk"
5-
echo finished compiling epk
1+
@echo off
2+
title epkcompiler
3+
echo compiling, please wait...
4+
java -jar "desktopRuntime/CompileEPK.jar" "desktopRuntime/resources" "javascript/assets.epk"
5+
echo finished compiling epk
66
pause

CompileJS.bat

100755100644
File mode changed.

CompileJS.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/sh
22
chmod +x gradlew
3-
./gradlew generateJavascript
3+
./gradlew --rerun-tasks -- generateJavascript

EAGLERCRAFTX_README.md

100755100644
File mode changed.

MakeOfflineDownload.bat

100755100644
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@echo off
2-
title MakeOfflineDownload
3-
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/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"
1+
@echo off
2+
title MakeOfflineDownload
3+
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/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"
44
pause

MakeSignedClient.bat

100755100644
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@echo off
2-
title MakeSignedClient
3-
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeSignedClient "javascript/SignedBundleTemplate.txt" "javascript/classes.js" "javascript/assets.epk" "javascript/lang" "javascript/SignedClientTemplate.txt" "javascript/UpdateDownloadSources.txt" "javascript/EaglercraftX_1.8_Offline_Signed_Client.html"
1+
@echo off
2+
title MakeSignedClient
3+
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeSignedClient "javascript/SignedBundleTemplate.txt" "javascript/classes.js" "javascript/assets.epk" "javascript/lang" "javascript/SignedClientTemplate.txt" "javascript/UpdateDownloadSources.txt" "javascript/EaglercraftX_1.8_Offline_Signed_Client.html"
44
pause

README.md

100755100644
File mode changed.

build.gradle

100755100644
Lines changed: 183 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,184 @@
1-
import org.teavm.gradle.api.OptimizationLevel
2-
3-
buildscript {
4-
dependencies {
5-
classpath files("src/teavmc-classpath/resources")
6-
}
7-
}
8-
9-
plugins {
10-
id "java"
11-
id "eclipse"
12-
id "org.teavm" version "0.9.2"
13-
}
14-
15-
sourceSets {
16-
main {
17-
java {
18-
srcDirs(
19-
"src/main/java",
20-
"src/game/java",
21-
"src/protocol-game/java",
22-
"src/protocol-relay/java",
23-
"src/teavm/java",
24-
"src/teavm-boot-menu/java"
25-
)
26-
}
27-
}
28-
29-
}
30-
31-
repositories {
32-
mavenCentral()
33-
}
34-
35-
dependencies {
36-
teavm(teavm.libs.jso)
37-
teavm(teavm.libs.jsoApis)
38-
compileOnly "org.teavm:teavm-core:0.9.2" // workaround for a few hacks
39-
}
40-
41-
def folder = "javascript"
42-
def name = "classes.js"
43-
44-
teavm.js {
45-
compileJava.options.encoding = "UTF-8"
46-
obfuscated = true
47-
sourceMap = true
48-
targetFileName = "../" + name
49-
optimization = OptimizationLevel.BALANCED // Change to "AGGRESSIVE" for release
50-
outOfProcess = false
51-
fastGlobalAnalysis = false
52-
processMemory = 512
53-
entryPointName = "main"
54-
mainClass = "net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass"
55-
outputDir = file(folder)
56-
properties = [ "java.util.TimeZone.autodetect": "true" ]
57-
debugInformation = false
58-
}
59-
60-
tasks.named("generateJavaScript") {
61-
doLast {
62-
63-
// NOTE: This step may break at any time, and is not required for 99% of browsers
64-
65-
def phile = file(folder + "/" + name)
66-
def dest = phile.getText("UTF-8")
67-
def i = dest.substring(0, dest.indexOf("=\$rt_globals.Symbol('jsoClass');")).lastIndexOf("let ")
68-
dest = dest.substring(0, i) + "var" + dest.substring(i + 3)
69-
def j = dest.indexOf("function(\$rt_globals,\$rt_exports){")
70-
dest = dest.substring(0, j + 34) + "\n" + file(folder + "/ES6ShimScript.txt").getText("UTF-8") + "\n" + dest.substring(j + 34)
71-
phile.write(dest, "UTF-8")
72-
}
1+
import org.teavm.gradle.api.OptimizationLevel
2+
3+
buildscript {
4+
repositories {
5+
mavenLocal()
6+
maven { url = 'https://maven.minecraftforge.net' }
7+
mavenCentral()
8+
gradlePluginPortal()
9+
}
10+
dependencies {
11+
classpath files("src/teavmc-classpath/resources")
12+
classpath 'net.minecraftforge.gradle:ForgeGradle:6+'
13+
classpath "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:1.1.3"
14+
}
15+
}
16+
17+
import net.minecraftforge.gradle.common.util.Utils
18+
import net.minecraftforge.gradle.common.util.VersionJson
19+
20+
plugins {
21+
id "java"
22+
id "eclipse"
23+
id "org.teavm" version "0.9.2"
24+
}
25+
26+
sourceSets {
27+
main {
28+
java {
29+
srcDirs(
30+
"src/main/java",
31+
"src/game/java",
32+
"src/protocol-game/java",
33+
"src/protocol-relay/java",
34+
"src/teavm/java",
35+
"src/teavm-boot-menu/java"
36+
)
37+
}
38+
}
39+
40+
}
41+
42+
repositories {
43+
mavenCentral()
44+
maven { url = 'https://libraries.minecraft.net/' }
45+
maven { url = 'https://maven.minecraftforge.net' }
46+
}
47+
48+
dependencies {
49+
teavm(teavm.libs.jso)
50+
teavm(teavm.libs.jsoApis)
51+
compileOnly "org.teavm:teavm-core:0.9.2" // workaround for a few hacks
52+
53+
// Minecraft 1.21.5 relevante Dependencies
54+
implementation 'org.apache.logging.log4j:log4j-api:2.24.1'
55+
implementation 'org.apache.logging.log4j:log4j-slf4j2-impl:2.24.1'
56+
implementation 'org.apache.logging.log4j:log4j-core:2.24.1'
57+
implementation 'org.apache.httpcomponents:httpcore:4.4.16'
58+
implementation 'org.apache.httpcomponents:httpclient:4.5.14'
59+
implementation 'org.apache.commons:commons-lang3:3.17.0'
60+
implementation 'org.apache.commons:commons-compress:1.27.1'
61+
implementation 'org.lwjgl:lwjgl-glfw:3.3.3'
62+
implementation 'org.lwjgl:lwjgl:3.3.3'
63+
implementation 'org.lwjgl:lwjgl-jemalloc:3.3.3'
64+
implementation 'org.lwjgl:lwjgl-opengl:3.3.3'
65+
implementation 'org.lwjgl:lwjgl-freetype:3.3.3'
66+
implementation 'org.lwjgl:lwjgl-stb:3.3.3'
67+
implementation 'org.lwjgl:lwjgl-tinyfd:3.3.3'
68+
implementation 'org.lwjgl:lwjgl-openal:3.3.3'
69+
implementation 'org.joml:joml:1.10.8'
70+
implementation 'org.lz4:lz4-java:1.8.0'
71+
implementation 'org.ow2.asm:asm:9.6'
72+
implementation 'org.slf4j:slf4j-api:2.0.16'
73+
implementation 'org.jcraft:jorbis:0.0.17'
74+
implementation 'org.jetbrains:annotations:24.1.0'
75+
implementation 'it.unimi.dsi:fastutil:8.5.15'
76+
implementation 'commons-io:commons-io:2.17.0'
77+
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2'
78+
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.4'
79+
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4'
80+
implementation 'com.ibm.icu:icu4j:76.1'
81+
implementation 'com.microsoft.azure:msal4j:1.17.2'
82+
implementation 'com.mojang:brigadier:1.3.10'
83+
implementation 'com.mojang:datafixerupper:8.0.16'
84+
implementation 'com.mojang:authlib:6.0.58'
85+
implementation 'com.mojang:text2speech:1.18.11'
86+
implementation 'com.mojang:blocklist:1.0.10'
87+
implementation 'com.google.guava:guava:33.3.1-jre'
88+
implementation 'com.google.code.gson:gson:2.11.0'
89+
implementation 'com.github.oshi:oshi-core:6.6.5'
90+
implementation 'com.github.stephenc.jcip:jcip-annotations:1.0-1'
91+
implementation 'com.nimbusds:content-type:2.3'
92+
implementation 'com.nimbusds:nimbus-jose-jwt:9.40'
93+
implementation 'com.nimbusds:lang-tag:1.7'
94+
implementation 'com.nimbusds:oauth2-oidc-sdk:11.18'
95+
implementation 'commons-codec:commons-codec:1.17.1'
96+
implementation 'io.netty:netty-transport:4.1.118.Final'
97+
implementation 'io.netty:netty-transport-classes-epoll:4.1.118.Final'
98+
implementation 'io.netty:netty-handler:4.1.118.Final'
99+
implementation 'io.netty:netty-buffer:4.1.118.Final'
100+
implementation 'io.netty:netty-resolver:4.1.118.Final'
101+
implementation 'io.netty:netty-transport-native-unix-common:4.1.118.Final'
102+
implementation 'io.netty:netty-common:4.1.118.Final'
103+
implementation 'io.netty:netty-codec:4.1.118.Final'
104+
implementation 'net.sf.jopt-simple:jopt-simple:5.0.4'
105+
implementation 'net.java.dev.jna:jna-platform:5.15.0'
106+
implementation 'net.java.dev.jna:jna:5.15.0'
107+
implementation 'net.minecraftforge:forge:1.20.4-49.0.50'
108+
implementation 'net.minecraftforge:forgespi:7.0.0'
109+
implementation 'net.minidev:json-smart:2.5.1'
110+
implementation 'net.minidev:accessors-smart:2.5.1'
111+
implementation 'commons-logging:commons-logging:1.3.4'
112+
implementation 'ca.weblite:java-objc-bridge:1.1'
113+
implementation 'org.json:json:20240303'
114+
//implementation files('com/mojang/logging/1.5.10/logging-1.5.10.jar')
115+
//implementation files('com/mojang/jtracy/1.0.29/jtracy-1.0.29.jar')
116+
//implementation files('com/mojang/jtracy/1.0.29/jtracy-1.0.29-natives-windows.jar')
117+
//implementation files('com/mojang/patchy/2.2.10/patchy-2.2.10.jar')
118+
// Lokale JARs (nur falls online nicht verfügbar)
119+
implementation files(
120+
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-x86.jar',
121+
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows.jar',
122+
'src/jars/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-arm64.jar',
123+
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-x86.jar',
124+
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-arm64.jar',
125+
'src/jars/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows.jar',
126+
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-x86.jar',
127+
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-arm64.jar',
128+
'src/jars/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows.jar',
129+
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows.jar',
130+
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-x86.jar',
131+
'src/jars/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-arm64.jar',
132+
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-arm64.jar',
133+
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows.jar',
134+
'src/jars/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-x86.jar',
135+
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows.jar',
136+
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-x86.jar',
137+
'src/jars/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-arm64.jar',
138+
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows.jar',
139+
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-arm64.jar',
140+
'src/jars/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-x86.jar',
141+
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-arm64.jar',
142+
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-x86.jar',
143+
'src/jars/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows.jar',
144+
// Die folgenden JARs sind NICHT öffentlich verfügbar:
145+
'src/jars/com/mojang/jtracy/1.0.29/jtracy-1.0.29.jar',
146+
'src/jars/com/mojang/jtracy/1.0.29/jtracy-1.0.29-natives-windows.jar',
147+
'src/jars/com/mojang/patchy/2.2.10/patchy-2.2.10.jar',
148+
'src/jars/com/mojang/logging/1.5.10/logging-1.5.10.jar'
149+
)
150+
}
151+
152+
def folder = "javascript"
153+
def name = "classes.js"
154+
155+
teavm.js {
156+
compileJava.options.encoding = "UTF-8"
157+
obfuscated = true
158+
sourceMap = true
159+
targetFileName = "../" + name
160+
optimization = OptimizationLevel.BALANCED // Change to "AGGRESSIVE" for release
161+
outOfProcess = false
162+
fastGlobalAnalysis = false
163+
processMemory = 512
164+
entryPointName = "main"
165+
mainClass = "net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass"
166+
outputDir = file(folder)
167+
properties = [ "java.util.TimeZone.autodetect": "true" ]
168+
debugInformation = false
169+
}
170+
171+
tasks.named("generateJavaScript") {
172+
doLast {
173+
174+
// NOTE: This step may break at any time, and is not required for 99% of browsers
175+
176+
def phile = file(folder + "/" + name)
177+
def dest = phile.getText("UTF-8")
178+
def i = dest.substring(0, dest.indexOf("=\$rt_globals.Symbol('jsoClass');")).lastIndexOf("let ")
179+
dest = dest.substring(0, i) + "var" + dest.substring(i + 3)
180+
def j = dest.indexOf("function(\$rt_globals,\$rt_exports){")
181+
dest = dest.substring(0, j + 34) + "\n" + file(folder + "/ES6ShimScript.txt").getText("UTF-8") + "\n" + dest.substring(j + 34)
182+
phile.write(dest, "UTF-8")
183+
}
73184
}

0 commit comments

Comments
 (0)