Fix incorrect new blockdata in EntityChangeBlockEvent (#9445)
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
This commit is contained in:
parent
d7d3f6371e
commit
e105354330
62 changed files with 182 additions and 21 deletions
|
@ -1,48 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Hensel <nickhensel25@icloud.com>
|
||||
Date: Sun, 28 Aug 2022 23:44:18 +0200
|
||||
Subject: [PATCH] Also load resources from LibraryLoader
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
index b4732c8dd12134a094ef9afc1870077412ce0435..13da387d3b59bc67c0d73e3fbd3a4034b1281527 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
@@ -95,14 +95,35 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||
|
||||
@Override
|
||||
public URL getResource(String name) {
|
||||
- return findResource(name);
|
||||
+ // Paper start
|
||||
+ URL resource = findResource(name);
|
||||
+ if (resource == null && libraryLoader != null) {
|
||||
+ return libraryLoader.getResource(name);
|
||||
+ }
|
||||
+ return resource;
|
||||
+ // Paper end
|
||||
}
|
||||
|
||||
@Override
|
||||
public Enumeration<URL> getResources(String name) throws IOException {
|
||||
- return findResources(name);
|
||||
+ // Paper start
|
||||
+ java.util.ArrayList<URL> resources = new java.util.ArrayList<>();
|
||||
+ addEnumeration(resources, findResources(name));
|
||||
+ if (libraryLoader != null) {
|
||||
+ addEnumeration(resources, libraryLoader.getResources(name));
|
||||
+ }
|
||||
+ return Collections.enumeration(resources);
|
||||
+ // Paper end
|
||||
}
|
||||
|
||||
+ // Paper start
|
||||
+ private <T> void addEnumeration(java.util.ArrayList<T> list, Enumeration<T> enumeration) {
|
||||
+ while (enumeration.hasMoreElements()) {
|
||||
+ list.add(enumeration.nextElement());
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
// Paper start
|
||||
@Override
|
||||
public Class<?> loadClass(@NotNull String name, boolean resolve, boolean checkGlobal, boolean checkLibraries) throws ClassNotFoundException {
|
Loading…
Add table
Add a link
Reference in a new issue