restore player prefix after afk in playground
This commit is contained in:
3 files changed
+14
-1
No files matched your search
@@ -35,6 +35,12 @@ public interface SFCallbacks {
|
||||
l -> (p, a) -> forEach(l, i -> i.onSneaking(p, a)));
|
||||
Event<PlayerFlyingCallback> PLAYER_FLYING = EventFactory.createArrayBacked(PlayerFlyingCallback.class,
|
||||
l -> (p, t, f) -> forEach(l, i -> i.onFlyingTick(p, t, f)));
|
||||
Event<PlayerAFKCallback> PLAYER_AFK = EventFactory.createArrayBacked(PlayerAFKCallback.class,
|
||||
l -> (p, s) -> forEach(l, i -> i.onAFKStatus(p, s)));
|
||||
|
||||
interface PlayerAFKCallback {
|
||||
void onAFKStatus(ServerPlayerEntity player, boolean inAFK);
|
||||
}
|
||||
|
||||
interface PlayerFlyingCallback {
|
||||
void onFlyingTick(PlayerEntity player, long flyingTick, boolean flying);
|
||||
|
||||
@@ -56,6 +56,7 @@ public class AFKModule extends ServerModule {
|
||||
}
|
||||
|
||||
private void enAFK(ServerPlayerEntity player) {
|
||||
SFCallbacks.PLAYER_AFK.invoker().onAFKStatus(player,true);
|
||||
String playerName = player.getName().getLiteralString();
|
||||
team.getPlayerList().add(playerName);
|
||||
player.server.getPlayerManager().sendToAll(TeamS2CPacket.updateTeam(team, true));
|
||||
@@ -66,6 +67,7 @@ public class AFKModule extends ServerModule {
|
||||
}
|
||||
|
||||
public void deAFK(ServerPlayerEntity player) {
|
||||
SFCallbacks.PLAYER_AFK.invoker().onAFKStatus(player,false);
|
||||
String playerName = player.getName().getLiteralString();
|
||||
team.getPlayerList().remove(playerName);
|
||||
player.server.getPlayerManager().sendToAll(TeamS2CPacket.updateTeam(team, true));
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import io.ib67.sfcraft.ServerModule;
|
||||
import io.ib67.sfcraft.callback.SFCallbacks;
|
||||
import io.ib67.sfcraft.inject.MinecraftServerSupplier;
|
||||
import io.ib67.sfcraft.module.RoomModule;
|
||||
import io.ib67.sfcraft.registry.RoomRegistry;
|
||||
@@ -46,12 +47,17 @@ public class CreativeRoomModule extends ServerModule {
|
||||
.register(this::registerCommand);
|
||||
ServerPlayConnectionEvents.JOIN.register(this::onJoin);
|
||||
ServerPlayConnectionEvents.DISCONNECT.register(this::onDisconnect);
|
||||
SFCallbacks.PLAYER_AFK.register(this::onAFK);
|
||||
room = new CreativeSpaceRoom();
|
||||
roomRegistry.registerRoomType(CreativeSpaceRoom.class, CreativeSpaceRoom.WORLD, new CreativeSpaceFactory(room));
|
||||
roomRegistry.createRoomOf(CreativeSpaceRoom.class, CreativeSpaceRoom.IDENTIFIER, null, (String) null);
|
||||
roomModule.enqueuePregen(CreativeSpaceRoom.WORLD, CreativeSpaceRoom.SPAWN_POS);
|
||||
}
|
||||
|
||||
private void onAFK(ServerPlayerEntity player, boolean b) {
|
||||
if (!b) player.server.getPlayerManager().sendToAll(TeamS2CPacket.updateTeam(team, true));
|
||||
}
|
||||
|
||||
private void onDisconnect(ServerPlayNetworkHandler serverPlayNetworkHandler, MinecraftServer minecraftServer) {
|
||||
ServerPlayerEntity player = serverPlayNetworkHandler.getPlayer();
|
||||
if (!RoomModule.isVirtual(player.getUuid())) {
|
||||
@@ -73,7 +79,6 @@ public class CreativeRoomModule extends ServerModule {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
if (team == null) {
|
||||
|
||||
Reference in new issue
Block a user