aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0205-Add-moon-phase-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0205-Add-moon-phase-API.patch')
-rw-r--r--patches/api/0205-Add-moon-phase-API.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/patches/api/0205-Add-moon-phase-API.patch b/patches/api/0205-Add-moon-phase-API.patch
new file mode 100644
index 0000000000..d949b274a6
--- /dev/null
+++ b/patches/api/0205-Add-moon-phase-API.patch
@@ -0,0 +1,65 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: BillyGalbreath <[email protected]>
+Date: Sun, 23 Aug 2020 16:32:03 +0200
+Subject: [PATCH] Add moon phase API
+
+
+diff --git a/src/main/java/io/papermc/paper/world/MoonPhase.java b/src/main/java/io/papermc/paper/world/MoonPhase.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..df05153397b42930cd53d37b30824c7e5f008f7e
+--- /dev/null
++++ b/src/main/java/io/papermc/paper/world/MoonPhase.java
+@@ -0,0 +1,36 @@
++package io.papermc.paper.world;
++
++import org.jetbrains.annotations.NotNull;
++
++import java.util.HashMap;
++import java.util.Map;
++
++public enum MoonPhase {
++ FULL_MOON(0L),
++ WANING_GIBBOUS(1L),
++ LAST_QUARTER(2L),
++ WANING_CRESCENT(3L),
++ NEW_MOON(4L),
++ WAXING_CRESCENT(5L),
++ FIRST_QUARTER(6L),
++ WAXING_GIBBOUS(7L);
++
++ private final long day;
++
++ MoonPhase(long day) {
++ this.day = day;
++ }
++
++ private static final Map<Long, MoonPhase> BY_DAY = new HashMap<>();
++
++ static {
++ for (MoonPhase phase : values()) {
++ BY_DAY.put(phase.day, phase);
++ }
++ }
++
++ @NotNull
++ public static MoonPhase getPhase(long day) {
++ return BY_DAY.get(day % 8L);
++ }
++}
+diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java
+index 316d04db78c23ec236cc6f8d5c17e328cbd8ec75..27eff0826d5b5b48697fefd9571886e7bbce74b1 100644
+--- a/src/main/java/org/bukkit/RegionAccessor.java
++++ b/src/main/java/org/bukkit/RegionAccessor.java
+@@ -445,4 +445,12 @@ public interface RegionAccessor {
+ */
+ @NotNull
+ public <T extends Entity> T addEntity(@NotNull T entity);
++
++ // Paper start
++ /**
++ * @return the current moon phase at the current time in the world
++ */
++ @NotNull
++ io.papermc.paper.world.MoonPhase getMoonPhase();
++ // Paper end
+ }