net/minecraft/world/entity/ambient

This commit is contained in:
Noah van der Aa
2024-12-15 00:03:03 +01:00
parent d1369750e2
commit 6a85106951
2 changed files with 45 additions and 55 deletions

View File

@@ -0,0 +1,45 @@
--- a/net/minecraft/world/entity/ambient/Bat.java
+++ b/net/minecraft/world/entity/ambient/Bat.java
@@ -85,7 +_,7 @@
}
@Override
- public boolean isPushable() {
+ public boolean isCollidable(boolean ignoreClimbing) { // Paper - Climbing should not bypass cramming gamerule
return false;
}
@@ -139,13 +_,13 @@
this.yHeadRot = this.random.nextInt(360);
}
- if (level.getNearestPlayer(BAT_RESTING_TARGETING, this) != null) {
+ if (level.getNearestPlayer(BAT_RESTING_TARGETING, this) != null && org.bukkit.craftbukkit.event.CraftEventFactory.handleBatToggleSleepEvent(this, true)) { // CraftBukkit - Call BatToggleSleepEvent
this.setResting(false);
if (!isSilent) {
level.levelEvent(null, 1025, blockPos, 0);
}
}
- } else {
+ } else if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBatToggleSleepEvent(this, true)) { // CraftBukkit - Call BatToggleSleepEvent
this.setResting(false);
if (!isSilent) {
level.levelEvent(null, 1025, blockPos, 0);
@@ -178,7 +_,7 @@
float f1 = Mth.wrapDegrees(f - this.getYRot());
this.zza = 0.5F;
this.setYRot(this.getYRot() + f1);
- if (this.random.nextInt(100) == 0 && level.getBlockState(blockPos1).isRedstoneConductor(level, blockPos1)) {
+ if (this.random.nextInt(100) == 0 && level.getBlockState(blockPos1).isRedstoneConductor(level, blockPos1) && org.bukkit.craftbukkit.event.CraftEventFactory.handleBatToggleSleepEvent(this, false)) { // CraftBukkit - Call BatToggleSleepEvent
this.setResting(true);
}
}
@@ -203,7 +_,7 @@
if (this.isInvulnerableTo(level, damageSource)) {
return false;
} else {
- if (this.isResting()) {
+ if (this.isResting() && org.bukkit.craftbukkit.event.CraftEventFactory.handleBatToggleSleepEvent(this, true)) { // CraftBukkit - Call BatToggleSleepEvent
this.setResting(false);
}