mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 07:48:53 +01:00
Add sun related API (#1546)
These methods are used internally throughout the game for things like spawning mobs during day/night only or making them burn in daylight, etc. Now exposed for plugin usage.
This commit is contained in:
parent
69cad796ab
commit
a16ef75bfd
2 changed files with 113 additions and 0 deletions
48
Spigot-API-Patches/0160-Add-sun-related-API.patch
Normal file
48
Spigot-API-Patches/0160-Add-sun-related-API.patch
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
From 86b386e1158f061a25df7b3b0a5bd56102252ce9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Sun, 7 Oct 2018 00:54:15 -0500
|
||||||
|
Subject: [PATCH] Add sun related API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||||
|
index 7bfe0b68..12c4bdff 100644
|
||||||
|
--- a/src/main/java/org/bukkit/World.java
|
||||||
|
+++ b/src/main/java/org/bukkit/World.java
|
||||||
|
@@ -1204,6 +1204,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||||
|
*/
|
||||||
|
public void setFullTime(long time);
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Check if it is currently daytime in this world
|
||||||
|
+ *
|
||||||
|
+ * @return True if it is daytime
|
||||||
|
+ */
|
||||||
|
+ public boolean isDayTime();
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Returns whether the world has an ongoing storm.
|
||||||
|
*
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
|
||||||
|
index 48eddcd3..1b108a4a 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Mob.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Mob.java
|
||||||
|
@@ -13,6 +13,13 @@ public interface Mob extends LivingEntity, Lootable {
|
||||||
|
* @return Pathfinding Manager for this entity
|
||||||
|
*/
|
||||||
|
com.destroystokyo.paper.entity.Pathfinder getPathfinder();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Check if this mob is exposed to daylight
|
||||||
|
+ *
|
||||||
|
+ * @return True if mob is exposed to daylight
|
||||||
|
+ */
|
||||||
|
+ boolean isInDaylight();
|
||||||
|
// Paper end
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.19.0
|
||||||
|
|
65
Spigot-Server-Patches/0387-Add-sun-related-API.patch
Normal file
65
Spigot-Server-Patches/0387-Add-sun-related-API.patch
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
From e5f5534561fd40c2ef90e938c165c549e42a3e04 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||||
|
Date: Sun, 7 Oct 2018 00:54:21 -0500
|
||||||
|
Subject: [PATCH] Add sun related API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
index 56542d531..6c84ec964 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
|
@@ -1287,6 +1287,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public boolean isInDaylight() { return dq(); } // Paper - OBFHELPER
|
||||||
|
protected boolean dq() {
|
||||||
|
if (this.world.L() && !this.world.isClientSide) {
|
||||||
|
float f = this.az();
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
|
index d659ffe9b..9d0b553a0 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
|
@@ -828,6 +828,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public boolean isDayTime() { return L(); } // Paper - OBFHELPER
|
||||||
|
public boolean L() {
|
||||||
|
return this.G < 4;
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
|
index 02b6bf299..7a66a4af8 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
|
@@ -542,6 +542,12 @@ public class CraftWorld implements World {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ public boolean isDayTime() {
|
||||||
|
+ return getHandle().isDayTime();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
public boolean createExplosion(double x, double y, double z, float power) {
|
||||||
|
return createExplosion(x, y, z, power, false, true);
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||||
|
index 53c2d154e..40a429942 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||||
|
@@ -68,4 +68,10 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||||
|
public long getSeed() {
|
||||||
|
return getHandle().lootTableSeed;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ public boolean isInDaylight() {
|
||||||
|
+ return getHandle().isInDaylight();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.19.0
|
||||||
|
|
Loading…
Reference in a new issue