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