Get ready to fix entityList

This commit is contained in:
catfoolyou 2025-03-04 14:39:35 -05:00
parent 656f3ce628
commit 59c4aa7508
13 changed files with 11 additions and 375 deletions

View File

@ -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)

Binary file not shown.

5
lwjgl-rundir/launch.bat Normal file
View File

@ -0,0 +1,5 @@
@echo off
SET dir=%cd%/natives
"C:\Program Files (x86)\jGRASP\bundled\java\bin\java.exe" -Xmx1G -Xms1G "-Djava.library.path=." -cp "eaglercraft.jar;java-websocket.jar;lwjgl-2.9.0.jar;lwjgl_util-2.9.0.jar;lwjgl-platform-2.9.0-natives-linux.jar" net.lax1dude.eaglercraft.MinecraftMain

View File

@ -33,7 +33,6 @@ import net.minecraft.src.RConConsoleSource;
import net.minecraft.src.ReportedException;
import net.minecraft.src.ServerCommandManager;
import net.minecraft.src.ServerConfigurationManager;
import net.minecraft.src.ThreadMinecraftServer;
import net.minecraft.src.World;
import net.minecraft.src.WorldInfo;
import net.minecraft.src.WorldManager;
@ -647,11 +646,6 @@ public abstract class MinecraftServer implements ICommandSender, Runnable
return true;
}
public void startServerThread()
{
(new ThreadMinecraftServer(this, "Server thread")).start();
}
/**
* Returns a File object from the specified string.
*/

View File

@ -134,7 +134,7 @@ public class EntityList
if (var3 != null)
{
var2 = (Entity)var3.getConstructor(new Class[] {World.class}).newInstance(new Object[] {par1World});
var2 = (Entity)var3.getConstructor(World.class).newInstance(new Object[] {par1World});
}
}
catch (Exception var4)

View File

@ -1,35 +0,0 @@
package net.minecraft.src;
public class LanServer
{
private String lanServerMotd;
private String lanServerIpPort;
/** Last time this LanServer was seen. */
private long timeLastSeen;
public LanServer(String par1Str, String par2Str)
{
this.lanServerMotd = par1Str;
this.lanServerIpPort = par2Str;
this.timeLastSeen = Minecraft.getSystemTime();
}
public String getServerMotd()
{
return this.lanServerMotd;
}
public String getServerIpPort()
{
return this.lanServerIpPort;
}
/**
* Updates the time this LanServer was last seen.
*/
public void updateLastSeen()
{
this.timeLastSeen = Minecraft.getSystemTime();
}
}

View File

@ -1,59 +0,0 @@
package net.minecraft.src;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class LanServerList
{
private ArrayList listOfLanServers = new ArrayList();
boolean wasUpdated;
public synchronized boolean getWasUpdated()
{
return this.wasUpdated;
}
public synchronized void setWasNotUpdated()
{
this.wasUpdated = false;
}
public synchronized List getLanServers()
{
return Collections.unmodifiableList(this.listOfLanServers);
}
public synchronized void func_77551_a(String par1Str, InetAddress par2InetAddress)
{
String var3 = ThreadLanServerPing.getMotdFromPingResponse(par1Str);
String var4 = ThreadLanServerPing.getAdFromPingResponse(par1Str);
if (var4 != null)
{
var4 = par2InetAddress.getHostAddress() + ":" + var4;
boolean var5 = false;
Iterator var6 = this.listOfLanServers.iterator();
while (var6.hasNext())
{
LanServer var7 = (LanServer)var6.next();
if (var7.getServerIpPort().equals(var4))
{
var7.updateLastSeen();
var5 = true;
break;
}
}
if (!var5)
{
this.listOfLanServers.add(new LanServer(var3, var4));
this.wasUpdated = true;
}
}
}
}

View File

@ -169,7 +169,7 @@ public class StatsSyncher
{
this.field_77433_l = 100;
this.isBusy = true;
(new ThreadStatSyncherReceive(this)).start();
//(new ThreadStatSyncherReceive(this)).start();
}
}
@ -187,7 +187,7 @@ public class StatsSyncher
{
this.field_77433_l = 100;
this.isBusy = true;
(new ThreadStatSyncherSend(this, par1Map)).start();
//(new ThreadStatSyncherSend(this, par1Map)).start();
}
}

View File

@ -1,69 +0,0 @@
package net.minecraft.src;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.SocketTimeoutException;
public class ThreadLanServerFind extends Thread
{
/** The LanServerList */
private final LanServerList localServerList;
/** InetAddress for 224.0.2.60 */
private final InetAddress broadcastAddress;
/** The socket we're using to receive packets on. */
private final MulticastSocket socket;
public ThreadLanServerFind(LanServerList par1LanServerList) throws IOException
{
super("LanServerDetector");
this.localServerList = par1LanServerList;
this.setDaemon(true);
this.socket = new MulticastSocket(4445);
this.broadcastAddress = InetAddress.getByName("224.0.2.60");
this.socket.setSoTimeout(5000);
this.socket.joinGroup(this.broadcastAddress);
}
public void run()
{
byte[] var2 = new byte[1024];
while (!this.isInterrupted())
{
DatagramPacket var1 = new DatagramPacket(var2, var2.length);
try
{
this.socket.receive(var1);
}
catch (SocketTimeoutException var5)
{
continue;
}
catch (IOException var6)
{
var6.printStackTrace();
break;
}
String var3 = new String(var1.getData(), var1.getOffset(), var1.getLength());
System.out.println(var1.getAddress() + ": " + var3);
this.localServerList.func_77551_a(var3, var1.getAddress());
}
try
{
this.socket.leaveGroup(this.broadcastAddress);
}
catch (IOException var4)
{
;
}
this.socket.close();
}
}

