diff options
author | Yasin <LifeIsAParadox@users.noreply.github.com> | 2023-10-09 12:21:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 12:21:49 +0200 |
commit | 673d29d25ad7e92759d314ea25feaf6259ac5e60 (patch) | |
tree | eca7429bc7608d2c76e19a0d0cf0ac892e55cd7c /src/main/java/me/xmrvizzy/skyblocker/events | |
parent | 6e5bef27ff2d78b5012f99c9d96e99d9b9673e4c (diff) | |
parent | afe0610dccdbd00f3a4051141ce247b28a1a4e76 (diff) | |
download | Skyblocker-673d29d25ad7e92759d314ea25feaf6259ac5e60.tar.gz Skyblocker-673d29d25ad7e92759d314ea25feaf6259ac5e60.tar.bz2 Skyblocker-673d29d25ad7e92759d314ea25feaf6259ac5e60.zip |
Merge branch 'master' into scoreboard-optimizations
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/events')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/events/ClientPlayerBlockBreakEvent.java | 23 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/events/SkyblockEvents.java | 33 |
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(); + } +} |