Compare commits

..

1 Commits
new ... main

Author SHA1 Message Date
kone
6aee822284 u18 commit 2023-05-06 14:41:29 -04:00
3762 changed files with 365438 additions and 1250469 deletions

13
.gitignore vendored
View File

@ -6,20 +6,9 @@ build
bin
proxyServer/bin
proxyServer/rundir
desktopRuntime/eclipseProject/*
desktopRuntime/_eagstorage*
desktopRuntime/eclipseProject/bin*
desktopRuntime/hs_err_*
desktopRuntime/crash-reports/*
desktopRuntime/options.txt
desktopRuntime/_eagstorage*
/.metadata/
desktopRuntime/eclipseProject/.classpath
desktopRuntime/eclipseProject/.project
desktopRuntime/eclipseProject/eaglercraftDebugRuntime.launch
desktopRuntime/eclipseProject/.classpath
.gitpod.yml
javascript/EaglercraftX_1.8_Offline_en_US.html
javascript/EaglercraftX_1.8_Offline_International.html
javascript/Resent_3.7_patch__1.8_US.html
javascript/Resent_3.7_patch__1.8_International.html
desktopRuntime/_eagstorage*

8
.idea/.gitignore vendored
View File

@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -1 +0,0 @@
eaglercraft-workspace

View File

@ -1,5 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" />
</component>
</project>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$USER_HOME$/.sdkman/candidates/gradle/current" />
<option name="gradleJvm" value="#JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
</component>
</project>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="zulu-11" project-jdk-type="JavaSDK" />
</project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -1,9 +0,0 @@
# Prettier configuration
overrides:
- files:
- "*.java"
options:
printWidth: 400
tabWidth: 4
useTabs: false
trailingComma: none

View File

@ -1,9 +0,0 @@
{
"liveServer.settings.root": "/javascript/",
"java.dependency.packagePresentation": "hierarchical",
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable",
"editor.tabCompletion": "on",
"diffEditor.codeLens": true,
"java.configuration.updateBuildConfiguration": "automatic",
"java.compile.nullAnalysis.mode": "disabled"
}

0
CompileEPK.sh Executable file → Normal file
View File

View File

@ -1,4 +1,4 @@
@echo off
title MakeOfflineDownload
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeOfflineDownload "javascript/OfflineDownloadTemplate.txt" "javascript/classes.js;javascript/fix-webm-duration.js" "javascript/assets.epk" "javascript/Resent_3.7_patch__1.8_US.html" "javascript/Resent_3.7_patch__1.8_International.html" "javascript/lang"
java -cp "desktopRuntime/MakeOfflineDownload.jar;desktopRuntime/CompileEPK.jar" net.lax1dude.eaglercraft.v1_8.buildtools.workspace.MakeOfflineDownload "javascript/OfflineDownloadTemplate.txt" "javascript/classes.js;javascript/fix-webm-duration.js" "javascript/assets.epk" "javascript/EaglercraftX_1.8_Offline_en_US.html" "javascript/EaglercraftX_1.8_Offline_International.html" "javascript/lang"
pause

0
MakeOfflineDownload.sh Executable file → Normal file
View File

View File

@ -1,63 +0,0 @@
<!DOCTYPE html>
<!--
This file is from ${date}, there is no official eagler download link anymore, check the websites and discords of your favorite eagler servers for new versions
Be aware that some server owners are lazy and do not update their client regularly
Compile it yourself here: https://gitlab.com/lax1dude/eaglercraftx-1.8/
-->
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Resent client 1.8" />
<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 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";
// %%%%%%%%% launch options %%%%%%%%%%%%
window.eaglercraftXOpts = { container: "game_frame" };
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
${classes_js}
window.eaglercraftXOpts.assetsURI = ${assets_epk};
</script>
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
</head>
<body style="margin:0px;width:100vw;height:100vh;overflow:hidden;" id="game_frame">
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div></div>
</div>
</div>
</body>
</html>
<!-- lax1dude was here ( and so was hooman ) -->

105
README.md
View File

@ -1,105 +0,0 @@
# in case this repo is open-sourced, here's some info:
(i wrote this with like 2 hours of sleep)
i have decided to fully quit eaglercraft and everything related for personal reasons (dont dig into my past, seriously. i don't like having severe paranoia that one of ur 12 year old asses is gonna raid my friend group). i first started working on this project a long time ago, and that means my code base and half of the code sucks an incredible amount of ass. if you're going to comment on code quality, don't. there are cheats in resent, what a surprise (xray and spawner esp, 3.5 reach), it's not hard to block the activation of these serverside. Finally, i loved my time in the eagler community (not really you all suck ngl) and it has affected me in many ways. (you may see me on mmc or mcpvp, feel free to talk to me or something)
alright, this notice is long enough. さようなら! (if you ever hear from me again i'll be back with a surprise)
## fatal i know you're skidding this right now kys (uwu client always better)
ORIGINAL README BELOW:
# Resent-1.8
if you're reading this, that means one of the following:
* i open-sourced resent. this is most likely
* another dev was added to the project.
* you hacked into my account from my weak ass password and somehow bypassed github email verification.
&nbsp;
&nbsp;
&nbsp;
either way, here's some documentation on this project.
please note that I wrote all of this in a text editor so i probably made a few mistakes in the code.
## Module system
&nbsp;
&nbsp;
### Standard, non-render modules. (ex: fullbright, norain, tooltips)
create a new class structured like the following:
```
@Module(name = "Example", category = Category.MISC) //theres another optional value, hasSetting, set to false by default.
public class ExampleModule extends Mod {
@Override //Overrides method in Mod class.
public void onEnable(){
//what happens when the module is enabled
}
@Override
public void onDisable(){
//what happens when the module is disabled
}
}
```
&nbsp;
&nbsp;
### Render-related modules that requires drawing to the screen. (ex: keystrokes, info, fps, potionhud)
create a new class structured like this:
```
@RenderModule(name = "ExampleRender", category = Category.MISC, x = 4, y = 4)
public class ExampleRenderModule extends RenderModule {
//this method is called in GuiIngame to draw stuff to the screen.
public void draw(){
mc.fontRendererObj.drawString("Test", this.getX(), this.getY(), -1 /* -1 is the color of the text. */);
}
//you can still use onEnable and onDisable methods.
}
```
&nbsp;
## Settings
not too difficult to figure out on your own, here's an example:
```
public class ExampleRenderModule extends RenderModule {
public ExampleRenderModule(){
addSetting(example);
}
public static BooleanSetting example = new BooleanSetting("Example", "" /* description */, true /* default value */);
public void draw(){
if(example.getValue())
mc.fontRendererObj.drawString("Test", this.getX(), this.getY(), -1 /* -1 is the color of the text. */);
}
}
```
^ this example was done with a booleansetting, its similar to a modesetting, too lazy to write a documentation for that cope.

View File

@ -1,20 +0,0 @@
import java.io.File;
import java.lang.reflect.Field;
import java.util.Arrays;
import net.minecraft.client.main.Main;
public class Start
{
public static void main(String[] args)
{
Main.main(concat(new String[] {"--version", "mcp", "--accessToken", "0", "--assetsDir", "assets", "--assetIndex", "1.8", "--userProperties", "{}"}, args));
}
public static <T> T[] concat(T[] first, T[] second)
{
T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
}

View File

@ -1,28 +1,26 @@
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
// classpath 'io.github.zebalu:teavm-gradle-plugin:1.0.0'
classpath 'io.github.zebalu:teavm-gradle-plugin:1.0.0'
}
}
plugins {
id 'java'
id 'eclipse'
id "org.teavm" version "0.8.1"
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'io.github.zebalu.teavm-gradle-plugin'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceSets {
main {
java {
srcDir 'src/main/java'
srcDir 'src/teavm'
srcDir 'src/teavm/java'
}
}
}
@ -32,58 +30,57 @@ repositories {
}
dependencies {
// https://mvnrepository.com/artifact/org.teavm/teavm-platform
implementation 'org.teavm:teavm-platform:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-classlib
implementation 'org.teavm:teavm-classlib:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-interop
implementation 'org.teavm:teavm-interop:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso
implementation 'org.teavm:teavm-jso:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso-apis
implementation 'org.teavm:teavm-jso-apis:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-junit
testImplementation 'org.teavm:teavm-junit:0.8.1'
// https://mvnrepository.com/artifact/org.teavm/teavm-jso-impl
implementation 'org.teavm:teavm-jso-impl:0.8.1'
// https://mvnrepository.com/artifact/com.jcraft/jzlib
implementation 'com.jcraft:jzlib:1.1.3'
/** we use 0.6.1 due to performance issues on 7.0.0 */
implementation 'org.teavm:teavm-platform:0.6.1'
implementation('org.teavm:teavm-classlib:0.6.1') {
exclude group: 'com.google.code.gson', module: 'gson'
}
}
teavm.js {
properties = null;
debugInformation = false;
sourceMap = true;
obfuscated = false;
/** Where to save the result */
outputDir = file("javascript");
/** How to name the result file. */
targetFileName = "classes.js";
/** Which class holds your public static void main(Strin[] args) method */
mainClass = 'net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass';
/** This will be the name of your main method after compilation. */
entryPointName = 'main';
preservedClasses = Arrays.asList('net.minecraft.client.Minecraft');
// optimization = BALANCED; //org.teavm.vm.TeaVMOptimizationLevel.SIMPLE;
fastGlobalAnalysis = false;
// targetType = "JAVASCRIPT"; //org.teavm.tooling.TeaVMTargetType.JAVASCRIPT;
// cacheDirectory = null;
// wasmVersion = "V_0x1"; //org.teavm.backend.wasm.render.WasmBinaryVersion.V_0x1;
// minHeapSize = 4;
// maxHeapSize = 128;
outOfProcess = false;
processMemory = 512;
// longjmpSupported = true;
// heapDump = false;
/** Add name of configurations here where to look for jarfiles. */
// includeJarsFrom = [];
/** By default teavmc taskd epends on javaCompile task, unless this varaibale is true. */
// skipJavaCompile = false;
}
teavm {
compileScopes = null;
minifying = true;
maxTopLevelNames = 10000;
properties = null;
debugInformationGenerated = false;
sourceMapsGenerated = true;
sourceFilesCopied = false;
incremental = false;
transformers = null;
/** Where to save the result */
targetDirectory = file("javascript");
/** The directory to monitor to decide if compile is up-to-date or not */
sourceDirectory = file("src");
/** How to name the result file. */
targetFileName = "classes.js";
/** Which class holds your public static void main(Strin[] args) method */
mainClass = 'net.lax1dude.eaglercraft.v1_8.internal.teavm.MainClass';
/** This will be the name of your main method after compilation. */
entryPointName = 'main';
classesToPreserve = null;
stopOnErrors = false;
optimizationLevel = "ADVANCED"; //org.teavm.vm.TeaVMOptimizationLevel.SIMPLE;
fastGlobalAnalysis = false;
targetType = "JAVASCRIPT"; //org.teavm.tooling.TeaVMTargetType.JAVASCRIPT;
cacheDirectory = null;
wasmVersion = "V_0x1"; //org.teavm.backend.wasm.render.WasmBinaryVersion.V_0x1;
minHeapSize = 4;
maxHeapSize = 128;
outOfProcess = false;
processMemory = 512;
longjmpSupported = true;
heapDump = false;
/** Add name of configurations here where to look for jarfiles. */
includeJarsFrom = [];
/** By default teavmc taskd epends on javaCompile task, unless this varaibale is true. */
skipJavaCompile = false;
}

View File

@ -7,17 +7,17 @@
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/CompileEPK.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/Java-WebSocket-1.5.1-with-dependencies.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/MakeOfflineDownload.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/codecjorbis-20101023.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/codecwav-20101023.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl-egl.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl-glfw.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl-jemalloc.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl-openal.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl-opengles.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/lwjgl.jar"/>
<classpathentry kind="lib" path="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime/soundsystem-20120107.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/codecjorbis-20101023.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/codecwav-20101023.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/CompileEPK.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/Java-WebSocket-1.5.1-with-dependencies.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl-egl.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl-glfw.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl-jemalloc.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl-openal.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl-opengles.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/lwjgl.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/MakeOfflineDownload.jar"/>
<classpathentry kind="lib" path="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime/soundsystem-20120107.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Resent 1.8</name>
<name>eclipseProject</name>
<comment></comment>
<projects>
</projects>
@ -18,12 +18,12 @@
<link>
<name>src_lwjgl_java</name>
<type>2</type>
<location>C:/Users/kay_j/Downloads/uwu/Resent-1.8/src/lwjgl/java/</location>
<location>C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/src/lwjgl/java</location>
</link>
<link>
<name>src_main_java</name>
<type>2</type>
<location>C:/Users/kay_j/Downloads/uwu/Resent-1.8/src/main/java/</location>
<location>C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/src/main/java</location>
</link>
</linkedResources>
</projectDescription>

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/Resent 1.8/src_lwjgl_java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainClass.java"/>
<listEntry value="/eclipseProject/src_lwjgl_java/net/lax1dude/eaglercraft/v1_8/internal/lwjgl/MainClass.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@ -15,10 +14,9 @@
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.lax1dude.eaglercraft.v1_8.internal.lwjgl.MainClass"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="Resent 1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Resent 1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="eclipseProject"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="eclipseProject"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.library.path=."/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:/Users/kay_j/Downloads/uwu/Resent-1.8/desktopRuntime"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:/Users/suvan/Downloads/bafybeiakklgbdjufhlcbsf2hksxbmxgyilobmvtcogt6ltdtweh5nyvbvi/../eaglercraft_1.8_workspace/desktopRuntime"/>
</launchConfiguration>

View File

@ -5,9 +5,11 @@
lax1dude:
- Creator of Eaglercraft
- Wrote HW accelerated OpenGL 1.3 emulator
- Wrote all desktop emulation code
- Ported the Minecraft 1.8 client src to TeaVM
- Wrote HW accelerated OpenGL 1.3 emulator
- Wrote the default shader pack
- Made the integrated PBR resource pack
- Wrote all desktop emulation code
- Wrote EaglercraftXBungee
- Wrote the patch and build system

View File

@ -15,8 +15,8 @@
*/
precision lowp int;
precision lowp float;
precision lowp sampler2D;
precision mediump float;
precision mediump sampler2D;
in vec2 v_texCoord2f;
in vec4 v_color4f;

View File

@ -15,8 +15,8 @@
*/
precision lowp int;
precision lowp float;
precision lowp sampler2D;
precision highp float;
precision mediump sampler2D;
layout(location = 0) in vec3 a_position3f;

View File

@ -15,8 +15,8 @@
*/
precision lowp int;
precision lowp float;
precision lowp sampler2D;
precision mediump float;
precision mediump sampler2D;
in vec2 v_texCoord2f;
in vec4 v_color4f;

View File

@ -15,8 +15,8 @@
*/
precision lowp int;
precision lowp float;
precision lowp sampler2D;
precision highp float;
precision mediump sampler2D;
layout(location = 0) in vec2 a_position2f;

View File

@ -141,6 +141,10 @@ void main() {
#endif
#endif
#ifdef COMPILE_BLEND_ADD
color = color * u_colorBlendSrc4f + u_colorBlendAdd4f;
#endif
#ifdef COMPILE_ENABLE_ALPHA_TEST
if(color.a < u_alphaTestRef1f) discard;
#endif
@ -154,24 +158,21 @@ void main() {
vec3 normal = u_uniformNormal3f;
#endif
float diffuse = 0.0;
vec4 light;
for(int i = 0; i < u_lightsEnabled1i; ++i) {
vec4 light = u_lightsDirections4fv[i];
light = u_lightsDirections4fv[i];
diffuse += max(dot(light.xyz, normal), 0.0) * light.w;
}
color.rgb *= min(u_lightsAmbient3f + vec3(diffuse), 1.0);
#endif
#ifdef COMPILE_BLEND_ADD
color.rgba = color.rgba * u_colorBlendSrc4f + u_colorBlendAdd4f;
#endif
#ifdef COMPILE_ENABLE_FOG
vec3 fogPos = v_position4f.xyz / v_position4f.w;
float dist = sqrt(dot(fogPos, fogPos));
float fogDensity = u_fogParameters4f.y;
float fogStart = u_fogParameters4f.z;
float fogEnd = u_fogParameters4f.w;
float f = u_fogParameters4f.x > 0.0 ? 1.0 - pow(2.718, -(fogDensity * dist)) :
float f = u_fogParameters4f.x > 0.0 ? 1.0 - exp(-fogDensity * dist) :
(dist - fogStart) / (fogEnd - fogStart);
color.rgb = mix(color.rgb, u_fogColor4f.rgb, clamp(f, 0.0, 1.0) * u_fogColor4f.a);
#endif

View File

@ -50,29 +50,29 @@ out vec2 v_lightmap2f;
uniform mat4 u_textureMat4f02;
#endif
#ifdef _COMPILE_VARYING_POSITION
uniform mat4 u_modelviewMat4f;
uniform mat4 u_projectionMat4f;
#else
uniform mat4 u_modelviewProjMat4f;
#ifdef COMPILE_NORMAL_ATTRIB
uniform mat4 u_modelviewMat4f;
#endif
#endif
#define TEX_MAT3(mat4In) mat3(mat4In[0].xyw,mat4In[1].xyw,mat4In[3].xyw)
void main() {
#ifdef COMPILE_ENABLE_TEX_GEN
v_objectPosition3f = a_position3f;
#endif
vec4 pos = u_modelviewMat4f * vec4(a_position3f, 1.0);
#ifdef _COMPILE_VARYING_POSITION
v_position4f = pos;
v_position4f = u_modelviewMat4f * vec4(a_position3f, 1.0);
#endif
#ifdef COMPILE_TEXTURE_ATTRIB
mat4x3 texMat4x3 = mat4x3(
u_textureMat4f01[0].xyw,
u_textureMat4f01[1].xyw,
u_textureMat4f01[2].xyw,
u_textureMat4f01[3].xyw
);
vec3 v_textureTmp3f = texMat4x3 * vec4(a_texture2f, 0.0, 1.0);
vec3 v_textureTmp3f = TEX_MAT3(u_textureMat4f01) * vec3(a_texture2f, 1.0);
v_texture2f = v_textureTmp3f.xy / v_textureTmp3f.z;
#endif
@ -85,19 +85,13 @@ void main() {
#endif
#ifdef COMPILE_LIGHTMAP_ATTRIB
#ifdef COMPILE_TEXTURE_ATTRIB
texMat4x3 = mat4x3(
#else
mat4x3 texMat4x3 = mat4x3(
#endif
u_textureMat4f02[0].xyw,
u_textureMat4f02[1].xyw,
u_textureMat4f02[2].xyw,
u_textureMat4f02[3].xyw
);
vec3 v_lightmapTmp3f = texMat4x3 * vec4(a_lightmap2f, 0.0, 1.0);
vec3 v_lightmapTmp3f = TEX_MAT3(u_textureMat4f02) * vec3(a_lightmap2f, 1.0);
v_lightmap2f = v_lightmapTmp3f.xy / v_lightmapTmp3f.z;
#endif
gl_Position = u_projectionMat4f * pos;
#ifdef _COMPILE_VARYING_POSITION
gl_Position = u_projectionMat4f * v_position4f;
#else
gl_Position = u_modelviewProjMat4f * vec4(a_position3f, 1.0);
#endif
}

View File

@ -0,0 +1,72 @@
#line 2
/*
* Copyright (c) 2023 LAX1DUDE. All Rights Reserved.
*
* WITH THE EXCEPTION OF PATCH FILES, MINIFIED JAVASCRIPT, AND ALL FILES
* NORMALLY FOUND IN AN UNMODIFIED MINECRAFT RESOURCE PACK, YOU ARE NOT ALLOWED
* TO SHARE, DISTRIBUTE, OR REPURPOSE ANY FILE USED BY OR PRODUCED BY THE
* SOFTWARE IN THIS REPOSITORY WITHOUT PRIOR PERMISSION FROM THE PROJECT AUTHOR.
*
* NOT FOR COMMERCIAL OR MALICIOUS USE
*
* (please read the 'LICENSE' file this repo's root directory for more info)
*
*/
precision lowp int;
precision highp float;
precision mediump sampler2D;
layout(location = 0) in vec2 a_position2f;
layout(location = 1) in vec3 p_position3f;
layout(location = 2) in vec2 p_texCoords2i;
layout(location = 3) in vec2 p_lightMap2f;
layout(location = 4) in vec2 p_particleSize_texCoordsSize_2i;
layout(location = 5) in vec4 p_color4f;
out vec2 v_texCoord2f;
out vec4 v_color4f;
out vec2 v_lightmap2f;
#ifdef COMPILE_FORWARD_VSH
out vec4 v_position4f;
uniform mat4 u_modelViewMatrix4f;
uniform mat4 u_projectionMatrix4f;
#endif
#ifdef COMPILE_GBUFFER_VSH
uniform mat4 u_matrixTransform;
#endif
uniform vec3 u_texCoordSize2f_particleSize1f;
uniform vec4 u_transformParam_1_2_3_4_f;
uniform float u_transformParam_5_f;
void main() {
v_color4f = p_color4f.bgra;
v_lightmap2f = p_lightMap2f;
vec2 tex2f = a_position2f * 0.5 + 0.5;
tex2f.y = 1.0 - tex2f.y;
tex2f = p_texCoords2i + tex2f * p_particleSize_texCoordsSize_2i.y;
v_texCoord2f = tex2f * u_texCoordSize2f_particleSize1f.xy;
float particleSize = u_texCoordSize2f_particleSize1f.z * p_particleSize_texCoordsSize_2i.x;
vec3 pos3f = p_position3f;
pos3f.x += u_transformParam_1_2_3_4_f.x * particleSize * a_position2f.x;
pos3f.x += u_transformParam_1_2_3_4_f.w * particleSize * a_position2f.y;
pos3f.y += u_transformParam_1_2_3_4_f.y * particleSize * a_position2f.y;
pos3f.z += u_transformParam_1_2_3_4_f.z * particleSize * a_position2f.x;
pos3f.z += u_transformParam_5_f * particleSize * a_position2f.y;
#ifdef COMPILE_GBUFFER_VSH
gl_Position = u_matrixTransform * vec4(pos3f, 1.0);
#endif
#ifdef COMPILE_FORWARD_VSH
v_position4f = u_modelViewMatrix4f * vec4(pos3f, 1.0);
gl_Position = u_projectionMatrix4f * v_position4f;
#endif
}

View File

@ -0,0 +1,233 @@
#line 2
/*
* Copyright (c) 2023 LAX1DUDE. All Rights Reserved.
*
* WITH THE EXCEPTION OF PATCH FILES, MINIFIED JAVASCRIPT, AND ALL FILES
* NORMALLY FOUND IN AN UNMODIFIED MINECRAFT RESOURCE PACK, YOU ARE NOT ALLOWED
* TO SHARE, DISTRIBUTE, OR REPURPOSE ANY FILE USED BY OR PRODUCED BY THE
* SOFTWARE IN THIS REPOSITORY WITHOUT PRIOR PERMISSION FROM THE PROJECT AUTHOR.
*
* NOT FOR COMMERCIAL OR MALICIOUS USE
*
* (please read the 'LICENSE' file this repo's root directory for more info)
*
*/
precision lowp int;
precision highp float;
precision mediump sampler2D;
precision highp sampler2DShadow;
in vec4 v_position4f;
in vec2 v_texCoord2f;
in vec4 v_color4f;
in vec2 v_lightmap2f;
layout(location = 0) out vec4 output4f;
uniform sampler2D u_diffuseTexture;
uniform vec2 u_textureYScale2f;
uniform mat4 u_inverseViewMatrix4f;
#ifdef COMPILE_DYNAMIC_LIGHTS
struct DynamicLight {
mediump vec4 u_lightPosition4f;
mediump vec4 u_lightColor4f;
};
layout(std140) uniform u_chunkLightingData {
mediump int u_dynamicLightCount1i;
mediump int _paddingA_;
mediump int _paddingB_;
mediump int _paddingC_;
DynamicLight u_dynamicLightArray[12];
};
#endif
layout(std140) uniform u_worldLightingData {
mediump vec4 u_sunDirection4f;
mediump vec4 u_sunColor3f_sky1f;
mediump vec4 u_fogParameters4f;
mediump vec4 u_fogColorLight4f;
mediump vec4 u_fogColorDark4f;
mediump vec4 u_fogColorAddSun4f;
mediump vec4 u_blockSkySunDynamicLightFac4f;
#ifdef COMPILE_SUN_SHADOW_LOD0
mediump mat4 u_sunShadowMatrixLOD04f;
#define DO_COMPILE_SUN_SHADOWS
#define SUN_SHADOW_MAP_FRAC 1.0
#endif
#ifdef COMPILE_SUN_SHADOW_LOD1
mediump mat4 u_sunShadowMatrixLOD04f;
mediump mat4 u_sunShadowMatrixLOD14f;
#define DO_COMPILE_SUN_SHADOWS
#define SUN_SHADOW_MAP_FRAC 0.5
#endif
#ifdef COMPILE_SUN_SHADOW_LOD2
mediump mat4 u_sunShadowMatrixLOD04f;
mediump mat4 u_sunShadowMatrixLOD14f;
mediump mat4 u_sunShadowMatrixLOD24f;
#define DO_COMPILE_SUN_SHADOWS
#define SUN_SHADOW_MAP_FRAC 0.3333333
#endif
};
uniform sampler2D u_samplerNormalMaterial;
uniform sampler2D u_metalsLUT;
#define LIB_INCLUDE_PBR_LIGHTING_FUNCTION
#define LIB_INCLUDE_PBR_LIGHTING_PREFETCH
#EAGLER INCLUDE (3) "eagler:glsl/deferred/lib/pbr_lighting.glsl"
uniform sampler2D u_irradianceMap;
#ifdef DO_COMPILE_SUN_SHADOWS
uniform sampler2DShadow u_sunShadowDepthTexture;
#endif
void main() {
vec4 worldPosition4f;
vec4 worldDirection4f;
vec4 diffuseColor4f;
vec3 normalVector3f;
vec2 lightmapCoords2f;
vec3 materialData3f;
// =========== RESOLVE CONSTANTS ============ //
worldPosition4f = u_inverseViewMatrix4f * v_position4f;
worldPosition4f.xyz /= worldPosition4f.w;
worldPosition4f.w = 1.0;
worldDirection4f = u_inverseViewMatrix4f * vec4(v_position4f.xyz / v_position4f.w, 0.0);
worldDirection4f.xyz = normalize(worldDirection4f.xyz);
lightmapCoords2f = v_lightmap2f;
normalVector3f = normalize(u_inverseViewMatrix4f[2].xyz);
// ========= CALCULATE DIFFUSE COLOR ========== //
diffuseColor4f = texture(u_diffuseTexture, v_texCoord2f) * v_color4f;
// ============= ALPHA TEST ============== //
if(diffuseColor4f.a < 0.004) discard;
// ========== RESOLVE MATERIALS =========== //
materialData3f = texture(u_samplerNormalMaterial, vec2(v_texCoord2f.x, v_texCoord2f.y * u_textureYScale2f.x + u_textureYScale2f.y)).rgb;
vec3 metalN, metalK;
PREFETCH_METALS(diffuseColor4f.rgb, materialData3f.g, metalN, metalK)
// ============ SUN LIGHTING ============== //
diffuseColor4f.rgb *= diffuseColor4f.rgb;
vec3 lightColor3f = vec3(0.0);
if(dot(u_sunDirection4f.xyz, normalVector3f) > 0.0 && lightmapCoords2f.g > 0.5 &&
(u_sunColor3f_sky1f.r + u_sunColor3f_sky1f.g + u_sunColor3f_sky1f.b) > 0.001) {
#ifdef DO_COMPILE_SUN_SHADOWS
// ========== SUN SHADOW: LOD0 ============ //
float skyLight = max(lightmapCoords2f.g * 2.0 - 1.0, 0.0);
float shadowSample = 1.0;
vec4 shadowWorldPos4f = worldPosition4f;
shadowWorldPos4f.xyz += normalVector3f * 0.05;
vec4 shadowTexPos4f;
vec2 tmpVec2;
for(;;) {
shadowTexPos4f = u_sunShadowMatrixLOD04f * shadowWorldPos4f;
if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) {
shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy * vec2(1.0, SUN_SHADOW_MAP_FRAC), shadowTexPos4f.z), 0.0);
break;
}
#if defined(COMPILE_SUN_SHADOW_LOD1) || defined(COMPILE_SUN_SHADOW_LOD2)
shadowTexPos4f = u_sunShadowMatrixLOD14f * shadowWorldPos4f;
if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) {
shadowTexPos4f.y += 1.0;
shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC;
shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0);
break;
}
#endif
#ifdef COMPILE_SUN_SHADOW_LOD2
shadowTexPos4f = u_sunShadowMatrixLOD24f * shadowWorldPos4f;
if(shadowTexPos4f.xyz == clamp(shadowTexPos4f.xyz, vec3(0.005), vec3(0.995))) {
shadowTexPos4f.y += 2.0;
shadowTexPos4f.y *= SUN_SHADOW_MAP_FRAC;
shadowSample = textureLod(u_sunShadowDepthTexture, vec3(shadowTexPos4f.xy, shadowTexPos4f.z + 0.00015), 0.0);
}
#endif
break;
}
#endif
lightColor3f = u_sunColor3f_sky1f.rgb * max(lightmapCoords2f.g * 2.0 - 1.0, 0.0);
#ifdef DO_COMPILE_SUN_SHADOWS
lightColor3f *= shadowSample * skyLight;
#endif
vec3 normalWrap3f = normalVector3f * (dot(-worldDirection4f.xyz, normalVector3f) < 0.0 ? -1.0 : 1.0);
lightColor3f = eaglercraftLighting(diffuseColor4f.rgb, lightColor3f, -worldDirection4f.xyz, u_sunDirection4f.xyz, normalWrap3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.z;
}
// =========== IRRADIANCE MAP =========== //
lightmapCoords2f *= lightmapCoords2f;
vec3 irradianceMapSamplePos2f = normalVector3f;
irradianceMapSamplePos2f.xz /= abs(irradianceMapSamplePos2f.y) + 1.0;
float dst = 1.0 - dot(irradianceMapSamplePos2f.xz, irradianceMapSamplePos2f.xz);
dst *= dst;
irradianceMapSamplePos2f.xz *= 0.975;
vec3 skyLight = vec3(sqrt(0.01 + max(u_sunDirection4f.w, 0.0)));
if(dst < 0.005) {
vec4 sample1 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, 0.25) + vec2(0.5, 0.25), 0.0);
vec4 sample2 = textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz * vec2(0.5, -0.25) + vec2(0.5, 0.75), 0.0);
skyLight += mix(sample1.rgb, sample2.rgb, smoothstep(0.0, 1.0, irradianceMapSamplePos2f.y * -12.5 + 0.5)).rgb;
}else {
irradianceMapSamplePos2f.xz *= vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : -0.25);
irradianceMapSamplePos2f.xz += vec2(0.5, irradianceMapSamplePos2f.y > 0.0 ? 0.25 : 0.75);
skyLight += textureLod(u_irradianceMap, irradianceMapSamplePos2f.xz, 0.0).rgb;
}
skyLight *= lightmapCoords2f.g * u_sunColor3f_sky1f.w;
#ifdef COMPILE_DYNAMIC_LIGHTS
// =========== DYNAMIC LIGHTING =========== //
vec3 dlightDist3f, dlightDir3f, dlightColor3f;
int safeLightCount = u_dynamicLightCount1i > 12 ? 0 : u_dynamicLightCount1i; // hate this
for(int i = 0; i < safeLightCount; ++i) {
dlightDist3f = worldPosition4f.xyz - u_dynamicLightArray[i].u_lightPosition4f.xyz;
dlightDir3f = normalize(dlightDist3f);
dlightDir3f = dlightDir3f * (dot(dlightDir3f, normalVector3f) < 0.0 ? 1.0 : -1.0);
dlightDir3f = materialData3f.b == 1.0 ? normalVector3f : -dlightDir3f;
if(dot(dlightDir3f, normalVector3f) <= 0.0) {
continue;
}
dlightColor3f = u_dynamicLightArray[i].u_lightColor4f.rgb / dot(dlightDist3f, dlightDist3f);
if(dlightColor3f.r + dlightColor3f.g + dlightColor3f.b < 0.025) {
continue;
}
lightColor3f += eaglercraftLighting(diffuseColor4f.rgb, dlightColor3f, -worldDirection4f.xyz, dlightDir3f, normalVector3f, materialData3f, metalN, metalK) * u_blockSkySunDynamicLightFac4f.w;
}
#endif
// ============ OUTPUT COLOR ============== //
vec3 blockLight = lightmapCoords2f.r * vec3(1.0, 0.5809, 0.2433) * 2.0 * u_blockSkySunDynamicLightFac4f.x;
skyLight *= u_blockSkySunDynamicLightFac4f.y;
float emissive = materialData3f.b == 1.0 ? 0.0 : materialData3f.b;
diffuseColor4f.rgb *= max(skyLight + blockLight, vec3(emissive * emissive * 20.0 + 0.075)) * 0.075;
diffuseColor4f.rgb += lightColor3f;
output4f = vec4(diffuseColor4f.rgb * diffuseColor4f.a, diffuseColor4f.a);
}

View File

@ -0,0 +1,42 @@
#line 2
/*
* Copyright (c) 2023 LAX1DUDE. All Rights Reserved.
*
* WITH THE EXCEPTION OF PATCH FILES, MINIFIED JAVASCRIPT, AND ALL FILES
* NORMALLY FOUND IN AN UNMODIFIED MINECRAFT RESOURCE PACK, YOU ARE NOT ALLOWED
* TO SHARE, DISTRIBUTE, OR REPURPOSE ANY FILE USED BY OR PRODUCED BY THE
* SOFTWARE IN THIS REPOSITORY WITHOUT PRIOR PERMISSION FROM THE PROJECT AUTHOR.
*
* NOT FOR COMMERCIAL OR MALICIOUS USE
*
* (please read the 'LICENSE' file this repo's root directory for more info)
*
*/
precision lowp int;
precision mediump float;
precision mediump sampler2D;
in vec2 v_texCoord2f;
in vec4 v_color4f;
in vec2 v_lightmap2f;
layout(location = 0) out vec4 gbufferColor4f;
layout(location = 1) out vec4 gbufferNormal4f;
layout(location = 2) out vec4 gbufferMaterial4f;
uniform sampler2D u_diffuseTexture;
uniform sampler2D u_samplerNormalMaterial;
uniform vec2 u_textureYScale2f;
void main() {
vec4 diffuseRGBA = texture(u_diffuseTexture, v_texCoord2f) * v_color4f;
if(diffuseRGBA.a < 0.004) {
discard;
}
gbufferColor4f = vec4(diffuseRGBA.rgb, v_lightmap2f.r);
gbufferNormal4f = vec4(0.5, 0.5, 1.0, v_lightmap2f.g);
gbufferMaterial4f = vec4(texture(u_samplerNormalMaterial, vec2(v_texCoord2f.x, v_texCoord2f.y * u_textureYScale2f.x + u_textureYScale2f.y)).rgb, 1.0);
}

View File

@ -0,0 +1 @@
these are just low quality fallback material textures for the default vanilla resource pack when no PBR resource pack is loaded, if you would like to make a PBR resource pack put your _n and _s textures in the "/assets/minecraft/textures/" directory of your zip file, do not modify any files within "/assets/eagler/glsl/deferred/assets_pbr/textures/" because they will not be recognized

Some files were not shown because too many files have changed in this diff Show More