Initial 1.18.1 update

This commit is contained in:
lexikiq
2021-12-26 21:42:55 -05:00
parent 684ee059ea
commit 8bb5b1f601
28 changed files with 368 additions and 394 deletions

View File

@@ -9,7 +9,7 @@ jobs:
strategy: strategy:
matrix: matrix:
java: [16] java: [17]
fail-fast: true fail-fast: true
steps: steps:

View File

@@ -9,7 +9,7 @@ jobs:
strategy: strategy:
matrix: matrix:
java: [16] java: [17]
fail-fast: true fail-fast: true
steps: steps:

View File

@@ -1,4 +1,4 @@
package me.lexikiq; package gg.projecteden.common;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,4 @@
package me.lexikiq; package gg.projecteden.common;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;

View File

@@ -4,7 +4,7 @@ plugins {
java java
`maven-publish` `maven-publish`
id("com.github.johnrengelman.shadow") version "7.1.0" apply false id("com.github.johnrengelman.shadow") version "7.1.0" apply false
id("io.papermc.paperweight.patcher") version "1.2.0" id("io.papermc.paperweight.patcher") version "1.3.1"
} }
repositories { repositories {
@@ -15,9 +15,9 @@ repositories {
} }
dependencies { dependencies {
remapper("net.fabricmc:tiny-remapper:0.6.0:fat") remapper("net.fabricmc:tiny-remapper:0.7.0:fat")
decompiler("net.minecraftforge:forgeflower:1.5.498.12") decompiler("net.minecraftforge:forgeflower:1.5.498.12")
paperclip("io.papermc:paperclip:2.0.1") paperclip("io.papermc:paperclip:3.0.2")
} }
allprojects { allprojects {
@@ -26,7 +26,7 @@ allprojects {
java { java {
toolchain { toolchain {
languageVersion.set(JavaLanguageVersion.of(16)) languageVersion.set(JavaLanguageVersion.of(17))
} }
} }
} }
@@ -34,7 +34,7 @@ allprojects {
subprojects { subprojects {
tasks.withType<JavaCompile>().configureEach { tasks.withType<JavaCompile>().configureEach {
options.encoding = Charsets.UTF_8.name() options.encoding = Charsets.UTF_8.name()
options.release.set(16) options.release.set(17)
} }
tasks.withType<Javadoc> { tasks.withType<Javadoc> {
options.encoding = Charsets.UTF_8.name() options.encoding = Charsets.UTF_8.name()
@@ -71,7 +71,7 @@ paperweight {
// //
tasks.generateDevelopmentBundle { tasks.generateDevelopmentBundle {
apiCoordinates.set("me.lexikiq:parchment-api") apiCoordinates.set("gg.projecteden.parchment:parchment-api")
mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi") mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi")
libraryRepositories.set( libraryRepositories.set(
listOf( listOf(

View File

@@ -1,8 +1,8 @@
group = me.lexikiq group = gg.projecteden.parchment
version = 1.17.1-R0.1-SNAPSHOT version = 1.18.1-R0.1-SNAPSHOT
mcVersion = 1.17.1 mcVersion = 1.18.1
paperRef = d4318a6ebca2a3f2859ca0ef1b274192633c7d5e paperRef = df8d28a450fe391b9f0c2dc4a64543cf9b84266f
org.gradle.caching=true org.gradle.caching=true
org.gradle.parallel=true org.gradle.parallel=true

View File

@@ -1,18 +1,18 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: lexikiq <noellekiq@gmail.com> From: lexikiq <noellekiq@gmail.com>
Date: Fri, 2 Jul 2021 01:33:12 -0400 Date: Sun, 26 Dec 2021 20:48:45 -0500
Subject: [PATCH] Build changes Subject: [PATCH] Build changes
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 689d470ebe2c7e25e4c87f6127978d1d283e55b5..2715c109829dbdb93de12b06652988f5cd3353c5 100644 index a23b2bd8e1ca1ff8d0ad5ed5d5e41c89e4795090..590754921a6c7de54fa79d0a15c95a9630c53eff 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -39,6 +39,7 @@ dependencies { @@ -22,6 +22,7 @@ configurations.api {
apiAndDocs("net.kyori:adventure-text-serializer-plain") }
api("org.apache.logging.log4j:log4j-api:2.14.1") // Paper
api("org.slf4j:slf4j-api:1.7.30") // Paper
+ api(project(":Parchment-Common")) // Parchment
implementation("org.ow2.asm:asm:9.1") dependencies {
implementation("org.ow2.asm:asm-commons:9.1") + api(project(":Parchment-Common")) // Parchment
// api dependencies are listed transitively to API consumers
api("commons-lang:commons-lang:2.6")
api("com.google.guava:guava:31.0.1-jre")

View File

@@ -8,7 +8,7 @@ Creates new interfaces for objects that have a reference to a player, offlinepla
Also creates interfaces for objects that are like players in that they use all other interfaces and can receive Adventure messages. Also creates interfaces for objects that are like players in that they use all other interfaces and can receive Adventure messages.
diff --git a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
index 978813b94a5eae0afccbd3b38b463091a46b56ac..14d057791db091e49b5be7cf9700435e8811edbc 100644 index 978813b94a5eae0afccbd3b38b463091a46b56ac..617a4b17982e3dac47480cb16046233232f288b7 100644
--- a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java --- a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
@@ -16,12 +16,12 @@ index 978813b94a5eae0afccbd3b38b463091a46b56ac..14d057791db091e49b5be7cf9700435e
* Called when a beacon effect is being applied to a player. * Called when a beacon effect is being applied to a player.
*/ */
-public class BeaconEffectEvent extends BlockEvent implements Cancellable { -public class BeaconEffectEvent extends BlockEvent implements Cancellable {
+public class BeaconEffectEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BeaconEffectEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
private PotionEffect effect; private PotionEffect effect;
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
index f530a3d9314e17d1da896cac633f6a422258d9a9..af6e9a654940ed0a9a434501d20dfe225155f4f2 100644 index f530a3d9314e17d1da896cac633f6a422258d9a9..08897d13a8af33ed1cd40c46b0f168e0c4ebfd4a 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java --- a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
@@ -38,7 +38,7 @@ import org.jetbrains.annotations.NotNull; @@ -38,7 +38,7 @@ import org.jetbrains.annotations.NotNull;
@@ -29,12 +29,12 @@ index f530a3d9314e17d1da896cac633f6a422258d9a9..af6e9a654940ed0a9a434501d20dfe22
* *
*/ */
-public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable { -public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable {
+public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
@NotNull private final Player player; @NotNull private final Player player;
public EndermanAttackPlayerEvent(@NotNull Enderman entity, @NotNull Player player) { public EndermanAttackPlayerEvent(@NotNull Enderman entity, @NotNull Player player) {
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
index a315c5185cd465dcf63c0ababef195da76dfc786..ea39b1dd25e00d9e8a8db86a05105297eb46d9bc 100644 index a315c5185cd465dcf63c0ababef195da76dfc786..a65eae92b9f369f0864d872817d9ce96679256bc 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java --- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
@@ -42,12 +42,12 @@ index a315c5185cd465dcf63c0ababef195da76dfc786..ea39b1dd25e00d9e8a8db86a05105297
* Fired when a Turtle lays eggs * Fired when a Turtle lays eggs
*/ */
-public class TurtleLayEggEvent extends EntityEvent implements Cancellable { -public class TurtleLayEggEvent extends EntityEvent implements Cancellable {
+public class TurtleLayEggEvent extends EntityEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class TurtleLayEggEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false; private boolean cancelled = false;
@NotNull @NotNull
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
index abeb24fccda2acfdb0dfdadacb8fe688bd97cf78..03f8ddd864eac5d87aba29f791022a6719cd054f 100644 index abeb24fccda2acfdb0dfdadacb8fe688bd97cf78..890069604ca78a9a3f3b4c5f40969a451a1b2067 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java --- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
@@ -55,12 +55,12 @@ index abeb24fccda2acfdb0dfdadacb8fe688bd97cf78..03f8ddd864eac5d87aba29f791022a67
* Fired when a Turtle starts digging to lay eggs * Fired when a Turtle starts digging to lay eggs
*/ */
-public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable { -public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable {
+public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false; private boolean cancelled = false;
@NotNull private final Location location; @NotNull private final Location location;
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
index a077962fa786a3291849abfa823c7f0ec4664fce..7895fe36f6f6f2e47d506a1704494d6cb71f3db7 100644 index a077962fa786a3291849abfa823c7f0ec4664fce..c79fb3f53d5d74d80e4a7c6f13035a6cc624ed09 100644
--- a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java --- a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable; @@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable;
@@ -68,12 +68,12 @@ index a077962fa786a3291849abfa823c7f0ec4664fce..7895fe36f6f6f2e47d506a1704494d6c
* <p>WARNING: TAMPERING WITH THIS EVENT CAN BE DANGEROUS</p> * <p>WARNING: TAMPERING WITH THIS EVENT CAN BE DANGEROUS</p>
*/ */
-public class PlayerHandshakeEvent extends Event implements Cancellable { -public class PlayerHandshakeEvent extends Event implements Cancellable {
+public class PlayerHandshakeEvent extends Event implements Cancellable, me.lexikiq.OptionalUniqueId { // Parchment +public class PlayerHandshakeEvent extends Event implements Cancellable, gg.projecteden.common.OptionalUniqueId { // Parchment
private static final HandlerList HANDLERS = new HandlerList(); private static final HandlerList HANDLERS = new HandlerList();
@NotNull private final String originalHandshake; @NotNull private final String originalHandshake;
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
index 4dcf6242c9acc62d030a94f67b78729ed29f8c85..18fd6889457f1a9d7663c7631ce83b847eb458e2 100644 index 4dcf6242c9acc62d030a94f67b78729ed29f8c85..26d0cee20d93e2ecdea2b06f6e7c61bc2390f269 100644
--- a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java --- a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
@@ -81,7 +81,7 @@ index 4dcf6242c9acc62d030a94f67b78729ed29f8c85..18fd6889457f1a9d7663c7631ce83b84
* event.isAsync() * event.isAsync()
*/ */
-public class PreLookupProfileEvent extends Event { -public class PreLookupProfileEvent extends Event {
+public class PreLookupProfileEvent extends Event implements me.lexikiq.OptionalUniqueId { // Parchment +public class PreLookupProfileEvent extends Event implements gg.projecteden.common.OptionalUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
@NotNull private final String name; @NotNull private final String name;
@@ -115,7 +115,7 @@ index 4dcf6242c9acc62d030a94f67b78729ed29f8c85..18fd6889457f1a9d7663c7631ce83b84
/** /**
* Sets the UUID for this player name. This will skip the initial API call to find the players UUID. * Sets the UUID for this player name. This will skip the initial API call to find the players UUID.
diff --git a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java diff --git a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
index 4cd97cb102e1ec53b3fe1a451b65b4b640fde099..2de2df06dcb7099e42a097ec2c74d45529cceb21 100644 index 4cd97cb102e1ec53b3fe1a451b65b4b640fde099..871ff8bae4ac50049a6e23a0cd1263121f8fbad1 100644
--- a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java --- a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java +++ b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
@@ -48,7 +48,7 @@ import org.jetbrains.annotations.Nullable; @@ -48,7 +48,7 @@ import org.jetbrains.annotations.Nullable;
@@ -123,12 +123,12 @@ index 4cd97cb102e1ec53b3fe1a451b65b4b640fde099..2de2df06dcb7099e42a097ec2c74d455
* Only 1 process will be allowed to provide completions, the Async Event, or the standard process. * Only 1 process will be allowed to provide completions, the Async Event, or the standard process.
*/ */
-public class AsyncTabCompleteEvent extends Event implements Cancellable { -public class AsyncTabCompleteEvent extends Event implements Cancellable {
+public class AsyncTabCompleteEvent extends Event implements Cancellable, me.lexikiq.OptionalLocation { // Parchment +public class AsyncTabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
@NotNull private final CommandSender sender; @NotNull private final CommandSender sender;
@NotNull private final String buffer; @NotNull private final String buffer;
private final boolean isCommand; private final boolean isCommand;
diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
index 89e132525cfae0ce979e37b3e2793df781e47227..c06d406f0644aa7380581f81442878b95f555843 100644 index 89e132525cfae0ce979e37b3e2793df781e47227..f14635ae3112862c1337398bf5f5f56a7f87d90f 100644
--- a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java --- a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
+++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
@@ -8,7 +8,7 @@ import static com.google.common.base.Preconditions.*; @@ -8,7 +8,7 @@ import static com.google.common.base.Preconditions.*;
@@ -136,50 +136,24 @@ index 89e132525cfae0ce979e37b3e2793df781e47227..c06d406f0644aa7380581f81442878b9
* Thrown when an incoming plugin message channel throws an exception * Thrown when an incoming plugin message channel throws an exception
*/ */
-public class ServerPluginMessageException extends ServerPluginException { -public class ServerPluginMessageException extends ServerPluginException {
+public class ServerPluginMessageException extends ServerPluginException implements me.lexikiq.HasPlayer { // Parchment +public class ServerPluginMessageException extends ServerPluginException implements gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player; private final Player player;
private final String channel; private final String channel;
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java diff --git a/src/main/java/gg/projecteden/parchment/HasHumanEntity.java b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
index 2c1cda1126e577a88f19071e958eddb5a38785af..a0994a7613a2b34a6b9ec850a8a0fc9254c89751 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side state.
*/
-public class PlayerChunkLoadEvent extends ChunkEvent {
+public class PlayerChunkLoadEvent extends ChunkEvent implements me.lexikiq.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
index 12163a7b0591a7d022dc7eb9ee6608a1b6c39d9b..80e7db5cbc82e0ed69ea1a0f659fd3259ef0beb2 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side.
*/
-public class PlayerChunkUnloadEvent extends ChunkEvent {
+public class PlayerChunkUnloadEvent extends ChunkEvent implements me.lexikiq.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/me/lexikiq/HasHumanEntity.java b/src/main/java/me/lexikiq/HasHumanEntity.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..46efc8787afe2eda000fc71a6a1f3c0f0d7da320 index 0000000000000000000000000000000000000000..ee1bc817a60b602f7d437a21852c3dc285d854df
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/HasHumanEntity.java +++ b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.HumanEntity;
+import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.NotNull;
+ +
+/** +/**
+ * Represents an object that has a {@link HumanEntity} + * Represents an object that has a {@link HumanEntity}
+ * @see me.lexikiq.OptionalHumanEntity + * @see gg.projecteden.parchment.OptionalHumanEntity
+ */ + */
+@FunctionalInterface +@FunctionalInterface
+public interface HasHumanEntity extends OptionalHumanEntity { +public interface HasHumanEntity extends OptionalHumanEntity {
@@ -191,13 +165,13 @@ index 0000000000000000000000000000000000000000..46efc8787afe2eda000fc71a6a1f3c0f
+ @Override + @Override
+ @NotNull HumanEntity getPlayer(); + @NotNull HumanEntity getPlayer();
+} +}
diff --git a/src/main/java/me/lexikiq/HasLocation.java b/src/main/java/me/lexikiq/HasLocation.java diff --git a/src/main/java/gg/projecteden/parchment/HasLocation.java b/src/main/java/gg/projecteden/parchment/HasLocation.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..ac380c3f767f2d7a86ca2f9a3f7dbfcfc172e2be index 0000000000000000000000000000000000000000..e9f7bb3058639c94ee8e67627e5e34548d391df6
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/HasLocation.java +++ b/src/main/java/gg/projecteden/parchment/HasLocation.java
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.Location; +import org.bukkit.Location;
+import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.NotNull;
@@ -215,13 +189,13 @@ index 0000000000000000000000000000000000000000..ac380c3f767f2d7a86ca2f9a3f7dbfcf
+ @Override + @Override
+ @NotNull Location getLocation(); + @NotNull Location getLocation();
+} +}
diff --git a/src/main/java/me/lexikiq/HasOfflinePlayer.java b/src/main/java/me/lexikiq/HasOfflinePlayer.java diff --git a/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..33b04ae2dee02e53ffa070de6631f71e2ddaf998 index 0000000000000000000000000000000000000000..15b72b693a32852f791c5578f701843c759737a7
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/HasOfflinePlayer.java +++ b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.OfflinePlayer; +import org.bukkit.OfflinePlayer;
+import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.NotNull;
@@ -238,20 +212,20 @@ index 0000000000000000000000000000000000000000..33b04ae2dee02e53ffa070de6631f71e
+ */ + */
+ @NotNull OfflinePlayer getOfflinePlayer(); + @NotNull OfflinePlayer getOfflinePlayer();
+} +}
diff --git a/src/main/java/me/lexikiq/HasPlayer.java b/src/main/java/me/lexikiq/HasPlayer.java diff --git a/src/main/java/gg/projecteden/parchment/HasPlayer.java b/src/main/java/gg/projecteden/parchment/HasPlayer.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..117e3994ffec1830f471b8810746f6e4088db298 index 0000000000000000000000000000000000000000..68a2e2093405eb39d91b5b79f16a521a6a729d4e
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/HasPlayer.java +++ b/src/main/java/gg/projecteden/parchment/HasPlayer.java
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.entity.Player; +import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.NotNull;
+ +
+/** +/**
+ * Represents an object that has a {@link Player} + * Represents an object that has a {@link Player}
+ * @see me.lexikiq.OptionalPlayer + * @see gg.projecteden.parchment.OptionalPlayer
+ */ + */
+@FunctionalInterface +@FunctionalInterface
+public interface HasPlayer extends OptionalPlayer, HasHumanEntity { +public interface HasPlayer extends OptionalPlayer, HasHumanEntity {
@@ -263,13 +237,13 @@ index 0000000000000000000000000000000000000000..117e3994ffec1830f471b8810746f6e4
+ @Override + @Override
+ @NotNull Player getPlayer(); + @NotNull Player getPlayer();
+} +}
diff --git a/src/main/java/me/lexikiq/OptionalHumanEntity.java b/src/main/java/me/lexikiq/OptionalHumanEntity.java diff --git a/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..139887822a853876508b937f5288bfd117d15da6 index 0000000000000000000000000000000000000000..45410a77714ad28201520c188e280e4f5fa8bcab
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/OptionalHumanEntity.java +++ b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.HumanEntity;
+import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Nullable;
@@ -287,13 +261,13 @@ index 0000000000000000000000000000000000000000..139887822a853876508b937f5288bfd1
+ */ + */
+ @Nullable HumanEntity getPlayer(); + @Nullable HumanEntity getPlayer();
+} +}
diff --git a/src/main/java/me/lexikiq/OptionalLocation.java b/src/main/java/me/lexikiq/OptionalLocation.java diff --git a/src/main/java/gg/projecteden/parchment/OptionalLocation.java b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..10d06b9af2a9cfb2e80991d9916ca9953a25e42c index 0000000000000000000000000000000000000000..23897904c6e2d6195f3613c36d77454587afd8bc
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/OptionalLocation.java +++ b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.Location; +import org.bukkit.Location;
+import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Nullable;
@@ -311,13 +285,13 @@ index 0000000000000000000000000000000000000000..10d06b9af2a9cfb2e80991d9916ca995
+ */ + */
+ @Nullable Location getLocation(); + @Nullable Location getLocation();
+} +}
diff --git a/src/main/java/me/lexikiq/OptionalPlayer.java b/src/main/java/me/lexikiq/OptionalPlayer.java diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayer.java b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..6de254b174966ff9cc9e0ec091639885cd925b56 index 0000000000000000000000000000000000000000..31b9ab6512c9f06160c268e88d5bce486ed87523
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/OptionalPlayer.java +++ b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.entity.Player; +import org.bukkit.entity.Player;
+import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Nullable;
@@ -336,13 +310,13 @@ index 0000000000000000000000000000000000000000..6de254b174966ff9cc9e0ec091639885
+ */ + */
+ @Nullable Player getPlayer(); + @Nullable Player getPlayer();
+} +}
diff --git a/src/main/java/me/lexikiq/OptionalPlayerLike.java b/src/main/java/me/lexikiq/OptionalPlayerLike.java diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..9ea2385c1f4de8bfd59bae284fb47e5a15026b55 index 0000000000000000000000000000000000000000..db44b117423fa65979480c8922de5eeb379b749d
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/OptionalPlayerLike.java +++ b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
@@ -0,0 +1,189 @@ @@ -0,0 +1,189 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.audience.Audience;
+import net.kyori.adventure.audience.MessageType; +import net.kyori.adventure.audience.MessageType;
@@ -364,7 +338,7 @@ index 0000000000000000000000000000000000000000..9ea2385c1f4de8bfd59bae284fb47e5a
+ +
+/** +/**
+ * Class that may be like a {@link org.bukkit.entity.Player} in that it has a {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, {@link Identity}, and a nullable Player. + * Class that may be like a {@link org.bukkit.entity.Player} in that it has a {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, {@link Identity}, and a nullable Player.
+ * @see me.lexikiq.PlayerLike + * @see gg.projecteden.parchment.PlayerLike
+ */ + */
+public interface OptionalPlayerLike extends OptionalPlayer, HasUniqueId, HasOfflinePlayer, OptionalLocation, Identified, Audience { +public interface OptionalPlayerLike extends OptionalPlayer, HasUniqueId, HasOfflinePlayer, OptionalLocation, Identified, Audience {
+ /** + /**
@@ -531,13 +505,13 @@ index 0000000000000000000000000000000000000000..9ea2385c1f4de8bfd59bae284fb47e5a
+ return player == null ? null : player.getLocation(); + return player == null ? null : player.getLocation();
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/PlayerLike.java b/src/main/java/me/lexikiq/PlayerLike.java diff --git a/src/main/java/gg/projecteden/parchment/PlayerLike.java b/src/main/java/gg/projecteden/parchment/PlayerLike.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..314bf6e8cacfe8891f1354952c5ccfe7d2e21939 index 0000000000000000000000000000000000000000..dd5840ab1fe9375e83a3a30563ae59620171d3d3
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/PlayerLike.java +++ b/src/main/java/gg/projecteden/parchment/PlayerLike.java
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
+package me.lexikiq; +package gg.projecteden.parchment;
+ +
+import org.bukkit.Location; +import org.bukkit.Location;
+import org.bukkit.entity.Player; +import org.bukkit.entity.Player;
@@ -547,7 +521,7 @@ index 0000000000000000000000000000000000000000..314bf6e8cacfe8891f1354952c5ccfe7
+ +
+/** +/**
+ * Class that is like a {@link org.bukkit.entity.Player} in that it has a Player, {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, and an {@link net.kyori.adventure.identity.Identity}. + * Class that is like a {@link org.bukkit.entity.Player} in that it has a Player, {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, and an {@link net.kyori.adventure.identity.Identity}.
+ * @see me.lexikiq.OptionalPlayerLike + * @see gg.projecteden.parchment.OptionalPlayerLike
+ */ + */
+public interface PlayerLike extends HasPlayer, HasLocation, OptionalPlayerLike { +public interface PlayerLike extends HasPlayer, HasLocation, OptionalPlayerLike {
+ @Override + @Override
@@ -565,8 +539,34 @@ index 0000000000000000000000000000000000000000..314bf6e8cacfe8891f1354952c5ccfe7
+ return getPlayer().getLocation(); + return getPlayer().getLocation();
+ } + }
+} +}
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
index 2c1cda1126e577a88f19071e958eddb5a38785af..39e746f0c8536642346abbb6909fd2053031d695 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side state.
*/
-public class PlayerChunkLoadEvent extends ChunkEvent {
+public class PlayerChunkLoadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
index 12163a7b0591a7d022dc7eb9ee6608a1b6c39d9b..d81c7307127b135417e06a3b244416bee34b0abe 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side.
*/
-public class PlayerChunkUnloadEvent extends ChunkEvent {
+public class PlayerChunkUnloadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index 8321441b8f528a05e297f485672f928e76fe017d..e6a66494941ccaeb62ec13c26a0e05c52e3af159 100644 index 8321441b8f528a05e297f485672f928e76fe017d..e3b684a189b5c8e2d2b73ef9b057869012f86c03 100644
--- a/src/main/java/org/bukkit/Location.java --- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java
@@ -30,7 +30,7 @@ import org.bukkit.entity.Player; @@ -30,7 +30,7 @@ import org.bukkit.entity.Player;
@@ -574,7 +574,7 @@ index 8321441b8f528a05e297f485672f928e76fe017d..e6a66494941ccaeb62ec13c26a0e05c5
* representation by the implementation. * representation by the implementation.
*/ */
-public class Location implements Cloneable, ConfigurationSerializable { -public class Location implements Cloneable, ConfigurationSerializable {
+public class Location implements Cloneable, ConfigurationSerializable, me.lexikiq.HasLocation { // Parchment +public class Location implements Cloneable, ConfigurationSerializable, gg.projecteden.parchment.HasLocation { // Parchment
private Reference<World> world; private Reference<World> world;
private double x; private double x;
private double y; private double y;
@@ -593,7 +593,7 @@ index 8321441b8f528a05e297f485672f928e76fe017d..e6a66494941ccaeb62ec13c26a0e05c5
* Sets the world that this location resides in * Sets the world that this location resides in
* *
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..5898a13f0f90547ff6ecabee18969c7891d0beee 100644 index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..53decf2105e68e62478acebc73e3483918ced370 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java --- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -9,7 +9,7 @@ import org.bukkit.permissions.ServerOperator; @@ -9,7 +9,7 @@ import org.bukkit.permissions.ServerOperator;
@@ -601,7 +601,7 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..5898a13f0f90547ff6ecabee18969c78
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
-public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable { -public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable {
+public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable, me.lexikiq.HasOfflinePlayer, me.lexikiq.OptionalPlayer { // Parchment +public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable, gg.projecteden.parchment.HasOfflinePlayer, gg.projecteden.parchment.OptionalPlayer { // Parchment
/** /**
* Checks if this player is currently online * Checks if this player is currently online
@@ -620,7 +620,7 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..5898a13f0f90547ff6ecabee18969c78
* Gets the first date and time that this player was witnessed on this * Gets the first date and time that this player was witnessed on this
* server. * server.
diff --git a/src/main/java/org/bukkit/Raid.java b/src/main/java/org/bukkit/Raid.java diff --git a/src/main/java/org/bukkit/Raid.java b/src/main/java/org/bukkit/Raid.java
index 983a8c20a06d2b509602b27f49c090598b8ecc42..bc6b6739ad46a076f3ac8f92814a027f9d2840a7 100644 index 983a8c20a06d2b509602b27f49c090598b8ecc42..46dd8496f5a2c792ee7811e33c424e88edf8b5b3 100644
--- a/src/main/java/org/bukkit/Raid.java --- a/src/main/java/org/bukkit/Raid.java
+++ b/src/main/java/org/bukkit/Raid.java +++ b/src/main/java/org/bukkit/Raid.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
@@ -628,12 +628,12 @@ index 983a8c20a06d2b509602b27f49c090598b8ecc42..bc6b6739ad46a076f3ac8f92814a027f
* Represents a raid event. * Represents a raid event.
*/ */
-public interface Raid { -public interface Raid {
+public interface Raid extends me.lexikiq.HasLocation { // Parchment +public interface Raid extends gg.projecteden.parchment.HasLocation { // Parchment
/** /**
* Get whether this raid started. * Get whether this raid started.
diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java
index 8d568d21fcbf706f55cda087bd7222ac60889c0a..51b214313e7ee6b5eb1f0fa6f1e1fe383c6d04e1 100644 index 8d568d21fcbf706f55cda087bd7222ac60889c0a..8bc5b7a0df5c8f5e5d973c2d2b348968f5b759b2 100644
--- a/src/main/java/org/bukkit/Vibration.java --- a/src/main/java/org/bukkit/Vibration.java
+++ b/src/main/java/org/bukkit/Vibration.java +++ b/src/main/java/org/bukkit/Vibration.java
@@ -64,7 +64,7 @@ public class Vibration { @@ -64,7 +64,7 @@ public class Vibration {
@@ -641,12 +641,12 @@ index 8d568d21fcbf706f55cda087bd7222ac60889c0a..51b214313e7ee6b5eb1f0fa6f1e1fe38
} }
- public static class BlockDestination implements Destination { - public static class BlockDestination implements Destination {
+ public static class BlockDestination implements Destination, me.lexikiq.HasLocation { // Parchment + public static class BlockDestination implements Destination, gg.projecteden.parchment.HasLocation { // Parchment
private final Location block; private final Location block;
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
index ff8f1231f3e2e71740fd24fa8d4dac5d0e550ae7..4a1e40e0c7cff6ef8898771adf3bc600c715ee8d 100644 index ff8f1231f3e2e71740fd24fa8d4dac5d0e550ae7..caa7f8a269f923df85a319c1c9bf6cd1ce1ccdcd 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java --- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java +++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
@@ -654,12 +654,12 @@ index ff8f1231f3e2e71740fd24fa8d4dac5d0e550ae7..4a1e40e0c7cff6ef8898771adf3bc600
* Concrete implementation of an attribute modifier. * Concrete implementation of an attribute modifier.
*/ */
-public class AttributeModifier implements ConfigurationSerializable { -public class AttributeModifier implements ConfigurationSerializable {
+public class AttributeModifier implements ConfigurationSerializable, me.lexikiq.HasUniqueId { // Parchment +public class AttributeModifier implements ConfigurationSerializable, gg.projecteden.common.HasUniqueId { // Parchment
private final UUID uuid; private final UUID uuid;
private final String name; private final String name;
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
index 70caaf05be813ba390412714ba0a39981edc2475..84525ded139292612256cba0ae3933a3b07f6fab 100644 index 0dd0beee6800fb34520dfa2d05e5bdda76624d64..1c34b25d3c8a4ec098de6402de4c84fc663d5c27 100644
--- a/src/main/java/org/bukkit/block/Block.java --- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java
@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
@@ -667,12 +667,12 @@ index 70caaf05be813ba390412714ba0a39981edc2475..84525ded139292612256cba0ae3933a3
* generation when used in cases like BlockPhysicsEvent!!!! * generation when used in cases like BlockPhysicsEvent!!!!
*/ */
-public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable { // Paper - translatable -public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable { // Paper - translatable
+public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable, me.lexikiq.HasLocation { // Paper - translatable +public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable, gg.projecteden.parchment.HasLocation { // Paper - translatable
/** /**
* Gets the metadata for this block * Gets the metadata for this block
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
index 96cde879922c796f3ac8d14ee99d7b190ff67bd9..5b7a4a1c4e210ad7e8c81e2958e26d0394060fdb 100644 index 96cde879922c796f3ac8d14ee99d7b190ff67bd9..c17f34ceedc76ac489cb9f8576df1cdd520ef1ea 100644
--- a/src/main/java/org/bukkit/block/BlockState.java --- a/src/main/java/org/bukkit/block/BlockState.java
+++ b/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable; @@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable;
@@ -680,12 +680,12 @@ index 96cde879922c796f3ac8d14ee99d7b190ff67bd9..5b7a4a1c4e210ad7e8c81e2958e26d03
* block to another type entirely, causing your BlockState to become invalid. * block to another type entirely, causing your BlockState to become invalid.
*/ */
-public interface BlockState extends Metadatable { -public interface BlockState extends Metadatable {
+public interface BlockState extends Metadatable, me.lexikiq.HasLocation { // Parchment +public interface BlockState extends Metadatable, gg.projecteden.parchment.HasLocation { // Parchment
/** /**
* Gets the block represented by this block state. * Gets the block represented by this block state.
diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java
index a39d2f1acbbd84ae0e2cf29f85594e09e55e9355..19b54fc9f05a88849538a1ed28d8440306b8c81e 100644 index a39d2f1acbbd84ae0e2cf29f85594e09e55e9355..4348b8961afe7a57350856622aff8c988cd4bbdd 100644
--- a/src/main/java/org/bukkit/block/DoubleChest.java --- a/src/main/java/org/bukkit/block/DoubleChest.java
+++ b/src/main/java/org/bukkit/block/DoubleChest.java +++ b/src/main/java/org/bukkit/block/DoubleChest.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
@@ -693,12 +693,12 @@ index a39d2f1acbbd84ae0e2cf29f85594e09e55e9355..19b54fc9f05a88849538a1ed28d84403
* Represents a double chest. * Represents a double chest.
*/ */
-public class DoubleChest implements InventoryHolder { -public class DoubleChest implements InventoryHolder {
+public class DoubleChest implements InventoryHolder, me.lexikiq.HasLocation { // Parchment +public class DoubleChest implements InventoryHolder, gg.projecteden.parchment.HasLocation { // Parchment
private DoubleChestInventory inventory; private DoubleChestInventory inventory;
public DoubleChest(@NotNull DoubleChestInventory chest) { public DoubleChest(@NotNull DoubleChestInventory chest) {
diff --git a/src/main/java/org/bukkit/entity/AnimalTamer.java b/src/main/java/org/bukkit/entity/AnimalTamer.java diff --git a/src/main/java/org/bukkit/entity/AnimalTamer.java b/src/main/java/org/bukkit/entity/AnimalTamer.java
index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..3f87365f96b220cf58b5ab9405ec77b70d24039b 100644 index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..404679175d68ced0909977d0b26be11f0cdc8f19 100644
--- a/src/main/java/org/bukkit/entity/AnimalTamer.java --- a/src/main/java/org/bukkit/entity/AnimalTamer.java
+++ b/src/main/java/org/bukkit/entity/AnimalTamer.java +++ b/src/main/java/org/bukkit/entity/AnimalTamer.java
@@ -4,7 +4,7 @@ import java.util.UUID; @@ -4,7 +4,7 @@ import java.util.UUID;
@@ -706,12 +706,12 @@ index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..3f87365f96b220cf58b5ab9405ec77b7
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
-public interface AnimalTamer { -public interface AnimalTamer {
+public interface AnimalTamer extends me.lexikiq.HasUniqueId { // Parchment +public interface AnimalTamer extends gg.projecteden.common.HasUniqueId { // Parchment
/** /**
* This is the name of the specified AnimalTamer. * This is the name of the specified AnimalTamer.
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index bafad5764cc3933fcd9602d37bd2e68424cbd575..c01d0c2bdd90a54ce853be610ed4554ce2030af4 100644 index bafad5764cc3933fcd9602d37bd2e68424cbd575..30911648875fd537f97e5286a86ab4af5cf5c04c 100644
--- a/src/main/java/org/bukkit/entity/Entity.java --- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable; @@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable;
@@ -719,12 +719,12 @@ index bafad5764cc3933fcd9602d37bd2e68424cbd575..c01d0c2bdd90a54ce853be610ed4554c
* Represents a base entity in the world * Represents a base entity in the world
*/ */
-public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter { // Paper -public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter { // Paper
+public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter, me.lexikiq.HasUniqueId, me.lexikiq.HasLocation { // Paper // Parchment +public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter, gg.projecteden.common.HasUniqueId, gg.projecteden.parchment.HasLocation { // Paper // Parchment
/** /**
* Gets the entity's current position * Gets the entity's current position
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index 28d1ff809e44bda0324ffac957c1d455be02e783..8b72f9e7514cffa5631186a4fd21671c7cf7c7d6 100644 index 28d1ff809e44bda0324ffac957c1d455be02e783..2b64852da2f22bd984216ef0164587e085c445bf 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java --- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -19,7 +19,15 @@ import org.jetbrains.annotations.Nullable; @@ -19,7 +19,15 @@ import org.jetbrains.annotations.Nullable;
@@ -733,7 +733,7 @@ index 28d1ff809e44bda0324ffac957c1d455be02e783..8b72f9e7514cffa5631186a4fd21671c
*/ */
-public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder { -public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder {
+// Parchment start +// Parchment start
+public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder, me.lexikiq.HasHumanEntity { +public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder, gg.projecteden.parchment.HasHumanEntity {
+ +
+ @NotNull + @NotNull
+ @Override + @Override
@@ -745,19 +745,19 @@ index 28d1ff809e44bda0324ffac957c1d455be02e783..8b72f9e7514cffa5631186a4fd21671c
// Paper start // Paper start
@Override @Override
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 9a6e410206852029f1fea0c4409352d5743dcf64..2b38fdc2dad244927a38c779f9c87073d017c259 100644 index 1b4b54741719252892a3a51491d49cd5423de499..e851bcbfcd55fd450f58da3686a96165eb868688 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -41,7 +41,7 @@ import org.jetbrains.annotations.Nullable; @@ -43,7 +43,7 @@ import org.jetbrains.annotations.Nullable;
/** /**
* Represents a player, connected or not * Represents a player, connected or not
*/ */
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient { // Paper -public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient { // Paper
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient, me.lexikiq.HasPlayer { // Paper // Parchment +public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient, gg.projecteden.parchment.HasPlayer { // Paper // Parchment
// Paper start // Paper start
@Override @Override
@@ -49,6 +49,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -51,6 +51,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
return net.kyori.adventure.identity.Identity.identity(this.getUniqueId()); return net.kyori.adventure.identity.Identity.identity(this.getUniqueId());
} }
@@ -775,7 +775,7 @@ index 9a6e410206852029f1fea0c4409352d5743dcf64..2b38fdc2dad244927a38c779f9c87073
* Gets the "friendly" name to display of this player. * Gets the "friendly" name to display of this player.
* *
diff --git a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
index 691733a642b3295bbe6d484be728c77cd32803bd..4481f9ea86fa18ea1fd2ea815784020cd2568740 100644 index 691733a642b3295bbe6d484be728c77cd32803bd..a2eae7a9bad13d1ba2bd954888a0373834d30078 100644
--- a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java --- a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull; @@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull;
@@ -783,12 +783,12 @@ index 691733a642b3295bbe6d484be728c77cd32803bd..4481f9ea86fa18ea1fd2ea815784020c
* experience will not drop. * experience will not drop.
*/ */
-public class BlockBreakEvent extends BlockExpEvent implements Cancellable { -public class BlockBreakEvent extends BlockExpEvent implements Cancellable {
+public class BlockBreakEvent extends BlockExpEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BlockBreakEvent extends BlockExpEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player; private final Player player;
private boolean dropItems; private boolean dropItems;
private boolean cancel; private boolean cancel;
diff --git a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
index a1350c0f74d445dca09eea6e10abac050bb06990..7d9573f88ab4333db2da42379344580087f7f561 100644 index a1350c0f74d445dca09eea6e10abac050bb06990..11bb6f8f7363f31061d5fd0f2e4515099ac40649 100644
--- a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java --- a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable; @@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
@@ -796,12 +796,12 @@ index a1350c0f74d445dca09eea6e10abac050bb06990..7d9573f88ab4333db2da423793445800
* </ul> * </ul>
*/ */
-public class BlockCanBuildEvent extends BlockEvent { -public class BlockCanBuildEvent extends BlockEvent {
+public class BlockCanBuildEvent extends BlockEvent implements me.lexikiq.OptionalPlayer { // Parchment +public class BlockCanBuildEvent extends BlockEvent implements gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
protected boolean buildable; protected boolean buildable;
diff --git a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
index f70871e1ae7b1a1d77405d942d82666f03bf0498..fc40801a3d314b20b4334cffff7e6beeceba80cf 100644 index f70871e1ae7b1a1d77405d942d82666f03bf0498..e5bb8f4b75eb24fa507fcd93b62a4e7f5e2d3c98 100644
--- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java --- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
@@ -809,12 +809,12 @@ index f70871e1ae7b1a1d77405d942d82666f03bf0498..fc40801a3d314b20b4334cffff7e6bee
* If a Block Damage event is cancelled, the block will not be damaged. * If a Block Damage event is cancelled, the block will not be damaged.
*/ */
-public class BlockDamageEvent extends BlockEvent implements Cancellable { -public class BlockDamageEvent extends BlockEvent implements Cancellable {
+public class BlockDamageEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BlockDamageEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final Player player; private final Player player;
private boolean instaBreak; private boolean instaBreak;
diff --git a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
index 3dd4bd38e72c04e74e5787fb38ca9abd10bad06b..440792fcdd618b75d9387e8104562b86bfe33c13 100644 index 3dd4bd38e72c04e74e5787fb38ca9abd10bad06b..3783fb96cc7086bc78dc06c573a1343c3a18c3cb 100644
--- a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java --- a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
@@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull;
@@ -822,12 +822,12 @@ index 3dd4bd38e72c04e74e5787fb38ca9abd10bad06b..440792fcdd618b75d9387e8104562b86
* block. * block.
*/ */
-public class BlockDropItemEvent extends BlockEvent implements Cancellable { -public class BlockDropItemEvent extends BlockEvent implements Cancellable {
+public class BlockDropItemEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BlockDropItemEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final Player player; private final Player player;
diff --git a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
index 695309b4b7ef269ba2496408a5f874f61cd6c445..535e94fb4c2a021a89111ec98c7dbfef1534ac53 100644 index 695309b4b7ef269ba2496408a5f874f61cd6c445..18207907e7b31ef9c136e857de046f9cce006111 100644
--- a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java --- a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; @@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
@@ -835,12 +835,12 @@ index 695309b4b7ef269ba2496408a5f874f61cd6c445..535e94fb4c2a021a89111ec98c7dbfef
* {@link StructureGrowEvent}. * {@link StructureGrowEvent}.
*/ */
-public class BlockFertilizeEvent extends BlockEvent implements Cancellable { -public class BlockFertilizeEvent extends BlockEvent implements Cancellable {
+public class BlockFertilizeEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BlockFertilizeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
index 6dcd9f828c6c40e48593b0bad5a44a656eb01645..542cfd60a1f4775544fb040a7d8c05daaf7a5c67 100644 index 6dcd9f828c6c40e48593b0bad5a44a656eb01645..0651bdd983e90e0e1e8a3565dcb5d97cfd69ce3e 100644
--- a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java --- a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
@@ -848,12 +848,12 @@ index 6dcd9f828c6c40e48593b0bad5a44a656eb01645..542cfd60a1f4775544fb040a7d8c05da
* If a Block Ignite event is cancelled, the block will not be ignited. * If a Block Ignite event is cancelled, the block will not be ignited.
*/ */
-public class BlockIgniteEvent extends BlockEvent implements Cancellable { -public class BlockIgniteEvent extends BlockEvent implements Cancellable {
+public class BlockIgniteEvent extends BlockEvent implements Cancellable, me.lexikiq.OptionalPlayer { // Parchment +public class BlockIgniteEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final IgniteCause cause; private final IgniteCause cause;
private final Entity ignitingEntity; private final Entity ignitingEntity;
diff --git a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java diff --git a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
index be0a2d1f234d8265d98e54e518a994957b1f3ab7..ef5471f00a6c308368dd92f40fd1f3abe60e3e2b 100644 index be0a2d1f234d8265d98e54e518a994957b1f3ab7..54cd6735fbcad009330927d760f8bd93ea9c51ec 100644
--- a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java --- a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
@@ -861,12 +861,12 @@ index be0a2d1f234d8265d98e54e518a994957b1f3ab7..ef5471f00a6c308368dd92f40fd1f3ab
* If a Block Place event is cancelled, the block will not be placed. * If a Block Place event is cancelled, the block will not be placed.
*/ */
-public class BlockPlaceEvent extends BlockEvent implements Cancellable { -public class BlockPlaceEvent extends BlockEvent implements Cancellable {
+public class BlockPlaceEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class BlockPlaceEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
protected boolean cancel; protected boolean cancel;
protected boolean canBuild; protected boolean canBuild;
diff --git a/src/main/java/org/bukkit/event/block/SignChangeEvent.java b/src/main/java/org/bukkit/event/block/SignChangeEvent.java diff --git a/src/main/java/org/bukkit/event/block/SignChangeEvent.java b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
index 1f79f704abf339150df08900b8ea7da4cefef258..d08d9a87c89effcc4882aeda67019f7278aa099c 100644 index 1f79f704abf339150df08900b8ea7da4cefef258..45355bb0dde0b1432054a1504f2dfe01bb696b27 100644
--- a/src/main/java/org/bukkit/event/block/SignChangeEvent.java --- a/src/main/java/org/bukkit/event/block/SignChangeEvent.java
+++ b/src/main/java/org/bukkit/event/block/SignChangeEvent.java +++ b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
@@ -874,12 +874,12 @@ index 1f79f704abf339150df08900b8ea7da4cefef258..d08d9a87c89effcc4882aeda67019f72
* If a Sign Change event is cancelled, the sign will not be changed. * If a Sign Change event is cancelled, the sign will not be changed.
*/ */
-public class SignChangeEvent extends BlockEvent implements Cancellable { -public class SignChangeEvent extends BlockEvent implements Cancellable {
+public class SignChangeEvent extends BlockEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class SignChangeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancel = false; private boolean cancel = false;
private final Player player; private final Player player;
diff --git a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java diff --git a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..6794fe6835ad8a5b1a3194288631f7178fa94b72 100644 index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..b42465617e83d3413ab647cd9c78212b61ca5833 100644
--- a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java --- a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
@@ -887,7 +887,7 @@ index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..6794fe6835ad8a5b1a3194288631f717
* make the entity enter into love mode. * make the entity enter into love mode.
*/ */
-public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable { -public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable {
+public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable, me.lexikiq.OptionalHumanEntity { // Parchment +public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancel; private boolean cancel;
@@ -921,7 +921,7 @@ index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..6794fe6835ad8a5b1a3194288631f717
/** /**
* Gets the amount of ticks that the animal will fall in love for. * Gets the amount of ticks that the animal will fall in love for.
diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
index 10d0e18dfd423b108fe381e8142867eb10399359..9877ca9ee25f4f10b130085b70e02eedf7b5b469 100644 index 10d0e18dfd423b108fe381e8142867eb10399359..7f9f266057de42261fa06e4874d7bec5388c90c7 100644
--- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java --- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
@@ -929,12 +929,12 @@ index 10d0e18dfd423b108fe381e8142867eb10399359..9877ca9ee25f4f10b130085b70e02eed
* Called when an entity explodes * Called when an entity explodes
*/ */
-public class EntityExplodeEvent extends EntityEvent implements Cancellable { -public class EntityExplodeEvent extends EntityEvent implements Cancellable {
+public class EntityExplodeEvent extends EntityEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class EntityExplodeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancel; private boolean cancel;
private final Location location; private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
index ea8f9ed43d8e4158e6c9c345252a94a5000c5561..d9000c142b4097ba17f7333864f0fa197f259300 100644 index ea8f9ed43d8e4158e6c9c345252a94a5000c5561..98d308eda8287cb1f1a0aab5208c7c6f13047c05 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java --- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable; @@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
@@ -942,12 +942,12 @@ index ea8f9ed43d8e4158e6c9c345252a94a5000c5561..d9000c142b4097ba17f7333864f0fa19
* armor stands, boats, minecarts, and end crystals. * armor stands, boats, minecarts, and end crystals.
*/ */
-public class EntityPlaceEvent extends EntityEvent implements Cancellable { -public class EntityPlaceEvent extends EntityEvent implements Cancellable {
+public class EntityPlaceEvent extends EntityEvent implements Cancellable, me.lexikiq.OptionalPlayer { // Parchment +public class EntityPlaceEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java diff --git a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
index 6818e9f0ba32ca1a1e612703f7526b29f5a6438f..9bcc13260ed26a75a1325fe6598bfed51f63496c 100644 index 6818e9f0ba32ca1a1e612703f7526b29f5a6438f..c9c4a6673fd3995bb9638b0d25fa212412cda807 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java --- a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull; @@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
@@ -955,12 +955,12 @@ index 6818e9f0ba32ca1a1e612703f7526b29f5a6438f..9bcc13260ed26a75a1325fe6598bfed5
* Called when an entity comes into contact with a portal * Called when an entity comes into contact with a portal
*/ */
-public class EntityPortalEnterEvent extends EntityEvent { -public class EntityPortalEnterEvent extends EntityEvent {
+public class EntityPortalEnterEvent extends EntityEvent implements me.lexikiq.HasLocation { // Parchment +public class EntityPortalEnterEvent extends EntityEvent implements gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final Location location; private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
index 961ee511342cd3a12ff2ff74d7b4683c6753123d..35aaa2479ef2ede010162230a1b683de5811c4bb 100644 index 961ee511342cd3a12ff2ff74d7b4683c6753123d..892732ab5ae58ec980c4fd05a5a3dfdcbd70a528 100644
--- a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java --- a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
@@ -968,12 +968,12 @@ index 961ee511342cd3a12ff2ff74d7b4683c6753123d..35aaa2479ef2ede010162230a1b683de
* If an Entity Spawn event is cancelled, the entity will not spawn. * If an Entity Spawn event is cancelled, the entity will not spawn.
*/ */
-public class EntitySpawnEvent extends EntityEvent implements Cancellable { -public class EntitySpawnEvent extends EntityEvent implements Cancellable {
+public class EntitySpawnEvent extends EntityEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class EntitySpawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean canceled; private boolean canceled;
diff --git a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java diff --git a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
index 6fc66197eb2c5d59c70d8d028b7963748371edbe..f4c02474f16a009fccd480f6a59bb937c96bbfb7 100644 index 6fc66197eb2c5d59c70d8d028b7963748371edbe..dc45ec5b6ae8e2958d83a113d23ab0b1a911de3f 100644
--- a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java --- a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
+++ b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java +++ b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
@@ -981,12 +981,12 @@ index 6fc66197eb2c5d59c70d8d028b7963748371edbe..f4c02474f16a009fccd480f6a59bb937
* minutes. This behavior is not guaranteed and may change in future versions. * minutes. This behavior is not guaranteed and may change in future versions.
*/ */
-public class ItemDespawnEvent extends EntityEvent implements Cancellable { -public class ItemDespawnEvent extends EntityEvent implements Cancellable {
+public class ItemDespawnEvent extends EntityEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class ItemDespawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean canceled; private boolean canceled;
private final Location location; private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java diff --git a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..6ab6bb4237418479156bd24d77bc1f24db637969 100644 index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..4d5d0b730ad957e44f549518366841492b537ab2 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java --- a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java +++ b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
@@ -994,12 +994,12 @@ index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..6ab6bb4237418479156bd24d77bc1f24
* Called immediately prior to a creature being leashed by a player. * Called immediately prior to a creature being leashed by a player.
*/ */
-public class PlayerLeashEntityEvent extends Event implements Cancellable { -public class PlayerLeashEntityEvent extends Event implements Cancellable {
+public class PlayerLeashEntityEvent extends Event implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class PlayerLeashEntityEvent extends Event implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final Entity leashHolder; private final Entity leashHolder;
private final Entity entity; private final Entity entity;
diff --git a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java diff --git a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
index 1bcff119ecd95012c568c777e5ca2e891e56831e..a92f0b6a1337cb09896291f3d7da39ae011ce9ce 100644 index 1bcff119ecd95012c568c777e5ca2e891e56831e..517f115123fa2009ba0837b0754411e93808562f 100644
--- a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java --- a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java +++ b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1007,12 +1007,12 @@ index 1bcff119ecd95012c568c777e5ca2e891e56831e..a92f0b6a1337cb09896291f3d7da39ae
* Triggered when a hanging entity is created in the world * Triggered when a hanging entity is created in the world
*/ */
-public class HangingPlaceEvent extends HangingEvent implements Cancellable { -public class HangingPlaceEvent extends HangingEvent implements Cancellable {
+public class HangingPlaceEvent extends HangingEvent implements Cancellable, me.lexikiq.OptionalPlayer { // Parchment +public class HangingPlaceEvent extends HangingEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
private final Player player; private final Player player;
diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
index 020739697a0b535cad0b15b574f77cdabbdfa3eb..db95a2096f12c42d84b44bada6048184074a20b4 100644 index 020739697a0b535cad0b15b574f77cdabbdfa3eb..ee4fd41e66852d5d2c62222c7b884473d3f3001d 100644
--- a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java --- a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java +++ b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1020,12 +1020,12 @@ index 020739697a0b535cad0b15b574f77cdabbdfa3eb..db95a2096f12c42d84b44bada6048184
* This event is called when a player takes items out of the furnace * This event is called when a player takes items out of the furnace
*/ */
-public class FurnaceExtractEvent extends BlockExpEvent { -public class FurnaceExtractEvent extends BlockExpEvent {
+public class FurnaceExtractEvent extends BlockExpEvent implements me.lexikiq.HasPlayer { // Parchment +public class FurnaceExtractEvent extends BlockExpEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player; private final Player player;
private final Material itemType; private final Material itemType;
private final int itemAmount; private final int itemAmount;
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java diff --git a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
index 21ad8888c0e403bfc63518502577d651c02dda05..4dd6182476a4a9b961089f34d5376780e1774fc4 100644 index 21ad8888c0e403bfc63518502577d651c02dda05..1c59335a8f0a40162190f6fb73ffbfef0cd795d8 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java --- a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1033,12 +1033,12 @@ index 21ad8888c0e403bfc63518502577d651c02dda05..4dd6182476a4a9b961089f34d5376780
* Represents a player related inventory event * Represents a player related inventory event
*/ */
-public class InventoryCloseEvent extends InventoryEvent { -public class InventoryCloseEvent extends InventoryEvent {
+public class InventoryCloseEvent extends InventoryEvent implements me.lexikiq.HasHumanEntity { // Parchment +public class InventoryCloseEvent extends InventoryEvent implements gg.projecteden.parchment.HasHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
// Paper start // Paper start
private final Reason reason; private final Reason reason;
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java diff --git a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
index 9013d043503d175004ad276799e5935b7fa59dc4..2af2c43ba34de3ff6f6a82f5abb4f94f2fa5d19e 100644 index 9013d043503d175004ad276799e5935b7fa59dc4..4095ca19e6ceff2432e0cbd372e9475f748278a7 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java --- a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1046,12 +1046,12 @@ index 9013d043503d175004ad276799e5935b7fa59dc4..2af2c43ba34de3ff6f6a82f5abb4f94f
* Represents a player related inventory event * Represents a player related inventory event
*/ */
-public class InventoryOpenEvent extends InventoryEvent implements Cancellable { -public class InventoryOpenEvent extends InventoryEvent implements Cancellable {
+public class InventoryOpenEvent extends InventoryEvent implements Cancellable, me.lexikiq.HasHumanEntity { // Parchment +public class InventoryOpenEvent extends InventoryEvent implements Cancellable, gg.projecteden.parchment.HasHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
index 694a81769076ea58aae9f14f076ab80c9952c957..bea28949cc37a652427fc4ab1dfb225c65ea1d9b 100644 index 694a81769076ea58aae9f14f076ab80c9952c957..933a83a00922ea7ed8a76a688152ed43d0ba5691 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java --- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java +++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1059,12 +1059,12 @@ index 694a81769076ea58aae9f14f076ab80c9952c957..bea28949cc37a652427fc4ab1dfb225c
* This event is asynchronous, and not run using main thread. * This event is asynchronous, and not run using main thread.
*/ */
-public class AsyncPlayerPreLoginEvent extends Event { -public class AsyncPlayerPreLoginEvent extends Event {
+public class AsyncPlayerPreLoginEvent extends Event implements me.lexikiq.HasUniqueId { // Parchment +public class AsyncPlayerPreLoginEvent extends Event implements gg.projecteden.common.HasUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private Result result; private Result result;
private net.kyori.adventure.text.Component message; // Paper private net.kyori.adventure.text.Component message; // Paper
diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java
index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..309d4526816853dfc2d5c3061bd772238776ab74 100644 index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..44efb5cc62149b34b994eadac488a90269e8ae79 100644
--- a/src/main/java/org/bukkit/event/player/PlayerEvent.java --- a/src/main/java/org/bukkit/event/player/PlayerEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerEvent.java
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull; @@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1072,12 +1072,12 @@ index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..309d4526816853dfc2d5c3061bd77223
* Represents a player related event * Represents a player related event
*/ */
-public abstract class PlayerEvent extends Event { -public abstract class PlayerEvent extends Event {
+public abstract class PlayerEvent extends Event implements me.lexikiq.HasPlayer { // Parchment +public abstract class PlayerEvent extends Event implements gg.projecteden.parchment.HasPlayer { // Parchment
protected Player player; protected Player player;
public PlayerEvent(@NotNull final Player who) { public PlayerEvent(@NotNull final Player who) {
diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
index 123979ed64939d615b061f91c19c630e1e1db8c7..0220c4f087fd6b5769a0fa4f03bfd096a1462359 100644 index 123979ed64939d615b061f91c19c630e1e1db8c7..0507e766428966ffe1e72f476991240d17b39f4a 100644
--- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java --- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull; @@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1085,12 +1085,12 @@ index 123979ed64939d615b061f91c19c630e1e1db8c7..0220c4f087fd6b5769a0fa4f03bfd096
@Deprecated @Deprecated
@Warning(reason = "This event causes a login thread to synchronize with the main thread") @Warning(reason = "This event causes a login thread to synchronize with the main thread")
-public class PlayerPreLoginEvent extends Event { -public class PlayerPreLoginEvent extends Event {
+public class PlayerPreLoginEvent extends Event implements me.lexikiq.HasUniqueId { // Parchment +public class PlayerPreLoginEvent extends Event implements gg.projecteden.common.HasUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private Result result; private Result result;
private net.kyori.adventure.text.Component message; // Paper private net.kyori.adventure.text.Component message; // Paper
diff --git a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java diff --git a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
index 68eab1563caba1ee4f52b308f390e4e172667fc5..7ebf60f80ac29f3969d2d70fa0cf668f2933b647 100644 index 68eab1563caba1ee4f52b308f390e4e172667fc5..7f2be08b1e7b6df4bab8a8996bc276f369a8ff78 100644
--- a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java --- a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1098,12 +1098,12 @@ index 68eab1563caba1ee4f52b308f390e4e172667fc5..7ebf60f80ac29f3969d2d70fa0cf668f
* Called prior to an entity being unleashed due to a player's action. * Called prior to an entity being unleashed due to a player's action.
*/ */
-public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable { -public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable {
+public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player; private final Player player;
private boolean cancelled = false; private boolean cancelled = false;
diff --git a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java diff --git a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
index 128e43cf12205f82f2b119a773208502cdccfdd4..f0a5fc39fa35ec71cf9cadb7d0cff379f5d8c6cb 100644 index 128e43cf12205f82f2b119a773208502cdccfdd4..ca1fed3081e2b0a3271a2dfa0f49cce78bdb8e23 100644
--- a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java --- a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
+++ b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java +++ b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
@@ -1111,12 +1111,12 @@ index 128e43cf12205f82f2b119a773208502cdccfdd4..f0a5fc39fa35ec71cf9cadb7d0cff379
* enters a village). * enters a village).
*/ */
-public class RaidTriggerEvent extends RaidEvent implements Cancellable { -public class RaidTriggerEvent extends RaidEvent implements Cancellable {
+public class RaidTriggerEvent extends RaidEvent implements Cancellable, me.lexikiq.HasPlayer { // Parchment +public class RaidTriggerEvent extends RaidEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
// //
diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
index f96c4ba53ab41ea66d4f9a4d54eeabb63f992b58..39fa65a2b130c00b2ba5d90e2fa673a6d9c85f4b 100644 index f96c4ba53ab41ea66d4f9a4d54eeabb63f992b58..fdc3114adb18108ccd8acbab458bacededed4767 100644
--- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java --- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
+++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java +++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable; @@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1124,12 +1124,12 @@ index f96c4ba53ab41ea66d4f9a4d54eeabb63f992b58..39fa65a2b130c00b2ba5d90e2fa673a6
* commands, or use {@link PlayerCommandSendEvent}. * commands, or use {@link PlayerCommandSendEvent}.
*/ */
-public class TabCompleteEvent extends Event implements Cancellable { -public class TabCompleteEvent extends Event implements Cancellable {
+public class TabCompleteEvent extends Event implements Cancellable, me.lexikiq.OptionalLocation { // Parchment +public class TabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
// //
diff --git a/src/main/java/org/bukkit/event/world/GenericGameEvent.java b/src/main/java/org/bukkit/event/world/GenericGameEvent.java diff --git a/src/main/java/org/bukkit/event/world/GenericGameEvent.java b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
index 1746b66510e7b9c8708018582034b04714c29867..8f667cd2f05144bdc863f81b213f0a99b7f695b6 100644 index 1746b66510e7b9c8708018582034b04714c29867..9c1c1acb91fc36e8811c27f7a6d8347249d95c16 100644
--- a/src/main/java/org/bukkit/event/world/GenericGameEvent.java --- a/src/main/java/org/bukkit/event/world/GenericGameEvent.java
+++ b/src/main/java/org/bukkit/event/world/GenericGameEvent.java +++ b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; @@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1137,12 +1137,12 @@ index 1746b66510e7b9c8708018582034b04714c29867..8f667cd2f05144bdc863f81b213f0a99
* used internally by Sculk sensors. * used internally by Sculk sensors.
*/ */
-public class GenericGameEvent extends WorldEvent implements Cancellable { -public class GenericGameEvent extends WorldEvent implements Cancellable {
+public class GenericGameEvent extends WorldEvent implements Cancellable, me.lexikiq.HasLocation { // Parchment +public class GenericGameEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private final GameEvent event; private final GameEvent event;
diff --git a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java diff --git a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
index 7af8d6e51c824cf0592b722b834f1d4986e3cc08..8baaa32094bacb181848904f18184fe6f90289df 100644 index 7af8d6e51c824cf0592b722b834f1d4986e3cc08..c28d62fc3dc359f9ebcf926094198ee3c92467aa 100644
--- a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java --- a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
+++ b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java +++ b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1150,12 +1150,12 @@ index 7af8d6e51c824cf0592b722b834f1d4986e3cc08..8baaa32094bacb181848904f18184fe6
* Tree), (Mushroom {@literal ->} Huge Mushroom), naturally or using bonemeal. * Tree), (Mushroom {@literal ->} Huge Mushroom), naturally or using bonemeal.
*/ */
-public class StructureGrowEvent extends WorldEvent implements Cancellable { -public class StructureGrowEvent extends WorldEvent implements Cancellable {
+public class StructureGrowEvent extends WorldEvent implements Cancellable, me.lexikiq.OptionalPlayer { // Parchment +public class StructureGrowEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false; private boolean cancelled = false;
private final Location location; private final Location location;
diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java
index 8f00cb2e3bc9963e9657c1b2493e8b015a6664d0..7029f3e6fe4a5167265a70eb3113f25836c6e121 100644 index 8864124c4a6ba48523ff217a78b9bac676da592f..b984678a49ff96fa7eca9a5450e1c690f6ec6953 100644
--- a/src/main/java/org/bukkit/inventory/Inventory.java --- a/src/main/java/org/bukkit/inventory/Inventory.java
+++ b/src/main/java/org/bukkit/inventory/Inventory.java +++ b/src/main/java/org/bukkit/inventory/Inventory.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1163,12 +1163,12 @@ index 8f00cb2e3bc9963e9657c1b2493e8b015a6664d0..7029f3e6fe4a5167265a70eb3113f258
* @see #getStorageContents() * @see #getStorageContents()
*/ */
-public interface Inventory extends Iterable<ItemStack> { -public interface Inventory extends Iterable<ItemStack> {
+public interface Inventory extends Iterable<ItemStack>, me.lexikiq.OptionalLocation { // Parchment +public interface Inventory extends Iterable<ItemStack>, gg.projecteden.parchment.OptionalLocation { // Parchment
/** /**
* Returns the size of the inventory * Returns the size of the inventory
diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
index b06995aa57aa9cba0bb59f1d26d81015619a08e6..d599b72c2441a023dff8ee4bdaf587b21471f11f 100644 index b06995aa57aa9cba0bb59f1d26d81015619a08e6..543d3cccc6dd04c66c89df09f4804333b8ce436e 100644
--- a/src/main/java/org/bukkit/inventory/InventoryView.java --- a/src/main/java/org/bukkit/inventory/InventoryView.java
+++ b/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/src/main/java/org/bukkit/inventory/InventoryView.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1176,12 +1176,12 @@ index b06995aa57aa9cba0bb59f1d26d81015619a08e6..d599b72c2441a023dff8ee4bdaf587b2
* as it should. * as it should.
*/ */
-public abstract class InventoryView { -public abstract class InventoryView {
+public abstract class InventoryView implements me.lexikiq.HasHumanEntity { // Parchment +public abstract class InventoryView implements gg.projecteden.parchment.HasHumanEntity { // Parchment
public static final int OUTSIDE = -999; public static final int OUTSIDE = -999;
/** /**
* Represents various extra properties of certain inventory windows. * Represents various extra properties of certain inventory windows.
diff --git a/src/main/java/org/bukkit/loot/LootContext.java b/src/main/java/org/bukkit/loot/LootContext.java diff --git a/src/main/java/org/bukkit/loot/LootContext.java b/src/main/java/org/bukkit/loot/LootContext.java
index e307f9fc45a4e5d742b78c4cda9a41d7f259a515..ab532552e4a10e03125b64e0884650a841275cca 100644 index e307f9fc45a4e5d742b78c4cda9a41d7f259a515..a66d59321915b0dc76f8e2dd95f01f9e3adaefa6 100644
--- a/src/main/java/org/bukkit/loot/LootContext.java --- a/src/main/java/org/bukkit/loot/LootContext.java
+++ b/src/main/java/org/bukkit/loot/LootContext.java +++ b/src/main/java/org/bukkit/loot/LootContext.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1189,7 +1189,7 @@ index e307f9fc45a4e5d742b78c4cda9a41d7f259a515..ab532552e4a10e03125b64e0884650a8
* generated loot. * generated loot.
*/ */
-public final class LootContext { -public final class LootContext {
+public final class LootContext implements me.lexikiq.HasLocation { // Parchment +public final class LootContext implements gg.projecteden.parchment.HasLocation { // Parchment
public static final int DEFAULT_LOOT_MODIFIER = -1; public static final int DEFAULT_LOOT_MODIFIER = -1;

View File

@@ -4,13 +4,13 @@ Date: Sat, 19 Jun 2021 22:55:10 -0400
Subject: [PATCH] Add SoundEvent Subject: [PATCH] Add SoundEvent
diff --git a/src/main/java/me/lexikiq/event/sound/EntitySoundEvent.java b/src/main/java/me/lexikiq/event/sound/EntitySoundEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/sound/EntitySoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/EntitySoundEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..af2a2e87c8e266e908a9a72df1e469842cb7f19d index 0000000000000000000000000000000000000000..5b74910e441a943597d3170ff00a9b9debab1d38
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/sound/EntitySoundEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/sound/EntitySoundEvent.java
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
+package me.lexikiq.event.sound; +package gg.projecteden.parchment.event.sound;
+ +
+import org.apache.commons.lang.Validate; +import org.apache.commons.lang.Validate;
+import org.bukkit.Sound; +import org.bukkit.Sound;
@@ -59,15 +59,15 @@ index 0000000000000000000000000000000000000000..af2a2e87c8e266e908a9a72df1e46984
+ return origin.getWorld(); + return origin.getWorld();
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/event/sound/LocationCustomSoundEvent.java b/src/main/java/me/lexikiq/event/sound/LocationCustomSoundEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/sound/LocationCustomSoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/LocationCustomSoundEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..f007bc326bea341735e7313789f5d110af5ac4ca index 0000000000000000000000000000000000000000..59ad830329f31fdb13d402514b07ad851cb71dae
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/sound/LocationCustomSoundEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/sound/LocationCustomSoundEvent.java
@@ -0,0 +1,121 @@ @@ -0,0 +1,121 @@
+package me.lexikiq.event.sound; +package gg.projecteden.parchment.event.sound;
+ +
+import me.lexikiq.HasLocation; +import gg.projecteden.parchment.HasLocation;
+import org.apache.commons.lang.Validate; +import org.apache.commons.lang.Validate;
+import org.bukkit.Keyed; +import org.bukkit.Keyed;
+import org.bukkit.Location; +import org.bukkit.Location;
@@ -186,15 +186,15 @@ index 0000000000000000000000000000000000000000..f007bc326bea341735e7313789f5d110
+ return handlers; + return handlers;
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/event/sound/LocationNamedSoundEvent.java b/src/main/java/me/lexikiq/event/sound/LocationNamedSoundEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/sound/LocationNamedSoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/LocationNamedSoundEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..81ba14fea8d04347a0fd3931b27188028c5ac859 index 0000000000000000000000000000000000000000..0872f3850860fe7cca28aeabed6235cc2a805c94
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/sound/LocationNamedSoundEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/sound/LocationNamedSoundEvent.java
@@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
+package me.lexikiq.event.sound; +package gg.projecteden.parchment.event.sound;
+ +
+import me.lexikiq.HasLocation; +import gg.projecteden.parchment.HasLocation;
+import org.apache.commons.lang.Validate; +import org.apache.commons.lang.Validate;
+import org.bukkit.Location; +import org.bukkit.Location;
+import org.bukkit.Sound; +import org.bukkit.Sound;
@@ -264,13 +264,13 @@ index 0000000000000000000000000000000000000000..81ba14fea8d04347a0fd3931b2718802
+ this.vector = vector; + this.vector = vector;
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/event/sound/NamedSoundEvent.java b/src/main/java/me/lexikiq/event/sound/NamedSoundEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/sound/NamedSoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/NamedSoundEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..8623e03aa5ca094629bf6a20669ea8c5086d938c index 0000000000000000000000000000000000000000..e51fd733424d9410fca24ba47883974efe9afad6
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/sound/NamedSoundEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/sound/NamedSoundEvent.java
@@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
+package me.lexikiq.event.sound; +package gg.projecteden.parchment.event.sound;
+ +
+import org.apache.commons.lang.Validate; +import org.apache.commons.lang.Validate;
+import org.bukkit.Sound; +import org.bukkit.Sound;
@@ -334,15 +334,15 @@ index 0000000000000000000000000000000000000000..8623e03aa5ca094629bf6a20669ea8c5
+ return handlers; + return handlers;
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/event/sound/SoundEvent.java b/src/main/java/me/lexikiq/event/sound/SoundEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/sound/SoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/SoundEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..5cc39ee9ae52a52bebde46236162f1260b96b3a0 index 0000000000000000000000000000000000000000..ae7abca5d88fc7f650559b220de73b6f20a6a899
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/sound/SoundEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/sound/SoundEvent.java
@@ -0,0 +1,97 @@ @@ -0,0 +1,97 @@
+package me.lexikiq.event.sound; +package gg.projecteden.parchment.event.sound;
+ +
+import me.lexikiq.OptionalHumanEntity; +import gg.projecteden.parchment.OptionalHumanEntity;
+import org.apache.commons.lang.Validate; +import org.apache.commons.lang.Validate;
+import org.bukkit.SoundCategory; +import org.bukkit.SoundCategory;
+import org.bukkit.World; +import org.bukkit.World;

View File

@@ -4,13 +4,13 @@ Date: Thu, 13 May 2021 23:55:02 -0400
Subject: [PATCH] Add PlayerUseRespawnAnchorEvent Subject: [PATCH] Add PlayerUseRespawnAnchorEvent
diff --git a/src/main/java/me/lexikiq/event/player/PlayerUseRespawnAnchorEvent.java b/src/main/java/me/lexikiq/event/player/PlayerUseRespawnAnchorEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/player/PlayerUseRespawnAnchorEvent.java b/src/main/java/gg/projecteden/parchment/event/player/PlayerUseRespawnAnchorEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..fcf552bb84a10794dda178b337768efe4781facd index 0000000000000000000000000000000000000000..c2dfb2e8dfe6462b12c2425225d2f7a66a53de8b
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/player/PlayerUseRespawnAnchorEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/player/PlayerUseRespawnAnchorEvent.java
@@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
+package me.lexikiq.event.player; +package gg.projecteden.parchment.event.player;
+ +
+import com.google.common.base.Preconditions; +import com.google.common.base.Preconditions;
+import org.bukkit.block.Block; +import org.bukkit.block.Block;

View File

@@ -188,28 +188,3 @@ index bd213cabddd8752e609544f24cfba95405726155..7e89cadecde96f9c2394446669dc4d98
/** /**
* Gets the DyeColor with the given wool data value. * Gets the DyeColor with the given wool data value.
* *
diff --git a/src/main/java/org/bukkit/Keyed.java b/src/main/java/org/bukkit/Keyed.java
index 32c92621c2c15eec14c50965f5ecda00c46e6c80..3876a03ab9df9a0aef7a5c05a38b39b07a6dd285 100644
--- a/src/main/java/org/bukkit/Keyed.java
+++ b/src/main/java/org/bukkit/Keyed.java
@@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents an object which has a {@link NamespacedKey} attached to it.
*/
-public interface Keyed {
+public interface Keyed extends net.kyori.adventure.key.Keyed { // Parchment
/**
* Return the namespaced identifier for this object.
@@ -14,4 +14,11 @@ public interface Keyed {
*/
@NotNull
NamespacedKey getKey();
+
+ // Parchment start
+ @Override
+ default net.kyori.adventure.key.@org.checkerframework.checker.nullness.qual.NonNull Key key() {
+ return getKey();
+ }
+ // Parchment end
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..5606c09f62b7ad0cf33bb507d71830581114afd4 100644 index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..532040d23ef01513d1700f2fa3f09dc580784fc2 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java --- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -218,4 +218,17 @@ public interface UnsafeValues { @@ -218,4 +218,17 @@ public interface UnsafeValues {
@@ -23,6 +23,6 @@ index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..5606c09f62b7ad0cf33bb507d7183058
+ * @param face cardinal direction + * @param face cardinal direction
+ * @return if the item can be placed + * @return if the item can be placed
+ */ + */
+ java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(@org.jetbrains.annotations.NotNull ItemStack item, @org.jetbrains.annotations.Nullable me.lexikiq.OptionalHumanEntity player, @org.jetbrains.annotations.NotNull org.bukkit.block.Block block, @org.jetbrains.annotations.NotNull org.bukkit.block.BlockFace face); + java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(@org.jetbrains.annotations.NotNull ItemStack item, @org.jetbrains.annotations.Nullable gg.projecteden.parchment.OptionalHumanEntity player, @org.jetbrains.annotations.NotNull org.bukkit.block.Block block, @org.jetbrains.annotations.NotNull org.bukkit.block.BlockFace face);
+ // Parchment end + // Parchment end
} }

View File

@@ -5,13 +5,13 @@ Subject: [PATCH] Expose NMS ordinals
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index 5606c09f62b7ad0cf33bb507d71830581114afd4..91ce90be864c20cab92525693d37b07f94d978af 100644 index 532040d23ef01513d1700f2fa3f09dc580784fc2..130c0e7facd1ad618dade0a2d8f48bb5d2031942 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java --- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -230,5 +230,12 @@ public interface UnsafeValues { @@ -230,5 +230,12 @@ public interface UnsafeValues {
* @return if the item can be placed * @return if the item can be placed
*/ */
java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(@org.jetbrains.annotations.NotNull ItemStack item, @org.jetbrains.annotations.Nullable me.lexikiq.OptionalHumanEntity player, @org.jetbrains.annotations.NotNull org.bukkit.block.Block block, @org.jetbrains.annotations.NotNull org.bukkit.block.BlockFace face); java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(@org.jetbrains.annotations.NotNull ItemStack item, @org.jetbrains.annotations.Nullable gg.projecteden.parchment.OptionalHumanEntity player, @org.jetbrains.annotations.NotNull org.bukkit.block.Block block, @org.jetbrains.annotations.NotNull org.bukkit.block.BlockFace face);
+ +
+ /** + /**
+ * Gets the ID/ordinal of an entity according to NMS. + * Gets the ID/ordinal of an entity according to NMS.

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Expose MCUtil Executors
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index c34cfba8f9ed7e9dbd0b6b8ffef9fba46abff046..451ea2c118b661725047f344c91814668d25cea5 100644 index e48af3822e9f118399c3a1c9358c56efae12e0da..1689306bb9a9fc251574877427ca846e6def7003 100644
--- a/src/main/java/org/bukkit/Server.java --- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java
@@ -1837,4 +1837,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -1888,4 +1888,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull @NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager(); io.papermc.paper.datapack.DatapackManager getDatapackManager();
// Paper end // Paper end

View File

@@ -7,13 +7,13 @@ Adds an event which allows plugin developers
to easily get the items being dropped by any to easily get the items being dropped by any
block instead of only blocks broken by players. block instead of only blocks broken by players.
diff --git a/src/main/java/me/lexikiq/event/block/BlockDropResourcesEvent.java b/src/main/java/me/lexikiq/event/block/BlockDropResourcesEvent.java diff --git a/src/main/java/gg/projecteden/parchment/event/block/BlockDropResourcesEvent.java b/src/main/java/gg/projecteden/parchment/event/block/BlockDropResourcesEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..5ac4994b3e530f7e7636dddfdf24dec12e74ebf7 index 0000000000000000000000000000000000000000..1547d962e9c27411915a34efe0db0c3dff99c6e5
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/event/block/BlockDropResourcesEvent.java +++ b/src/main/java/gg/projecteden/parchment/event/block/BlockDropResourcesEvent.java
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
+package me.lexikiq.event.block; +package gg.projecteden.parchment.event.block;
+ +
+import org.bukkit.block.Block; +import org.bukkit.block.Block;
+import org.bukkit.event.HandlerList; +import org.bukkit.event.HandlerList;

View File

@@ -7,13 +7,13 @@ Temporary API to get the result of smelting an item in a (type of) furnace.
Will eventually (hopefully) be replaced by a more extensive Paper PR with support for all recipes. Will eventually (hopefully) be replaced by a more extensive Paper PR with support for all recipes.
diff --git a/src/main/java/me/lexikiq/inventory/RecipeType.java b/src/main/java/me/lexikiq/inventory/RecipeType.java diff --git a/src/main/java/gg/projecteden/parchment/inventory/RecipeType.java b/src/main/java/gg/projecteden/parchment/inventory/RecipeType.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..f8f707483bf08142cdaf6c6ff9b1241832e9134f index 0000000000000000000000000000000000000000..28c01caa9d6379046f6af6612719b40459a89d17
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/inventory/RecipeType.java +++ b/src/main/java/gg/projecteden/parchment/inventory/RecipeType.java
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
+package me.lexikiq.inventory; +package gg.projecteden.parchment.inventory;
+ +
+/** +/**
+ * A type of crafting recipe. + * A type of crafting recipe.
@@ -64,10 +64,10 @@ index 0000000000000000000000000000000000000000..f8f707483bf08142cdaf6c6ff9b12418
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 4f673e9123145dc78564dc3eef0edf75795dafc2..85902538dae4a76ee79bc2d9921f2b4ec9f3c30d 100644 index 1f8a51897d9de00f0004ab1de479198390483f7d..a74ee256922b220c1de31bb9784a78ffde59499d 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -3764,6 +3764,36 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @@ -3772,6 +3772,36 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable @Nullable
public DragonBattle getEnderDragonBattle(); public DragonBattle getEnderDragonBattle();
@@ -80,17 +80,17 @@ index 4f673e9123145dc78564dc3eef0edf75795dafc2..85902538dae4a76ee79bc2d9921f2b4e
+ */ + */
+ @Nullable + @Nullable
+ default ItemStack smeltItem(@NotNull ItemStack toSmelt) { + default ItemStack smeltItem(@NotNull ItemStack toSmelt) {
+ return smeltItem(toSmelt, me.lexikiq.inventory.RecipeType.SMELTING); + return smeltItem(toSmelt, gg.projecteden.parchment.inventory.RecipeType.SMELTING);
+ } + }
+ +
+ /** + /**
+ * Returns the item that will result from smelting the input item, if applicable. + * Returns the item that will result from smelting the input item, if applicable.
+ * <p> + * <p>
+ * Applicable values for {@code recipeType} are + * Applicable values for {@code recipeType} are
+ * {@link me.lexikiq.inventory.RecipeType#SMELTING SMELTING}, + * {@link gg.projecteden.parchment.inventory.RecipeType#SMELTING SMELTING},
+ * {@link me.lexikiq.inventory.RecipeType#BLASTING BLASTING}, + * {@link gg.projecteden.parchment.inventory.RecipeType#BLASTING BLASTING},
+ * {@link me.lexikiq.inventory.RecipeType#SMOKING SMOKING}, + * {@link gg.projecteden.parchment.inventory.RecipeType#SMOKING SMOKING},
+ * and {@link me.lexikiq.inventory.RecipeType#CAMPFIRE_COOKING CAMPFIRE_COOKING}. + * and {@link gg.projecteden.parchment.inventory.RecipeType#CAMPFIRE_COOKING CAMPFIRE_COOKING}.
+ * An {@link IllegalArgumentException} will be thrown if another value is supplied. + * An {@link IllegalArgumentException} will be thrown if another value is supplied.
+ * + *
+ * @param toSmelt the item to simulate smelting + * @param toSmelt the item to simulate smelting
@@ -98,7 +98,7 @@ index 4f673e9123145dc78564dc3eef0edf75795dafc2..85902538dae4a76ee79bc2d9921f2b4e
+ * @return the resulting item, or null + * @return the resulting item, or null
+ */ + */
+ @Nullable + @Nullable
+ ItemStack smeltItem(@NotNull ItemStack toSmelt, me.lexikiq.inventory.@NotNull RecipeType recipeType); + ItemStack smeltItem(@NotNull ItemStack toSmelt, gg.projecteden.parchment.inventory.@NotNull RecipeType recipeType);
+ // Parchment end + // Parchment end
+ +
/** /**

View File

@@ -5,21 +5,21 @@ Subject: [PATCH] Build changes
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index f442236efe30d7d9e0c6a8dfb0f040540dc62753..fdb196e44535eebf63a6c0e0ee98280e21d9b450 100644 index da31e84cb558e6fad9cab015cfae753ce7be7db0..a1aecd789f09ef1e89e2a9c237cd8e1f9a47567b 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -22,8 +22,8 @@ repositories { @@ -18,8 +18,8 @@ repositories {
} }
dependencies { dependencies {
- implementation(project(":Paper-API")) - implementation(project(":paper-api"))
- implementation(project(":Paper-MojangAPI")) - implementation(project(":paper-mojangapi"))
+ implementation(project(":Parchment-API")) // Parchment + implementation(project(":Parchment-API")) // Parchment
+ implementation("io.papermc.paper:paper-mojangapi:1.17.1-R0.1-SNAPSHOT") // Parchment + implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") // Parchment
// Paper start // Paper start
implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("org.jline:jline-terminal-jansi:3.21.0")
implementation("net.minecrell:terminalconsoleappender:1.3.0") implementation("net.minecrell:terminalconsoleappender:1.3.0")
@@ -75,7 +75,7 @@ tasks.jar { @@ -68,7 +68,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -28,9 +28,9 @@ index f442236efe30d7d9e0c6a8dfb0f040540dc62753..fdb196e44535eebf63a6c0e0ee98280e
"Implementation-Vendor" to date, // Paper "Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit", "Specification-Title" to "Bukkit",
"Specification-Version" to project.version, "Specification-Version" to project.version,
@@ -97,6 +97,26 @@ publishing { @@ -85,6 +85,26 @@ tasks.jar {
classifier = null publishing {
} publications.create<MavenPublication>("maven") {
artifact(tasks.shadowJar) artifact(tasks.shadowJar)
+ // Parchment start + // Parchment start
+ groupId = project.group as String? + groupId = project.group as String?
@@ -55,24 +55,15 @@ index f442236efe30d7d9e0c6a8dfb0f040540dc62753..fdb196e44535eebf63a6c0e0ee98280e
} }
} }
@@ -141,7 +161,7 @@ tasks.shadowJar { @@ -156,7 +176,7 @@ fun TaskContainer.registerRunTask(
name: String,
// Needed for Paperclip's install to maven local feature block: JavaExec.() -> Unit
from(generatePom) {
- into("META-INF/maven/io.papermc.paper/paper")
+ into("META-INF/maven/${project.group}/${project.name.toLowerCase(Locale.ENGLISH)}") // Parchment
rename { "pom.xml" }
}
@@ -202,7 +222,7 @@ tasks.test {
fun TaskContainer.registerRunTask(
name: String, block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) { ): TaskProvider<JavaExec> = register<JavaExec>(name) {
- group = "paper" - group = "paper"
+ group = "paperweight" // Parchment + group = "paperweight" // Parchment
mainClass.set("org.bukkit.craftbukkit.Main")
standardInput = System.`in` standardInput = System.`in`
workingDir = rootProject.layout.projectDirectory.dir( workingDir = rootProject.layout.projectDirectory
providers.gradleProperty("runWorkDir").forUseAtConfigurationTime().orElse("run")
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..52126870f1fc15a9ddce4452673b236ea692860f 100644 index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..52126870f1fc15a9ddce4452673b236ea692860f 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java --- a/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -111,10 +102,10 @@ index ece77f5ea4b14bbed7c070131b3251ea86764538..71bf426f7fb58fff6739bb1332d1286d
org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion()); org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion());
} }
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 5a4172faaf960d48939d6a485719041987df9242..9e73372f15b42a59fb9083e3210e6748e1b01789 100644 index 481a5dbad82f3f8dd5b1bf8ab207d82ec73d5bbd..cc685535868f594e50b9595dc073f71f4e1a2966 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
@@ -1729,7 +1729,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1709,7 +1709,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -124,10 +115,10 @@ index 5a4172faaf960d48939d6a485719041987df9242..9e73372f15b42a59fb9083e3210e6748
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {
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 99a94898316b0601f55b333c15a9926eae24f8a2..8890fe4c8d11934328e20087ecadb76858d9e028 100644 index ba7023e7ca5d29375ff53c2951892138d155f69f..930772d4326aa106f9a267bc750eda11ca0ea355 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
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper @@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server { public final class CraftServer implements Server {
@@ -137,7 +128,7 @@ index 99a94898316b0601f55b333c15a9926eae24f8a2..8890fe4c8d11934328e20087ecadb768
private final String bukkitVersion = Versioning.getBukkitVersion(); private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft"); private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 22e9dd17f62103c5061435099ce96a3d70d54808..3344a9f976c0eaf88c62831ed8ec4952b400cca1 100644 index 55bae3efbc630be6d40d415509de4c3e744a5004..c605f411cddfb9d952f26baf9094ac34527c985e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -269,7 +269,7 @@ public class Main { @@ -269,7 +269,7 @@ public class Main {
@@ -150,7 +141,7 @@ index 22e9dd17f62103c5061435099ce96a3d70d54808..3344a9f976c0eaf88c62831ed8ec4952
//Thread.sleep(TimeUnit.SECONDS.toMillis(20)); //Thread.sleep(TimeUnit.SECONDS.toMillis(20));
// Paper End // Paper End
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 774556a62eb240da42e84db4502e2ed43495be17..fbba763d909c4636174e79c680745b83c41409bb 100644 index 774556a62eb240da42e84db4502e2ed43495be17..6f1b3fa6ebeabc7596034663ed06686fd3892267 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning { @@ -11,7 +11,7 @@ public final class Versioning {
@@ -158,7 +149,7 @@ index 774556a62eb240da42e84db4502e2ed43495be17..fbba763d909c4636174e79c680745b83
String result = "Unknown-Version"; String result = "Unknown-Version";
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties"); - InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/me.lexikiq/parchment-api/pom.properties"); + InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/gg.projecteden.parchment/parchment-api/pom.properties");
Properties properties = new Properties(); Properties properties = new Properties();
if (stream != null) { if (stream != null) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Temporary Access Transformers
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index 8e6df16568c0dab482e10ad1b38920d77f6e684f..dbcf8a2138c55aa1ef32bbad92fb555f2acc79cd 100644 index 8175bb6331727440da2232998bdad068a1c47ae8..01b9b3cdb4d9d3b32d6c7d39e09dc7594a2d97ce 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java --- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -191,7 +191,7 @@ public class BlockItem extends Item { @@ -191,7 +191,7 @@ public class BlockItem extends Item {
@@ -15,5 +15,5 @@ index 8e6df16568c0dab482e10ad1b38920d77f6e684f..dbcf8a2138c55aa1ef32bbad92fb555f
- protected boolean canPlace(BlockPlaceContext context, BlockState state) { - protected boolean canPlace(BlockPlaceContext context, BlockState state) {
+ public boolean canPlace(BlockPlaceContext context, BlockState state) { // Parchment + public boolean canPlace(BlockPlaceContext context, BlockState state) { // Parchment
Player entityhuman = context.getPlayer(); Player entityhuman = context.getPlayer();
CollisionContext voxelshapecollision = entityhuman == null ? CollisionContext.empty() : CollisionContext.of((Entity) entityhuman); CollisionContext voxelshapecollision = entityhuman == null ? CollisionContext.empty() : CollisionContext.of(entityhuman);
// CraftBukkit start - store default return // CraftBukkit start - store default return

View File

@@ -5,42 +5,42 @@ Subject: [PATCH] Add SoundEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a62abcb2e05198001516cf2402dc7ead09761905..57743bb179ddb2c32641f45b5b1587e7cb998626 100644 index 28f605c3daa969c1a54745e552d55ecb874120a9..205b2a1c7db64cb0b23289e11d8b551a78fca5be 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1495,12 +1495,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1504,12 +1504,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@Override @Override
public void playSound(@Nullable Player player, double x, double y, double z, SoundEvent sound, SoundSource category, float volume, float pitch) { public void playSound(@Nullable Player except, double x, double y, double z, SoundEvent sound, SoundSource category, float volume, float pitch) {
- this.server.getPlayerList().broadcast(player, x, y, z, volume > 1.0F ? (double) (16.0F * volume) : 16.0D, this.dimension(), new ClientboundSoundPacket(sound, category, x, y, z, volume, pitch)); - this.server.getPlayerList().broadcast(except, x, y, z, volume > 1.0F ? (double) (16.0F * volume) : 16.0D, this.dimension(), new ClientboundSoundPacket(sound, category, x, y, z, volume, pitch));
+ CraftEventFactory.playSoundEvent(new me.lexikiq.event.sound.LocationNamedSoundEvent(player == null ? null : player.getBukkitEntity(), getWorld(), new org.bukkit.util.Vector(x, y, z), org.bukkit.craftbukkit.CraftSound.getBukkit(sound), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this.server, volume > 1.0F ? (double) (16.0F * volume) : 16.0D); // Parchment + CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.LocationNamedSoundEvent(null, getWorld(), new org.bukkit.util.Vector(x, y, z), org.bukkit.craftbukkit.CraftSound.getBukkit(sound), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this.server, volume > 1.0F ? (double) (16.0F * volume) : 16.0D); // Parchment
} }
@Override @Override
public void playSound(@Nullable Player player, Entity entity, SoundEvent sound, SoundSource category, float volume, float pitch) { public void playSound(@Nullable Player except, Entity entity, SoundEvent sound, SoundSource category, float volume, float pitch) {
- this.server.getPlayerList().broadcast(player, entity.getX(), entity.getY(), entity.getZ(), volume > 1.0F ? (double) (16.0F * volume) : 16.0D, this.dimension(), new ClientboundSoundEntityPacket(sound, category, entity, volume, pitch)); - this.server.getPlayerList().broadcast(except, entity.getX(), entity.getY(), entity.getZ(), volume > 1.0F ? (double) (16.0F * volume) : 16.0D, this.dimension(), new ClientboundSoundEntityPacket(sound, category, entity, volume, pitch));
+ CraftEventFactory.playSoundEvent(new me.lexikiq.event.sound.EntitySoundEvent(player == null ? null : player.getBukkitEntity(), entity.getBukkitEntity(), org.bukkit.craftbukkit.CraftSound.getBukkit(sound), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this.server, volume > 1.0F ? (double) (16.0F * volume) : 16.0D); // Parchment + CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.EntitySoundEvent(null, entity.getBukkitEntity(), org.bukkit.craftbukkit.CraftSound.getBukkit(sound), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this.server, volume > 1.0F ? (double) (16.0F * volume) : 16.0D); // Parchment
} }
@Override @Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 11f46c1b8f4c8414e0667d1873542c17d6e01f2a..1d446104099856fd0ddbff28a1d280ee80613f39 100644 index 7b23535a680d2a8534dcb8dd87770f66fb982c13..d522d26b388dbd3b61ca82e5d5ea83f5e1fb89eb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2174,7 +2174,7 @@ public class ServerPlayer extends Player { @@ -2189,7 +2189,7 @@ public class ServerPlayer extends Player {
@Override @Override
public void playNotifySound(SoundEvent event, SoundSource category, float volume, float pitch) { public void playNotifySound(SoundEvent event, SoundSource category, float volume, float pitch) {
- this.connection.send(new ClientboundSoundPacket(event, category, this.getX(), this.getY(), this.getZ(), volume, pitch)); - this.connection.send(new ClientboundSoundPacket(event, category, this.getX(), this.getY(), this.getZ(), volume, pitch));
+ CraftEventFactory.playSoundEvent(new me.lexikiq.event.sound.LocationNamedSoundEvent(getBukkitEntity(), org.bukkit.craftbukkit.CraftSound.getBukkit(event), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this); // Parchment + CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.LocationNamedSoundEvent(getBukkitEntity(), org.bukkit.craftbukkit.CraftSound.getBukkit(event), org.bukkit.SoundCategory.valueOf(category.name()), volume, pitch), this); // Parchment
} }
@Override @Override
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index eaa005c1c9b4386bcdbe1d6eb28c3eca7635066c..32279bda7f5fe3400216d8cb0e6b75e29aa4156f 100644 index 042be2cf60a9d01698808d84f2e537a5eb952079..9d624f8dc709bc43889bd5872582ac6f8e19da75 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -965,7 +965,7 @@ public abstract class PlayerList { @@ -963,7 +963,7 @@ public abstract class PlayerList {
if (flag2 && !isLocAltered) { if (flag2 && !isLocAltered) {
BlockState data = worldserver1.getBlockState(blockposition); BlockState data = worldserver1.getBlockState(blockposition);
worldserver1.setBlock(blockposition, data.setValue(RespawnAnchorBlock.CHARGE, data.getValue(RespawnAnchorBlock.CHARGE) - 1), 3); worldserver1.setBlock(blockposition, data.setValue(RespawnAnchorBlock.CHARGE, data.getValue(RespawnAnchorBlock.CHARGE) - 1), 3);
@@ -50,23 +50,23 @@ index eaa005c1c9b4386bcdbe1d6eb28c3eca7635066c..32279bda7f5fe3400216d8cb0e6b75e2
} }
// Added from changeDimension // Added from changeDimension
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 94e76e295dbd0f3bac4b30a3e7338cd56a971207..4f55f1bd49137b60957a05faad0e0c2a9dec07dc 100644 index 2c00a766130a7f682fc6c4c74321e10637ca7932..2f6a7bb94f8fee19f8575ed640b33b2badb5e641 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1832,7 +1832,7 @@ public abstract class Player extends LivingEntity { @@ -1834,7 +1834,7 @@ public abstract class Player extends LivingEntity {
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
fromEntity.level.playSound(fromEntity, x, y, z, soundEffect, soundCategory, volume, pitch); // This will not send the effect to the entity himself fromEntity.level.playSound(fromEntity, x, y, z, soundEffect, soundCategory, volume, pitch); // This will not send the effect to the entity himself
if (fromEntity instanceof ServerPlayer) { if (fromEntity instanceof ServerPlayer) {
- ((ServerPlayer) fromEntity).connection.send(new ClientboundSoundPacket(soundEffect, soundCategory, x, y, z, volume, pitch)); - ((ServerPlayer) fromEntity).connection.send(new ClientboundSoundPacket(soundEffect, soundCategory, x, y, z, volume, pitch));
+ CraftEventFactory.playSoundEvent(new me.lexikiq.event.sound.LocationNamedSoundEvent(fromEntity.getBukkitEntity(), new org.bukkit.util.Vector(x, y, z), org.bukkit.craftbukkit.CraftSound.getBukkit(soundEffect), org.bukkit.SoundCategory.valueOf(soundCategory.name()), volume, pitch), (ServerPlayer) fromEntity); // Parchment + CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.LocationNamedSoundEvent(fromEntity.getBukkitEntity(), new org.bukkit.util.Vector(x, y, z), org.bukkit.craftbukkit.CraftSound.getBukkit(soundEffect), org.bukkit.SoundCategory.valueOf(soundCategory.name()), volume, pitch), (ServerPlayer) fromEntity); // Parchment
} }
} }
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java
index a79ba23ecf887ecbb6e095140f019ebb6fd0a6f7..5112edc5e68a386e9bb16ac0ec9d998e7df06f3c 100644 index 7131226de05bc57830f7a68ba545ebfd19d33a59..56b5f5f9992c9f9fea7a606684efd44c901e3525 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raid.java --- a/src/main/java/net/minecraft/world/entity/raid/Raid.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raid.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raid.java
@@ -27,7 +27,7 @@ import net.minecraft.nbt.ListTag; @@ -26,7 +26,7 @@ import net.minecraft.nbt.ListTag;
import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.NbtUtils;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.network.chat.TranslatableComponent;
@@ -85,16 +85,16 @@ index a79ba23ecf887ecbb6e095140f019ebb6fd0a6f7..5112edc5e68a386e9bb16ac0ec9d998e
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 771a00ae7f467660b0c39ffeee05281e114df378..576f01eb7c6fce8955f760c0b36e23c16c97e7a6 100644 index c667baa2da8222eb66344c8f1cc0fed416c4df01..c73e771ce5b428864e7d4f5e852e2103f48f9cfb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1882,4 +1882,77 @@ public class CraftEventFactory { @@ -1888,4 +1888,77 @@ public class CraftEventFactory {
return event.callEvent(); return event.callEvent();
} }
// Paper end // Paper end
+ +
+ // Parchment start + // Parchment start
+ private static net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> handleSoundEvent(me.lexikiq.event.sound.SoundEvent _event) { + private static net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> handleSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent _event) {
+ if (!_event.callEvent()) { + if (!_event.callEvent()) {
+ return null; + return null;
+ } else { + } else {
@@ -102,28 +102,28 @@ index 771a00ae7f467660b0c39ffeee05281e114df378..576f01eb7c6fce8955f760c0b36e23c1
+ float pitch = _event.getPitch(); + float pitch = _event.getPitch();
+ net.minecraft.sounds.SoundSource source = net.minecraft.sounds.SoundSource.valueOf(_event.getCategory().name()); + net.minecraft.sounds.SoundSource source = net.minecraft.sounds.SoundSource.valueOf(_event.getCategory().name());
+ +
+ if (_event instanceof me.lexikiq.event.sound.NamedSoundEvent namedSoundEvent) { + if (_event instanceof gg.projecteden.parchment.event.sound.NamedSoundEvent namedSoundEvent) {
+ net.minecraft.sounds.SoundEvent sound = org.bukkit.craftbukkit.CraftSound.getSoundEffect(namedSoundEvent.getSound()); + net.minecraft.sounds.SoundEvent sound = org.bukkit.craftbukkit.CraftSound.getSoundEffect(namedSoundEvent.getSound());
+ +
+ if (_event instanceof me.lexikiq.event.sound.LocationNamedSoundEvent event) { + if (_event instanceof gg.projecteden.parchment.event.sound.LocationNamedSoundEvent event) {
+ org.bukkit.util.Vector pos = event.getVector(); + org.bukkit.util.Vector pos = event.getVector();
+ return new net.minecraft.network.protocol.game.ClientboundSoundPacket(sound, source, pos.getX(), pos.getY(), pos.getZ(), volume, pitch); + return new net.minecraft.network.protocol.game.ClientboundSoundPacket(sound, source, pos.getX(), pos.getY(), pos.getZ(), volume, pitch);
+ } else { + } else {
+ me.lexikiq.event.sound.EntitySoundEvent event = (me.lexikiq.event.sound.EntitySoundEvent) _event; + gg.projecteden.parchment.event.sound.EntitySoundEvent event = (gg.projecteden.parchment.event.sound.EntitySoundEvent) _event;
+ return new net.minecraft.network.protocol.game.ClientboundSoundEntityPacket(sound, source, ((CraftEntity) event.getOrigin()).getHandle(), volume, pitch); + return new net.minecraft.network.protocol.game.ClientboundSoundEntityPacket(sound, source, ((CraftEntity) event.getOrigin()).getHandle(), volume, pitch);
+ } + }
+ } else { + } else {
+ me.lexikiq.event.sound.LocationCustomSoundEvent event = (me.lexikiq.event.sound.LocationCustomSoundEvent) _event; + gg.projecteden.parchment.event.sound.LocationCustomSoundEvent event = (gg.projecteden.parchment.event.sound.LocationCustomSoundEvent) _event;
+ org.bukkit.util.Vector pos = event.getVector(); + org.bukkit.util.Vector pos = event.getVector();
+ return new net.minecraft.network.protocol.game.ClientboundCustomSoundPacket(CraftNamespacedKey.toMinecraft(event.getKey()), source, org.bukkit.craftbukkit.util.CraftVector.toNMS(pos), volume, pitch); + return new net.minecraft.network.protocol.game.ClientboundCustomSoundPacket(CraftNamespacedKey.toMinecraft(event.getKey()), source, org.bukkit.craftbukkit.util.CraftVector.toNMS(pos), volume, pitch);
+ } + }
+ } + }
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, java.util.function.Consumer<net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>> soundPlayer) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, java.util.function.Consumer<net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>> soundPlayer) {
+ org.apache.commons.lang3.Validate.notNull(event, "event"); + org.apache.commons.lang3.Validate.notNull(event, "event");
+ org.apache.commons.lang3.Validate.notNull(soundPlayer, "soundPlayer"); + org.apache.commons.lang3.Validate.notNull(soundPlayer, "soundPlayer");
+ if (!(event instanceof me.lexikiq.event.sound.LocationNamedSoundEvent || event instanceof me.lexikiq.event.sound.LocationCustomSoundEvent || event instanceof me.lexikiq.event.sound.EntitySoundEvent)) { + if (!(event instanceof gg.projecteden.parchment.event.sound.LocationNamedSoundEvent || event instanceof gg.projecteden.parchment.event.sound.LocationCustomSoundEvent || event instanceof gg.projecteden.parchment.event.sound.EntitySoundEvent)) {
+ throw new IllegalArgumentException("Unknown sound event: " + event.getClass().getName()); + throw new IllegalArgumentException("Unknown sound event: " + event.getClass().getName());
+ } + }
+ java.util.concurrent.CompletableFuture.supplyAsync(() -> handleSoundEvent(event), net.minecraft.server.MCUtil.asyncExecutor).thenAcceptAsync(packet -> { + java.util.concurrent.CompletableFuture.supplyAsync(() -> handleSoundEvent(event), net.minecraft.server.MCUtil.asyncExecutor).thenAcceptAsync(packet -> {
@@ -132,29 +132,29 @@ index 771a00ae7f467660b0c39ffeee05281e114df378..576f01eb7c6fce8955f760c0b36e23c1
+ }, net.minecraft.server.MCUtil.asyncExecutor); + }, net.minecraft.server.MCUtil.asyncExecutor);
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, CraftPlayer sendTo) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, CraftPlayer sendTo) {
+ playSoundEvent(event, sendTo.getHandle()); + playSoundEvent(event, sendTo.getHandle());
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, ServerPlayer sendTo) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, ServerPlayer sendTo) {
+ playSoundEvent(event, sendTo.connection); + playSoundEvent(event, sendTo.connection);
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, net.minecraft.server.network.ServerPlayerConnection sendTo) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, net.minecraft.server.network.ServerPlayerConnection sendTo) {
+ playSoundEvent(event, sendTo::send); + playSoundEvent(event, sendTo::send);
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, net.minecraft.server.MinecraftServer server, double radius) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, net.minecraft.server.MinecraftServer server, double radius) {
+ playSoundEvent(event, server.getPlayerList(), radius); + playSoundEvent(event, server.getPlayerList(), radius);
+ } + }
+ +
+ public static void playSoundEvent(me.lexikiq.event.sound.SoundEvent event, net.minecraft.server.players.PlayerList playerList, double radius) { + public static void playSoundEvent(gg.projecteden.parchment.event.sound.SoundEvent event, net.minecraft.server.players.PlayerList playerList, double radius) {
+ final net.minecraft.world.entity.player.Player player = event.getPlayer() == null ? null : ((org.bukkit.craftbukkit.entity.CraftHumanEntity) event.getPlayer()).getHandle(); + final net.minecraft.world.entity.player.Player player = event.getPlayer() == null ? null : ((org.bukkit.craftbukkit.entity.CraftHumanEntity) event.getPlayer()).getHandle();
+ final net.minecraft.resources.ResourceKey<Level> world = ((CraftWorld) event.getWorld()).getHandle().dimension(); + final net.minecraft.resources.ResourceKey<Level> world = ((CraftWorld) event.getWorld()).getHandle().dimension();
+ final org.bukkit.util.Vector pos; + final org.bukkit.util.Vector pos;
+ if (event instanceof me.lexikiq.HasLocation hasLoc) { + if (event instanceof gg.projecteden.parchment.HasLocation hasLoc) {
+ pos = hasLoc.getLocation().toVector(); + pos = hasLoc.getLocation().toVector();
+ } else if (event instanceof me.lexikiq.event.sound.EntitySoundEvent entityEvent) { + } else if (event instanceof gg.projecteden.parchment.event.sound.EntitySoundEvent entityEvent) {
+ pos = entityEvent.getOrigin().getLocation().toVector(); + pos = entityEvent.getOrigin().getLocation().toVector();
+ } else { + } else {
+ throw new IllegalArgumentException("Could not determine location of sound event"); + throw new IllegalArgumentException("Could not determine location of sound event");

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerUseRespawnAnchorEvent
diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
index 0a5d563700c9f806139001181f01fa9d0111f792..88439b8f82a97a9763dadfc6c9dbaf0912ab3eb7 100644 index 07e893f1859abe3c2a765694c21309d60346ca82..86692a83fb9acd3a501da58e6d509865b49931fe 100644
--- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
@@ -52,33 +52,51 @@ public class RespawnAnchorBlock extends Block { @@ -52,33 +52,51 @@ public class RespawnAnchorBlock extends Block {
@@ -16,30 +16,30 @@ index 0a5d563700c9f806139001181f01fa9d0111f792..88439b8f82a97a9763dadfc6c9dbaf09
+ // Parchment start -- PlayerUseRespawnAnchorEvent + // Parchment start -- PlayerUseRespawnAnchorEvent
+ org.bukkit.entity.Player bukkitPlayer = player.getBukkitEntity() instanceof org.bukkit.entity.Player ? (org.bukkit.entity.Player) player.getBukkitEntity() : null; + org.bukkit.entity.Player bukkitPlayer = player.getBukkitEntity() instanceof org.bukkit.entity.Player ? (org.bukkit.entity.Player) player.getBukkitEntity() : null;
+ org.bukkit.block.Block block = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos); + org.bukkit.block.Block block = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos);
+ me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult result; + gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult result;
if (hand == InteractionHand.MAIN_HAND && !isRespawnFuel(itemStack) && isRespawnFuel(player.getItemInHand(InteractionHand.OFF_HAND))) { if (hand == InteractionHand.MAIN_HAND && !isRespawnFuel(itemStack) && isRespawnFuel(player.getItemInHand(InteractionHand.OFF_HAND))) {
return InteractionResult.PASS; return InteractionResult.PASS;
} else if (isRespawnFuel(itemStack) && canBeCharged(state)) { } else if (isRespawnFuel(itemStack) && canBeCharged(state)) {
+ result = me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.CHARGE; + result = gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.CHARGE;
+ } else if (state.getValue(CHARGE) == 0) { + } else if (state.getValue(CHARGE) == 0) {
+ result = me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.NOTHING; + result = gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.NOTHING;
+ } else if (!canSetSpawn(world) && !world.isClientSide) { + } else if (!canSetSpawn(world) && !world.isClientSide) {
+ result = me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.EXPLODE; + result = gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.EXPLODE;
+ } else if (!world.isClientSide) { + } else if (!world.isClientSide) {
+ result = me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.SET_SPAWN; + result = gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.SET_SPAWN;
+ } else { + } else {
+ return InteractionResult.SUCCESS; + return InteractionResult.SUCCESS;
+ } + }
+ +
+ if (bukkitPlayer != null) { + if (bukkitPlayer != null) {
+ me.lexikiq.event.player.PlayerUseRespawnAnchorEvent event = new me.lexikiq.event.player.PlayerUseRespawnAnchorEvent(bukkitPlayer, block, result); + gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent event = new gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent(bukkitPlayer, block, result);
+ event.callEvent(); + event.callEvent();
+ result = event.getResult(); + result = event.getResult();
+ } + }
+ +
+ if (result == me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.NOTHING) { + if (result == gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.NOTHING) {
+ return InteractionResult.PASS; + return InteractionResult.PASS;
+ } else if (result == me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.CHARGE) { + } else if (result == gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.CHARGE) {
charge(world, pos, state); charge(world, pos, state);
if (!player.getAbilities().instabuild) { if (!player.getAbilities().instabuild) {
itemStack.shrink(1); itemStack.shrink(1);
@@ -54,7 +54,7 @@ index 0a5d563700c9f806139001181f01fa9d0111f792..88439b8f82a97a9763dadfc6c9dbaf09
- } - }
- -
- return InteractionResult.sidedSuccess(world.isClientSide); - return InteractionResult.sidedSuccess(world.isClientSide);
+ } else if (result == me.lexikiq.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.EXPLODE) { + } else if (result == gg.projecteden.parchment.event.player.PlayerUseRespawnAnchorEvent.RespawnAnchorResult.EXPLODE) {
+ this.explode(state, world, pos); + this.explode(state, world, pos);
+ return InteractionResult.CONSUME; + return InteractionResult.CONSUME;
} else { } else {

View File

@@ -79,7 +79,7 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..52cce7422c2a99e3de37f87ac7041516
return "DamageSource (" + this.msgId + ")"; return "DamageSource (" + this.msgId + ")";
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 29aa428e019681af8d6b0020c12b18660ff6af6c..9b2276555e0d52996cb84cc6ca492263e6905780 100644 index e17a3afa41fd628d2c4a3637ae19418e258a99b8..5a4489dff8b6ef70d52ba19ee8604b77d9c73791 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -101,10 +101,11 @@ public class EnderDragon extends Mob implements Enemy { @@ -101,10 +101,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -96,10 +96,10 @@ index 29aa428e019681af8d6b0020c12b18660ff6af6c..9b2276555e0d52996cb84cc6ca492263
this.setHealth(this.getMaxHealth()); this.setHealth(this.getMaxHealth());
this.noPhysics = true; this.noPhysics = true;
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 132140e00865fcf84ebe03ffcbc2f30ac11a0b35..8245ec990c7a37839b0eedbcdbf834df2b421e61 100644 index 6795132318a4e8b4c7a33b6f4b89a730ea66b97f..9d78f8bcf958a0ca2b12c16b58d0bee4e2a3604c 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -453,6 +453,13 @@ public class Explosion { @@ -450,6 +450,13 @@ public class Explosion {
return this.toBlow; return this.toBlow;
} }
@@ -114,10 +114,10 @@ index 132140e00865fcf84ebe03ffcbc2f30ac11a0b35..8245ec990c7a37839b0eedbcdbf834df
NONE, BREAK, DESTROY; NONE, BREAK, DESTROY;
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
index e3ff04fe21761db65fb03c5e58ecd5823f0507c6..943857d58d68628d3a79d2d687006a4fb89b75f3 100644 index 20c0030d566012146021613325c6a979f392740e..a0a052095815ed63f06837155b48b0d84f404240 100644
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
@@ -146,7 +146,10 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock @@ -145,7 +145,10 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
world.removeBlock(blockposition1, false); world.removeBlock(blockposition1, false);
} }
@@ -130,7 +130,7 @@ index e3ff04fe21761db65fb03c5e58ecd5823f0507c6..943857d58d68628d3a79d2d687006a4f
} }
} }
diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
index 88439b8f82a97a9763dadfc6c9dbaf0912ab3eb7..73a9b765b58bb547712c014c8b9086535b3cf6fa 100644 index 86692a83fb9acd3a501da58e6d509865b49931fe..438ea548644aa9570a09fa4d4a06bde5f5c30567 100644
--- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
@@ -138,7 +138,10 @@ public class RespawnAnchorBlock extends Block { @@ -138,7 +138,10 @@ public class RespawnAnchorBlock extends Block {
@@ -146,10 +146,10 @@ index 88439b8f82a97a9763dadfc6c9dbaf0912ab3eb7..73a9b765b58bb547712c014c8b908653
public static boolean canSetSpawn(Level world) { public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index b2f49ee945dae88c15a76e7ba5433b7ca150e9d6..a7679036d31f0262a68dd1bfb2871901b1d41825 100644 index c73e771ce5b428864e7d4f5e852e2103f48f9cfb..4f38cac0cc172cb3d96a0f36c656326447c26202 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -955,7 +955,7 @@ public class CraftEventFactory { @@ -961,7 +961,7 @@ public class CraftEventFactory {
CraftEventFactory.entityDamage = null; CraftEventFactory.entityDamage = null;
EntityDamageEvent event; EntityDamageEvent event;
if (damager == null) { if (damager == null) {
@@ -158,21 +158,21 @@ index b2f49ee945dae88c15a76e7ba5433b7ca150e9d6..a7679036d31f0262a68dd1bfb2871901
} else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) { } else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) {
event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions); event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions);
} else { } else {
@@ -991,7 +991,7 @@ public class CraftEventFactory { @@ -997,7 +997,7 @@ public class CraftEventFactory {
return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
} else if (source == DamageSource.OUT_OF_WORLD) { } else if (source == DamageSource.OUT_OF_WORLD) {
- EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, modifiers, modifierFunctions); - 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); // Parchment + EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, entity.getBukkitEntity().getLocation(), modifiers, modifierFunctions); // Parchment - add location
event.setCancelled(cancelled); event.setCancelled(cancelled);
CraftEventFactory.callEvent(event); CraftEventFactory.callEvent(event);
if (!event.isCancelled()) { if (!event.isCancelled()) {
@@ -999,7 +999,7 @@ public class CraftEventFactory { @@ -1005,7 +1005,7 @@ public class CraftEventFactory {
} }
return event; return event;
} else if (source == DamageSource.LAVA) { } else if (source == DamageSource.LAVA) {
- EntityDamageEvent event = (new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.LAVA, modifiers, modifierFunctions)); - EntityDamageEvent event = (new EntityDamageByBlockEvent(CraftEventFactory.blockDamage, entity.getBukkitEntity(), DamageCause.LAVA, modifiers, modifierFunctions));
+ EntityDamageEvent event = (new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.LAVA, entity.getBukkitEntity().getLocation().toBlockLocation(), modifiers, modifierFunctions)); // Parchment + EntityDamageEvent event = (new EntityDamageByBlockEvent(CraftEventFactory.blockDamage, entity.getBukkitEntity(), DamageCause.LAVA, entity.getBukkitEntity().getLocation().toBlockLocation(), modifiers, modifierFunctions)); // Parchment - add location
event.setCancelled(cancelled); event.setCancelled(cancelled);
CraftEventFactory.callEvent(event); CraftEventFactory.callEvent(event);
if (!event.isCancelled()) { if (!event.isCancelled()) {

View File

@@ -5,16 +5,16 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 424f3a9a645d57ad43c52932f5b388b5f146b9f0..a50eb7ba668ba4410c7a7fee629bdac958734311 100644 index 90e68a8cfd00e4ad7ffaddfc8e8d5df26c49cf7a..d05e7b7f7ed94849142f74b19fbce7d83752e7fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -559,6 +559,55 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -560,6 +560,55 @@ public final class CraftMagicNumbers implements UnsafeValues {
} }
// Paper end // Paper end
+ // Parchment start + // Parchment start
+ @Override + @Override
+ public java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(ItemStack item, me.lexikiq.OptionalHumanEntity player, org.bukkit.block.Block block, org.bukkit.block.BlockFace face) { + public java.util.concurrent.CompletableFuture<Boolean> canPlaceItemOn(ItemStack item, gg.projecteden.parchment.OptionalHumanEntity player, org.bukkit.block.Block block, org.bukkit.block.BlockFace face) {
+ org.apache.commons.lang3.Validate.notNull(item, "item"); + org.apache.commons.lang3.Validate.notNull(item, "item");
+ org.apache.commons.lang3.Validate.notNull(block, "block"); + org.apache.commons.lang3.Validate.notNull(block, "block");
+ org.apache.commons.lang3.Validate.notNull(face, "face"); + org.apache.commons.lang3.Validate.notNull(face, "face");

View File

@@ -5,10 +5,10 @@ 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 diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 1c446dba5de89698397041ee38a2e1a00bec8a56..d12e936920c03cafd18f6c9a509c85c31ab7ba45 100644 index 419a7e9614af2328ed401fc954196056243a984c..b657453b61a29c920b87e94d23fc09e9be7fc296 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -149,6 +149,8 @@ import org.apache.logging.log4j.Logger; @@ -148,6 +148,8 @@ import org.apache.logging.log4j.Logger;
public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> { public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -17,20 +17,20 @@ index 1c446dba5de89698397041ee38a2e1a00bec8a56..d12e936920c03cafd18f6c9a509c85c3
private static final Logger LOGGER = LogManager.getLogger(); private static final Logger LOGGER = LogManager.getLogger();
public static final String ENTITY_TAG = "EntityTag"; public static final String ENTITY_TAG = "EntityTag";
private static final float MAGIC_HORSE_WIDTH = 1.3964844F; private static final float MAGIC_HORSE_WIDTH = 1.3964844F;
@@ -283,9 +285,31 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> { @@ -282,9 +284,31 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
private final EntityDimensions dimensions; private final EntityDimensions dimensions;
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
- return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) type.build(id)); - return (EntityType) Registry.register(Registry.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
+ // Parchment start + // Parchment start
+ EntityType build = type.build(id); + EntityType build = type.build(id);
+ ordinals.put(build, ordinal); + ordinals.put(build, ordinal);
+ ordinal += 1; + ordinal += 1;
+ return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) build); + return (EntityType) Registry.register(Registry.ENTITY_TYPE, id, (EntityType<T>) build);
} }
+ public int ordinal() { + public int ordinal() {
+ return ordinals.get(this); + return ordinals.get(this); // CraftBukkit - decompile error
+ } + }
+ +
+ @Override + @Override
@@ -51,10 +51,10 @@ index 1c446dba5de89698397041ee38a2e1a00bec8a56..d12e936920c03cafd18f6c9a509c85c3
return Registry.ENTITY_TYPE.getKey(type); return Registry.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 diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index a50eb7ba668ba4410c7a7fee629bdac958734311..00a8ded3ae58b00f2c833953908f1d43765f4557 100644 index d05e7b7f7ed94849142f74b19fbce7d83752e7fa..42730bc76dfee91d745087edb2a21d0cc39a885f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -606,6 +606,18 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -607,6 +607,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
final net.minecraft.world.item.context.BlockPlaceContext ctx = context; final net.minecraft.world.item.context.BlockPlaceContext ctx = context;
return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), net.minecraft.server.MCUtil.MAIN_EXECUTOR); return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), net.minecraft.server.MCUtil.MAIN_EXECUTOR);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#setGameProfile
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 266d676118e17af48e21370211c015898eba9691..16bc55fb8efbbda971b704446a07e9f732c1dfa5 100644 index 2f6a7bb94f8fee19f8575ed640b33b2badb5e641..ca012d62cbc9b92174427cd7a4091c93528f249d 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1451,6 +1451,12 @@ public abstract class Player extends LivingEntity { @@ -1453,6 +1453,12 @@ public abstract class Player extends LivingEntity {
return this.gameProfile; return this.gameProfile;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Expose MCUtil Executors
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 9f5bbb9e684ec11bc979ca2ece4eb73da0e3d1e8..9b92bd247f8752515830d1dea13f0137ae1621e1 100644 index 930772d4326aa106f9a267bc750eda11ca0ea355..d7dc482819c58e8bb563fec76096286c7d070a22 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
@@ -2720,4 +2720,16 @@ public final class CraftServer implements Server { @@ -2816,4 +2816,16 @@ public final class CraftServer implements Server {
} }
// Paper end // Paper end

View File

@@ -8,19 +8,19 @@ to easily get the items being dropped by any
block instead of only blocks broken by players. block instead of only blocks broken by players.
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 8c30e28b97ac7e8b54322c903e0b75ee8135620b..4ca85a02a1eb46b5958aae55946c67cefb85f461 100644 index ab5b9f00123e2ede2931ffc520684e482aac49b4..51e69414e37d824d1d8b1e1b82bcf700d4afe0f0 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java --- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -306,7 +306,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -304,7 +304,7 @@ public class Block extends BlockBehaviour implements ItemLike {
ServerLevel worldserver = lootContext.getLevel(); ServerLevel worldserver = lootContext.getLevel();
BlockPos blockposition = new BlockPos((Vec3) lootContext.getParameter(LootContextParams.ORIGIN)); BlockPos blockposition = new BlockPos((Vec3) lootContext.getParameter(LootContextParams.ORIGIN));
- state.getDrops(lootContext).forEach((itemstack) -> { - state.getDrops(lootContext).forEach((itemstack) -> {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDropResourcesEvent(worldserver, blockposition, state.getDrops(lootContext)).forEach((itemstack) -> { // Parchment + org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDropResourcesEvent(worldserver, blockposition, state.getDrops(lootContext)).forEach((itemstack) -> { // Parchment
Block.popResource((Level) worldserver, blockposition, itemstack); Block.popResource(worldserver, blockposition, itemstack);
}); });
state.spawnAfterBreak(worldserver, blockposition, ItemStack.EMPTY); state.spawnAfterBreak(worldserver, blockposition, ItemStack.EMPTY);
@@ -314,7 +314,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -312,7 +312,7 @@ public class Block extends BlockBehaviour implements ItemLike {
public static void dropResources(BlockState state, Level world, BlockPos pos) { public static void dropResources(BlockState state, Level world, BlockPos pos) {
if (world instanceof ServerLevel) { if (world instanceof ServerLevel) {
@@ -29,16 +29,16 @@ index 8c30e28b97ac7e8b54322c903e0b75ee8135620b..4ca85a02a1eb46b5958aae55946c67ce
Block.popResource(world, pos, itemstack); Block.popResource(world, pos, itemstack);
}); });
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY); state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY);
@@ -324,7 +324,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -322,7 +322,7 @@ public class Block extends BlockBehaviour implements ItemLike {
public static void dropResources(BlockState state, LevelAccessor world, BlockPos pos, @Nullable BlockEntity blockEntity) { public static void dropResources(BlockState state, LevelAccessor world, BlockPos pos, @Nullable BlockEntity blockEntity) {
if (world instanceof ServerLevel) { if (world instanceof ServerLevel) {
- Block.getDrops(state, (ServerLevel) world, pos, blockEntity).forEach((itemstack) -> { - Block.getDrops(state, (ServerLevel) world, pos, blockEntity).forEach((itemstack) -> {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDropResourcesEvent(world, pos, Block.getDrops(state, (ServerLevel) world, pos, blockEntity)).forEach((itemstack) -> { // Parchment + org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDropResourcesEvent(world, pos, Block.getDrops(state, (ServerLevel) world, pos, blockEntity)).forEach((itemstack) -> { // Parchment
Block.popResource((Level) ((ServerLevel) world), pos, itemstack); Block.popResource((ServerLevel) world, pos, itemstack);
}); });
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY); state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY);
@@ -351,7 +351,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -349,7 +349,7 @@ public class Block extends BlockBehaviour implements ItemLike {
public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) { public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) {
if (world instanceof ServerLevel) { if (world instanceof ServerLevel) {
@@ -48,18 +48,26 @@ index 8c30e28b97ac7e8b54322c903e0b75ee8135620b..4ca85a02a1eb46b5958aae55946c67ce
}); });
state.spawnAfterBreak((ServerLevel) world, pos, stack); state.spawnAfterBreak((ServerLevel) world, pos, stack);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index a3245218525f538aaba00c72f3500880853dd9d0..760d35356591380a3e4a5cbd71ebe2ce13050dbc 100644 index 4f38cac0cc172cb3d96a0f36c656326447c26202..502fadf66d62f197d5233ca739a1d3be3e1ea0ea 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1954,5 +1954,11 @@ public class CraftEventFactory { @@ -1960,5 +1960,19 @@ public class CraftEventFactory {
final double posZ = pos.getZ(); final double posZ = pos.getZ();
playSoundEvent(event, packet -> playerList.broadcast(player, posX, posY, posZ, radius, world, packet)); playSoundEvent(event, packet -> playerList.broadcast(player, posX, posY, posZ, radius, world, packet));
} }
+ +
+ public static List<ItemStack> callBlockDropResourcesEvent(LevelAccessor world, BlockPos pos, List<ItemStack> items) { + public static List<ItemStack> callBlockDropResourcesEvent(LevelAccessor world, BlockPos pos, List<ItemStack> items) {
+ me.lexikiq.event.block.BlockDropResourcesEvent event = new me.lexikiq.event.block.BlockDropResourcesEvent(CraftBlock.at(world, pos), items.stream().map(CraftItemStack::asBukkitCopy).collect(Collectors.toCollection(ArrayList::new))); + List<org.bukkit.inventory.ItemStack> bukkitItems = new ArrayList<>(items.size());
+ for (ItemStack item : items) {
+ bukkitItems.add(CraftItemStack.asBukkitCopy(item));
+ }
+ gg.projecteden.parchment.event.block.BlockDropResourcesEvent event = new gg.projecteden.parchment.event.block.BlockDropResourcesEvent(CraftBlock.at(world, pos), bukkitItems);
+ event.callEvent(); + event.callEvent();
+ return event.getResources().stream().map(CraftItemStack::asNMSCopy).collect(Collectors.toList()); + items = new ArrayList<>(bukkitItems.size());
+ for (org.bukkit.inventory.ItemStack item : bukkitItems) {
+ items.add(CraftItemStack.asNMSCopy(item));
+ }
+ return items;
+ } + }
// Parchment end // Parchment end
} }

View File

@@ -7,13 +7,13 @@ Temporary API to get the result of smelting an item in a (type of) furnace.
Will eventually (hopefully) be replaced by a more extensive Paper PR with support for all recipes. Will eventually (hopefully) be replaced by a more extensive Paper PR with support for all recipes.
diff --git a/src/main/java/me/lexikiq/inventory/CraftRecipeType.java b/src/main/java/me/lexikiq/inventory/CraftRecipeType.java diff --git a/src/main/java/gg/projecteden/parchment/inventory/CraftRecipeType.java b/src/main/java/gg/projecteden/parchment/inventory/CraftRecipeType.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..6a28791b12c309661e79e0e6a8f7a9ec8fd706a3 index 0000000000000000000000000000000000000000..5549da2a0b0790699abff627148a6b15ca37febf
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/inventory/CraftRecipeType.java +++ b/src/main/java/gg/projecteden/parchment/inventory/CraftRecipeType.java
@@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
+package me.lexikiq.inventory; +package gg.projecteden.parchment.inventory;
+ +
+import net.minecraft.world.item.crafting.AbstractCookingRecipe; +import net.minecraft.world.item.crafting.AbstractCookingRecipe;
+ +
@@ -57,13 +57,13 @@ index 0000000000000000000000000000000000000000..6a28791b12c309661e79e0e6a8f7a9ec
+ } + }
+ } + }
+} +}
diff --git a/src/main/java/me/lexikiq/inventory/SingletonContainer.java b/src/main/java/me/lexikiq/inventory/SingletonContainer.java diff --git a/src/main/java/gg/projecteden/parchment/inventory/SingletonContainer.java b/src/main/java/gg/projecteden/parchment/inventory/SingletonContainer.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..e6d1e8faafe3fec48df51e5a25acef56a8428db3 index 0000000000000000000000000000000000000000..e7114e456f818d7bdd4081620f4b9b9376679145
--- /dev/null --- /dev/null
+++ b/src/main/java/me/lexikiq/inventory/SingletonContainer.java +++ b/src/main/java/gg/projecteden/parchment/inventory/SingletonContainer.java
@@ -0,0 +1,151 @@ @@ -0,0 +1,151 @@
+package me.lexikiq.inventory; +package gg.projecteden.parchment.inventory;
+ +
+import com.google.common.base.Preconditions; +import com.google.common.base.Preconditions;
+import net.minecraft.world.Container; +import net.minecraft.world.Container;
@@ -215,18 +215,18 @@ index 0000000000000000000000000000000000000000..e6d1e8faafe3fec48df51e5a25acef56
+ } + }
+} +}
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 858e29ad77aee8a1b7797c2d82902abbfd662da2..cd98817b0dca964a5cbaa6c19169f37d0bee6682 100644 index ac41bc23d2f7e16bbacdc9b33fcf6c0d706fa023..1067d2fbd6efefdb19998c4ee3c727021eed71f2 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
@@ -2162,4 +2162,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2155,4 +2155,11 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.adventure$pointers; return this.adventure$pointers;
} }
// Paper end // Paper end
+ +
+ // Parchment start + // Parchment start
+ @Override + @Override
+ public ItemStack smeltItem(ItemStack toSmelt, me.lexikiq.inventory.RecipeType recipeType) { + public ItemStack smeltItem(ItemStack toSmelt, gg.projecteden.parchment.inventory.RecipeType recipeType) {
+ return world.getRecipeManager().getRecipeFor(me.lexikiq.inventory.CraftRecipeType.asCookingRecipe(recipeType), new me.lexikiq.inventory.SingletonContainer(toSmelt), world).map(recipe -> recipe.getResultItem().getBukkitStack()).orElse(null); + return world.getRecipeManager().getRecipeFor(gg.projecteden.parchment.inventory.CraftRecipeType.asCookingRecipe(recipeType), new gg.projecteden.parchment.inventory.SingletonContainer(toSmelt), world).map(recipe -> recipe.getResultItem().getBukkitStack()).orElse(null);
+ } + }
+ // Parchment end + // Parchment end
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable sleep status announcements
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 933b577dd582d1624cbd587b726e96fc9cfef68a..d92740433c908f54b724b9d0ce37f51e228c4dcc 100644 index 205b2a1c7db64cb0b23289e11d8b551a78fca5be..51af3b5b730a427743fb4f93c0e7fef7a10454ac 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -994,7 +994,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
private void announceSleepStatus() { private void announceSleepStatus() {