From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cryptite Date: Wed, 24 Jan 2024 11:39:14 -0600 Subject: [PATCH] PlayerResolveObjectIdEvent diff --git a/build.gradle.kts b/build.gradle.kts index bf01892c248b988531d21d9fb0f74d0adf2205ac..44b537f6da989cea6ebde8d14dea834d24f8d7d4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,6 +56,8 @@ dependencies { implementation("org.ow2.asm:asm-commons:9.5") // Paper end + implementation("org.mongodb:bson:4.11.1") // Slice - MongoDB Bson Library for ObjectIds + api("org.apache.maven:maven-resolver-provider:3.9.6") // Paper - make API dependency for Paper Plugins compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") diff --git a/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java b/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..c5e4581be8ed8b60118535f6c385f6d2e72c1f62 --- /dev/null +++ b/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java @@ -0,0 +1,49 @@ +package io.papermc.paper.event.player; + +import org.bson.types.ObjectId; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; +import java.util.UUID; + +/** + * Called when a player trades with a standalone merchant GUI. + */ +public class PlayerResolveObjectIdEvent extends Event { + private static final HandlerList handlers = new HandlerList(); + private final UUID uuid; + private ObjectId objectId; + + public PlayerResolveObjectIdEvent(@NotNull UUID uuid) { + this.uuid = uuid; + } + + @NotNull + public UUID getUuid() { + return uuid; + } + + @Nullable + public ObjectId getObjectId() { + return this.objectId; + } + + public void setObjectId(@NotNull ObjectId objectId) { + this.objectId = Objects.requireNonNull(objectId, "ObjectId cannot be null!"); + } + + @NotNull + @Override + public HandlerList getHandlers() { + return handlers; + } + + @NotNull + public static HandlerList getHandlerList() { + return handlers; + } + +} diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java index 8b0d04d5b39ee817555a36adddc39b18fc6f0d02..c3d2778659fb8eb12c203717c61705049bf7d530 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -22,6 +22,10 @@ import org.jetbrains.annotations.Nullable; */ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder { + // Slice start + org.bson.types.@Nullable ObjectId getObjectId(); + // Slice end + // Paper start @Override org.bukkit.inventory.@NotNull EntityEquipment getEquipment();