diff --git a/.idea/misc.xml b/.idea/misc.xml index 8bddb52..18ad7e3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 54802ff..94e9bdd 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ sourceSets { java { srcDirs( "src/main/java", - "src/teavm/java", + "src/lwjgl/java", "sp-server/src/ipc/java" ) } @@ -26,10 +26,10 @@ tasks.withType(JavaCompile) { options.compilerArgs << "-Xmaxerrs" << "1000" } -//sourceSets.main.resources.srcDirs += 'src/lwjgl/java/javazoom/jl/decoder' +sourceSets.main.resources.srcDirs += 'src/lwjgl/java/javazoom/jl/decoder' dependencies { - //implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar') + implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar') teavm(teavm.libs.jso) teavm(teavm.libs.jsoApis) diff --git a/javascript/index.html b/javascript/index.html index a3d6e31..2a944f0 100644 --- a/javascript/index.html +++ b/javascript/index.html @@ -36,7 +36,12 @@ assetOverrides: { }, servers: [ { serverName: "Local Test Server", serverAddress: "ws://localhost:25565", hideAddress: false }, - { serverName: "Ayunboom", serverAddress: "wss://sus.shhnowisnottheti.me", hideAddress: false } + { serverName: "Minecraft Server", serverAddress: "wss://cautious-space-succotash-9g979vrp769cx655-25565.app.github.dev", hideAddress: false }, + { serverName: "Ayunboom", serverAddress: "wss://sus.shhnowisnottheti.me", hideAddress: false }, + { serverName: "Minecraft Server", serverAddress: "wss://25565-catfoolyou-eaglerserver-gyqthgj2gr2.ws-us114.gitpod.io", hideAddress: false }, + { serverName: "Minecraft Server", serverAddress: "wss://25565-catfoolyou-eaglerserver-500q8txwzw3.ws-us114.gitpod.io", hideAddress: false }, + { serverName: "Minecraft Server", serverAddress: "wss://25565-catfoolyou-eaglerserver-500q8txwzw3.ws-us110.gitpod.io", hideAddress: false } + ], relays: [ { addr: "wss://relay.deev.is/", name: "lax1dude relay #1", primary: relayId == 0 }, @@ -61,4 +66,4 @@ main(); - \ No newline at end of file + diff --git a/lwjgl-rundir/_eagstorage.p.dat b/lwjgl-rundir/_eagstorage.p.dat index e4138b9..17a6c7a 100644 Binary files a/lwjgl-rundir/_eagstorage.p.dat and b/lwjgl-rundir/_eagstorage.p.dat differ diff --git a/lwjgl-rundir/eaglercraft.jar b/lwjgl-rundir/eaglercraft.jar index 67c767d..42c2997 100644 Binary files a/lwjgl-rundir/eaglercraft.jar and b/lwjgl-rundir/eaglercraft.jar differ diff --git a/mp-server.zip b/mp-server.zip index eae293b..b9dea6c 100644 Binary files a/mp-server.zip and b/mp-server.zip differ diff --git a/src/main/java/net/minecraft/src/NetClientHandler.java b/src/main/java/net/minecraft/src/NetClientHandler.java index 8b4686c..269ba07 100644 --- a/src/main/java/net/minecraft/src/NetClientHandler.java +++ b/src/main/java/net/minecraft/src/NetClientHandler.java @@ -3,19 +3,14 @@ package net.minecraft.src; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import net.lax1dude.eaglercraft.EaglerAdapter; -import net.lax1dude.eaglercraft.EaglercraftRandom; -import net.lax1dude.eaglercraft.GuiScreenSingleplayerException; -import net.lax1dude.eaglercraft.GuiScreenSingleplayerLoading; -import net.lax1dude.eaglercraft.IntegratedServer; -import net.lax1dude.eaglercraft.WebsocketNetworkManager; -import net.lax1dude.eaglercraft.WorkerNetworkManager; +import net.lax1dude.eaglercraft.*; import net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2.RateLimit; import org.json.JSONObject; @@ -1398,30 +1393,42 @@ public class NetClientHandler extends NetHandler { public void handleCustomPayload(Packet250CustomPayload par1Packet250CustomPayload) { - if ("MC|TrList".equals(par1Packet250CustomPayload.channel)) - { - DataInputStream var2 = new DataInputStream(new ByteArrayInputStream(par1Packet250CustomPayload.data)); + if ("MC|TrList".equals(par1Packet250CustomPayload.channel)) { + DataInputStream var8 = new DataInputStream(new ByteArrayInputStream(par1Packet250CustomPayload.data)); - try - { - int var3 = var2.readInt(); + try { + int var9 = var8.readInt(); GuiScreen var4 = this.mc.currentScreen; - if (var4 != null && var4 instanceof GuiMerchant && var3 == this.mc.thePlayer.openContainer.windowId) - { - IMerchant var5 = ((GuiMerchant)var4).getIMerchant(); - MerchantRecipeList var6 = MerchantRecipeList.readRecipiesFromStream(var2); + if (var4 != null && var4 instanceof GuiMerchant && var9 == this.mc.thePlayer.openContainer.windowId) { + IMerchant var5 = ((GuiMerchant) var4).getIMerchant(); + MerchantRecipeList var6 = MerchantRecipeList.readRecipiesFromStream(var8); var5.setRecipes(var6); } - } - catch (IOException var7) - { + } catch (IOException var7) { var7.printStackTrace(); } - } - else if ("MC|Brand".equals(par1Packet250CustomPayload.channel)) - { - this.mc.thePlayer.func_142020_c(new String(par1Packet250CustomPayload.data)); + }else if("EAG|UserSkin".equals(par1Packet250CustomPayload.channel)) { + DefaultSkinRenderer.skinResponse(par1Packet250CustomPayload.data); + }else if("EAG|SkinLayers".equals(par1Packet250CustomPayload.channel)) { + DataInputStream var8 = new DataInputStream(new ByteArrayInputStream(par1Packet250CustomPayload.data)); + try { + int var9 = var8.read(); + String user = var8.readUTF(); + EntityPlayer pp = mc.theWorld.getPlayerEntityByName(user); + if(pp != null && (pp instanceof EntityOtherPlayerMP)) { + byte[] pkt = ((EntityOtherPlayerMP)pp).skinPacket; + if(pkt != null) { + DefaultSkinRenderer.updateSkinLayerByte(var9, pkt); + } + } + } catch (IOException var7) { + var7.printStackTrace(); + } + }else if("EAG|Voice".equals(par1Packet250CustomPayload.channel)) { + EaglerAdapter.handleVoiceSignal(par1Packet250CustomPayload.data); + }else if("EAG|Reconnect".equals(par1Packet250CustomPayload.channel)) { + mc.reconnectAddress = new String(par1Packet250CustomPayload.data, StandardCharsets.UTF_8); } } diff --git a/src/main/java/net/minecraft/src/RenderPlayer.java b/src/main/java/net/minecraft/src/RenderPlayer.java index baf5d29..d6779b6 100644 --- a/src/main/java/net/minecraft/src/RenderPlayer.java +++ b/src/main/java/net/minecraft/src/RenderPlayer.java @@ -100,9 +100,11 @@ public class RenderPlayer extends RendererLivingEntity public void renderPlayer(EntityPlayer par1EntityPlayer, double par2, double par4, double par6, float par8, float par9) { - boolean isHiPoly = DefaultSkinRenderer.isPlayerHighPoly(par1EntityPlayer); - boolean fnawEnabled = Minecraft.getMinecraft().gameSettings.allowFNAWSkins; - if(DefaultSkinRenderer.isPlayerStandard(par1EntityPlayer) || (isHiPoly && !fnawEnabled)) { + if(par1EntityPlayer instanceof EntityOtherPlayerMP){ + System.out.println("fuck"); + this.bindTexture(par1EntityPlayer); + } + if(DefaultSkinRenderer.isPlayerStandard(par1EntityPlayer)) { float var10 = 1.0F; EaglerAdapter.glColor3f(var10, var10, var10); ItemStack var11 = par1EntityPlayer.inventory.getCurrentItem(); @@ -125,7 +127,7 @@ public class RenderPlayer extends RendererLivingEntity var14 -= 0.125D; } - this.mainModel = ((!isHiPoly && DefaultSkinRenderer.isPlayerNewSkin(par1EntityPlayer)) ? (DefaultSkinRenderer.isPlayerNewSkinSlim(par1EntityPlayer) ? this.modelBipedMainNewSkinSlim : this.modelBipedMainNewSkin) : this.modelBipedMain); + this.mainModel = ((DefaultSkinRenderer.isPlayerNewSkin(par1EntityPlayer)) ? (DefaultSkinRenderer.isPlayerNewSkinSlim(par1EntityPlayer) ? this.modelBipedMainNewSkinSlim : this.modelBipedMainNewSkin) : this.modelBipedMain); int skinLayersByte = DefaultSkinRenderer.getSkinLayerByte(par1EntityPlayer); if(this.mainModel instanceof ModelBipedNewSkins) { ModelBipedNewSkins md = (ModelBipedNewSkins)this.mainModel; @@ -135,7 +137,7 @@ public class RenderPlayer extends RendererLivingEntity md.field_178733_c.isHidden = (skinLayersByte & 16) != 16; md.field_178731_d.isHidden = (skinLayersByte & 32) != 32; } - ((ModelBiped)this.mainModel).bipedHeadwear.isHidden = isHiPoly || (skinLayersByte & 2) != 2; + ((ModelBiped)this.mainModel).bipedHeadwear.isHidden = (skinLayersByte & 2) != 2; this.mainModel.isChild = false; ((ModelBiped)this.mainModel).blockTransparentSkin = true; super.doRenderLiving(par1EntityPlayer, par2, var14, par6, par8, par9); @@ -175,6 +177,7 @@ public class RenderPlayer extends RendererLivingEntity super.doRenderLiving(par1EntityPlayer, par2, par4 - (double) par1EntityPlayer.yOffset + 0.05f, par6, par8, par9); RenderEnderman.tex_eyes.bindTexture(); + this.bindTexture(par1EntityPlayer); EaglerAdapter.glPushMatrix(); EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE);