蛟龙
蛟龙
### Describe your feature request. When[ FastLogin ](https://github.com/games647/FastLogin)is enabled, Players cannot join the server. I'll get an error: [Nova] Something went wrong. So please support [ FastLogin ](https://github.com/games647/FastLogin), thanks! ###...
server: spigot-1.16.5 The plugin versions are up to date *SBA-1.5.5 does not report errors, but there are many bugs [12:55:44] [Server thread/WARN]: java.lang.ClassCastException: class java.util.concurrent.atomic.AtomicInteger cannot be cast to class...
# 前言 **沙盒限制** > 一旦开启沙盒模式,使用IsolatedClassLoader加载的所有类均不可以被其他插件访问,这也正是“沙盒”和“隔离”的意思。沙盒内部的类可以访问沙盒外部的类,而沙盒外部的类却无法访问沙盒内部的类。 以上内容节选自*相关链接[1]:注意事项*,由*Sunshine_wzy*等人写的 在一些特殊场景下,开发者不得不使用**沙盒模式**,但同时其限制又成了一个困扰点 虽然说可以通过SPI开放部分类,但其实现(*相关链接[1]:优秀实践*)却并不简单 这也就意味着,其所能提供的API终是有限的 因此,衍生出这样一个话题:**如何“摆脱”隔离,自由地访问和使用“沙盒中的类”** (不使用SPI) # 论方法 目前,在我的理解范围之内,有以下几种方法: ## 通过IsolatedClassLoader获取类并反射调用 指直接通过**IsolatedClassLoader#loadClass**函数获取目标类 然后通过反射执行*调用其方法*、*获取和修改其字段*等等操作 如: `IsolatedClassLoader.loadClass("taboolib.common.PrimitiveLoader").getProperty("TABOOLIB_GROUP", isStatic=true)` 面对小范围的*沙盒类*使用,此方法是可行的,也是较优选择 ## 实现自定义类加载器,适应性提供类 **原理:** 通过自定义类加载器,根据**ClassLoaderProvider**(也可以是ClassProvider)获取想要获得的类 其主要包括: 由ClassLoaderProvider通过全限类定名提供类加载器,由CompatibleClassLoader通过selfLoad加载特定类(受委托的类),来使用ClassLoaderProvider所能提供的类 **限制:** 还是那样,受委托的类可以调用“沙盒中的类”的什么什么,却无法向外部提供“沙盒中的类”...
### I have changed the method: `public CompletableFuture teleportAsync(Player player, Location location)` ### Now, it is: ` public CompletableFuture teleportAsync(Entity entity, Location location, PlayerTeleportEvent.TeleportCause cause) ` ### Why? Because `Player.teleport()`...
又个这个Paper 又是这个NMS Paper1.20.5+就使用了MojangMapping 所以:目前NMS大部分报废 (在Paper1.20.5+时) 部分报错    > 得了,不Ramap其实就没问题 > 世上只有Paper“好”
How nice it would be to see different motds in different versions. Just like this: ```YAML advanced: ProtocoledDescription: activated: true allowedProtocol: below 735 text: - "Text1 Line1%newline%Text1 Line2" - "Text2...
### Specify characters for font. Many plugins don't support *PlaceholderAPI*. If there's the same character that already exists, it may throw an exception. ### Read contents Deeply `backgrounds` `bubbles` `images`...