Bee can work when raining or at night (#365)

This commit is contained in:
Bierque Jason
2021-05-28 05:55:19 +02:00
committed by GitHub
parent ae6ca468f6
commit 830141ca7a

View File

@@ -0,0 +1,54 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DoctaEnkoda <bierquejason@gmail.com>
Date: Thu, 27 May 2021 06:46:30 +0200
Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityBee.java b/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
index e425e093c233a21e5ef457e3a94defe8b74261d2..4da4fadbd4a036b316d554de20c0d30d35cc206b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityBee.java
@@ -356,7 +356,7 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB
private boolean fd() {
if (this.cannotEnterHiveTicks <= 0 && !this.bC.k() && !this.hasStung() && this.getGoalTarget() == null) {
- boolean flag = this.canPollinate() || this.world.isRaining() || this.world.isNight() || this.hasNectar();
+ boolean flag = this.canPollinate() || (this.world.isRaining() && !this.world.purpurConfig.beeCanWorkInRain) || (this.world.isNight() && !this.world.purpurConfig.beeCanWorkAtNight) || this.hasNectar(); // Purpur
return flag && !this.ff();
} else {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
index 58bf1008ab19340bce5111e006a8de0e7f39e0e5..6fbd8ee31c517cd08ce4d1374a278dd748f9933e 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
@@ -181,7 +181,7 @@ public class TileEntityBeehive extends TileEntity implements ITickable {
}
private boolean releaseBee(IBlockData iblockdata, TileEntityBeehive.HiveBee tileentitybeehive_hivebee, @Nullable List<Entity> list, TileEntityBeehive.ReleaseStatus tileentitybeehive_releasestatus, boolean force) {
- if (!force && (this.world.isNight() || this.world.isRaining()) && tileentitybeehive_releasestatus != TileEntityBeehive.ReleaseStatus.EMERGENCY) {
+ if (!force && ((this.world.isNight() && !this.world.purpurConfig.beeCanWorkAtNight) || (this.world.isRaining() && !this.world.purpurConfig.beeCanWorkInRain)) && tileentitybeehive_releasestatus != TileEntityBeehive.ReleaseStatus.EMERGENCY) { // Purpur
// CraftBukkit end
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0afe0d9c0b9d4c7abc6f65938d8fd147df52f880..bd72ed2da22c1d1121ea7ca04e163979baa05b27 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -726,6 +726,8 @@ public class PurpurWorldConfig {
public double beeMaxY = 256D;
public int beeBreedingTicks = 6000;
public double beeMaxHealth = 10.0D;
+ public boolean beeCanWorkAtNight = false;
+ public boolean beeCanWorkInRain = false;
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -737,6 +739,8 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
+ beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
+ beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
}
public boolean blazeRidable = false;