9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-30 04:19:30 +00:00

feat: fix some error

This commit is contained in:
MC_XiaoHei
2025-09-25 17:21:54 +08:00
parent 1dea55c329
commit 60ff1db36d
16 changed files with 91 additions and 59 deletions

View File

@@ -81,6 +81,8 @@ import java.util.Objects;
import java.util.UUID;
import java.util.function.Predicate;
import static net.minecraft.server.MinecraftServer.getServer;
public class ServerBot extends ServerPlayer {
private final List<ServerBotAction<?>> actions;
@@ -199,7 +201,7 @@ public class ServerBot extends ServerPlayer {
this.notSleepTicks = 0;
}
if (!this.level().isClientSide && this.level().isBrightOutside()) {
if (!this.level().isClientSide() && this.level().isBrightOutside()) {
this.stopSleepInBed(false, true);
}
} else if (this.sleepCounter > 0) {
@@ -212,7 +214,7 @@ public class ServerBot extends ServerPlayer {
this.updateIsUnderwater();
if (this.getConfigValue(Configs.TICK_TYPE) == TickType.NETWORK) {
this.getServer().scheduleOnMain(this::runAction);
getServer().scheduleOnMain(this::runAction);
}
this.livingEntityTick();
@@ -350,7 +352,7 @@ public class ServerBot extends ServerPlayer {
if (LeavesConfig.modify.fakeplayer.canOpenInventory) {
if (player instanceof ServerPlayer player1 && player.getMainHandItem().isEmpty()) {
BotInventoryOpenEvent event = new BotInventoryOpenEvent(this.getBukkitEntity(), player1.getBukkitEntity());
this.getServer().server.getPluginManager().callEvent(event);
getServer().server.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
player.openMenu(new SimpleMenuProvider((i, inventory, p) -> ChestMenu.sixRows(i, inventory, this.container), this.getDisplayName()));
return InteractionResult.SUCCESS;
@@ -479,17 +481,17 @@ public class ServerBot extends ServerPlayer {
}
public void renderInfo() {
this.getServer().getPlayerList().getPlayers().forEach(this::sendPlayerInfo);
getServer().getPlayerList().getPlayers().forEach(this::sendPlayerInfo);
}
public void renderData() {
this.getServer().getPlayerList().getPlayers().forEach(
getServer().getPlayerList().getPlayers().forEach(
player -> this.sendFakeDataIfNeed(player, false)
);
}
private void sendPacket(Packet<?> packet) {
this.getServer().getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
getServer().getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
}
@Override
@@ -498,7 +500,7 @@ public class ServerBot extends ServerPlayer {
Component defaultMessage = this.getCombatTracker().getDeathMessage();
BotDeathEvent event = new BotDeathEvent(this.getBukkitEntity(), PaperAdventure.asAdventure(defaultMessage), flag);
this.getServer().server.getPluginManager().callEvent(event);
getServer().server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
if (this.getHealth() <= 0) {
@@ -511,15 +513,15 @@ public class ServerBot extends ServerPlayer {
net.kyori.adventure.text.Component deathMessage = event.deathMessage();
if (event.isSendDeathMessage() && deathMessage != null && !deathMessage.equals(net.kyori.adventure.text.Component.empty())) {
this.getServer().getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
getServer().getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
}
this.getServer().getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
getServer().getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
}
@Override
public boolean startRiding(@NotNull Entity vehicle, boolean force) {
if (super.startRiding(vehicle, force)) {
public boolean startRiding(@NotNull Entity vehicle, boolean force, boolean sendGameEvent) {
if (super.startRiding(vehicle, force, sendGameEvent)) {
if (vehicle.getControllingPassenger() == this) { // see net.minecraft.server.networkServerGamePacketListenerImpl#handleMoveVehicle
this.setDeltaMovement(Vec3.ZERO);
this.setYRot(vehicle.yRotO);

View File

@@ -18,6 +18,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
import static net.minecraft.server.MinecraftServer.getServer;
public class ServerLookAction extends ServerBotAction<ServerLookAction> {
private static final Vector ZERO_VECTOR = new Vector(0, 0, 0);
@@ -29,8 +31,8 @@ public class ServerLookAction extends ServerBotAction<ServerLookAction> {
public ServerLookAction() {
super("look", CommandArgument.of(CommandArgumentType.STRING, CommandArgumentType.DOUBLE, CommandArgumentType.DOUBLE), ServerLookAction::new);
this.setSuggestion(0, (sender, arg) -> sender instanceof Player player ?
Pair.of(Stream.concat(Arrays.stream(MinecraftServer.getServer().getPlayerNames()), Stream.of(DF.format(player.getX()))).toList(), "<Player>|<X>") :
Pair.of(Stream.concat(Arrays.stream(MinecraftServer.getServer().getPlayerNames()), Stream.of("0")).toList(), "<Player>|<X>")
Pair.of(Stream.concat(Arrays.stream(getServer().getPlayerNames()), Stream.of(DF.format(player.getX()))).toList(), "<Player>|<X>") :
Pair.of(Stream.concat(Arrays.stream(getServer().getPlayerNames()), Stream.of("0")).toList(), "<Player>|<X>")
);
this.setSuggestion(1, (sender, arg) -> sender instanceof Player player ? Pair.of(List.of(DF.format(player.getY())), "<Y>") : Pair.of(List.of("0"), "<Y>"));
this.setSuggestion(2, (sender, arg) -> sender instanceof Player player ? Pair.of(List.of(DF.format(player.getZ())), "<Z>") : Pair.of(List.of("0"), "<Z>"));
@@ -90,7 +92,7 @@ public class ServerLookAction extends ServerBotAction<ServerLookAction> {
@Override
public void loadCommand(ServerPlayer player, @NotNull CommandArgumentResult result) {
String nameOrX = result.readString(player.getScoreboardName());
ServerPlayer player1 = player.getServer().getPlayerList().getPlayerByName(nameOrX);
ServerPlayer player1 = getServer().getPlayerList().getPlayerByName(nameOrX);
if (player1 != null) {
this.setTarget(player1);
return;

View File

@@ -74,14 +74,14 @@ public class LeavesMinecraftSessionService extends PaperMinecraftSessionService
final HasJoinedMinecraftServerResponse response = client.get(url, HasJoinedMinecraftServerResponse.class);
if (response != null && response.id() != null) {
if (LeavesConfig.mics.yggdrasil.loginProtect && cache != null) {
if (!response.id().equals(cache.getId())) {
if (!response.id().equals(cache.id())) {
continue;
}
}
final GameProfile result1 = new GameProfile(response.id(), profileName);
if (response.properties() != null) {
result1.getProperties().putAll(response.properties());
result1.properties().putAll(response.properties());
}
final Set<ProfileActionType> profileActions = response.profileActions().stream()

View File

@@ -54,7 +54,7 @@ public class AppleSkinProtocol implements LeavesProtocol {
@ProtocolHandler.MinecraftRegister(onlyNamespace = true)
public static void onPlayerSubscribed(@NotNull Context context, ResourceLocation id) {
subscribedChannels.computeIfAbsent(context.profile().getId(), k -> new HashSet<>()).add(id.getPath());
subscribedChannels.computeIfAbsent(context.profile().id(), k -> new HashSet<>()).add(id.getPath());
}
@ProtocolHandler.Ticker

View File

@@ -69,8 +69,8 @@ public class BBORProtocol implements LeavesProtocol {
ServerLevel overworld = MinecraftServer.getServer().overworld();
ProtocolUtils.sendBytebufPacket(player, INITIALIZE_CLIENT, buf -> {
buf.writeLong(overworld.getSeed());
buf.writeInt(overworld.levelData.getSpawnPos().getX());
buf.writeInt(overworld.levelData.getSpawnPos().getZ());
buf.writeInt(overworld.levelData.getRespawnData().pos().getX());
buf.writeInt(overworld.levelData.getRespawnData().pos().getZ());
});
sendStructureList(player);
}

View File

@@ -48,7 +48,7 @@ public class CommonUtil {
return null;
}
Optional<GameProfile> optional = SkullBlockEntity.fetchGameProfile(String.valueOf(uuid)).getNow(Optional.empty());
return optional.map(GameProfile::getName).orElse(null);
return optional.map(GameProfile::name).orElse(null);
}

View File

@@ -164,7 +164,7 @@ public class ServuxHudDataProtocol implements LeavesProtocol {
private static void putWorldData(@NotNull CompoundTag metadata) {
ServerLevel level = MinecraftServer.getServer().overworld();
BlockPos spawnPos = level.levelData.getSpawnPos();
BlockPos spawnPos = level.levelData.getRespawnData().pos();
metadata.putInt("spawnPosX", spawnPos.getX());
metadata.putInt("spawnPosY", spawnPos.getY());
metadata.putInt("spawnPosZ", spawnPos.getZ());

View File

@@ -35,6 +35,8 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import static net.minecraft.server.MinecraftServer.getServer;
// Powered by Servux(https://github.com/sakura-ryoko/servux)
@LeavesProtocol.Register(namespace = "servux")
@@ -69,7 +71,7 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
@ProtocolHandler.Ticker
public static void tick() {
MinecraftServer server = MinecraftServer.getServer();
MinecraftServer server = getServer();
int tickCounter = server.getTickCount();
retainDistance = server.getPlayerList().getViewDistance() + 2;
for (ServerPlayer player : players.values()) {
@@ -79,8 +81,8 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
}
public static void onStartedWatchingChunk(ServerPlayer player, LevelChunk chunk) {
MinecraftServer server = player.getServer();
if (players.containsKey(player.getId()) && server != null) {
MinecraftServer server = getServer();
if (players.containsKey(player.getId())) {
addChunkTimeoutIfHasReferences(player.getUUID(), chunk, server.getTickCount());
}
}
@@ -119,7 +121,7 @@ public class ServuxStructuresProtocol implements LeavesProtocol {
LeavesLogger.LOGGER.warning(player.getScoreboardName() + " re-register servux:structures");
}
MinecraftServer server = MinecraftServer.getServer();
MinecraftServer server = getServer();
sendMetaData(player);
initialSyncStructures(player, player.moonrise$getViewDistanceHolder().getViewDistances().sendViewDistance() + 2, server.getTickCount());
}

View File

@@ -53,7 +53,7 @@ public class EntityUtils {
Entity passenger = createEntityAndPassengersFromNBT(tagList.getCompoundOrEmpty(i), world);
if (passenger != null) {
passenger.startRiding(entity, true);
passenger.startRiding(entity, true, true);
}
}
}

View File

@@ -55,7 +55,7 @@ public class CommunicationManager implements LeavesProtocol {
final VersionHandshakeServer hi = new VersionHandshakeServer(newPlayer);
playerMap.put(newPlayer, player);
final GameProfile profile = player.getGameProfile();
SyncmaticaProtocol.getPlayerIdentifierProvider().updateName(profile.getId(), profile.getName());
SyncmaticaProtocol.getPlayerIdentifierProvider().updateName(profile.id(), profile.name());
startExchangeUnchecked(hi);
}
@@ -149,7 +149,7 @@ public class CommunicationManager implements LeavesProtocol {
final UUID placementId = packetBuf.readUUID();
final ServerPlacement placement = SyncmaticaProtocol.getSyncmaticManager().getPlacement(placementId);
if (placement != null) {
if (!getGameProfile(source).getId().equals(placement.getOwner().uuid)) {
if (!getGameProfile(source).id().equals(placement.getOwner().uuid)) {
return;
}

View File

@@ -22,7 +22,7 @@ public class PlayerIdentifierProvider {
}
public PlayerIdentifier createOrGet(final @NotNull GameProfile gameProfile) {
return createOrGet(gameProfile.getId(), gameProfile.getName());
return createOrGet(gameProfile.id(), gameProfile.name());
}
public PlayerIdentifier createOrGet(final UUID uuid, final String playerName) {

View File

@@ -24,6 +24,8 @@ import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CopyOnWriteArrayList;
import static net.minecraft.server.MinecraftServer.getServer;
public class ServerPhotographer extends ServerPlayer {
private static final List<ServerPhotographer> photographers = new CopyOnWriteArrayList<>();
@@ -49,7 +51,7 @@ public class ServerPhotographer extends ServerPlayer {
throw new IllegalArgumentException(state.id + " is a invalid photographer id");
}
MinecraftServer server = MinecraftServer.getServer();
MinecraftServer server = getServer();
ServerLevel world = ((CraftWorld) state.loc.getWorld()).getHandle();
GameProfile profile = new GameProfile(UUID.randomUUID(), state.id);
@@ -62,7 +64,7 @@ public class ServerPhotographer extends ServerPlayer {
photographer.createState = state;
photographer.recorder.start();
MinecraftServer.getServer().getPlayerList().placeNewPhotographer(photographer.recorder, photographer, world);
getServer().getPlayerList().placeNewPhotographer(photographer.recorder, photographer, world);
photographer.level().chunkSource.move(photographer);
photographer.setInvisible(true);
photographers.add(photographer);
@@ -79,7 +81,7 @@ public class ServerPhotographer extends ServerPlayer {
this.lastPos = this.blockPosition();
super.tick();
if (this.getServer().getTickCount() % 10 == 0) {
if (getServer().getTickCount() % 10 == 0) {
connection.resetPosition();
this.level().chunkSource.move(this);
}
@@ -131,7 +133,7 @@ public class ServerPhotographer extends ServerPlayer {
super.remove(RemovalReason.KILLED);
photographers.remove(this);
this.recorder.stop();
this.getServer().getPlayerList().removePhotographer(this);
getServer().getPlayerList().removePhotographer(this);
LeavesLogger.LOGGER.info("Photographer " + createState.id + " removed");