9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-30 20:39:21 +00:00
Files
Leaf/leaf-server/paper-patches/features/0062-Op-lock.patch
Dreeam 3268a57db8 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@6bb9dc6b Normalize and trim spaces in Player#performCommand (#12892)
PaperMC/Paper@840dd9e1 Fix dialog preconditions (#12895)
PaperMC/Paper@9ccc51df Fix legacy pearls forgetting owner on disconnect (#12884)
PaperMC/Paper@57c13137 Allow to change despawnInPeaceful (#12880)
PaperMC/Paper@a5763618  Add WorldDifficultyChangeEvent (#12471)
PaperMC/Paper@dbc367ba Keep non-container slots synced when in container view (#12881)
2025-07-27 16:36:16 +08:00

59 lines
2.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Taiyou06 <kaandindar21@gmail.com>
Date: Tue, 22 Jul 2025 22:33:07 +0200
Subject: [PATCH] Op lock
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 3b516f57854f6482b3748d0c3a037fdeacfe78ab..b4e393da9d445aa7779868310cabfebff78f64dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -100,10 +100,14 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@Override
public void setOp(boolean value) {
+ if (org.dreeam.leaf.config.modules.misc.OpLock.preventOpChanges) {
+ Bukkit.getLogger().severe("[Leaf] A plugin tried to change the player op! Dumping stacktrace now.");
+ Thread.dumpStack();
+ return;
+ }
if (value == this.isOp()) {
return;
}
-
if (value) {
this.server.getHandle().op(this.profile);
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index b02826fc7390eb1fd7c2a1b597a5f1abf156b1c1..736563bd3a462911ec99a8158fc5bd3e4115aa62 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -306,6 +306,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@Override
public void setOp(boolean value) {
+ if (org.dreeam.leaf.config.modules.misc.OpLock.preventOpChanges) {
+ org.bukkit.Bukkit.getLogger().severe("[Leaf] A plugin tried to change the player op! Dumping stacktrace now.");
+ Thread.dumpStack();
+ return;
+ }
this.op = value;
this.perm.recalculatePermissions();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8da048dd1ad9684ea588a2d67cc8c41fc346099b..254c7046dfdd858b205e31feeb1c75759b322c7c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -278,6 +278,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
@Override
public void setOp(boolean value) {
+ if (org.dreeam.leaf.config.modules.misc.OpLock.preventOpChanges) {
+ Bukkit.getLogger().severe("[Leaf] A plugin tried to change the player op! Dumping stacktrace now.");
+ Thread.dumpStack();
+ return;
+ }
if (value == this.isOp()) return;
if (value) {