Update upstream

This commit is contained in:
Blast-Mc
2023-03-19 18:01:04 -04:00
parent 7646770baa
commit f8028c508e
33 changed files with 39 additions and 12 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add origin location to EntityDamageByBlockEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 451088940d1db0f32c29d0fd192c97b50cf3c4c8..1567206096d5010d5d4d9d58dcaaa7b6f6715943 100644
index fd9d0efafaf17bf0551693de2e166ac59a996abd..63ddbed83af9b8bfd237ca0c6b0727317dafe03f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -972,7 +972,7 @@ public class CraftEventFactory {
@@ -971,7 +971,7 @@ public class CraftEventFactory {
CraftEventFactory.entityDamage = null;
EntityDamageEvent event;
if (damager == null) {
@@ -17,21 +17,21 @@ index 451088940d1db0f32c29d0fd192c97b50cf3c4c8..1567206096d5010d5d4d9d58dcaaa7b6
} else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) {
event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions);
} else {
@@ -1012,7 +1012,7 @@ public class CraftEventFactory {
@@ -1011,7 +1011,7 @@ public class CraftEventFactory {
return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
} else if (sourceType == DamageTypes.OUT_OF_WORLD) {
} else if (source.is(DamageTypes.OUT_OF_WORLD)) {
- EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, modifiers, modifierFunctions);
+ EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, entity.getBukkitEntity().getLocation(), modifiers, modifierFunctions);
event.setCancelled(cancelled);
CraftEventFactory.callEvent(event);
if (!event.isCancelled()) {
@@ -1022,7 +1022,7 @@ public class CraftEventFactory {
@@ -1021,7 +1021,7 @@ public class CraftEventFactory {
}
return event;
} else if (sourceType == DamageTypes.LAVA) {
} else if (source.is(DamageTypes.LAVA)) {
- EntityDamageEvent event = (new EntityDamageByBlockEvent(CraftEventFactory.blockDamage, entity.getBukkitEntity(), DamageCause.LAVA, modifiers, modifierFunctions));
+ EntityDamageEvent event = (new EntityDamageByBlockEvent(CraftEventFactory.blockDamage, entity.getBukkitEntity(), DamageCause.LAVA, entity.getBukkitEntity().getLocation(), modifiers, modifierFunctions));
+ EntityDamageEvent event = (new EntityDamageByBlockEvent(CraftEventFactory.blockDamage, entity.getBukkitEntity(), DamageCause.LAVA, blockDamage.getLocation(), modifiers, modifierFunctions));
event.setCancelled(cancelled);
Block damager = CraftEventFactory.blockDamage;

View File

@@ -1,76 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: lexikiq <noellekiq@gmail.com>
Date: Sun, 20 Jun 2021 23:15:44 -0400
Subject: [PATCH] Expose EntityType Ordinals
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index ceacc0d383e2ee674783d3c0a7df0a951595faca..72b5ce4c93c021ca2f3f1d65b45fdd8cd50d71f4 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -162,6 +162,8 @@ import org.slf4j.Logger;
public class EntityType<T extends Entity> implements FeatureElement, EntityTypeTest<Entity, T> {
+ private static int ordinal = 0; // Parchment
+ private static final java.util.Map<EntityType, Integer> ordinals = new java.util.HashMap<>(); // Parchment
private static final Logger LOGGER = LogUtils.getLogger();
public static final String ENTITY_TAG = "EntityTag";
private final Holder.Reference<EntityType<?>> builtInRegistryHolder;
@@ -310,9 +312,32 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
private final FeatureFlagSet requiredFeatures;
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
- return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
+ // return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
+ // Parchment start
+ EntityType build = type.build(id);
+ ordinals.put(build, ordinal);
+ ordinal += 1;
+ return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) build);
}
+ public int ordinal() {
+ return ordinals.get(this); // CraftBukkit - decompile error
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ EntityType<?> that = (EntityType<?>) o;
+ return this.builtInRegistryHolder.key().toString().equals(that.builtInRegistryHolder.key().toString());
+ }
+
+ @Override
+ public int hashCode() {
+ return java.util.Objects.hash(this.builtInRegistryHolder.key().toString());
+ }
+ // Parchment end
+
public static ResourceLocation getKey(EntityType<?> type) {
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index be2739875ba1ba1a973c4a45c7e6a6996f0daf31..a6eab579c0f4cc6039bdd9914dd770c796b75d3c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -665,6 +665,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
final net.minecraft.world.item.context.BlockPlaceContext ctx = context;
return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), io.papermc.paper.util.MCUtil.MAIN_EXECUTOR);
}
+
+ @Override
+ public int entityID(org.bukkit.entity.EntityType type) {
+ String name = type.getName();
+ if (name == null) {
+ throw new IllegalArgumentException("Entity name is undefined");
+ }
+ return net.minecraft.world.entity.EntityType.byString(name)
+ .orElseThrow(() -> new IllegalArgumentException("Could not find corresponding NMS entity"))
+ .ordinal();
+ }
+
// Parchment end
/**

View File

@@ -49,10 +49,10 @@ index 4f91e4832a94c3facbc711fcae4cb5ad540a5ca0..c357e09705c5405dc8fac666fc39c993
});
state.spawnAfterBreak((ServerLevel) world, pos, tool, true);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 1567206096d5010d5d4d9d58dcaaa7b6f6715943..ae6026a6bccfa70c06c96925175608db4a37781d 100644
index 63ddbed83af9b8bfd237ca0c6b0727317dafe03f..df7cbca1fe99bdb47a112e7a0cb7b81496586518 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1991,5 +1991,19 @@ public class CraftEventFactory {
@@ -1990,5 +1990,19 @@ public class CraftEventFactory {
}
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Big Barrels
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
index f52487e1cfcfab1bf22ab2cb52f998283a86e340..9f8394d0348b068623b3acafe18b40a3ed0503d0 100644
index 416aa989ebb18a8741cc9d605a1180ab830f6643..c48466a4d2115f4fa6121b6bcba87b838743af34 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
@@ -67,7 +67,7 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make FixLight use action bar
diff --git a/src/main/java/io/papermc/paper/command/subcommands/FixLightCommand.java b/src/main/java/io/papermc/paper/command/subcommands/FixLightCommand.java
index 450bd95218852174cfbc88d4517e17daee5ffd5f..794842cb3dfa0732ccecf625b97dbc6c311a8a18 100644
index 7784d72ddd6db00c674e22759c00c430222c4b85..b336789b74d6d6819b38e78cb2014f61de3f004b 100644
--- a/src/main/java/io/papermc/paper/command/subcommands/FixLightCommand.java
+++ b/src/main/java/io/papermc/paper/command/subcommands/FixLightCommand.java
@@ -24,6 +24,7 @@ import static net.kyori.adventure.text.format.NamedTextColor.BLUE;

View File

@@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Blast-MC <cjblanton2@gmail.com>
Date: Sun, 19 Mar 2023 17:32:26 -0400
Subject: [PATCH] Lookup plugin dependencies during runtime
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/DependencyUtil.java b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/DependencyUtil.java
index bfa258faf17ca6118aeddfa4e95bbd082bcd1390..c106c26ccd673e46c5ae9415096923b66efd8af2 100644
--- a/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/DependencyUtil.java
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/DependencyUtil.java
@@ -2,6 +2,7 @@ package io.papermc.paper.plugin.entrypoint.dependency;
import com.google.common.graph.MutableGraph;
import io.papermc.paper.plugin.configuration.PluginMeta;
+import io.papermc.paper.plugin.manager.PaperPluginManagerImpl;
import io.papermc.paper.plugin.provider.PluginProvider;
import io.papermc.paper.plugin.provider.configuration.LoadOrderConfiguration;
import org.bukkit.plugin.PluginDescriptionFile;
@@ -65,7 +66,7 @@ public class DependencyUtil {
public static List<String> validateSimple(PluginMeta meta, Map<String, PluginProvider<?>> toLoad) {
List<String> missingDependencies = new ArrayList<>();
for (String hardDependency : meta.getPluginDependencies()) {
- if (!toLoad.containsKey(hardDependency)) {
+ if (!toLoad.containsKey(hardDependency) && !PaperPluginManagerImpl.getInstance().isPluginEnabled(hardDependency)) {
missingDependencies.add(hardDependency);
}
}