mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-24 01:19:19 +00:00
63 lines
3.5 KiB
Diff
63 lines
3.5 KiB
Diff
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 a1ce0cce055ad5c92b0f20760471795f08f0c886..6a5025e54c4bf4396f1f18a81d9db912848a2545 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
@@ -43,6 +43,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;
|
|
|
|
@@ -230,6 +231,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 5deb90e39bbdf722f63be6abdad28aca46cb1458..6ef5bae104cff51ada4efc631b93067067c71941 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);
|
|
}
|
|
}
|
|
|
|
@@ -203,6 +205,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 {
|
|
|