From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Sat, 25 Jun 2022 18:04:35 +0800 Subject: [PATCH] Spectator dont get Advancement diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java index 8873e12cbd3d6f9071efedb35ea3c69c78033d78..1fdaa8a9993dd6881877a3b00b02487a09a34cbe 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java @@ -47,6 +47,7 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.players.PlayerList; import net.minecraft.util.datafix.DataFixTypes; import net.minecraft.world.level.GameRules; +import net.minecraft.world.level.GameType; import org.slf4j.Logger; import top.leavesmc.leaves.bot.ServerBot; @@ -278,6 +279,11 @@ public class PlayerAdvancements { return false; } // Leaves end - bot can't get advancement + // Leaves start - spectator don't get advancement + if (top.leavesmc.leaves.LeavesConfig.spectatorDontGetAdvancement && player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR) { + return false; + } + // Leaves end - spectator don't get advancement boolean flag = false; AdvancementProgress advancementprogress = this.getOrStartProgress(advancement); boolean flag1 = advancementprogress.isDone(); diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java index 4b10a17d000e06bf0e3e1088eaf6553af0cd2068..07911d9286b785f63fc784e1363370c86b719a9d 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -107,6 +107,7 @@ public final class LeavesConfig { shearsInDispenserCanZeroAmount = config.getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount); redstoneShearsWrench = config.getBoolean("settings.redstone-shears-wrench", redstoneShearsWrench); buddingAmethystCanPushByPiston = config.getBoolean("settings.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston); + spectatorDontGetAdvancement = config.getBoolean("settings.spectator-dont-get-advancement", spectatorDontGetAdvancement); config.set("settings.snowball-and-egg-can-knockback-player", null); config.set("settings.player-can-edit-sign", null); @@ -114,6 +115,7 @@ public final class LeavesConfig { config.set("settings.shears-in-dispenser-can-zero-amount", null); config.set("settings.redstone-shears-wrench", null); config.set("settings.budding-amethyst-can-push-by-piston", null); + config.set("settings.spectator-dont-get-advancement", null); } } @@ -197,6 +199,11 @@ public final class LeavesConfig { private static void buddingAmethystCanPushByPiston() { buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston); } + + public static boolean spectatorDontGetAdvancement = false; + private static void spectatorDontGetAdvancement() { + spectatorDontGetAdvancement = getBoolean("settings.modify.spectator-dont-get-advancement", spectatorDontGetAdvancement); + } public static final class WorldConfig {