SculkCatalyst bloom API (#9466)

This commit is contained in:
Nacioszeczek 2023-08-13 01:31:32 +02:00 committed by GitHub
parent 2df309bd49
commit 1dfdbef42b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 0 deletions

View file

@ -60,4 +60,5 @@ Luke Chambers <consolelogluke@gmail.com>
Emily <emilia.lopezf.1999@gmail.com>
dawon <dawon@dawon.eu>
Ollie <69084614+olijeffers0n@users.noreply.github.com>
Oliwier Miodun <naczs@blueflow.pl>
```

View file

@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oliwier Miodun <naczs@blueflow.pl>
Date: Mon, 10 Jul 2023 17:59:42 +0200
Subject: [PATCH] SculkCatalyst bloom API
diff --git a/src/main/java/org/bukkit/block/SculkCatalyst.java b/src/main/java/org/bukkit/block/SculkCatalyst.java
index ed94fbc0dd590e354b072d0c97fb60d0d5b5fa5c..3b3d73497bd90498294b44319ae7d96234d61aec 100644
--- a/src/main/java/org/bukkit/block/SculkCatalyst.java
+++ b/src/main/java/org/bukkit/block/SculkCatalyst.java
@@ -4,4 +4,14 @@ package org.bukkit.block;
* Represents a captured state of a sculk catalyst.
*/
public interface SculkCatalyst extends TileState {
+
+ // Paper start - SculkCatalyst bloom API
+ /**
+ * Bloom at the specified location as if an entity that drops experience just died there.
+ *
+ * @param position position to bloom at
+ * @param charge charge to bloom with, normally the amount of experience dropped from the dead entity
+ */
+ void bloom(@org.jetbrains.annotations.NotNull io.papermc.paper.math.Position position, int charge);
+ // Paper end
}

View file

@ -0,0 +1,33 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oliwier Miodun <naczs@blueflow.pl>
Date: Mon, 10 Jul 2023 17:59:42 +0200
Subject: [PATCH] SculkCatalyst bloom API
== AT ==
public net.minecraft.world.level.block.entity.SculkCatalystBlockEntity$CatalystListener bloom(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)V
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java
index dc7d6c443af206f50d2b4ca260d64bb86b67553c..0fbead8742da8a2ff5261b747870487a218ffc32 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java
@@ -9,4 +9,20 @@ public class CraftSculkCatalyst extends CraftBlockEntityState<SculkCatalystBlock
public CraftSculkCatalyst(World world, SculkCatalystBlockEntity tileEntity) {
super(world, tileEntity);
}
+
+ // Paper start - SculkCatalyst bloom API
+ @Override
+ public void bloom(@org.jetbrains.annotations.NotNull io.papermc.paper.math.Position position, int charge) {
+ com.google.common.base.Preconditions.checkNotNull(position);
+ requirePlaced();
+
+ getTileEntity().getListener().bloom(
+ world.getHandle(),
+ getTileEntity().getBlockPos(),
+ getTileEntity().getBlockState(),
+ world.getHandle().getRandom()
+ );
+ getTileEntity().getListener().getSculkSpreader().addCursors(io.papermc.paper.util.MCUtil.toBlockPos(position), charge);
+ }
+ // Paper end
}