Update our patches for Spigot changes
Dieser Commit ist enthalten in:
Ursprung
c9daa16dac
Commit
137dfd0b4f
@ -1,11 +1,11 @@
|
|||||||
From 1ca95f1f1dc4022158def293a6a1f6d0b3f59132 Mon Sep 17 00:00:00 2001
|
From 5068a5667ecaf1150afc13415600636945d7bfbd Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <Zbob750@live.com>
|
From: Zach Brown <Zbob750@live.com>
|
||||||
Date: Tue, 2 Dec 2014 00:35:01 -0600
|
Date: Fri, 5 Dec 2014 22:04:50 -0600
|
||||||
Subject: [PATCH] POM changes
|
Subject: [PATCH] POM changes
|
||||||
|
|
||||||
|
|
||||||
diff --git a/pom.xml b/pom.xml
|
diff --git a/pom.xml b/pom.xml
|
||||||
index 5fd93be..87ffb97 100644
|
index 74efc8b..31a9b5e 100644
|
||||||
--- a/pom.xml
|
--- a/pom.xml
|
||||||
+++ b/pom.xml
|
+++ b/pom.xml
|
||||||
@@ -1,12 +1,12 @@
|
@@ -1,12 +1,12 @@
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From a68171e5ec55b704a2f5f3c9125974b2ed9ba49d Mon Sep 17 00:00:00 2001
|
From c8f410d89fe8e4a4d7cf179e40be0307bd857f5d Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <Zbob750@live.com>
|
From: Zach Brown <Zbob750@live.com>
|
||||||
Date: Sat, 12 Jul 2014 19:32:01 -0500
|
Date: Sat, 12 Jul 2014 19:32:01 -0500
|
||||||
Subject: [PATCH] PaperSpigot config files
|
Subject: [PATCH] PaperSpigot config files
|
||||||
@ -20,7 +20,7 @@ index 2806f1e..2e38fec 100644
|
|||||||
DedicatedServer.LOGGER.info("Generating keypair");
|
DedicatedServer.LOGGER.info("Generating keypair");
|
||||||
this.a(MinecraftEncryption.b());
|
this.a(MinecraftEncryption.b());
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 8c9568c..f128789 100644
|
index b6221c6..7a41398 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -192,6 +192,8 @@ public abstract class World implements IBlockAccess {
|
@@ -192,6 +192,8 @@ public abstract class World implements IBlockAccess {
|
||||||
@ -41,10 +41,10 @@ index 8c9568c..f128789 100644
|
|||||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 545fb94..e5426b3 100644
|
index 57bd4f1..a9e23ac 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -689,6 +689,7 @@ public final class CraftServer implements Server {
|
@@ -688,6 +688,7 @@ public final class CraftServer implements Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
org.spigotmc.SpigotConfig.init(); // Spigot
|
org.spigotmc.SpigotConfig.init(); // Spigot
|
||||||
@ -52,7 +52,7 @@ index 545fb94..e5426b3 100644
|
|||||||
for (WorldServer world : console.worlds) {
|
for (WorldServer world : console.worlds) {
|
||||||
world.worldData.setDifficulty(difficulty);
|
world.worldData.setDifficulty(difficulty);
|
||||||
world.setSpawnFlags(monsters, animals);
|
world.setSpawnFlags(monsters, animals);
|
||||||
@@ -704,12 +705,14 @@ public final class CraftServer implements Server {
|
@@ -703,12 +704,14 @@ public final class CraftServer implements Server {
|
||||||
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
|
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
|
||||||
}
|
}
|
||||||
world.spigotConfig.init(); // Spigot
|
world.spigotConfig.init(); // Spigot
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From a1002560bc6eec5a3442c42ecdbc4073a19d9465 Mon Sep 17 00:00:00 2001
|
From 4466adf61a6bf167e76311adcd48de923c863512 Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <Zbob750@live.com>
|
From: Zach Brown <Zbob750@live.com>
|
||||||
Date: Tue, 19 Aug 2014 14:21:37 -0500
|
Date: Tue, 19 Aug 2014 14:21:37 -0500
|
||||||
Subject: [PATCH] Show 'PaperSpigot' in client crashes, server lists, and
|
Subject: [PATCH] Show 'PaperSpigot' in client crashes, server lists, and
|
||||||
@ -6,10 +6,10 @@ Subject: [PATCH] Show 'PaperSpigot' in client crashes, server lists, and
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index cbea48e..e588241 100644
|
index 5736d88..86b8cb2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1044,7 +1044,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
@@ -1045,7 +1045,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From a136b73aec98890a24457940f0f7dc79ce69c01d Mon Sep 17 00:00:00 2001
|
From 9fe35c0ebea691395dbbb7d4fad86a374f989fba Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <Zbob750@live.com>
|
From: Zach Brown <Zbob750@live.com>
|
||||||
Date: Fri, 28 Nov 2014 12:48:26 -0600
|
Date: Fri, 28 Nov 2014 12:48:26 -0600
|
||||||
Subject: [PATCH] Further improve server tick loop
|
Subject: [PATCH] Further improve server tick loop
|
||||||
@ -12,7 +12,7 @@ Previous implementation did not calculate TPS correctly.
|
|||||||
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
|
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index e588241..e9f3458 100644
|
index 86b8cb2..3592150 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -113,17 +113,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
@@ -113,17 +113,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||||
@ -150,10 +150,10 @@ index e588241..e9f3458 100644
|
|||||||
lastTick = curTime;
|
lastTick = curTime;
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index b677519..612161e 100644
|
index a9e23ac..590fe28 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -1684,6 +1684,17 @@ public final class CraftServer implements Server {
|
@@ -1683,6 +1683,17 @@ public final class CraftServer implements Server {
|
||||||
private final Spigot spigot = new Spigot()
|
private final Spigot spigot = new Spigot()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 0d9f4bc43cd3f638de483f1c7b9139896c888bba Mon Sep 17 00:00:00 2001
|
From 7195c33c775f1a8e89e96a70f00cea5aa5e3f68d Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Fri, 28 Nov 2014 13:43:11 -0600
|
Date: Fri, 28 Nov 2014 13:43:11 -0600
|
||||||
Subject: [PATCH] Player lookup improvements
|
Subject: [PATCH] Player lookup improvements
|
||||||
@ -13,7 +13,7 @@ By using a map based approach for player lookups, player lookup should
|
|||||||
be consistent in performance regardless of how many players are online.
|
be consistent in performance regardless of how many players are online.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
index 04d9be9..9595b54 100644
|
index fc7b7f0..69585aa 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
@@ -48,6 +48,39 @@ public abstract class PlayerList {
|
@@ -48,6 +48,39 @@ public abstract class PlayerList {
|
||||||
@ -83,16 +83,17 @@ index 04d9be9..9595b54 100644
|
|||||||
for (int i = 0; i < this.players.size(); ++i) {
|
for (int i = 0; i < this.players.size(); ++i) {
|
||||||
entityplayer = (EntityPlayer) this.players.get(i);
|
entityplayer = (EntityPlayer) this.players.get(i);
|
||||||
if (entityplayer.getUniqueID().equals(uuid)) {
|
if (entityplayer.getUniqueID().equals(uuid)) {
|
||||||
@@ -414,6 +453,8 @@ public abstract class PlayerList {
|
@@ -414,6 +453,9 @@ public abstract class PlayerList {
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
entityplayer = (EntityPlayer) iterator.next();
|
entityplayer = (EntityPlayer) iterator.next();
|
||||||
+ */
|
+ */
|
||||||
+ if ((entityplayer = uuidMap.get(uuid)) != null) {
|
+ if ((entityplayer = uuidMap.get(uuid)) != null) {
|
||||||
|
+ // PaperSpigot end
|
||||||
entityplayer.playerConnection.disconnect("You logged in from another location");
|
entityplayer.playerConnection.disconnect("You logged in from another location");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -924,6 +965,7 @@ public abstract class PlayerList {
|
@@ -924,6 +966,7 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntityPlayer getPlayer(String s) {
|
public EntityPlayer getPlayer(String s) {
|
||||||
@ -124,7 +125,7 @@ index 8be0698..1dc9fb3 100644
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index dca6f17..2845152 100644
|
index 590fe28..127947f 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -397,7 +397,12 @@ public final class CraftServer implements Server {
|
@@ -397,7 +397,12 @@ public final class CraftServer implements Server {
|
||||||
@ -141,7 +142,7 @@ index dca6f17..2845152 100644
|
|||||||
String lowerName = name.toLowerCase();
|
String lowerName = name.toLowerCase();
|
||||||
int delta = Integer.MAX_VALUE;
|
int delta = Integer.MAX_VALUE;
|
||||||
for (Player player : getOnlinePlayers()) {
|
for (Player player : getOnlinePlayers()) {
|
||||||
@@ -418,27 +423,19 @@ public final class CraftServer implements Server {
|
@@ -418,15 +423,10 @@ public final class CraftServer implements Server {
|
||||||
public Player getPlayerExact(String name) {
|
public Player getPlayerExact(String name) {
|
||||||
Validate.notNull(name, "Name cannot be null");
|
Validate.notNull(name, "Name cannot be null");
|
||||||
|
|
||||||
@ -157,28 +158,12 @@ index dca6f17..2845152 100644
|
|||||||
+ // PaperSpigot start - Improved player lookup, replace whole method
|
+ // PaperSpigot start - Improved player lookup, replace whole method
|
||||||
+ EntityPlayer player = playerList.playerMap.get(name);
|
+ EntityPlayer player = playerList.playerMap.get(name);
|
||||||
+ return player != null ? player.getBukkitEntity() : null;
|
+ return player != null ? player.getBukkitEntity() : null;
|
||||||
+ // PaperSpigot end
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: In 1.8+ this should use the server's UUID->EntityPlayer map
|
|
||||||
@Override
|
|
||||||
public Player getPlayer(UUID id) {
|
|
||||||
- for (Player player : getOnlinePlayers()) {
|
|
||||||
- if (player.getUniqueId().equals(id)) {
|
|
||||||
- return player;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return null;
|
|
||||||
+ // PaperSpigot start - Improved player lookup, replace whole method
|
|
||||||
+ EntityPlayer player = playerList.uuidMap.get(id);
|
|
||||||
+ return player != null ? player.getBukkitEntity() : null;
|
|
||||||
+ // PaperSpigot end
|
+ // PaperSpigot end
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 6da3b32..7f55310 100644
|
index b8a37b6..405ec6a 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -103,13 +103,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -103,13 +103,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
From 3a8b7719afd3d7a3301e1ef828dc15fdbff40023 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aikar <aikar@aikar.co>
|
|
||||||
Date: Fri, 28 Nov 2014 13:47:24 -0600
|
|
||||||
Subject: [PATCH] Improve autosave mechanism
|
|
||||||
|
|
||||||
Only save modified chunks, or chunks with entities after 4 auto save passes
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
|
||||||
index 949fa96..881e963 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
||||||
@@ -927,7 +927,7 @@ public class Chunk {
|
|
||||||
if (this.r && this.world.getTime() != this.lastSaved || this.q) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
- } else if (this.r && this.world.getTime() >= this.lastSaved + 600L) {
|
|
||||||
+ } else if (this.r && this.world.getTime() >= + MinecraftServer.getServer().autosavePeriod * 4) { // PaperSpigot - Only save if we've passed 2 auto save intervals without modification
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index e9f3458..e3c5754 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -694,9 +694,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
|
||||||
// Spigot Start
|
|
||||||
// We replace this with saving each individual world as this.saveChunks(...) is broken,
|
|
||||||
// and causes the main thread to sleep for random amounts of time depending on chunk activity
|
|
||||||
+ // Also pass flag to only save modified chunks -- PaperSpigot
|
|
||||||
server.playerCommandState = true;
|
|
||||||
for (World world : worlds) {
|
|
||||||
- world.getWorld().save();
|
|
||||||
+ world.getWorld().save(true);
|
|
||||||
}
|
|
||||||
server.playerCommandState = false;
|
|
||||||
// this.saveChunks(true);
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
index 62f6328..91e6aed 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
@@ -688,12 +688,18 @@ public class CraftWorld implements World {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void save() {
|
|
||||||
+ // PaperSpigot start - Improved autosave
|
|
||||||
+ save(true);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void save(boolean forceSave) {
|
|
||||||
+ // PaperSpigot end
|
|
||||||
this.server.checkSaveState();
|
|
||||||
try {
|
|
||||||
boolean oldSave = world.savingDisabled;
|
|
||||||
|
|
||||||
world.savingDisabled = false;
|
|
||||||
- world.save(true, null);
|
|
||||||
+ world.save(forceSave, null);
|
|
||||||
|
|
||||||
world.savingDisabled = oldSave;
|
|
||||||
} catch (ExceptionWorldConflict ex) {
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From b28d65be28fae89865bb81de326b6ab5dfde6b70 Mon Sep 17 00:00:00 2001
|
From d209349d290cbd554d7dcab9c90f1aff5d0c7310 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 30 Nov 2014 22:57:18 -0600
|
Date: Sun, 30 Nov 2014 22:57:18 -0600
|
||||||
Subject: [PATCH] Add TNT source location API
|
Subject: [PATCH] Add TNT source location API
|
||||||
@ -98,10 +98,10 @@ index b5763bb..611bac8 100644
|
|||||||
|
|
||||||
public EntityLiving getSource() {
|
public EntityLiving getSource() {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 5fe4693..2887202 100644
|
index 0804eb6..29f743f 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -1076,7 +1076,8 @@ public class CraftWorld implements World {
|
@@ -1075,7 +1075,8 @@ public class CraftWorld implements World {
|
||||||
throw new IllegalArgumentException("Cannot spawn hanging entity for " + clazz.getName() + " at " + location);
|
throw new IllegalArgumentException("Cannot spawn hanging entity for " + clazz.getName() + " at " + location);
|
||||||
}
|
}
|
||||||
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
|
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
|
In neuem Issue referenzieren
Einen Benutzer sperren