mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-29 20:09:23 +00:00
Some fixes
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -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) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user