mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-27 10:59:16 +00:00
59 lines
2.8 KiB
Diff
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) {
|