diff options
author | Yasin <LifeIsAParadox@users.noreply.github.com> | 2023-10-09 12:11:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 12:11:19 +0200 |
commit | 3696b874cd89f55ae79cadfd923c26a047add5fe (patch) | |
tree | 6078bbe54377991439ecd5680f02c3ec3648485b /src/main/java/me/xmrvizzy/skyblocker/events | |
parent | 6ccb02d50bcded84ab21437895c9344c9ec416cb (diff) | |
parent | 9086f1ff94daa4933bf29552cfdaa633a251a792 (diff) | |
download | Skyblocker-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.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(); + } +} |