View File

@ -1,114 +0,0 @@
package net.minecraft.src;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class ThreadLanServerPing extends Thread
{
private final String motd;
/** The socket we're using to send packets on. */
private final DatagramSocket socket;
private boolean isStopping = true;
private final String address;
public ThreadLanServerPing(String par1Str, String par2Str) throws IOException
{
super("LanServerPinger");
this.motd = par1Str;
this.address = par2Str;
this.setDaemon(true);
this.socket = new DatagramSocket();
}
public void run()
{
String var1 = getPingResponse(this.motd, this.address);
byte[] var2 = var1.getBytes();
while (!this.isInterrupted() && this.isStopping)
{
try
{
InetAddress var3 = InetAddress.getByName("224.0.2.60");
DatagramPacket var4 = new DatagramPacket(var2, var2.length, var3, 4445);
this.socket.send(var4);
}
catch (IOException var6)
{
System.out.println("LanServerPinger: " + var6.getMessage());
break;
}
try
{
sleep(1500L);
}
catch (InterruptedException var5)
{
;
}
}
}
public void interrupt()
{
super.interrupt();
this.isStopping = false;
}
public static String getPingResponse(String par0Str, String par1Str)
{
return "[MOTD]" + par0Str + "[/MOTD][AD]" + par1Str + "[/AD]";
}
public static String getMotdFromPingResponse(String par0Str)
{
int var1 = par0Str.indexOf("[MOTD]");
if (var1 < 0)
{
return "missing no";
}
else
{
int var2 = par0Str.indexOf("[/MOTD]", var1 + "[MOTD]".length());
return var2 < var1 ? "missing no" : par0Str.substring(var1 + "[MOTD]".length(), var2);
}
}
public static String getAdFromPingResponse(String par0Str)
{
int var1 = par0Str.indexOf("[/MOTD]");
if (var1 < 0)
{
return null;
}
else
{
int var2 = par0Str.indexOf("[/MOTD]", var1 + "[/MOTD]".length());
if (var2 >= 0)
{
return null;
}
else
{
int var3 = par0Str.indexOf("[AD]", var1 + "[/MOTD]".length());
if (var3 < 0)
{
return null;
}
else
{
int var4 = par0Str.indexOf("[/AD]", var3 + "[AD]".length());
return var4 < var3 ? null : par0Str.substring(var3 + "[AD]".length(), var4);
}
}
}
}
}

View File

@ -1,20 +0,0 @@
package net.minecraft.src;
import net.minecraft.server.MinecraftServer;
public class ThreadMinecraftServer extends Thread
{
/** Instance of MinecraftServer. */
final MinecraftServer theServer;
public ThreadMinecraftServer(MinecraftServer par1MinecraftServer, String par2Str)
{
super(par2Str);
this.theServer = par1MinecraftServer;
}
public void run()
{
this.theServer.run();
}
}

View File

@ -1,34 +0,0 @@
package net.minecraft.src;
class ThreadStatSyncherReceive extends Thread
{
final StatsSyncher syncher;
ThreadStatSyncherReceive(StatsSyncher par1StatsSyncher)
{
this.syncher = par1StatsSyncher;
}
public void run()
{
try
{
if (StatsSyncher.func_77419_a(this.syncher) != null)
{
StatsSyncher.func_77414_a(this.syncher, StatsSyncher.func_77419_a(this.syncher), StatsSyncher.func_77408_b(this.syncher), StatsSyncher.func_77407_c(this.syncher), StatsSyncher.func_77411_d(this.syncher));
}
else if (StatsSyncher.func_77408_b(this.syncher).exists())
{
StatsSyncher.func_77416_a(this.syncher, StatsSyncher.func_77410_a(this.syncher, StatsSyncher.func_77408_b(this.syncher), StatsSyncher.func_77407_c(this.syncher), StatsSyncher.func_77411_d(this.syncher)));
}
}
catch (Exception var5)
{
var5.printStackTrace();
}
finally
{
StatsSyncher.setBusy(this.syncher, false);
}
}
}

View File

@ -1,32 +0,0 @@
package net.minecraft.src;
import java.util.Map;
class ThreadStatSyncherSend extends Thread
{
final Map field_77483_a;
final StatsSyncher syncher;
ThreadStatSyncherSend(StatsSyncher par1StatsSyncher, Map par2Map)
{
this.syncher = par1StatsSyncher;
this.field_77483_a = par2Map;
}
public void run()
{
try
{
StatsSyncher.func_77414_a(this.syncher, this.field_77483_a, StatsSyncher.getUnsentDataFile(this.syncher), StatsSyncher.getUnsentTempFile(this.syncher), StatsSyncher.getUnsentOldFile(this.syncher));
}
catch (Exception var5)
{
var5.printStackTrace();
}
finally
{
StatsSyncher.setBusy(this.syncher, false);
}
}
}