aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/events
diff options
context:
space:
mode:
authorYasin <LifeIsAParadox@users.noreply.github.com>2023-10-09 12:11:19 +0200
committerGitHub <noreply@github.com>2023-10-09 12:11:19 +0200
commit3696b874cd89f55ae79cadfd923c26a047add5fe (patch)
tree6078bbe54377991439ecd5680f02c3ec3648485b /src/main/java/me/xmrvizzy/skyblocker/events
parent6ccb02d50bcded84ab21437895c9344c9ec416cb (diff)
parent9086f1ff94daa4933bf29552cfdaa633a251a792 (diff)
downloadSkyblocker-3696b874cd89f55ae79cadfd923c26a047add5fe.tar.gz
Skyblocker-3696b874cd89f55ae79cadfd923c26a047add5fe.tar.bz2
Skyblocker-3696b874cd89f55ae79cadfd923c26a047add5fe.zip
Merge branch 'master' into better-durability
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/events')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/events/ClientPlayerBlockBreakEvent.java23
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/events/SkyblockEvents.java33
2 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/events/ClientPlayerBlockBreakEvent.java b/src/main/java/me/xmrvizzy/skyblocker/events/ClientPlayerBlockBreakEvent.java
new file mode 100644
index 00000000..76298612
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/events/ClientPlayerBlockBreakEvent.java
@@ -0,0 +1,23 @@
+package me.xmrvizzy.skyblocker.events;
+
+import net.fabricmc.fabric.api.event.Event;
+import net.fabricmc.fabric.api.event.EventFactory;
+import net.minecraft.block.BlockState;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.World;
+
+// Fabric API currently doesn't have an event for this
+public class ClientPlayerBlockBreakEvent {
+ public static final Event<AfterBlockBreak> AFTER = EventFactory.createArrayBacked(AfterBlockBreak.class,
+ (listeners) -> (world, player, pos, state) -> {
+ for (AfterBlockBreak listener : listeners) {
+ listener.afterBlockBreak(world, player, pos, state);
+ }
+ });
+
+ @FunctionalInterface
+ public interface AfterBlockBreak {
+ void afterBlockBreak(World world, PlayerEntity player, BlockPos pos, BlockState state);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/events/SkyblockEvents.java b/src/main/java/me/xmrvizzy/skyblocker/events/SkyblockEvents.java
new file mode 100644
index 00000000..477d68b0
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/events/SkyblockEvents.java
@@ -0,0 +1,33 @@
+package me.xmrvizzy.skyblocker.events;
+
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
+import net.fabricmc.fabric.api.event.Event;
+import net.fabricmc.fabric.api.event.EventFactory;
+
+@Environment(EnvType.CLIENT)
+public final class SkyblockEvents {
+ public static final Event<SkyblockEvents.SkyblockJoin> JOIN = EventFactory.createArrayBacked(SkyblockEvents.SkyblockJoin.class, callbacks -> () -> {
+ for (SkyblockEvents.SkyblockJoin callback : callbacks) {
+ callback.onSkyblockJoin();
+ }
+ });
+
+ public static final Event<SkyblockEvents.SkyblockLeave> LEAVE = EventFactory.createArrayBacked(SkyblockEvents.SkyblockLeave.class, callbacks -> () -> {
+ for (SkyblockEvents.SkyblockLeave callback : callbacks) {
+ callback.onSkyblockLeave();
+ }
+ });
+
+ @Environment(EnvType.CLIENT)
+ @FunctionalInterface
+ public interface SkyblockJoin {
+ void onSkyblockJoin();
+ }
+
+ @Environment(EnvType.CLIENT)
+ @FunctionalInterface
+ public interface SkyblockLeave {
+ void onSkyblockLeave();
+ }
+}