aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/anthonyhilyard/iceberg/events
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/anthonyhilyard/iceberg/events')
-rw-r--r--src/main/java/com/anthonyhilyard/iceberg/events/CriterionEvent.java38
-rw-r--r--src/main/java/com/anthonyhilyard/iceberg/events/EntityFluidEvent.java57
2 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/com/anthonyhilyard/iceberg/events/CriterionEvent.java b/src/main/java/com/anthonyhilyard/iceberg/events/CriterionEvent.java
new file mode 100644
index 0000000..8148b9b
--- /dev/null
+++ b/src/main/java/com/anthonyhilyard/iceberg/events/CriterionEvent.java
@@ -0,0 +1,38 @@
+package com.anthonyhilyard.iceberg.events;
+
+import net.minecraftforge.event.entity.player.AdvancementEvent;
+import net.minecraft.advancements.Advancement;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraftforge.common.MinecraftForge;
+
+/**
+ * This event is fired when a player is granted an advancement criterion.
+ * <br>
+ * This event is not {@link net.minecraftforge.eventbus.api.Cancelable}.<br>
+ * <br>
+ * This event does not have a result. {@link HasResult}<br>
+ * <br>
+ * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
+ */
+public class CriterionEvent extends AdvancementEvent
+{
+ private final Advancement advancement;
+ private final String criterionKey;
+
+ public CriterionEvent(PlayerEntity player, Advancement advancement, String criterionKey)
+ {
+ super(player, advancement);
+ this.advancement = advancement;
+ this.criterionKey = criterionKey;
+ }
+
+ public Advancement getAdvancement()
+ {
+ return advancement;
+ }
+
+ public String getCriterionKey()
+ {
+ return criterionKey;
+ }
+}
diff --git a/src/main/java/com/anthonyhilyard/iceberg/events/EntityFluidEvent.java b/src/main/java/com/anthonyhilyard/iceberg/events/EntityFluidEvent.java
new file mode 100644
index 0000000..aa91fa5
--- /dev/null
+++ b/src/main/java/com/anthonyhilyard/iceberg/events/EntityFluidEvent.java
@@ -0,0 +1,57 @@
+package com.anthonyhilyard.iceberg.events;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.fluid.Fluid;
+import net.minecraftforge.event.entity.EntityEvent;
+
+public class EntityFluidEvent extends EntityEvent
+{
+ private final Fluid fluid;
+
+ private EntityFluidEvent(Entity entity, Fluid fluid)
+ {
+ super(entity);
+ this.fluid = fluid;
+ }
+
+ public Fluid getFluid()
+ {
+ return fluid;
+ }
+
+ /**
+ * This event is fired when an entity enters a fluid to at least eye-level.
+ * If this is a player, they will see the "submerged in fluid" effect at this point.
+ * <br>
+ * This event is not {@link net.minecraftforge.eventbus.api.Cancelable}.<br>
+ * <br>
+ * This event does not have a result. {@link HasResult}<br>
+ * <br>
+ * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
+ */
+ public static class Entered extends EntityFluidEvent
+ {
+ public Entered(Entity entity, Fluid fluid)
+ {
+ super(entity, fluid);
+ }
+ }
+
+ /**
+ * This event is fired when an entity was previously submerged in a fluid to at least eye-level and no longer are.
+ * If this is a player, they will no longer see the "submerged in fluid" effect at this point.
+ * <br>
+ * This event is not {@link net.minecraftforge.eventbus.api.Cancelable}.<br>
+ * <br>
+ * This event does not have a result. {@link HasResult}<br>
+ * <br>
+ * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
+ */
+ public static class Exited extends EntityFluidEvent
+ {
+ public Exited(Entity entity, Fluid fluid)
+ {
+ super(entity, fluid);
+ }
+ }
+}