Start on MP skins
This commit is contained in:
parent
a70ca1cba5
commit
12bbc19c3e
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK" />
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK" />
|
||||||
</project>
|
</project>
|
|
@ -10,7 +10,7 @@ sourceSets {
|
||||||
java {
|
java {
|
||||||
srcDirs(
|
srcDirs(
|
||||||
"src/main/java",
|
"src/main/java",
|
||||||
"src/teavm/java",
|
"src/lwjgl/java",
|
||||||
"sp-server/src/ipc/java"
|
"sp-server/src/ipc/java"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,10 @@ tasks.withType(JavaCompile) {
|
||||||
options.compilerArgs << "-Xmaxerrs" << "1000"
|
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 {
|
dependencies {
|
||||||
//implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar')
|
implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar')
|
||||||
|
|
||||||
teavm(teavm.libs.jso)
|
teavm(teavm.libs.jso)
|
||||||
teavm(teavm.libs.jsoApis)
|
teavm(teavm.libs.jsoApis)
|
||||||
|
|
|
@ -36,7 +36,12 @@ assetOverrides: {
|
||||||
},
|
},
|
||||||
servers: [
|
servers: [
|
||||||
{ serverName: "Local Test Server", serverAddress: "ws://localhost:25565", hideAddress: false },
|
{ 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: [
|
relays: [
|
||||||
{ addr: "wss://relay.deev.is/", name: "lax1dude relay #1", primary: relayId == 0 },
|
{ addr: "wss://relay.deev.is/", name: "lax1dude relay #1", primary: relayId == 0 },
|
||||||
|
|
Binary file not shown.
Binary file not shown.
BIN
mp-server.zip
BIN
mp-server.zip
Binary file not shown.
|
@ -3,19 +3,14 @@ package net.minecraft.src;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import net.lax1dude.eaglercraft.EaglerAdapter;
|
import net.lax1dude.eaglercraft.*;
|
||||||
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.adapter.EaglerAdapterImpl2.RateLimit;
|
import net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2.RateLimit;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
@ -1398,30 +1393,42 @@ public class NetClientHandler extends NetHandler {
|
||||||
|
|
||||||
public void handleCustomPayload(Packet250CustomPayload par1Packet250CustomPayload)
|
public void handleCustomPayload(Packet250CustomPayload par1Packet250CustomPayload)
|
||||||
{
|
{
|
||||||
if ("MC|TrList".equals(par1Packet250CustomPayload.channel))
|
if ("MC|TrList".equals(par1Packet250CustomPayload.channel)) {
|
||||||
{
|
DataInputStream var8 = new DataInputStream(new ByteArrayInputStream(par1Packet250CustomPayload.data));
|
||||||
DataInputStream var2 = new DataInputStream(new ByteArrayInputStream(par1Packet250CustomPayload.data));
|
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
int var9 = var8.readInt();
|
||||||
int var3 = var2.readInt();
|
|
||||||
GuiScreen var4 = this.mc.currentScreen;
|
GuiScreen var4 = this.mc.currentScreen;
|
||||||
|
|
||||||
if (var4 != null && var4 instanceof GuiMerchant && var3 == this.mc.thePlayer.openContainer.windowId)
|
if (var4 != null && var4 instanceof GuiMerchant && var9 == this.mc.thePlayer.openContainer.windowId) {
|
||||||
{
|
IMerchant var5 = ((GuiMerchant) var4).getIMerchant();
|
||||||
IMerchant var5 = ((GuiMerchant)var4).getIMerchant();
|
MerchantRecipeList var6 = MerchantRecipeList.readRecipiesFromStream(var8);
|
||||||
MerchantRecipeList var6 = MerchantRecipeList.readRecipiesFromStream(var2);
|
|
||||||
var5.setRecipes(var6);
|
var5.setRecipes(var6);
|
||||||
}
|
}
|
||||||
}
|
} catch (IOException var7) {
|
||||||
catch (IOException var7)
|
|
||||||
{
|
|
||||||
var7.printStackTrace();
|
var7.printStackTrace();
|
||||||
}
|
}
|
||||||
|
}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);
|
||||||
}
|
}
|
||||||
else if ("MC|Brand".equals(par1Packet250CustomPayload.channel))
|
}
|
||||||
{
|
} catch (IOException var7) {
|
||||||
this.mc.thePlayer.func_142020_c(new String(par1Packet250CustomPayload.data));
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,9 +100,11 @@ public class RenderPlayer extends RendererLivingEntity
|
||||||
|
|
||||||
public void renderPlayer(EntityPlayer par1EntityPlayer, double par2, double par4, double par6, float par8, float par9)
|
public void renderPlayer(EntityPlayer par1EntityPlayer, double par2, double par4, double par6, float par8, float par9)
|
||||||
{
|
{
|
||||||
boolean isHiPoly = DefaultSkinRenderer.isPlayerHighPoly(par1EntityPlayer);
|
if(par1EntityPlayer instanceof EntityOtherPlayerMP){
|
||||||
boolean fnawEnabled = Minecraft.getMinecraft().gameSettings.allowFNAWSkins;
|
System.out.println("fuck");
|
||||||
if(DefaultSkinRenderer.isPlayerStandard(par1EntityPlayer) || (isHiPoly && !fnawEnabled)) {
|
this.bindTexture(par1EntityPlayer);
|
||||||
|
}
|
||||||
|
if(DefaultSkinRenderer.isPlayerStandard(par1EntityPlayer)) {
|
||||||
float var10 = 1.0F;
|
float var10 = 1.0F;
|
||||||
EaglerAdapter.glColor3f(var10, var10, var10);
|
EaglerAdapter.glColor3f(var10, var10, var10);
|
||||||
ItemStack var11 = par1EntityPlayer.inventory.getCurrentItem();
|
ItemStack var11 = par1EntityPlayer.inventory.getCurrentItem();
|
||||||
|
@ -125,7 +127,7 @@ public class RenderPlayer extends RendererLivingEntity
|
||||||
var14 -= 0.125D;
|
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);
|
int skinLayersByte = DefaultSkinRenderer.getSkinLayerByte(par1EntityPlayer);
|
||||||
if(this.mainModel instanceof ModelBipedNewSkins) {
|
if(this.mainModel instanceof ModelBipedNewSkins) {
|
||||||
ModelBipedNewSkins md = (ModelBipedNewSkins)this.mainModel;
|
ModelBipedNewSkins md = (ModelBipedNewSkins)this.mainModel;
|
||||||
|
@ -135,7 +137,7 @@ public class RenderPlayer extends RendererLivingEntity
|
||||||
md.field_178733_c.isHidden = (skinLayersByte & 16) != 16;
|
md.field_178733_c.isHidden = (skinLayersByte & 16) != 16;
|
||||||
md.field_178731_d.isHidden = (skinLayersByte & 32) != 32;
|
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;
|
this.mainModel.isChild = false;
|
||||||
((ModelBiped)this.mainModel).blockTransparentSkin = true;
|
((ModelBiped)this.mainModel).blockTransparentSkin = true;
|
||||||
super.doRenderLiving(par1EntityPlayer, par2, var14, par6, par8, par9);
|
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);
|
super.doRenderLiving(par1EntityPlayer, par2, par4 - (double) par1EntityPlayer.yOffset + 0.05f, par6, par8, par9);
|
||||||
|
|
||||||
RenderEnderman.tex_eyes.bindTexture();
|
RenderEnderman.tex_eyes.bindTexture();
|
||||||
|
this.bindTexture(par1EntityPlayer);
|
||||||
|
|
||||||
EaglerAdapter.glPushMatrix();
|
EaglerAdapter.glPushMatrix();
|
||||||
EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE);
|
EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE);
|
||||||
|
|
Loading…
Reference in New Issue