9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 20:09:23 +00:00

Some fixes

This commit is contained in:
Lumine1909
2025-07-03 01:22:09 -07:00
parent b495be2274
commit 72193e2b2c
8 changed files with 34 additions and 21 deletions

View File

@@ -1,7 +1,9 @@
package org.leavesmc.leaves.bot;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.util.ProblemReporter;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.storage.ValueInput;
import java.util.Optional;
@@ -9,5 +11,5 @@ public interface IPlayerDataStorage {
void save(Player player);
Optional<CompoundTag> load(Player player);
Optional<ValueInput> load(Player player, ProblemReporter reporter);
}

View File

@@ -41,6 +41,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.level.portal.TeleportTransition;
import net.minecraft.world.level.storage.ValueInput;
import net.minecraft.world.level.storage.ValueOutput;
import net.minecraft.world.phys.EntityHitResult;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -137,7 +139,7 @@ public class ServerBot extends ServerPlayer {
this.notSleepTicks++;
}
if (LeavesConfig.modify.fakeplayer.regenAmount > 0.0 && server.getTickCount() % 20 == 0) {
if (LeavesConfig.modify.fakeplayer.regenAmount > 0.0 && getServer().getTickCount() % 20 == 0) {
float health = getHealth();
float maxHealth = getMaxHealth();
float regenAmount = (float) (LeavesConfig.modify.fakeplayer.regenAmount * 20);
@@ -194,7 +196,7 @@ public class ServerBot extends ServerPlayer {
this.updateIsUnderwater();
if (this.getConfigValue(Configs.TICK_TYPE) == TickType.NETWORK) {
this.server.scheduleOnMain(this::runAction);
this.getServer().scheduleOnMain(this::runAction);
}
this.livingEntityTick();
@@ -296,7 +298,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.server.server.getPluginManager().callEvent(event);
this.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;
@@ -356,7 +358,7 @@ public class ServerBot extends ServerPlayer {
}
@Override
public void addAdditionalSaveData(@NotNull CompoundTag nbt) {
public void addAdditionalSaveData(@NotNull ValueOutput nbt) {
super.addAdditionalSaveData(nbt);
nbt.putBoolean("isShiftKeyDown", this.isShiftKeyDown());
@@ -373,7 +375,7 @@ public class ServerBot extends ServerPlayer {
createNbt.put("skin", skin);
}
nbt.put("createStatus", createNbt);
nbt.store("createStatus", CompoundTag.CODEC, createNbt);
if (!this.actions.isEmpty()) {
ListTag actionNbt = new ListTag();
@@ -393,11 +395,11 @@ public class ServerBot extends ServerPlayer {
}
@Override
public void readAdditionalSaveData(@NotNull CompoundTag nbt) {
public void readAdditionalSaveData(@NotNull ValueInput nbt) {
super.readAdditionalSaveData(nbt);
this.setShiftKeyDown(nbt.getBoolean("isShiftKeyDown").orElse(false));
this.setShiftKeyDown(nbt.getBooleanOr("isShiftKeyDown", false));
CompoundTag createNbt = nbt.getCompound("createStatus").orElseThrow();
CompoundTag createNbt = nbt.read("createStatus", CompoundTag.CODEC).orElseThrow();
BotCreateState.Builder createBuilder = BotCreateState.builder(createNbt.getString("realName").orElseThrow(), null).name(createNbt.getString("name").orElseThrow());
String[] skin = null;
@@ -477,7 +479,7 @@ public class ServerBot extends ServerPlayer {
}
public void renderAll() {
this.server.getPlayerList().getPlayers().forEach(
this.getServer().getPlayerList().getPlayers().forEach(
player -> {
this.sendPlayerInfo(player);
this.sendFakeDataIfNeed(player, false);
@@ -486,7 +488,7 @@ public class ServerBot extends ServerPlayer {
}
private void sendPacket(Packet<?> packet) {
this.server.getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
this.getServer().getPlayerList().getPlayers().forEach(player -> player.connection.send(packet));
}
@Override
@@ -495,7 +497,7 @@ public class ServerBot extends ServerPlayer {
Component defaultMessage = this.getCombatTracker().getDeathMessage();
BotDeathEvent event = new BotDeathEvent(this.getBukkitEntity(), PaperAdventure.asAdventure(defaultMessage), flag);
this.server.server.getPluginManager().callEvent(event);
this.getServer().server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
if (this.getHealth() <= 0) {
@@ -508,10 +510,10 @@ 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.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
this.getServer().getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(deathMessage), false);
}
this.server.getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
this.getServer().getBotList().removeBot(this, BotRemoveEvent.RemoveReason.DEATH, null, false);
}
public void removeTab() {

View File

@@ -21,7 +21,7 @@ public enum MobSpawnerCooldownProvider implements StreamServerDataProvider<Block
@Override
public @Nullable Integer streamData(@NotNull BlockAccessor accessor) {
TrialSpawnerBlockEntity spawner = (TrialSpawnerBlockEntity) accessor.getBlockEntity();
TrialSpawnerData spawnerData = spawner.getTrialSpawner().getData();
TrialSpawnerConfig spawnerData = spawner.getTrialSpawner().getData();
ServerLevel level = ((ServerLevel) accessor.getLevel());
if (spawner.getTrialSpawner().canSpawnInLevel(level) && level.getGameTime() < spawnerData.cooldownEndsAt) {
return (int) (spawnerData.cooldownEndsAt - level.getGameTime());

View File

@@ -30,6 +30,7 @@ import org.leavesmc.leaves.protocol.servux.litematics.LitematicaSchematic;
import org.leavesmc.leaves.protocol.servux.litematics.container.LitematicaBlockStateContainer;
import org.leavesmc.leaves.protocol.servux.litematics.placement.SchematicPlacement;
import org.leavesmc.leaves.protocol.servux.litematics.placement.SubRegionPlacement;
import org.leavesmc.leaves.util.TagUtil;
import javax.annotation.Nullable;
import java.util.List;
@@ -210,7 +211,7 @@ public class SchematicPlacingUtils {
NbtUtils.writeBlockPosToTag(pos, teNBT);
try {
te.loadWithComponents(teNBT, MinecraftServer.getServer().registryAccess());
TagUtil.loadTileWithComponents(te, teNBT);
} catch (Exception e) {
ServuxProtocol.LOGGER.warn("Failed to load BlockEntity data for {} @ {}", state, pos);
}

View File

@@ -77,7 +77,7 @@ public class ServerPhotographer extends ServerPlayer {
super.tick();
super.doTick();
if (this.server.getTickCount() % 10 == 0) {
if (this.getServer().getTickCount() % 10 == 0) {
connection.resetPosition();
this.level().chunkSource.move(this);
}
@@ -129,7 +129,7 @@ public class ServerPhotographer extends ServerPlayer {
super.remove(RemovalReason.KILLED);
photographers.remove(this);
this.recorder.stop();
this.server.getPlayerList().removePhotographer(this);
this.getServer().getPlayerList().removePhotographer(this);
LeavesLogger.LOGGER.info("Photographer " + createState.id + " removed");

View File

@@ -121,8 +121,8 @@ public class ElytraAeronauticsHelper {
serverPlayer.sendSystemMessage(Component.literal(LeavesConfig.modify.elytraAeronautics.startMessage), true);
}
try {
PlatformHooks.get().removePlayerFromDistanceMaps(serverPlayer.serverLevel(), serverPlayer);
serverPlayer.serverLevel().chunkSource.chunkMap.getDistanceManager().removePlayer(serverPlayer.getLastSectionPos(), serverPlayer);
PlatformHooks.get().removePlayerFromDistanceMaps(serverPlayer.level(), serverPlayer);
serverPlayer.level().chunkSource.chunkMap.getDistanceManager().removePlayer(serverPlayer.getLastSectionPos(), serverPlayer);
} catch (Exception ignored) {
}
}

View File

@@ -42,7 +42,7 @@ import java.util.regex.Pattern;
public class ServerI18nUtil {
private static final Logger logger = LogUtils.getClassLogger();
private static final String VERSION = DetectedVersion.BUILT_IN.getName();
private static final String VERSION = DetectedVersion.BUILT_IN.name();
private static final String BASE_PATH = "cache/leaves/" + VERSION + "/";
private static final String defaultLeavesLangPath = "/assets/leaves/lang/en_us.json";
private static final String manifestUrl = "https://launchermeta.mojang.com/mc/game/version_manifest.json";

View File

@@ -60,4 +60,12 @@ public class TagUtil {
entity.load(input);
}
public static void loadTileWithComponents(BlockEntity entity, CompoundTag tag) {
if (entity == null) {
return;
}
TagValueInput input = TagFactory.input(tag);
entity.loadWithComponents(input);
}
}