Files
Purpur/patches/server/0216-Option-for-beds-to-explode-on-villager-sleep.patch
granny 1f589eb065 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@487109f Readd 0414 use distance map to optimise entity tracker (#9868)
PaperMC/Paper@230682d Add raw iron & raw copper blocks to anti xray defaults (#7622)
PaperMC/Paper@44057da Remove duplicate water-sensitivity damage for unaware mobs (#9908)
PaperMC/Paper@f78d7ce Remove "fix-curing-zombie-villager-discount" exploit option (#9895)
PaperMC/Paper@aa6c4c1 Include packet class name in packet encoding error messages (#9907)
PaperMC/Paper@6592fed Use a server impl for hopper event to track get/setItem calls (#9905)
PaperMC/Paper@bffb08c Deprecate Player#boostElytra (#9899)
PaperMC/Paper@43c3432 Add entity API for getting the combined gene of a Panda (#9891)
PaperMC/Paper@15a0de2 Make Team extend ForwardingAudience (#9852)
PaperMC/Paper@0cdce89 Fix a bunch of stuff with player spawn locations (#9887)
PaperMC/Paper@8a3980c Add API to get the collision shape of a block before it's placed (#9821)
PaperMC/Paper@23860da Add predicate for block when raytracing (#9691)
PaperMC/Paper@75d04e9 Broadcast take item packets with collector as source (#9884)
PaperMC/Paper@2553f30 fix secure profile with proxy online mode (#9700)
PaperMC/Paper@e289acc Add more API to LingeringPotionSplashEvent (#9901)
PaperMC/Paper@8cafc07 Added missing enchantables to material tags (#9888)
2023-11-04 20:29:02 -07:00

44 lines
2.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: 12emin34 <macanovic.emin@gmail.com>
Date: Tue, 31 Aug 2021 16:48:29 +0200
Subject: [PATCH] Option for beds to explode on villager sleep
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 28d940393f387387fa0a2b0dea8de24324e2e55e..6146f3e52eb1d8f47b5a41eff634d2c7cc24c26f 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1110,6 +1110,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
public void startSleeping(BlockPos pos) {
+ // Purpur start
+ if (level().purpurConfig.bedExplodeOnVillagerSleep && this.level().getBlockState(pos).getBlock() instanceof net.minecraft.world.level.block.BedBlock) {
+ this.level().explode(null, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, (float) this.level().purpurConfig.bedExplosionPower, this.level().purpurConfig.bedExplosionFire, this.level().purpurConfig.bedExplosionEffect);
+ return;
+ }
+ // Purpur end
super.startSleeping(pos);
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e752c2050b696a0f1db12c5301fbe940488d87d1..dae834b637164fabea2b17d2d752a04df31ee88a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -754,6 +754,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
+ public boolean bedExplodeOnVillagerSleep = false;
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -764,6 +765,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);
+ bedExplodeOnVillagerSleep = getBoolean("blocks.bed.explode-on-villager-sleep", bedExplodeOnVillagerSleep);
bedExplosionPower = getDouble("blocks.bed.explosion-power", bedExplosionPower);
bedExplosionFire = getBoolean("blocks.bed.explosion-fire", bedExplosionFire);
try {