9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-27 10:59:16 +00:00
Files
Leaf/leaf-server/paper-patches/features/0061-Op-lock.patch
2025-08-06 03:10:45 +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 a5c0b4bed976c314cee3947caf1c6db78dcf53ae..1fd4bea31ed92903a3727b1f311dfaa37d5bc684 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -279,6 +279,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) {