Skip to content

Commit

Permalink
Final commit for version 2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ErdbeerbaerLP committed Jul 10, 2019
1 parent e1a278e commit c547a88
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
import java.util.List;
import java.util.Random;

import net.minecraft.server.dedicated.DedicatedServer;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class CustomMessages {

Expand Down Expand Up @@ -99,7 +97,7 @@ private static void syncConfig(boolean loadFromConfigFile, boolean readFieldsFro
serverStartingMotd.setComment("Writes an custom MOTD while server is starting\nOnly two lines will be displayed!");

Property useStartVersion = config.get(CATEGORY_MESSAGES, "UseStartVersion", true);
useStartVersion.setComment("Enable override of version?\ntrue: Shows the custom message and enables hover message\nfalse: Shows -1/-1 players online -> Hover message does not work here");
useStartVersion.setComment("Enable override of version?\ntrue: Shows the custom message and enables hover message\nfalse: Shows -1/-1 players online");

Property startVersion = config.get(CATEGORY_MESSAGES, "StartVersion", "\u00A74Starting...");
startVersion.setComment("The Message that will be displayed instead of -1/-1 Players");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
import net.minecraft.network.handshake.client.C00Handshake;
import net.minecraft.network.login.server.SPacketDisconnect;
import net.minecraft.network.play.server.SPacketChat;
import net.minecraft.network.status.server.SPacketServerInfo;
import net.minecraft.server.dedicated.DedicatedServer;
import net.minecraft.server.network.NetHandlerHandshakeTCP;
import net.minecraft.util.LazyLoadBase;
import net.minecraft.util.math.MathHelper;
Expand All @@ -65,7 +65,7 @@ public void addLanEndpoint(InetAddress address, int port) throws IOException
Class <? extends ServerSocketChannel > oclass;
LazyLoadBase <? extends EventLoopGroup > lazyloadbase;

if (Epoll.isAvailable() && this.mcServer.shouldUseNativeTransport())
if (Epoll.isAvailable() && CustomServerMessagesMod.settings.getBooleanProperty("use-native-transport", true))
{
oclass = EpollServerSocketChannel.class;
lazyloadbase = SERVER_EPOLL_EVENTLOOP;
Expand Down Expand Up @@ -112,27 +112,31 @@ public void sendPacket(Packet<?> packetIn,
networkmanager.setNetHandler(new NetHandlerHandshakeTCP(CustomNetworkSystem.this.mcServer, networkmanager) {
@Override
public void processHandshake(C00Handshake c) {
if(MinecraftForge.MC_VERSION.equals("1.12.2"))
version = 340;
else if(MinecraftForge.MC_VERSION.equals("1.12.1"))
version = 338;
else if(MinecraftForge.MC_VERSION.equals("1.12"))
version = 335;
else
version = 0;
if(CustomServerMessagesMod.serverStarted) {
if(c.getRequestedState() == EnumConnectionState.STATUS && CustomMessages.CUSTOM_MOTD_ENABLED) {
if(MinecraftForge.MC_VERSION.equals("1.12.2"))
version = 340;
else if(MinecraftForge.MC_VERSION.equals("1.12.1"))
version = 338;
else if(MinecraftForge.MC_VERSION.equals("1.12"))
version = 335;
else
version = 0;
final ServerStatusResponse statusResp = server.getServerStatusResponse();
Players statusPlayers = new Players(server.getMaxPlayers(), server.getCurrentPlayerCount());
GameProfile[] playersIn = new GameProfile[]{new GameProfile(UUID.randomUUID(),
final Players statusPlayers = new Players(server.getMaxPlayers(), server.getCurrentPlayerCount());
final GameProfile[] playersIn = new GameProfile[]{new GameProfile(UUID.randomUUID(),
CustomMessages.CUSTOM_MOTD_PLAYER_HOVER
.replace("%online%", server.getCurrentPlayerCount()+"")
.replace("%max%", server.getMaxPlayers()+"")
.replace("%gamemode%", server.getGameType().getName())
.replace("%playerlist%", getPlayerList())
)};
statusPlayers.setPlayers(playersIn);
statusResp.setVersion(new Version(CustomMessages.CUSTOM_MOTD_USE_VERSION?CustomMessages.CUSTOM_MOTD_VERSION:MinecraftForge.MC_VERSION, CustomMessages.CUSTOM_MOTD_USE_VERSION?Integer.MAX_VALUE:version));
statusResp.setVersion(new Version(CustomMessages.CUSTOM_MOTD_USE_VERSION?
CustomMessages.CUSTOM_MOTD_VERSION
.replace("%online%", server.getCurrentPlayerCount()+"")
.replace("%max%", server.getMaxPlayers()+"")
:MinecraftForge.MC_VERSION, CustomMessages.CUSTOM_MOTD_USE_VERSION?Integer.MAX_VALUE:version));
statusResp.setPlayers(statusPlayers);
statusResp.setServerDescription(new TextComponentString(CustomMessages.getRandomMOTD().replace("%online%", server.getCurrentPlayerCount()+"").replace("%max%", ""+server.getMaxPlayers())));
server.applyServerIconToResponse(statusResp);
Expand All @@ -141,27 +145,23 @@ else if(MinecraftForge.MC_VERSION.equals("1.12"))
}
else
{
if(MinecraftForge.MC_VERSION.equals("1.12.2"))
version = 340;
else if(MinecraftForge.MC_VERSION.equals("1.12.1"))
version = 338;
else if(MinecraftForge.MC_VERSION.equals("1.12"))
version = 335;
else
version = 0;
final ServerStatusResponse statusResp = new ServerStatusResponse();
Players statusPlayers = new Players(-1, -1);
GameProfile[] playersIn = new GameProfile[]{new GameProfile(UUID.randomUUID(), CustomMessages.START_VERSION_HOVER)};
DedicatedServer.allowPlayerLogins = true; //allow the status message to show up
final ServerStatusResponse statusResp = server.getServerStatusResponse();
final Players statusPlayers = new Players(-1, -1);
final GameProfile[] playersIn = new GameProfile[]{new GameProfile(UUID.randomUUID(), CustomMessages.START_VERSION_HOVER)};
statusPlayers.setPlayers(playersIn);
statusResp.setVersion(new Version(CustomMessages.USE_VERSION?CustomMessages.START_VERSION:MinecraftForge.MC_VERSION, CustomMessages.USE_VERSION?Integer.MAX_VALUE:version));
statusResp.setPlayers(statusPlayers);
statusResp.setServerDescription(new TextComponentString(CustomMessages.START_MOTD));
if(CustomMessages.LOG_START_DISCONNECT) FMLLog.log.info("Disconnecting Player: Server is starting");
TextComponentString startKick = new TextComponentString(CustomMessages.START_KICK_MSG);
if(c.getRequestedState() == EnumConnectionState.STATUS) networkManager.sendPacket(new SPacketServerInfo(statusResp));
else if(c.getRequestedState() == EnumConnectionState.LOGIN) networkManager.sendPacket(new SPacketDisconnect(startKick));
else System.out.println("Invalid state: "+c.getRequestedState());
networkManager.closeChannel(startKick);
server.applyServerIconToResponse(statusResp);
final TextComponentString startKick = new TextComponentString(CustomMessages.START_KICK_MSG);

if(c.getRequestedState() != EnumConnectionState.STATUS) {
if(CustomMessages.LOG_START_DISCONNECT) FMLLog.log.info("Disconnecting Player: Server is starting");
networkManager.sendPacket(new SPacketDisconnect(startKick));
networkManager.closeChannel(startKick);
}
super.processHandshake(c);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@

import org.apache.logging.log4j.Logger;

import com.google.common.eventbus.Subscribe;

import net.minecraft.crash.CrashReport;
import net.minecraft.network.NetworkSystem;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.dedicated.PropertyManager;
Expand All @@ -19,7 +16,6 @@
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
Expand All @@ -35,20 +31,20 @@ public class CustomServerMessagesMod {
static boolean serverStarted = false;
private static boolean preServer = true;
private static final Logger LOGGER = FMLLog.log;
private PropertyManager settings;
static PropertyManager settings;
private final NetworkSystem s = new CustomNetworkSystem();

{
CustomMessages.preInit();
final MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();

LOGGER.info("Loading properties");
this.settings = new PropertyManager(new File("server.properties"));
CustomServerMessagesMod.settings = new PropertyManager(new File("server.properties"));

ObfuscationReflectionHelper.setPrivateValue(MinecraftServer.class, server, s, "networkSystem", "field_147144_o");
InetAddress inetaddress = null;
final String ip = this.settings.getStringProperty("server-ip", "");
final int port = this.settings.getIntProperty("server-port", 25565);
final String ip = CustomServerMessagesMod.settings.getStringProperty("server-ip", "");
final int port = CustomServerMessagesMod.settings.getIntProperty("server-port", 25565);
if (!ip.isEmpty())
{
try {
Expand Down Expand Up @@ -82,10 +78,6 @@ public void run() {
}.start();
}
@Mod.EventHandler
public void prePreInit(FMLConstructionEvent ev) {
System.out.println("constructionevent");
}
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent ev) {
Thread r = new Thread() {
@SuppressWarnings("static-access")
Expand All @@ -94,7 +86,7 @@ public void run() {
while(true){
if(CustomMessages.DEV_AUTO_RELOAD_CONFIG_SEC != 0){
try {
this.sleep(TimeUnit.SECONDS.toMillis(CustomMessages.DEV_AUTO_RELOAD_CONFIG_SEC));
Thread.sleep(TimeUnit.SECONDS.toMillis(CustomMessages.DEV_AUTO_RELOAD_CONFIG_SEC));
CustomMessages.preInit();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
Expand Down Expand Up @@ -126,7 +118,7 @@ public void init(FMLInitializationEvent ev) {
public void postInit(FMLPostInitializationEvent ev) {

}
@Subscribe
@Mod.EventHandler
public void onServerStarting(FMLServerStartingEvent event){
event.registerServerCommand(new ReloadCommand());
if(CustomMessages.HELP_LIST.length != 0) event.registerServerCommand(new HelpCommand());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ public String getUsage(ICommandSender sender) {

@Override
public List<String> getAliases() {
// TODO Auto-generated method stub
return new ArrayList<String>();
}

Expand Down

0 comments on commit c547a88

Please sign in to comment.