base mod created

This commit is contained in:
Mohammad-Ali Minaie
2018-10-08 09:07:47 -04:00
parent 0a7700c356
commit b86dedad2f
7848 changed files with 584664 additions and 1 deletions

View File

@@ -0,0 +1,133 @@
package net.minecraft.realms;
import java.net.InetAddress;
import java.net.UnknownHostException;
import net.minecraft.client.Minecraft;
import net.minecraft.client.network.NetHandlerLoginClient;
import net.minecraft.network.EnumConnectionState;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.handshake.client.C00Handshake;
import net.minecraft.network.login.client.CPacketLoginStart;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@SideOnly(Side.CLIENT)
public class RealmsConnect
{
private static final Logger LOGGER = LogManager.getLogger();
private final RealmsScreen onlineScreen;
private volatile boolean aborted;
private NetworkManager connection;
public RealmsConnect(RealmsScreen onlineScreenIn)
{
this.onlineScreen = onlineScreenIn;
}
public void connect(final String p_connect_1_, final int p_connect_2_)
{
Realms.setConnectedToRealms(true);
(new Thread("Realms-connect-task")
{
public void run()
{
InetAddress inetaddress = null;
try
{
net.minecraftforge.fml.client.FMLClientHandler.instance().connectToRealmsServer(p_connect_1_, p_connect_2_);
inetaddress = InetAddress.getByName(p_connect_1_);
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.this.connection = NetworkManager.createNetworkManagerAndConnect(inetaddress, p_connect_2_, Minecraft.getMinecraft().gameSettings.isUsingNativeTransport());
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.this.connection.setNetHandler(new NetHandlerLoginClient(RealmsConnect.this.connection, Minecraft.getMinecraft(), RealmsConnect.this.onlineScreen.getProxy()));
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.this.connection.sendPacket(new C00Handshake(p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN, true));
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.this.connection.sendPacket(new CPacketLoginStart(Minecraft.getMinecraft().getSession().getProfile()));
}
catch (UnknownHostException unknownhostexception)
{
Realms.clearResourcePack();
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.LOGGER.error("Couldn't connect to world", (Throwable)unknownhostexception);
Realms.setScreen(new DisconnectedRealmsScreen(RealmsConnect.this.onlineScreen, "connect.failed", new TextComponentTranslation("disconnect.genericReason", new Object[] {"Unknown host '" + p_connect_1_ + "'"})));
}
catch (Exception exception)
{
Realms.clearResourcePack();
if (RealmsConnect.this.aborted)
{
return;
}
RealmsConnect.LOGGER.error("Couldn't connect to world", (Throwable)exception);
String s = exception.toString();
if (inetaddress != null)
{
String s1 = inetaddress + ":" + p_connect_2_;
s = s.replaceAll(s1, "");
}
Realms.setScreen(new DisconnectedRealmsScreen(RealmsConnect.this.onlineScreen, "connect.failed", new TextComponentTranslation("disconnect.genericReason", new Object[] {s})));
}
}
}).start();
}
public void abort()
{
this.aborted = true;
if (this.connection != null && this.connection.isChannelOpen())
{
this.connection.closeChannel(new TextComponentTranslation("disconnect.genericReason", new Object[0]));
this.connection.checkDisconnected();
}
}
public void tick()
{
if (this.connection != null)
{
if (this.connection.isChannelOpen())
{
this.connection.processReceivedPackets();
}
else
{
this.connection.checkDisconnected();
}
}
}
}