Files
CustomNPC-Plus/src/main/java/noppes/npcs/ServerTickHandler.java
T

75 lines
2.5 KiB
Java
Raw Normal View History

2018-09-13 12:03:28 -04:00
package noppes.npcs;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
2025-01-29 13:20:04 -05:00
import kamkeel.npcs.controllers.ProfileController;
2025-01-30 09:26:04 -05:00
import kamkeel.npcs.controllers.SyncController;
import net.minecraft.entity.player.EntityPlayerMP;
2023-01-12 21:33:06 -05:00
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.WorldServer;
import noppes.npcs.client.AnalyticsTracking;
import noppes.npcs.controllers.data.PlayerData;
2025-06-28 10:06:14 +03:00
import noppes.npcs.scripted.NpcAPI;
2023-01-12 21:33:06 -05:00
import java.net.InetAddress;
import java.net.UnknownHostException;
2018-09-13 12:03:28 -04:00
public class ServerTickHandler {
2025-06-28 10:06:14 +03:00
@SubscribeEvent
public void onServerTick(TickEvent.ServerTickEvent event) {
if (event.phase == Phase.END) {
NpcAPI.actionManager.tick();
2025-06-28 10:06:14 +03:00
}
}
2025-03-13 17:14:45 -04:00
@SubscribeEvent
2025-06-28 10:06:14 +03:00
public void onWorldTick(TickEvent.WorldTickEvent event) {
2025-03-13 17:14:45 -04:00
if (event.phase == Phase.START) {
NPCSpawning.findChunksForSpawning((WorldServer) event.world);
}
}
2025-03-13 17:14:45 -04:00
private String serverName = null;
2018-09-13 12:03:28 -04:00
2025-03-13 17:14:45 -04:00
@SubscribeEvent
public void playerLogin(PlayerEvent.PlayerLoggedInEvent event) {
EntityPlayerMP player = (EntityPlayerMP) event.player;
2025-03-13 17:14:45 -04:00
if (serverName == null) {
String e = "local";
MinecraftServer server = MinecraftServer.getServer();
if (server.isDedicatedServer()) {
try {
e = InetAddress.getByName(server.getServerHostname()).getCanonicalHostName();
} catch (UnknownHostException e1) {
e = MinecraftServer.getServer().getServerHostname();
}
if (server.getPort() != 25565)
e += ":" + server.getPort();
}
if (e == null || e.startsWith("192.168") || e.contains("127.0.0.1") || e.startsWith("localhost"))
e = "local";
serverName = e;
}
AnalyticsTracking.sendData(event.player, "join", serverName);
PlayerData playerData = PlayerData.get(event.player);
2025-03-13 17:14:45 -04:00
if (playerData != null) {
playerData.onLogin();
}
2025-01-30 09:26:04 -05:00
SyncController.syncPlayer(player);
2025-02-10 21:41:54 -05:00
SyncController.syncEffects(player);
ProfileController.Instance.login(player);
2025-03-13 17:14:45 -04:00
}
2025-03-13 17:14:45 -04:00
@SubscribeEvent
public void playerLogout(PlayerEvent.PlayerLoggedOutEvent event) {
PlayerData playerData = PlayerData.get(event.player);
2025-03-13 17:14:45 -04:00
if (playerData != null) {
playerData.onLogout();
}
}
2018-09-13 12:03:28 -04:00
}