This commit is contained in:
granny
2024-04-28 00:52:48 -07:00
parent fb34faf908
commit cb09d0959d
50 changed files with 318 additions and 318 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to allow for unsafe enchants
diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
index 15bfe2e58d16864af29b04c17181ebf45fa21eba..8b0c61bcdb8e00dda6fb8f43e6d74711361eba9c 100644 index 84f1ba6275f04624f46ccd772924b5e075e7b205..bfb455fb74f0a9645212f90acb54f68d1c7d9772 100644
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java --- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java +++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
@@ -70,7 +70,7 @@ public class EnchantCommand { @@ -70,7 +70,7 @@ public class EnchantCommand {
@@ -21,50 +21,50 @@ index 15bfe2e58d16864af29b04c17181ebf45fa21eba..8b0c61bcdb8e00dda6fb8f43e6d74711
ItemStack itemStack = livingEntity.getMainHandItem(); ItemStack itemStack = livingEntity.getMainHandItem();
if (!itemStack.isEmpty()) { if (!itemStack.isEmpty()) {
if (enchantment2.canEnchant(itemStack) if (enchantment2.canEnchant(itemStack)
- && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2)) { - && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(itemStack).keySet(), enchantment2)) {
+ && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur + && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(itemStack).keySet(), enchantment2) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur
itemStack.enchant(enchantment2, level); itemStack.enchant(enchantment2, level);
i++; i++;
} else if (targets.size() == 1) { } else if (targets.size() == 1) {
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index fc71e25bb657581db5b79623c4ea6adc5f9e2b12..3f13c6fb479db34c0c4d1e0f9241919f2e62cd53 100644 index 62a69dc13406bb0144948bf4bd265c3a28bfe14b..128c2c6f1b94d934d4d306f70c8ace08e4dc48d1 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -228,7 +228,8 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -228,7 +228,8 @@ public class AnvilMenu extends ItemCombinerMenu {
int i2 = (Integer) map1.get(enchantment); int i2 = entry.getIntValue();
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1); i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
- boolean flag3 = canDoUnsafeEnchants || enchantment.canEnchant(itemstack); // Purpur - boolean flag3 = enchantment.canEnchant(itemstack);
+ boolean flag3 = canDoUnsafeEnchants || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && org.purpurmc.purpur.PurpurConfig.allowInapplicableEnchants) || enchantment.canEnchant(itemstack); // Purpur + boolean flag3 = canDoUnsafeEnchants || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && org.purpurmc.purpur.PurpurConfig.allowInapplicableEnchants) || enchantment.canEnchant(itemstack); // Purpur
+ boolean flag4 = true; // Purpur + boolean flag4 = true; // Purpur
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) { if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
flag3 = true; flag3 = true;
@@ -240,16 +241,20 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -240,16 +241,20 @@ public class AnvilMenu extends ItemCombinerMenu {
Enchantment enchantment1 = (Enchantment) iterator1.next(); Holder<Enchantment> holder1 = (Holder) iterator1.next();
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) { if (!holder1.equals(holder) && !enchantment.isCompatibleWith((Enchantment) holder1.value())) {
- flag3 = canDoUnsafeEnchants; // Purpur - flag3 = canDoUnsafeEnchants; // Purpur
+ flag4 = canDoUnsafeEnchants || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && org.purpurmc.purpur.PurpurConfig.allowIncompatibleEnchants); // Purpur flag3 -> flag4 + flag4 = canDoUnsafeEnchants || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && org.purpurmc.purpur.PurpurConfig.allowIncompatibleEnchants); // Purpur flag3 -> flag4
+ if (!flag4 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) { + if (!flag4 && org.purpurmc.purpur.PurpurConfig.replaceIncompatibleEnchants) {
+ iterator1.remove(); + iterator1.remove();
+ flag4 = true; + flag4 = true;
+ } + }
++i; ++i;
} }
}
- if (!flag3) {
+ if (!flag3 || !flag4) { // Purpur
flag2 = true;
} else {
flag1 = true;
- if (i2 > enchantment.getMaxLevel()) {
+ if ((!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants || !org.purpurmc.purpur.PurpurConfig.allowHigherEnchantsLevels) && i2 > enchantment.getMaxLevel()) { // Purpur
i2 = enchantment.getMaxLevel();
} }
- if (!flag3) { @@ -375,7 +380,7 @@ public class AnvilMenu extends ItemCombinerMenu {
+ if (!flag3 || !flag4) { // Purpur
flag2 = true;
} else {
flag1 = true;
- if (i2 > enchantment.getMaxLevel()) {
+ if ((!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants || !org.purpurmc.purpur.PurpurConfig.allowHigherEnchantsLevels) && i2 > enchantment.getMaxLevel()) { // Purpur
i2 = enchantment.getMaxLevel();
}
@@ -389,7 +394,7 @@ public class AnvilMenu extends ItemCombinerMenu {
this.sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client this.sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client
this.broadcastChanges(); this.broadcastChanges();
// Purpur start // Purpur start
@@ -74,11 +74,11 @@ index fc71e25bb657581db5b79623c4ea6adc5f9e2b12..3f13c6fb479db34c0c4d1e0f9241919f
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get())); ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
} }
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 5b0816b6c01912c41e588559597edf8b5902fcd3..b4b1ffe875a18bcb72b7f1d87f6ddbea436bbb66 100644 index 206f6409a17eb0db1ced8c7a90127ed375329a44..7e6c231a50c7fd2297e1ab404a743e1aece9913b 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1241,6 +1241,12 @@ public final class ItemStack { @@ -1226,6 +1226,12 @@ public final class ItemStack implements DataComponentHolder {
return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false; return !((ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY)).isEmpty();
} }
+ // Purpur start + // Purpur start
@@ -87,17 +87,17 @@ index 5b0816b6c01912c41e588559597edf8b5902fcd3..b4b1ffe875a18bcb72b7f1d87f6ddbea
+ } + }
+ // Purpur end + // Purpur end
+ +
public void addTagElement(String key, Tag element) { public ItemEnchantments getEnchantments() {
this.getOrCreateTag().put(key, element); return (ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 0e254b7b1709f745a7d7c0e3cefda96d726de556..1b7aad41427a945ae4309d95f6371ca8aba1149a 100644 index 11b8f16a39011500d28f72e9c40fc3ca4b0f0fad..f725b560313aaee505708c835499d340e04217e4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -285,14 +285,34 @@ public class PurpurConfig { @@ -285,14 +285,34 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false; public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false; public static boolean allowCrossbowInfinity = true;
+ public static boolean allowUnsafeEnchants = false; + public static boolean allowUnsafeEnchants = false;
+ public static boolean allowInapplicableEnchants = true; + public static boolean allowInapplicableEnchants = true;
+ public static boolean allowIncompatibleEnchants = true; + public static boolean allowIncompatibleEnchants = true;

View File

@@ -8,7 +8,7 @@ Allows the total area and radius of water blocks the sponge can absorb to be cha
Co-authored by: granny <granny@purpurmc.org> Co-authored by: granny <granny@purpurmc.org>
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
index 8f3cca228f8ec1ea9379fa43af4baa7b18012dd2..1737a670aa81c17233f8e9a8632f0e0876be367c 100644 index 902825ec9ea05f4418b45f56a008d73f217bd178..a676ccfa6b02e8986df6f6a2e04cbb06b3edd0ff 100644
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
@@ -58,7 +58,7 @@ public class SpongeBlock extends Block { @@ -58,7 +58,7 @@ public class SpongeBlock extends Block {

View File

@@ -5,36 +5,36 @@ Subject: [PATCH] Projectile offset config
diff --git a/src/main/java/net/minecraft/world/item/BowItem.java b/src/main/java/net/minecraft/world/item/BowItem.java diff --git a/src/main/java/net/minecraft/world/item/BowItem.java b/src/main/java/net/minecraft/world/item/BowItem.java
index 33df0ca406dc8321b76b393f317bbd1c8ebe6366..220513d3fd5645322886522ea4f6b8c55d043b3c 100644 index 9553e68f0e34de41a3f337dd4fa45d5103def8bb..bfb3fe40eb215ceab338ed92a2372cd34ff8486c 100644
--- a/src/main/java/net/minecraft/world/item/BowItem.java --- a/src/main/java/net/minecraft/world/item/BowItem.java
+++ b/src/main/java/net/minecraft/world/item/BowItem.java +++ b/src/main/java/net/minecraft/world/item/BowItem.java
@@ -44,7 +44,7 @@ public class BowItem extends ProjectileWeaponItem implements Vanishable { @@ -31,7 +31,7 @@ public class BowItem extends ProjectileWeaponItem {
ArrowItem itemarrow = (ArrowItem) (itemstack1.getItem() instanceof ArrowItem ? itemstack1.getItem() : Items.ARROW); if (!((double)f < 0.1)) {
AbstractArrow entityarrow = itemarrow.createArrow(world, itemstack1, entityhuman); List<ItemStack> list = draw(stack, itemStack, player, !((itemStack.is(Items.ARROW) && world.purpurConfig.infinityWorksWithNormalArrows) || (itemStack.is(Items.TIPPED_ARROW) && world.purpurConfig.infinityWorksWithTippedArrows) || (itemStack.is(Items.SPECTRAL_ARROW) && world.purpurConfig.infinityWorksWithSpectralArrows)));
if (!world.isClientSide() && !list.isEmpty()) {
- this.shoot(world, player, player.getUsedItemHand(), stack, list, f * 3.0F, 1.0F, f == 1.0F, null);
+ this.shoot(world, player, player.getUsedItemHand(), stack, list, f * 3.0F, (float) world.purpurConfig.bowProjectileOffset, f == 1.0F, null); // Purpur
}
- entityarrow.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, f * 3.0F, 1.0F); world.playSound(
+ entityarrow.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, f * 3.0F, (float) world.purpurConfig.bowProjectileOffset); // Purpur
if (f == 1.0F) {
entityarrow.setCritArrow(true);
}
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
index f9a9bc27670bb7ec82a609f202edbde6b5a4fd46..05d3a7c077df1b92819655790230cd22028f6893 100644 index a3614405a92f26f19fb1df24f685cb7c081333db..aaa1055013dea97bed35390b55b90dc6029b59a3 100644
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
@@ -64,7 +64,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { @@ -60,7 +60,7 @@ public class CrossbowItem extends ProjectileWeaponItem {
ItemStack itemstack = user.getItemInHand(hand); ItemStack itemStack = user.getItemInHand(hand);
ChargedProjectiles chargedProjectiles = itemStack.get(DataComponents.CHARGED_PROJECTILES);
if (CrossbowItem.isCharged(itemstack)) { if (chargedProjectiles != null && !chargedProjectiles.isEmpty()) {
- CrossbowItem.performShooting(world, user, hand, itemstack, CrossbowItem.getShootingPower(itemstack), 1.0F); - this.performShooting(world, user, hand, itemStack, getShootingPower(chargedProjectiles), 1.0F, null);
+ CrossbowItem.performShooting(world, user, hand, itemstack, CrossbowItem.getShootingPower(itemstack), (float) world.purpurConfig.crossbowProjectileOffset); // Purpur + this.performShooting(world, user, hand, itemStack, getShootingPower(chargedProjectiles), (float) world.purpurConfig.crossbowProjectileOffset, null); // Purpur
CrossbowItem.setCharged(itemstack, false); return InteractionResultHolder.consume(itemStack);
return InteractionResultHolder.consume(itemstack); } else if (!user.getProjectile(itemStack).isEmpty()) {
} else if (!user.getProjectile(itemstack).isEmpty()) { this.startSoundPlayed = false;
diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java
index a3bd507793994e9cc87a956871a8afbb8ca9460d..ef2197a23aef0a4215fae09bd4618e449e14c64e 100644 index 4ebd634cff286b10868e26eeb3ecf34abdcab22e..7dc811335caa46870d1d895899a1e6c21980382d 100644
--- a/src/main/java/net/minecraft/world/item/EggItem.java --- a/src/main/java/net/minecraft/world/item/EggItem.java
+++ b/src/main/java/net/minecraft/world/item/EggItem.java +++ b/src/main/java/net/minecraft/world/item/EggItem.java
@@ -24,7 +24,7 @@ public class EggItem extends Item { @@ -27,7 +27,7 @@ public class EggItem extends Item implements ProjectileItem {
ThrownEgg entityegg = new ThrownEgg(world, user); ThrownEgg entityegg = new ThrownEgg(world, user);
entityegg.setItem(itemstack); entityegg.setItem(itemstack);
@@ -44,7 +44,7 @@ index a3bd507793994e9cc87a956871a8afbb8ca9460d..ef2197a23aef0a4215fae09bd4618e44
com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityegg.getBukkitEntity()); com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityegg.getBukkitEntity());
if (event.callEvent() && world.addFreshEntity(entityegg)) { if (event.callEvent() && world.addFreshEntity(entityegg)) {
diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
index a0c2650678848416829c7185a530fcd63bb68039..8031e38c66468676b3b4a7443d6678eec6b1e8a4 100644 index fc62754f93bd11a10c28b8b7b116e9fff70a5c7b..11b04455f09d8bfdf44499bb8359dc715c2daffd 100644
--- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java --- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java
+++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java +++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
@@ -24,7 +24,7 @@ public class EnderpearlItem extends Item { @@ -24,7 +24,7 @@ public class EnderpearlItem extends Item {
@@ -57,10 +57,10 @@ index a0c2650678848416829c7185a530fcd63bb68039..8031e38c66468676b3b4a7443d6678ee
com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityenderpearl.getBukkitEntity()); com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityenderpearl.getBukkitEntity());
if (event.callEvent() && world.addFreshEntity(entityenderpearl)) { if (event.callEvent() && world.addFreshEntity(entityenderpearl)) {
diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java
index bc8186a5bc3a98b35fad570729dd4ba52efab238..caab0c1e2bc5696080750797cbf1c93f57799f7d 100644 index 32b170551a2f5bdc88d29f4d03750bfe3974e71b..a41fb0dd26af367fc2470a7913a84d864bc505f7 100644
--- a/src/main/java/net/minecraft/world/item/SnowballItem.java --- a/src/main/java/net/minecraft/world/item/SnowballItem.java
+++ b/src/main/java/net/minecraft/world/item/SnowballItem.java +++ b/src/main/java/net/minecraft/world/item/SnowballItem.java
@@ -25,7 +25,7 @@ public class SnowballItem extends Item { @@ -28,7 +28,7 @@ public class SnowballItem extends Item implements ProjectileItem {
Snowball entitysnowball = new Snowball(world, user); Snowball entitysnowball = new Snowball(world, user);
entitysnowball.setItem(itemstack); entitysnowball.setItem(itemstack);
@@ -70,10 +70,10 @@ index bc8186a5bc3a98b35fad570729dd4ba52efab238..caab0c1e2bc5696080750797cbf1c93f
com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entitysnowball.getBukkitEntity()); com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entitysnowball.getBukkitEntity());
if (event.callEvent() && world.addFreshEntity(entitysnowball)) { if (event.callEvent() && world.addFreshEntity(entitysnowball)) {
diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
index f47f793c62a919fb65c081ddb82d597a978d3b20..3bbb44ae3da68afbd6012df68dee277a7dbf98c0 100644 index 369955746f4b51f69fa01103e3771dd74fc6c8f0..e6edd3a0fa2578900cdbe8bd588219dc3fd3af5f 100644
--- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java --- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
+++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java +++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
@@ -18,7 +18,7 @@ public class ThrowablePotionItem extends PotionItem { @@ -21,7 +21,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem {
if (!world.isClientSide) { if (!world.isClientSide) {
ThrownPotion thrownPotion = new ThrownPotion(world, user); ThrownPotion thrownPotion = new ThrownPotion(world, user);
thrownPotion.setItem(itemStack); thrownPotion.setItem(itemStack);
@@ -83,16 +83,16 @@ index f47f793c62a919fb65c081ddb82d597a978d3b20..3bbb44ae3da68afbd6012df68dee277a
com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Projectile) thrownPotion.getBukkitEntity()); com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Projectile) thrownPotion.getBukkitEntity());
if (event.callEvent() && world.addFreshEntity(thrownPotion)) { if (event.callEvent() && world.addFreshEntity(thrownPotion)) {
diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java
index c2218c2dd46641ebb4c9278fa0d6015122b1905c..7030d94ba14ecacc1e5cd6d6432b1bcb59c8b646 100644 index 129f829cc238ff2f6586511f80eb6da2e8c7ece4..1c278e92ca3307e93456073ca9581da56c22bca3 100644
--- a/src/main/java/net/minecraft/world/item/TridentItem.java --- a/src/main/java/net/minecraft/world/item/TridentItem.java
+++ b/src/main/java/net/minecraft/world/item/TridentItem.java +++ b/src/main/java/net/minecraft/world/item/TridentItem.java
@@ -77,7 +77,7 @@ public class TridentItem extends Item implements Vanishable { @@ -76,7 +76,7 @@ public class TridentItem extends Item implements ProjectileItem {
if (k == 0) { if (k == 0) {
ThrownTrident entitythrowntrident = new ThrownTrident(world, entityhuman, stack); ThrownTrident entitythrowntrident = new ThrownTrident(world, entityhuman, stack);
- entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, 1.0F); - entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, 1.0F);
+ entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, (float) world.purpurConfig.tridentProjectileOffset); // Purpur + entitythrowntrident.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 2.5F + (float) k * 0.5F, (float) world.purpurConfig.tridentProjectileOffset); // Purpur
if (entityhuman.getAbilities().instabuild) { if (entityhuman.hasInfiniteMaterials()) {
entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for powered rail activation distance
diff --git a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java
index b84c48902ef24fdae17578a304e6c93dc20c5dce..e03125281767845564c48c98c3e6b6bbd269ade1 100644 index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c23abbc480 100644
--- a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java --- a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java +++ b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java
@@ -30,7 +30,7 @@ public class PoweredRailBlock extends BaseRailBlock { @@ -30,7 +30,7 @@ public class PoweredRailBlock extends BaseRailBlock {

View File

@@ -18,13 +18,13 @@ Difficulties:
3 - hard 3 - hard
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
index 613df7b174ba4cb87314a631ebc7dfeda8ede58f..f7b724696151b73343feac1ce406fca9377f2508 100644 index 67060b7446535fc352d221d9fe3928d1d6ffcf54..8d5e841d8cc69bf09a9f1b6248633a72ce5fe1d7 100644
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
@@ -60,7 +60,7 @@ public class NetherPortalBlock extends Block { @@ -60,7 +60,7 @@ public class NetherPortalBlock extends Block {
@Override @Override
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) { protected void randomTick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
- if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(2000) < world.getDifficulty().getId()) { // Spigot - if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(2000) < world.getDifficulty().getId()) { // Spigot
+ if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(world.purpurConfig.piglinPortalSpawnModifier) < world.getDifficulty().getId()) { // Spigot // Purpur + if (world.spigotConfig.enableZombiePigmenPortalSpawns && world.dimensionType().natural() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(world.purpurConfig.piglinPortalSpawnModifier) < world.getDifficulty().getId()) { // Spigot // Purpur
while (world.getBlockState(pos).is((Block) this)) { while (world.getBlockState(pos).is((Block) this)) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to change max number of bees
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
index d445ed0895293dd45c36226051f5809be8587ebe..2b12596ee7ea1a40120c60c6f43e9e42cc6dfae9 100644 index 7b263fab4f0014400b3b8e7e33db32f9a125f6ba..f52823146944d333f2d050e90261b570ba66f5dd 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
@@ -47,7 +47,7 @@ public class BeehiveBlockEntity extends BlockEntity { @@ -59,7 +59,7 @@ public class BeehiveBlockEntity extends BlockEntity {
private final List<BeehiveBlockEntity.BeeData> stored = Lists.newArrayList(); private final List<BeehiveBlockEntity.BeeData> stored = Lists.newArrayList();
@Nullable @Nullable
public BlockPos savedFlowerPos; public BlockPos savedFlowerPos;
@@ -18,7 +18,7 @@ index d445ed0895293dd45c36226051f5809be8587ebe..2b12596ee7ea1a40120c60c6f43e9e42
public BeehiveBlockEntity(BlockPos pos, BlockState state) { public BeehiveBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.BEEHIVE, pos, state); super(BlockEntityType.BEEHIVE, pos, state);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 1b7aad41427a945ae4309d95f6371ca8aba1149a..d0e3dceec5f7c1d3fed1d6dc0f2a5c1ca2ed09f5 100644 index f725b560313aaee505708c835499d340e04217e4..198fb9815449fb0043703d480def0633974266f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -250,6 +250,7 @@ public class PurpurConfig { @@ -250,6 +250,7 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for wither explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
index c37b3486dcc75c5c78d605afeff2e3f723940636..b4a38621b58e16b2bf48b3d45d85130e8883b477 100644 index c753f715710ec4bb8337e035ac5a4c11371a84a0..a60d7f7baab005afc532ecec7aa22c53db4f51e0 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java --- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -99,7 +99,7 @@ public class WitherSkull extends AbstractHurtingProjectile { @@ -99,7 +99,7 @@ public class WitherSkull extends AbstractHurtingProjectile {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Gamemode extra permissions
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index b0d96ae08959cdca9177eb875faa99f4a8e92632..546ff84046856ecfe0f2a07d3ba3f886f8df4dca 100644 index edb94e5601acc38994dac20a167b145de778d426..7475aaac2673729091eabc741c8ebb561aeec8f1 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -230,6 +230,19 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS @@ -230,6 +230,19 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
@@ -52,7 +52,7 @@ index d1da3600dc07107309b20ebe6e7c0c4da0e8de76..244b4719c689f153fa36381a60acc280
for (ServerPlayer serverPlayer : targets) { for (ServerPlayer serverPlayer : targets) {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
index dd95b3bfe59f2bb635afe92317288efcd2986326..11f43f44f359ce57d3a8f3322e58b9f5dfdaf00a 100644 index 52649f82351ab4f675c3cc3cd6640956b0f76b91..eb51c88c7a0658190d3a8bfd5d18dca79d85fba0 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java --- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java +++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
@@ -23,7 +23,15 @@ public final class CommandPermissions { @@ -23,7 +23,15 @@ public final class CommandPermissions {
@@ -73,7 +73,7 @@ index dd95b3bfe59f2bb635afe92317288efcd2986326..11f43f44f359ce57d3a8f3322e58b9f5
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index d0e3dceec5f7c1d3fed1d6dc0f2a5c1ca2ed09f5..aeabbffef660ddcb113a33f1dd7f7b8504c07794 100644 index 198fb9815449fb0043703d480def0633974266f3..4cece5a98ef5612f46f672b8b3dd8e82a7143718 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -233,6 +233,7 @@ public class PurpurConfig { @@ -233,6 +233,7 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable broadcast settings
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
index e3e2e69e4ed2fb97c17481c88965f7f2997304ac..ba8a8575af92541cef2e116743d51cd68d1e794a 100644 index 94893039363b5fe2d7d0622d0592bce2c867b1c3..ef520d1dd00ae9473c1f34e2df4d8b064fe4d6ea 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -250,6 +250,7 @@ public class PlayerAdvancements { @@ -250,6 +250,7 @@ public class PlayerAdvancements {
@@ -17,10 +17,10 @@ index e3e2e69e4ed2fb97c17481c88965f7f2997304ac..ba8a8575af92541cef2e116743d51cd6
// Paper end // Paper end
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6df13e5920a9191751ada925c272e2dba30396cb..13f39b219615b8091284f4ac56d76a505956a556 100644 index 0957b0fba3ffbc3571e5aef7eb2b550dab19c0cf..397448063fb770f736f9c8bb7061852d3212484d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1012,6 +1012,7 @@ public class ServerPlayer extends Player { @@ -1088,6 +1088,7 @@ public class ServerPlayer extends Player {
})); }));
PlayerTeam scoreboardteam = this.getTeam(); PlayerTeam scoreboardteam = this.getTeam();
@@ -29,7 +29,7 @@ index 6df13e5920a9191751ada925c272e2dba30396cb..13f39b219615b8091284f4ac56d76a50
if (scoreboardteam.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { if (scoreboardteam.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent); this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index aeabbffef660ddcb113a33f1dd7f7b8504c07794..bf59250dd3813d2eaf51f2bde0692eea9a83c710 100644 index 4cece5a98ef5612f46f672b8b3dd8e82a7143718..af030297b8d68b81b5fc4275dc4cb509515ad507 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -203,6 +203,18 @@ public class PurpurConfig { @@ -203,6 +203,18 @@ public class PurpurConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 83be9f0a75371046f7c4e1e8b064a7c7534c74f6..ef830481a816c743aa3b0feee5c0f2cf51fea7fa 100644 index 6f55a7243ee960b132ef4e133dc98b8eb7e18855..58a57a1cf8b8a3e885346f1fd1f7dd54a0277867 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1045,6 +1045,17 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1067,6 +1067,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) { if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
d0 *= 0.5D; d0 *= 0.5D;
} }

View File

@@ -59,7 +59,7 @@ index 676a1499747b071515479130875157263d3a8352..fc1bba350030c076405711716e9830f8
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index bf59250dd3813d2eaf51f2bde0692eea9a83c710..7fe47715413f6a1c21f9b4afb93a6dee4e0f0fe2 100644 index af030297b8d68b81b5fc4275dc4cb509515ad507..a15c0086376a9c0bec8dff6ae8cb97e26ef4731e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -246,6 +246,7 @@ public class PurpurConfig { @@ -246,6 +246,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 743d888c07450ea9e2367d169e20a583b51f7be0..a3cc2e3ae32984e11f4e91421d663f0fe7c7b236 100644 index 76ad30ec1bc8070a20b732417f37d0d00c261ca5..22407dbefc65dee4ac0396bdcf8904aec600fcf2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -372,9 +372,10 @@ public class Creeper extends Monster implements PowerableMob { @@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
this.exploding = true; // Purpur this.exploding = true; // Purpur
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
float f = this.isPowered() ? 2.0F : 1.0F; float f = this.isPowered() ? 2.0F : 1.0F;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Iron golem calm anger options
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index 669132fb78d3fd72f73d4c20370f0213879baeaa..75a44fdb1228233ac2abe1d33bde8d978a8a994b 100644 index 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c18ff9f0ae 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -96,6 +96,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -91,6 +91,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@Override @Override
protected void registerGoals() { protected void registerGoals() {
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
@@ -16,10 +16,10 @@ index 669132fb78d3fd72f73d4c20370f0213879baeaa..75a44fdb1228233ac2abe1d33bde8d97
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, true));
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F)); this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
@@ -315,6 +316,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -307,6 +308,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
itemstack.shrink(1);
}
this.playSound(SoundEvents.IRON_GOLEM_REPAIR, 1.0F, f1);
itemstack.consume(1, player);
+ if (this.level().purpurConfig.ironGolemHealCalm && isAngry() && getHealth() == getMaxHealth()) stopBeingAngry(); // Purpur + if (this.level().purpurConfig.ironGolemHealCalm && isAngry() && getHealth() == getMaxHealth()) stopBeingAngry(); // Purpur
return InteractionResult.sidedSuccess(this.level().isClientSide); return InteractionResult.sidedSuccess(this.level().isClientSide);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Breedable parrots
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 242f30ed7855cd7b66c20df4aa424155dcd0e3a6..c69a096b6bd7700191f88a3c03c8d018ca9d4201 100644 index 490d7f8ac402f50a2f2f90ca032169784a402c0f..ceee7594d983512c21c35077434a86d1c6fb9b0a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -228,6 +228,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -221,6 +221,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
protected void registerGoals() { protected void registerGoals() {
//this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); // Purpur - move down //this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); // Purpur - move down
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
@@ -16,15 +16,15 @@ index 242f30ed7855cd7b66c20df4aa424155dcd0e3a6..c69a096b6bd7700191f88a3c03c8d018
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); // Purpur this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); // Purpur
this.goalSelector.addGoal(1, new LookAtPlayerGoal(this, Player.class, 8.0F)); this.goalSelector.addGoal(1, new LookAtPlayerGoal(this, Player.class, 8.0F));
@@ -344,6 +345,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -329,6 +330,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
} }
} }
+ if (this.level().purpurConfig.parrotBreedable) return super.mobInteract(player, hand); // Purpur + if (this.level().purpurConfig.parrotBreedable) return super.mobInteract(player, hand); // Purpur
return InteractionResult.sidedSuccess(this.level().isClientSide); return InteractionResult.sidedSuccess(this.level().isClientSide);
} else if (itemstack.is(Parrot.POISONOUS_FOOD)) { } else if (!itemstack.is(ItemTags.PARROT_POISONOUS_FOOD)) {
if (!player.getAbilities().instabuild) { if (!this.isFlying() && this.isTame() && this.isOwnedBy(player)) {
@@ -369,7 +371,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -353,7 +355,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@Override @Override
public boolean isFood(ItemStack stack) { public boolean isFood(ItemStack stack) {
@@ -33,7 +33,7 @@ index 242f30ed7855cd7b66c20df4aa424155dcd0e3a6..c69a096b6bd7700191f88a3c03c8d018
} }
public static boolean checkParrotSpawnRules(EntityType<Parrot> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { public static boolean checkParrotSpawnRules(EntityType<Parrot> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
@@ -381,13 +383,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -365,13 +367,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@Override @Override
public boolean canMate(Animal other) { public boolean canMate(Animal other) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable powered rail boost modifier
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index 93f42963816caa2a5f5b94c3bc1b87bbc9052a01..eb5bd5cfd131042e366872bf599a315d83dc732b 100644 index 97172e9c53c381d451111227feb4d1fa19d38ad8..e7a1ce585c9e552e6f9ce9acd26fdfe5c43e0b5d 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -676,7 +676,7 @@ public abstract class AbstractMinecart extends VehicleEntity { @@ -673,7 +673,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
if (d18 > 0.01D) { if (d18 > 0.01D) {
double d20 = 0.06D; double d20 = 0.06D;

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Add config change multiplier critical damage value
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 73f8aeb1b5253cfd7d5502d506677a3ef906625e..28dca8464a75487566e5d2efac1ec3fe42e6c410 100644 index e7f45fe435f679afb4fabe657922d7354183c6fb..f45794bf2b418f94961681bac8b0f39fbf6578de 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1316,7 +1316,7 @@ public abstract class Player extends LivingEntity { @@ -1332,7 +1332,7 @@ public abstract class Player extends LivingEntity {
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
flag2 = flag2 && !this.isSprinting();
if (flag2) {
- f *= 1.5F;
+ f *= this.level().purpurConfig.playerCriticalDamageMultiplier; // Purpur
}
f += f1; flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
if (flag2) {
- f *= 1.5F;
+ f *= this.level().purpurConfig.playerCriticalDamageMultiplier; // Purpur
}
f += f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e5faebee176a1ff625bb46b9dddd5391bc80a34..97f2212ca175ad6152acc3fab35dd6d1c2e83a8b 100644 index 8e5faebee176a1ff625bb46b9dddd5391bc80a34..97f2212ca175ad6152acc3fab35dd6d1c2e83a8b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable dragon egg teleporting
diff --git a/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java b/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java b/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java
index 7f365143ce5c62e734eceb855ba0a02ab3a99b27..bbb266cbe23da2573d3dfb3a6edd57461988d3c5 100644 index fbe15cdd5b9bca2ab4b1e871abbbdbff49ade8a4..23d113842bf774bdc74e0dffcc97b642bc8684f1 100644
--- a/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java --- a/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DragonEggBlock.java
@@ -49,8 +49,8 @@ public class DragonEggBlock extends FallingBlock { @@ -48,8 +48,8 @@ public class DragonEggBlock extends FallingBlock {
} }
private void teleport(BlockState state, Level world, BlockPos pos) { private void teleport(BlockState state, Level world, BlockPos pos) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for unverified username message
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index c5fa9f4d28f9a7f64a50a902ee5e631bfc00119c..8b62f992ec61d0a66a3856b4928ee2d705548291 100644 index 765cf12c1558afd9686793b18388fc229c55d2d8..ad674e1be146614ba20e1f184b0f5cc30339593e 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -270,7 +270,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @@ -309,7 +309,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
ServerLoginPacketListenerImpl.LOGGER.warn("Failed to verify username but will let them in anyway!"); ServerLoginPacketListenerImpl.LOGGER.warn("Failed to verify username but will let them in anyway!");
ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(s1)); // Spigot ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(s1)); // Spigot
} else { } else {
@@ -18,7 +18,7 @@ index c5fa9f4d28f9a7f64a50a902ee5e631bfc00119c..8b62f992ec61d0a66a3856b4928ee2d7
} }
} catch (AuthenticationUnavailableException authenticationunavailableexception) { } catch (AuthenticationUnavailableException authenticationunavailableexception) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7fe47715413f6a1c21f9b4afb93a6dee4e0f0fe2..23d131fa6b91ba62475dd3f825711f7c0796e3c7 100644 index a15c0086376a9c0bec8dff6ae8cb97e26ef4731e..0318a324bd59a627114ed031589441c317cf5bcc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -184,6 +184,7 @@ public class PurpurConfig { @@ -184,6 +184,7 @@ public class PurpurConfig {

View File

@@ -5,20 +5,20 @@ Subject: [PATCH] Make anvil cumulative cost configurable
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 3f13c6fb479db34c0c4d1e0f9241919f2e62cd53..2913d69fcff4b6df68586146b7323cea33eba74b 100644 index 128c2c6f1b94d934d4d306f70c8ace08e4dc48d1..581d784316a07594570374c1a03e5174c0f91580 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -403,7 +403,7 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -392,7 +392,7 @@ public class AnvilMenu extends ItemCombinerMenu {
} }
public static int calculateIncreasedRepairCost(int cost) { public static int calculateIncreasedRepairCost(int cost) {
- return cost * 2 + 1; - return (int) Math.min((long) cost * 2L + 1L, 2147483647L);
+ return org.purpurmc.purpur.PurpurConfig.anvilCumulativeCost ? cost * 2 + 1 : 0; + return org.purpurmc.purpur.PurpurConfig.anvilCumulativeCost ? (int) Math.min((long) cost * 2L + 1L, 2147483647L) : 0;
} }
public boolean setItemName(String newItemName) { public boolean setItemName(String newItemName) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 23d131fa6b91ba62475dd3f825711f7c0796e3c7..09c777f83a74501d76f6e15a61d7c433599cf6cc 100644 index 0318a324bd59a627114ed031589441c317cf5bcc..18e8a4a062eb57be001c38dbcddef74b0d5583cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -269,6 +269,7 @@ public class PurpurConfig { @@ -269,6 +269,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 52a7a8b35cf0f7b52d5de253b21f7713ab261544..8d80055253008bb1b2ed77e91a1c51c995208dac 100644 index 0978f519177ce2f0991402dafb9a22c5a8686168..91c013f7ab58f570d0ebe2773932fcdb49344b3c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -406,7 +406,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -395,7 +395,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
boolean wantsToEnterHive() { boolean wantsToEnterHive() {
if (this.stayOutOfHiveCountdown <= 0 && !this.beePollinateGoal.isPollinating() && !this.hasStung() && this.getTarget() == null) { if (this.stayOutOfHiveCountdown <= 0 && !this.beePollinateGoal.isPollinating() && !this.hasStung() && this.getTarget() == null) {
@@ -18,13 +18,13 @@ index 52a7a8b35cf0f7b52d5de253b21f7713ab261544..8d80055253008bb1b2ed77e91a1c51c9
return flag && !this.isHiveNearFire(); return flag && !this.isHiveNearFire();
} else { } else {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
index 2b12596ee7ea1a40120c60c6f43e9e42cc6dfae9..ba610e05806ad020d439d59d30b820bc9cd3fbff 100644 index f52823146944d333f2d050e90261b570ba66f5dd..d8efb00c325448d566c59418fe22268c6eb4cfce 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
@@ -207,7 +207,7 @@ public class BeehiveBlockEntity extends BlockEntity { @@ -212,7 +212,7 @@ public class BeehiveBlockEntity extends BlockEntity {
} }
private static boolean releaseBee(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.BeeData tileentitybeehive_hivebee, @Nullable List<Entity> list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) { private static boolean releaseOccupant(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.Occupant tileentitybeehive_c, @Nullable List<Entity> list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) {
- if (!force && (world.isNight() || world.isRaining()) && tileentitybeehive_releasestatus != BeehiveBlockEntity.BeeReleaseStatus.EMERGENCY) { - if (!force && (world.isNight() || world.isRaining()) && tileentitybeehive_releasestatus != BeehiveBlockEntity.BeeReleaseStatus.EMERGENCY) {
+ if (!force && ((world.isNight() && !world.purpurConfig.beeCanWorkAtNight) || (world.isRaining() && !world.purpurConfig.beeCanWorkInRain)) && tileentitybeehive_releasestatus != BeehiveBlockEntity.BeeReleaseStatus.EMERGENCY) { // Purpur + if (!force && ((world.isNight() && !world.purpurConfig.beeCanWorkAtNight) || (world.isRaining() && !world.purpurConfig.beeCanWorkInRain)) && tileentitybeehive_releasestatus != BeehiveBlockEntity.BeeReleaseStatus.EMERGENCY) { // Purpur
// CraftBukkit end // CraftBukkit end

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 53c20b7e1e8d27b4a13e18ae8fa437e83b208c78..2cac12d2b788b0962b719a83b43dc23177b76ac6 100644 index 5f19cc285efac25b56a29242b41c2823020f170e..2d1fc8734f440c284710c71abc6789e8185ec909 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -562,6 +562,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -562,6 +562,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return true; return true;
} }
@@ -32,10 +32,10 @@ index 53c20b7e1e8d27b4a13e18ae8fa437e83b208c78..2cac12d2b788b0962b719a83b43dc231
return this.hardCollides; return this.hardCollides;
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c7891da88e07 100644 index 58a57a1cf8b8a3e885346f1fd1f7dd54a0277867..20433981a866b46a2ccedec70d5ee01079c2797c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -274,6 +274,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -43,7 +43,7 @@ index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c789
@Override @Override
public float getBukkitYaw() { public float getBukkitYaw() {
@@ -811,6 +812,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -842,6 +843,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> { dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
nbt.put("Brain", nbtbase); nbt.put("Brain", nbtbase);
}); });
@@ -51,7 +51,7 @@ index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c789
} }
@Override @Override
@@ -897,6 +899,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -929,6 +931,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain"))); this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
} }
@@ -63,7 +63,7 @@ index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c789
} }
// CraftBukkit start // CraftBukkit start
@@ -3607,6 +3614,27 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3572,6 +3579,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().drown(), 1.0F); this.hurt(this.damageSources().drown(), 1.0F);
} }
@@ -83,7 +83,7 @@ index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c789
+ flag = false; + flag = false;
+ } + }
+ if (flag) { + if (flag) {
+ this.setSecondsOnFire(8); + this.igniteForSeconds(8);
+ } + }
+ } + }
+ } + }
@@ -92,10 +92,10 @@ index ef830481a816c743aa3b0feee5c0f2cf51fea7fa..cd87e7c52b75c6ba40343557ba12c789
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index a7d475b69bc9f15cf32f297f808246ff69402fb5..4182a146dcad83d141cd5bacdbfc39d912360c40 100644 index 77cf0d92212d11b9036f9f9cf23b23f71f1d590d..ee98efa69d67cd22eb5722cf68f3b7063e2595c8 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1767,17 +1767,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1881,17 +1881,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
} }
public boolean isSunBurnTick() { public boolean isSunBurnTick() {
@@ -115,10 +115,10 @@ index a7d475b69bc9f15cf32f297f808246ff69402fb5..4182a146dcad83d141cd5bacdbfc39d9
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc43d988a4f 100644 index 8f71739a4b23bc53994f1cbff8500b6bad288a42..919767affe2ede755cf83398436fbf1581ad508f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -66,6 +66,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -65,6 +65,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
protected AbstractSkeleton(EntityType<? extends AbstractSkeleton> type, Level world) { protected AbstractSkeleton(EntityType<? extends AbstractSkeleton> type, Level world) {
super(type, world); super(type, world);
this.reassessWeaponGoal(); this.reassessWeaponGoal();
@@ -126,8 +126,8 @@ index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc4
} }
@Override @Override
@@ -101,35 +102,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -95,35 +96,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
} abstract SoundEvent getStepSound();
// Paper start - shouldBurnInDay API // Paper start - shouldBurnInDay API
- private boolean shouldBurnInDay = true; - private boolean shouldBurnInDay = true;
@@ -156,7 +156,7 @@ index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc4
- } - }
- -
- if (flag) { - if (flag) {
- this.setSecondsOnFire(8); - this.igniteForSeconds(8);
- } - }
- } - }
- -
@@ -164,15 +164,7 @@ index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc4
super.aiStep(); super.aiStep();
} }
@@ -194,7 +174,6 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -238,7 +218,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
} else {
this.goalSelector.addGoal(4, this.meleeGoal);
}
-
}
}
@@ -238,7 +217,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
this.reassessWeaponGoal(); this.reassessWeaponGoal();
// Paper start - shouldBurnInDay API // Paper start - shouldBurnInDay API
if (nbt.contains("Paper.ShouldBurnInDay")) { if (nbt.contains("Paper.ShouldBurnInDay")) {
@@ -181,7 +173,7 @@ index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc4
} }
// Paper end - shouldBurnInDay API // Paper end - shouldBurnInDay API
} }
@@ -247,7 +226,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -247,7 +227,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
@Override @Override
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
@@ -191,10 +183,10 @@ index 9d259d7e2aa3e44e350eb5927314cfceaffaf3f3..3f9e81c0bdd85bec24a1209ad3fd3dc4
// Paper end - shouldBurnInDay API // Paper end - shouldBurnInDay API
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index f6d6df27c2ca7a33ed3ca8e299725b6a5c4aafc3..5ac87650e357f3ac48e37713b9b0b18ad4d6feb6 100644 index cb96bd5769159e6c25968673ea07cd6d107cff46..440c90feeae3a55c98e2011ecb27c28d58f11e6e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java --- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java +++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -22,6 +22,7 @@ public class Husk extends Zombie { @@ -20,6 +20,7 @@ public class Husk extends Zombie {
public Husk(EntityType<? extends Husk> type, Level world) { public Husk(EntityType<? extends Husk> type, Level world) {
super(type, world); super(type, world);
@@ -202,7 +194,7 @@ index f6d6df27c2ca7a33ed3ca8e299725b6a5c4aafc3..5ac87650e357f3ac48e37713b9b0b18a
} }
// Purpur start // Purpur start
@@ -77,7 +78,7 @@ public class Husk extends Zombie { @@ -75,7 +76,7 @@ public class Husk extends Zombie {
@Override @Override
public boolean isSunSensitive() { public boolean isSunSensitive() {
@@ -212,36 +204,35 @@ index f6d6df27c2ca7a33ed3ca8e299725b6a5c4aafc3..5ac87650e357f3ac48e37713b9b0b18a
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 637b229817f9f2c3ad224f300b56a6bee4c8a341..bcb1912ea218fbb4b849ab84a7025202100b82c3 100644 index c52d40eb33a16e428c016a902faeb62aea0fd727..bebc6f9f7e49e9dd34fa295d9ce3e8397feb280c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -61,6 +61,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -59,6 +59,7 @@ public class Phantom extends FlyingMob implements Enemy {
this.xpReward = 5; this.xpReward = 5;
this.moveControl = new Phantom.PhantomMoveControl(this); this.moveControl = new Phantom.PhantomMoveControl(this);
this.lookControl = new Phantom.PhantomLookControl(this); this.lookControl = new Phantom.PhantomLookControl(this, this);
+ this.setShouldBurnInDay(true); // Purpur + this.setShouldBurnInDay(true); // Purpur
} }
// Purpur start // Purpur start
@@ -254,16 +255,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -247,15 +248,7 @@ public class Phantom extends FlyingMob implements Enemy {
@Override @Override
public void aiStep() { public void aiStep() {
- // Purpur start - // Purpur start
- boolean burnFromDaylight = this.shouldBurnInDay && this.level().purpurConfig.phantomBurnInDaylight; - boolean burnFromDaylight = this.shouldBurnInDay && this.isSunBurnTick() && this.level().purpurConfig.phantomBurnInDaylight;
- boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level().getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight; - boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level().getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight;
- if (this.isAlive() && (burnFromDaylight || burnFromLightSource)) { // Paper - shouldBurnInDay API - if (this.isAlive() && (burnFromDaylight || burnFromLightSource)) { // Paper - shouldBurnInDay API
- if (getRider() == null || !this.isControllable())
- // Purpur end - // Purpur end
- if (getRider() == null || !this.isControllable()) // Purpur - if (getRider() == null || !this.isControllable()) // Purpur
- this.setSecondsOnFire(8); - this.igniteForSeconds(8);
- } - }
- -
+ // Purpur - moved down to shouldBurnInDay() + // Purpur - moved down to shouldBurnInDay()
super.aiStep(); super.aiStep();
} }
@@ -291,7 +283,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -283,7 +276,7 @@ public class Phantom extends FlyingMob implements Enemy {
if (nbt.hasUUID("Paper.SpawningEntity")) { if (nbt.hasUUID("Paper.SpawningEntity")) {
this.spawningEntity = nbt.getUUID("Paper.SpawningEntity"); this.spawningEntity = nbt.getUUID("Paper.SpawningEntity");
} }
@@ -250,7 +241,7 @@ index 637b229817f9f2c3ad224f300b56a6bee4c8a341..bcb1912ea218fbb4b849ab84a7025202
this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay"); this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay");
} }
// Paper end // Paper end
@@ -308,7 +300,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -300,7 +293,7 @@ public class Phantom extends FlyingMob implements Enemy {
if (this.spawningEntity != null) { if (this.spawningEntity != null) {
nbt.putUUID("Paper.SpawningEntity", this.spawningEntity); nbt.putUUID("Paper.SpawningEntity", this.spawningEntity);
} }
@@ -259,8 +250,8 @@ index 637b229817f9f2c3ad224f300b56a6bee4c8a341..bcb1912ea218fbb4b849ab84a7025202
// Paper end // Paper end
} }
@@ -377,8 +369,15 @@ public class Phantom extends FlyingMob implements Enemy { @@ -356,8 +349,15 @@ public class Phantom extends FlyingMob implements Enemy {
return spawningEntity; return this.spawningEntity;
} }
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; } public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
- private boolean shouldBurnInDay = true; - private boolean shouldBurnInDay = true;
@@ -276,12 +267,12 @@ index 637b229817f9f2c3ad224f300b56a6bee4c8a341..bcb1912ea218fbb4b849ab84a7025202
+ // Purpur End + // Purpur End
public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; } public void setShouldBurnInDay(boolean shouldBurnInDay) { this.shouldBurnInDay = shouldBurnInDay; }
// Paper end // Paper end
private static enum AttackPhase {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc04895b3bf 100644 index de7a74f1e5181373da8dcc639245f35f77f4f09b..53f7659aed2378b36f1923a0208c7f86048eb85b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -96,11 +96,12 @@ public class Zombie extends Monster { @@ -93,11 +93,12 @@ public class Zombie extends Monster {
private int inWaterTime; private int inWaterTime;
public int conversionTime; public int conversionTime;
private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field
@@ -295,7 +286,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
} }
public Zombie(Level world) { public Zombie(Level world) {
@@ -296,30 +297,7 @@ public class Zombie extends Monster { @@ -293,30 +294,7 @@ public class Zombie extends Monster {
@Override @Override
public void aiStep() { public void aiStep() {
@@ -318,7 +309,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
- } - }
- -
- if (flag) { - if (flag) {
- this.setSecondsOnFire(8); - this.igniteForSeconds(8);
- } - }
- } - }
- } - }
@@ -327,7 +318,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
super.aiStep(); super.aiStep();
} }
@@ -357,6 +335,7 @@ public class Zombie extends Monster { @@ -354,6 +332,7 @@ public class Zombie extends Monster {
} }
@@ -335,7 +326,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
public boolean isSunSensitive() { public boolean isSunSensitive() {
return this.shouldBurnInDay; // Paper - Add more Zombie API return this.shouldBurnInDay; // Paper - Add more Zombie API
} }
@@ -486,7 +465,7 @@ public class Zombie extends Monster { @@ -477,7 +456,7 @@ public class Zombie extends Monster {
nbt.putBoolean("CanBreakDoors", this.canBreakDoors()); nbt.putBoolean("CanBreakDoors", this.canBreakDoors());
nbt.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1); nbt.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1);
nbt.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1); nbt.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1);
@@ -344,7 +335,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
} }
@Override @Override
@@ -500,7 +479,7 @@ public class Zombie extends Monster { @@ -491,7 +470,7 @@ public class Zombie extends Monster {
} }
// Paper start - Add more Zombie API // Paper start - Add more Zombie API
if (nbt.contains("Paper.ShouldBurnInDay")) { if (nbt.contains("Paper.ShouldBurnInDay")) {
@@ -354,7 +345,7 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
// Paper end - Add more Zombie API // Paper end - Add more Zombie API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index cac42202295b16de0466216f64be4fdf30929a7e..b6ecb58718b7de7ba9c90236f3dc11715652daa9 100644 index befe3372d5f1550b7bde3b63b5e7aef9035c5379..3c674ecd3b80501047b4593e8872034287defd2e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -84,6 +84,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -84,6 +84,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -370,10 +361,10 @@ index cac42202295b16de0466216f64be4fdf30929a7e..b6ecb58718b7de7ba9c90236f3dc1171
Preconditions.checkArgument(entity != null, "Unknown entity"); Preconditions.checkArgument(entity != null, "Unknown entity");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 17fc6efc988bd74fc50c340eb62f8a7def2167cb..210040aa3f810c03cadf38df9d10da336dffaaa1 100644 index 4fd98b8c39c3a989e5bf5682b936cade78a8c404..d08f86f2122441d661e7693ad7dcb9854921a767 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1227,5 +1227,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1190,5 +1190,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
if (slot == null) return; if (slot == null) return;
getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
} }

View File

@@ -5,51 +5,51 @@ Subject: [PATCH] Config MobEffect by world
diff --git a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java diff --git a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
index 3aad6bd0a1fb7bb3f9b7dab2c10c875864900750..31bd845130e363dd11c225dfd1e9dd896aea8aac 100644 index a476b56ed98d0a1afc6a396ce29424df78f24ada..5119ff3414fbd9a1ae0a8db0fd15bd3c57c8e148 100644
--- a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java --- a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
@@ -15,7 +15,7 @@ class HungerMobEffect extends MobEffect { @@ -12,7 +12,7 @@ class HungerMobEffect extends MobEffect {
if (entity instanceof Player) { @Override
Player entityhuman = (Player) entity; public boolean applyEffectTick(LivingEntity entity, int amplifier) {
if (entity instanceof Player entityhuman) {
- entityhuman.causeFoodExhaustion(0.005F * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent - entityhuman.causeFoodExhaustion(0.005F * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent
+ entityhuman.causeFoodExhaustion(entity.level().purpurConfig.humanHungerExhaustionAmount * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent // Purpur + entityhuman.causeFoodExhaustion(entity.level().purpurConfig.humanHungerExhaustionAmount * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent // Purpur
} }
} return true;
diff --git a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java diff --git a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
index 196204a8661c7750408997e052ec706f44161fc6..393cd9fac5b2fd39e4248d0abd4930e6b2ff73a4 100644 index 3e7a703632251e0a5234259e3702b58b332e5ef0..f2cc43fbccb5d2ba012b350268065c2cfe014faf 100644
--- a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java --- a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
@@ -11,8 +11,8 @@ class PoisonMobEffect extends MobEffect { @@ -10,8 +10,8 @@ class PoisonMobEffect extends MobEffect {
@Override @Override
public void applyEffectTick(LivingEntity entity, int amplifier) { public boolean applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
- if (entity.getHealth() > 1.0F) { - if (entity.getHealth() > 1.0F) {
- entity.hurt(entity.damageSources().poison(), 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON - entity.hurt(entity.damageSources().poison(), 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
+ if (entity.getHealth() > entity.level().purpurConfig.entityMinimalHealthPoison) { // Purpur + if (entity.getHealth() > entity.level().purpurConfig.entityMinimalHealthPoison) { // Purpur
+ entity.hurt(entity.damageSources().poison(), entity.level().purpurConfig.entityPoisonDegenerationAmount); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON // Purpur + entity.hurt(entity.damageSources().poison(), entity.level().purpurConfig.entityPoisonDegenerationAmount); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON // Purpur
} }
} return true;
diff --git a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java diff --git a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
index 551b20f86347aeca4824b7a424ad7de7c0ff072e..06bb4ad98aa9ca38b8d423681b1ad4b821f5e47d 100644 index 4dba3e813e054951cbfbe0b323c1f5d973469cc0..426f61d55b9692cf085368df4e4df6f6997aa420 100644
--- a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java --- a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
@@ -12,7 +12,7 @@ class RegenerationMobEffect extends MobEffect { @@ -11,7 +11,7 @@ class RegenerationMobEffect extends MobEffect {
public void applyEffectTick(LivingEntity entity, int amplifier) { @Override
super.applyEffectTick(entity, amplifier); public boolean applyEffectTick(LivingEntity entity, int amplifier) {
if (entity.getHealth() < entity.getMaxHealth()) { if (entity.getHealth() < entity.getMaxHealth()) {
- entity.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit - entity.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit
+ entity.heal(entity.level().purpurConfig.entityHealthRegenAmount, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit // Purpur + entity.heal(entity.level().purpurConfig.entityHealthRegenAmount, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit // Purpur
} }
} return true;
diff --git a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java diff --git a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
index b994ae09621934df2cdd6a83a7d8ecb44649fb16..c2b812c992db1ac9cd391da902c8d819a6ec2e6d 100644 index 7b415dca88f50dc472fe4be96e5ef0996f117913..2bb872f29350d15db46b32c686aef78fc1b6fa29 100644
--- a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java --- a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
@@ -23,7 +23,7 @@ class SaturationMobEffect extends InstantenousMobEffect { @@ -20,7 +20,7 @@ class SaturationMobEffect extends InstantenousMobEffect {
int oldFoodLevel = entityhuman.getFoodData().foodLevel; int oldFoodLevel = entityhuman.getFoodData().foodLevel;
org.bukkit.event.entity.FoodLevelChangeEvent event = CraftEventFactory.callFoodLevelChangeEvent(entityhuman, amplifier + 1 + oldFoodLevel); org.bukkit.event.entity.FoodLevelChangeEvent event = CraftEventFactory.callFoodLevelChangeEvent(entityhuman, amplifier + 1 + oldFoodLevel);
if (!event.isCancelled()) { if (!event.isCancelled()) {
@@ -59,18 +59,18 @@ index b994ae09621934df2cdd6a83a7d8ecb44649fb16..c2b812c992db1ac9cd391da902c8d819
((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate(); ((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate();
diff --git a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java diff --git a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
index cc45fd864185a7842c465e26304b36f7c744bb93..434390a6b88eac7bd41ad6b05d223c78571885fb 100644 index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d92c932d64 100644
--- a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java --- a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
@@ -10,7 +10,7 @@ class WitherMobEffect extends MobEffect { @@ -9,7 +9,7 @@ class WitherMobEffect extends MobEffect {
@Override
public void applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
- entity.hurt(entity.damageSources().wither(), 1.0F);
+ entity.hurt(entity.damageSources().wither(), entity.level().purpurConfig.entityWitherDegenerationAmount); // Purpur
}
@Override @Override
public boolean applyEffectTick(LivingEntity entity, int amplifier) {
- entity.hurt(entity.damageSources().wither(), 1.0F);
+ entity.hurt(entity.damageSources().wither(), entity.level().purpurConfig.entityWitherDegenerationAmount); // Purpur
return true;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7d89fc67d4f9b58697ff317a0c526be8e612e37a..515c15d6d8f87a1aa677db0cdf7605bbd2421fe0 100644 index 7d89fc67d4f9b58697ff317a0c526be8e612e37a..515c15d6d8f87a1aa677db0cdf7605bbd2421fe0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Beacon Activation Range Configurable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
index 4b81b0180dfc96fc6a88646838a886ca5b5d301b..4a0bca08585fae3620da108f6a4cc07e500e5e03 100644 index dd1fe8357ccf084880a7f3d4d9e499bde672c787..37ce2605c8803d8d87770bf6a95a83aa975b99fe 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -88,6 +88,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name @@ -92,6 +92,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
public double getEffectRange() { public double getEffectRange() {
if (this.effectRange < 0) { if (this.effectRange < 0) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 74f9b208b822ef3c53113004b40366e44fdb8201..d3340055cf5c79b1f7430dc64516118bbb707086 100644 index bcdef2c9bb116409445a4ef65c5e407c1003a55d..1dc58b41d3963c2adc58e79cd6db7e146ac049ad 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1192,7 +1192,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1182,7 +1182,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return holder.is(PoiTypes.LIGHTNING_ROD); return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> { }, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
@@ -18,7 +18,7 @@ index 74f9b208b822ef3c53113004b40366e44fdb8201..d3340055cf5c79b1f7430dc64516118b
return optional.map((blockposition1) -> { return optional.map((blockposition1) -> {
return blockposition1.above(1); return blockposition1.above(1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 09c777f83a74501d76f6e15a61d7c433599cf6cc..a268dcb3a0465425bb3c59edfc0f7897ea6626c1 100644 index 18e8a4a062eb57be001c38dbcddef74b0d5583cd..8b7d38e85f9b094dc6c421464b9385fbc8570d2c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -270,6 +270,7 @@ public class PurpurConfig { @@ -270,6 +270,7 @@ public class PurpurConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1834578be 100644 index f45794bf2b418f94961681bac8b0f39fbf6578de..b17b76eedf681f06e4db78a7117a6af9e3915c62 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity { @@ -196,6 +196,7 @@ public abstract class Player extends LivingEntity {
public boolean affectsSpawning = true; // Paper - Affects Spawning API public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur public int sixRowEnderchestSlotCount = -1; // Purpur
@@ -17,7 +17,7 @@ index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
@@ -259,6 +260,12 @@ public abstract class Player extends LivingEntity { @@ -271,6 +272,12 @@ public abstract class Player extends LivingEntity {
@Override @Override
public void tick() { public void tick() {
@@ -30,9 +30,9 @@ index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1
this.noPhysics = this.isSpectator(); this.noPhysics = this.isSpectator();
if (this.isSpectator()) { if (this.isSpectator()) {
this.setOnGround(false); this.setOnGround(false);
@@ -2322,7 +2329,7 @@ public abstract class Player extends LivingEntity { @@ -2362,7 +2369,7 @@ public abstract class Player extends LivingEntity {
public ItemStack eat(Level world, ItemStack stack) { public ItemStack eat(Level world, ItemStack stack) {
this.getFoodData().eat(stack.getItem(), stack); this.getFoodData().eat(stack);
this.awardStat(Stats.ITEM_USED.get(stack.getItem())); this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
- world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); - world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F);
+ // world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); // Purpur - moved to tick() + // world.playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_BURP, SoundSource.PLAYERS, 0.5F, world.random.nextFloat() * 0.1F + 0.9F); // Purpur - moved to tick()
@@ -40,20 +40,19 @@ index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1
CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack); CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack);
} }
diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java
index c3448707fd8a632b457cc97b35d08a9c6933d5ee..2840c0b16d9b8147703f34bac5a8aa21f82e6e44 100644 index b89860d451d92ddda64b7e4144542b7fc5fd86f0..08a6cca64ddd49826a0bbddd7711187c73bb4997 100644
--- a/src/main/java/net/minecraft/world/food/FoodData.java --- a/src/main/java/net/minecraft/world/food/FoodData.java
+++ b/src/main/java/net/minecraft/world/food/FoodData.java +++ b/src/main/java/net/minecraft/world/food/FoodData.java
@@ -33,8 +33,10 @@ public class FoodData { @@ -38,7 +38,9 @@ public class FoodData {
// CraftBukkit end }
public void eat(int food, float saturationModifier) { public void eat(int food, float saturationModifier) {
+ int oldValue = this.foodLevel; // Purpur + int oldValue = this.foodLevel; // Purpur
this.foodLevel = Math.min(food + this.foodLevel, 20); this.add(food, FoodConstants.saturationByModifier(food, saturationModifier));
this.saturationLevel = Math.min(this.saturationLevel + (float) food * saturationModifier * 2.0F, (float) this.foodLevel);
+ if (this.entityhuman.level().purpurConfig.playerBurpWhenFull && this.foodLevel == 20 && oldValue < 20) this.entityhuman.burpDelay = this.entityhuman.level().purpurConfig.playerBurpDelay; // Purpur + if (this.entityhuman.level().purpurConfig.playerBurpWhenFull && this.foodLevel == 20 && oldValue < 20) this.entityhuman.burpDelay = this.entityhuman.level().purpurConfig.playerBurpDelay; // Purpur
} }
public void eat(Item item, ItemStack stack) { public void eat(ItemStack stack) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 991e8491c5bc254eb2ba0cbdcd06cb410d286fbb..ee94f8f165428072ae2f27d2f70a15b6aa3b242a 100644 index 991e8491c5bc254eb2ba0cbdcd06cb410d286fbb..ee94f8f165428072ae2f27d2f70a15b6aa3b242a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 89ba5789c6d6e4fe8360a854f0a6123036a5a792..1b8b0bafce3352bd65d570ac7cb4ea3acdfe991d 100644 index f2a7eba2618ea9c1acaf93c0ef8f6f5f737de6fe..d20a7a79e27db1092ff78910df5d45982971cc3e 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -755,7 +755,7 @@ public abstract class PlayerList { @@ -754,7 +754,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
} else { } else {
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index f8b444583cc48a18a68c860ba933c0c1834578be..992ac6cfba700839259b973fa1eabb5ce6c301af 100644 index b17b76eedf681f06e4db78a7117a6af9e3915c62..df33ad8ef6394042c2b617606c7c792fe3801632 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -185,6 +185,7 @@ public abstract class Player extends LivingEntity { @@ -197,6 +197,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur public int sixRowEnderchestSlotCount = -1; // Purpur
public int burpDelay = 0; // Purpur public int burpDelay = 0; // Purpur
@@ -16,7 +16,7 @@ index f8b444583cc48a18a68c860ba933c0c1834578be..992ac6cfba700839259b973fa1eabb5c
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
@@ -476,7 +477,7 @@ public abstract class Player extends LivingEntity { @@ -488,7 +489,7 @@ public abstract class Player extends LivingEntity {
@Override @Override
public int getPortalWaitTime() { public int getPortalWaitTime() {
@@ -26,10 +26,10 @@ index f8b444583cc48a18a68c860ba933c0c1834578be..992ac6cfba700839259b973fa1eabb5c
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 7984365c8290ac9e526a413b56e1c8c0841e330c..a8b30fa294e088c0b604a5d8ac5667e32ed1b287 100644 index 41f3cdec7deabf34358b8087df77169f85a5b919..90265b6f2acd43713b61e277799dd31311b6b7e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -267,6 +267,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -265,6 +265,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@Override @Override
public void recalculatePermissions() { public void recalculatePermissions() {
this.perm.recalculatePermissions(); this.perm.recalculatePermissions();

View File

@@ -13,10 +13,10 @@ Subject: [PATCH] Shulker spawn from bullet options
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers) (7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 31284660a9718503a1ce474c56d993de3126a1ea..df944e733ca589d407af3709e0ff025f568600b7 100644 index 5b4ad4f64488ca5a21312caa3d13318f429401ea..73063abbd051f1d044a8b2c0530cc8d2a96a6331 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -503,12 +503,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye @@ -504,12 +504,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
Vec3 vec3d = this.position(); Vec3 vec3d = this.position();
AABB axisalignedbb = this.getBoundingBox(); AABB axisalignedbb = this.getBoundingBox();
@@ -43,7 +43,7 @@ index 31284660a9718503a1ce474c56d993de3126a1ea..df944e733ca589d407af3709e0ff025f
if (entityshulker != null) { if (entityshulker != null) {
entityshulker.setVariant(this.getVariant()); entityshulker.setVariant(this.getVariant());
@@ -620,7 +629,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye @@ -621,7 +630,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@Override @Override
public Optional<DyeColor> getVariant() { public Optional<DyeColor> getVariant() {
@@ -53,10 +53,10 @@ index 31284660a9718503a1ce474c56d993de3126a1ea..df944e733ca589d407af3709e0ff025f
@Nullable @Nullable
diff --git a/src/main/java/net/minecraft/world/item/DyeColor.java b/src/main/java/net/minecraft/world/item/DyeColor.java diff --git a/src/main/java/net/minecraft/world/item/DyeColor.java b/src/main/java/net/minecraft/world/item/DyeColor.java
index c7e36bd598090b7d9f818ac1f6b39e13e64e8bf7..e2a960e2dc5414c731feeb5444792d6b26487c9f 100644 index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433cb3ee2cbd 100644
--- a/src/main/java/net/minecraft/world/item/DyeColor.java --- a/src/main/java/net/minecraft/world/item/DyeColor.java
+++ b/src/main/java/net/minecraft/world/item/DyeColor.java +++ b/src/main/java/net/minecraft/world/item/DyeColor.java
@@ -101,4 +101,10 @@ public enum DyeColor implements StringRepresentable { @@ -105,4 +105,10 @@ public enum DyeColor implements StringRepresentable {
public String getSerializedName() { public String getSerializedName() {
return this.name; return this.name;
} }

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Eating glow berries adds glow effect
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
index c157e7f6fa28f713fcfb699daa329abed0b32cd5..bb2103a488964f25335393fa91e8ae5749eca333 100644 index 6467358f5fdf4cd4f7c1e2cc65c834a9da39596a..42b322879629afb2d2fc64a215f010f5d5ce9e02 100644
--- a/src/main/java/net/minecraft/world/item/Items.java --- a/src/main/java/net/minecraft/world/item/Items.java
+++ b/src/main/java/net/minecraft/world/item/Items.java +++ b/src/main/java/net/minecraft/world/item/Items.java
@@ -1535,7 +1535,7 @@ public class Items { @@ -1909,7 +1909,7 @@ public class Items {
"sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, new Item.Properties().food(Foods.SWEET_BERRIES)) "sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, new Item.Properties().food(Foods.SWEET_BERRIES))
); );
public static final Item GLOW_BERRIES = registerItem( public static final Item GLOW_BERRIES = registerItem(
- "glow_berries", new ItemNameBlockItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES)) - "glow_berries", new ItemNameBlockItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES))
+ "glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES)) // Purpur + "glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES)) // Purpur
); );
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE); public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE); public static final Item SOUL_CAMPFIRE = registerBlock(
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc612f8328abfa27d784181c5aebbcd9e0b10c05..b21d288f62f473cd9d1057d3d2a452f16b0291d0 100644 index cc612f8328abfa27d784181c5aebbcd9e0b10c05..b21d288f62f473cd9d1057d3d2a452f16b0291d0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 8850d8fc54d7025d323bc273a87a609baacea174..13427d23f1e614c0d83e9ccd68944ea4e1993c73 100644 index f037d50f26f7532f11a71790448de7a71644b6ca..2547ac49721e2840da2845076d5e62a1465a4ea3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -29,6 +29,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal; @@ -29,6 +29,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
@@ -16,7 +16,7 @@ index 8850d8fc54d7025d323bc273a87a609baacea174..13427d23f1e614c0d83e9ccd68944ea4
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
import net.minecraft.world.entity.ai.navigation.GroundPathNavigation; import net.minecraft.world.entity.ai.navigation.GroundPathNavigation;
@@ -122,6 +123,7 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -125,6 +126,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
this.goalSelector.addGoal(2, new Drowned.DrownedAttackGoal(this, 1.0D, false)); this.goalSelector.addGoal(2, new Drowned.DrownedAttackGoal(this, 1.0D, false));
this.goalSelector.addGoal(5, new Drowned.DrownedGoToBeachGoal(this, 1.0D)); this.goalSelector.addGoal(5, new Drowned.DrownedGoToBeachGoal(this, 1.0D));
this.goalSelector.addGoal(6, new Drowned.DrownedSwimUpGoal(this, 1.0D, this.level().getSeaLevel())); this.goalSelector.addGoal(6, new Drowned.DrownedSwimUpGoal(this, 1.0D, this.level().getSeaLevel()));
@@ -24,7 +24,7 @@ index 8850d8fc54d7025d323bc273a87a609baacea174..13427d23f1e614c0d83e9ccd68944ea4
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class));
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
@@ -171,7 +173,7 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -174,7 +176,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
@Override @Override
public boolean supportsBreakDoorGoal() { public boolean supportsBreakDoorGoal() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable hunger starvation damage
diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java
index 2840c0b16d9b8147703f34bac5a8aa21f82e6e44..e8079d126e6c0cf0b15c01afb6498922ee05964c 100644 index 08a6cca64ddd49826a0bbddd7711187c73bb4997..dd72d6a79139ff33f26a32b71283ce0b8d084ecc 100644
--- a/src/main/java/net/minecraft/world/food/FoodData.java --- a/src/main/java/net/minecraft/world/food/FoodData.java
+++ b/src/main/java/net/minecraft/world/food/FoodData.java +++ b/src/main/java/net/minecraft/world/food/FoodData.java
@@ -102,7 +102,7 @@ public class FoodData { @@ -107,7 +107,7 @@ public class FoodData {
++this.tickTimer; ++this.tickTimer;
if (this.tickTimer >= this.starvationRate) { // CraftBukkit - add regen rate manipulation if (this.tickTimer >= this.starvationRate) { // CraftBukkit - add regen rate manipulation
if (player.getHealth() > 10.0F || enumdifficulty == Difficulty.HARD || player.getHealth() > 1.0F && enumdifficulty == Difficulty.NORMAL) { if (player.getHealth() > 10.0F || enumdifficulty == Difficulty.HARD || player.getHealth() > 1.0F && enumdifficulty == Difficulty.NORMAL) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add uptime command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 9c335df92b0a6c7705c9def89ba5c320d2c8ed03..c2b8a653b01aa3e0856afa3e96555f5e8f0e81bd 100644 index d0a81669ac20dc86e888aa34e246c251b8886ba2..26c9254cef922a78deac3053f93c60037f19d31f 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -253,6 +253,7 @@ public class Commands { @@ -255,6 +255,7 @@ public class Commands {
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
@@ -17,10 +17,10 @@ index 9c335df92b0a6c7705c9def89ba5c320d2c8ed03..c2b8a653b01aa3e0856afa3e96555f5e
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9d6424c79b10e76685de55a9d0d05653ac3e3c5f..0e9cf9f9ad81363cdeacd3da3a776aaad39045f9 100644 index b68db217c8765fa029244bf2701757bd31a5db2b..6d84eb68e3160f772d6832513df2bc4db87b594e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -293,6 +293,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -300,6 +300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public OptionSet options; public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.ConsoleCommandSender console;
public static int currentTick; // Paper - improve tick loop public static int currentTick; // Paper - improve tick loop
@@ -29,7 +29,7 @@ index 9d6424c79b10e76685de55a9d0d05653ac3e3c5f..0e9cf9f9ad81363cdeacd3da3a776aaa
public int autosavePeriod; public int autosavePeriod;
public Commands vanillaCommandDispatcher; public Commands vanillaCommandDispatcher;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a268dcb3a0465425bb3c59edfc0f7897ea6626c1..e63f576ccd93358395a2d1dc84ed4734611f9474 100644 index 8b7d38e85f9b094dc6c421464b9385fbc8570d2c..1419b0a639590bb8d34fb12410f5284548723e0c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -184,6 +184,7 @@ public class PurpurConfig { @@ -184,6 +184,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Tool actionable options
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
index 4f8689e8cbc8b6b9f44168126b95cc864a383c9e..b05bb4caf57965b82d841f52d6ea27985a5efc84 100644 index 9fd2d97ff0e05578a3e6a0b86dc1974691845c5d..58343722399404530d497648155dbc254d6a865a 100644
--- a/src/main/java/net/minecraft/world/item/AxeItem.java --- a/src/main/java/net/minecraft/world/item/AxeItem.java
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java +++ b/src/main/java/net/minecraft/world/item/AxeItem.java
@@ -55,13 +55,15 @@ public class AxeItem extends DiggerItem { @@ -56,13 +56,15 @@ public class AxeItem extends DiggerItem {
Level level = context.getLevel(); Level level = context.getLevel();
BlockPos blockPos = context.getClickedPos(); BlockPos blockPos = context.getClickedPos();
Player player = context.getPlayer(); Player player = context.getPlayer();
@@ -26,7 +26,7 @@ index 4f8689e8cbc8b6b9f44168126b95cc864a383c9e..b05bb4caf57965b82d841f52d6ea2798
return InteractionResult.PASS; return InteractionResult.PASS;
} }
// Paper end // Paper end
@@ -69,32 +71,41 @@ public class AxeItem extends DiggerItem { @@ -70,32 +72,41 @@ public class AxeItem extends DiggerItem {
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack); CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
} }
@@ -42,7 +42,7 @@ index 4f8689e8cbc8b6b9f44168126b95cc864a383c9e..b05bb4caf57965b82d841f52d6ea2798
+ level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state)); + level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state));
+ // Purpur end + // Purpur end
if (player != null) { if (player != null) {
itemStack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(context.getHand())); itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(context.getHand()));
} }
- return InteractionResult.sidedSuccess(level.isClientSide); - return InteractionResult.sidedSuccess(level.isClientSide);
@@ -80,10 +80,10 @@ index 4f8689e8cbc8b6b9f44168126b95cc864a383c9e..b05bb4caf57965b82d841f52d6ea2798
return optional3; return optional3;
} else { } else {
diff --git a/src/main/java/net/minecraft/world/item/HoeItem.java b/src/main/java/net/minecraft/world/item/HoeItem.java diff --git a/src/main/java/net/minecraft/world/item/HoeItem.java b/src/main/java/net/minecraft/world/item/HoeItem.java
index 704cbc775c9f7663c57c431e8a7651d7684ccc34..26a73f3982db764c4793326b41a541dffc416559 100644 index 06497b5141e611cc7a1b6030a7b9c54b5c4eda06..28df1b3230762e52b5458ac93a85c9a5d41eb6a6 100644
--- a/src/main/java/net/minecraft/world/item/HoeItem.java --- a/src/main/java/net/minecraft/world/item/HoeItem.java
+++ b/src/main/java/net/minecraft/world/item/HoeItem.java +++ b/src/main/java/net/minecraft/world/item/HoeItem.java
@@ -45,15 +45,23 @@ public class HoeItem extends DiggerItem { @@ -46,15 +46,23 @@ public class HoeItem extends DiggerItem {
public InteractionResult useOn(UseOnContext context) { public InteractionResult useOn(UseOnContext context) {
Level level = context.getLevel(); Level level = context.getLevel();
BlockPos blockPos = context.getClickedPos(); BlockPos blockPos = context.getClickedPos();
@@ -114,7 +114,7 @@ index 704cbc775c9f7663c57c431e8a7651d7684ccc34..26a73f3982db764c4793326b41a541df
if (!level.isClientSide) { if (!level.isClientSide) {
consumer.accept(context); consumer.accept(context);
if (player != null) { if (player != null) {
@@ -61,7 +69,7 @@ public class HoeItem extends DiggerItem { @@ -62,7 +70,7 @@ public class HoeItem extends DiggerItem {
} }
} }
@@ -124,10 +124,10 @@ index 704cbc775c9f7663c57c431e8a7651d7684ccc34..26a73f3982db764c4793326b41a541df
return InteractionResult.PASS; return InteractionResult.PASS;
} }
diff --git a/src/main/java/net/minecraft/world/item/ShovelItem.java b/src/main/java/net/minecraft/world/item/ShovelItem.java diff --git a/src/main/java/net/minecraft/world/item/ShovelItem.java b/src/main/java/net/minecraft/world/item/ShovelItem.java
index 9aba0211f37501bbd19b583d22fa83eae32390d9..f44e28bf44b9d39267d21eaf6a025b5f28f3cd72 100644 index 24f6a158e4759aac3be8da4cf5e0d40bd295355b..6b7dbb570f8a698c87c6bce992d84d87b55176e6 100644
--- a/src/main/java/net/minecraft/world/item/ShovelItem.java --- a/src/main/java/net/minecraft/world/item/ShovelItem.java
+++ b/src/main/java/net/minecraft/world/item/ShovelItem.java +++ b/src/main/java/net/minecraft/world/item/ShovelItem.java
@@ -46,9 +46,12 @@ public class ShovelItem extends DiggerItem { @@ -47,9 +47,12 @@ public class ShovelItem extends DiggerItem {
BlockState blockState2 = FLATTENABLES.get(blockState.getBlock()); BlockState blockState2 = FLATTENABLES.get(blockState.getBlock());
BlockState blockState3 = null; BlockState blockState3 = null;
Runnable afterAction = null; // Paper Runnable afterAction = null; // Paper
@@ -143,7 +143,7 @@ index 9aba0211f37501bbd19b583d22fa83eae32390d9..f44e28bf44b9d39267d21eaf6a025b5f
} else if (blockState.getBlock() instanceof CampfireBlock && blockState.getValue(CampfireBlock.LIT)) { } else if (blockState.getBlock() instanceof CampfireBlock && blockState.getValue(CampfireBlock.LIT)) {
afterAction = () -> { // Paper afterAction = () -> { // Paper
if (!level.isClientSide()) { if (!level.isClientSide()) {
@@ -75,7 +78,7 @@ public class ShovelItem extends DiggerItem { @@ -76,7 +79,7 @@ public class ShovelItem extends DiggerItem {
} }
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index b4b1ffe875a18bcb72b7f1d87f6ddbea436bbb66..829d84f48c7149ec1ba0b71b0f43ef19fed99380 100644 index 7e6c231a50c7fd2297e1ab404a743e1aece9913b..0bc6edf82d77ae88d64bd6ca0a5294c2143f2f5c 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -454,6 +454,7 @@ public final class ItemStack { @@ -475,6 +475,7 @@ public final class ItemStack implements DataComponentHolder {
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
for (BlockState blockstate : blocks) { for (BlockState blockstate : blocks) {
blockstate.update(true, false); blockstate.update(true, false);
@@ -16,19 +16,19 @@ index b4b1ffe875a18bcb72b7f1d87f6ddbea436bbb66..829d84f48c7149ec1ba0b71b0f43ef19
} }
world.preventPoiUpdated = false; world.preventPoiUpdated = false;
@@ -485,6 +486,7 @@ public final class ItemStack { @@ -506,6 +507,7 @@ public final class ItemStack implements DataComponentHolder {
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, context); // Paper - pass context block.onPlace(world, newblockposition, oldBlock, true, context); // Paper - pass context
} }
+ block.getBlock().forgetPlacer(); // Purpur + block.getBlock().forgetPlacer(); // Purpur
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
} }
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 22036ed3ea0629bc12981a8d91a03e55cc2117d6..3dc71c4ee8fc9846e49e659c6b5e7b55ea084f14 100644 index cf8b8c8efd1c9c81eb5f02d75bd75875eb66771f..6f7e90d406b088fee0eb254f8042bd404d8f36fa 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java --- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -446,7 +446,17 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -438,7 +438,17 @@ public class Block extends BlockBehaviour implements ItemLike {
} // Paper - fix drops not preventing stats/food exhaustion } // Paper - fix drops not preventing stats/food exhaustion
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Summoner API
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb8766e33960f 100644 index fa81b12fc38a20b8ec39155259fb75c18ff9f0ae..8b08476457a6ead1a3c3e2ab35d08a8e0625c43e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -60,6 +60,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -56,6 +56,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
private int remainingPersistentAngerTime; private int remainingPersistentAngerTime;
@Nullable @Nullable
private UUID persistentAngerTarget; private UUID persistentAngerTarget;
@@ -16,7 +16,7 @@ index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb876
public IronGolem(EntityType<? extends IronGolem> type, Level world) { public IronGolem(EntityType<? extends IronGolem> type, Level world) {
super(type, world); super(type, world);
@@ -93,6 +94,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -88,6 +89,15 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
return this.level().purpurConfig.ironGolemTakeDamageFromWater; return this.level().purpurConfig.ironGolemTakeDamageFromWater;
} }
@@ -32,7 +32,7 @@ index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb876
@Override @Override
protected void registerGoals() { protected void registerGoals() {
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
@@ -170,6 +180,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -165,6 +175,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putBoolean("PlayerCreated", this.isPlayerCreated()); nbt.putBoolean("PlayerCreated", this.isPlayerCreated());
@@ -40,7 +40,7 @@ index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb876
this.addPersistentAngerSaveData(nbt); this.addPersistentAngerSaveData(nbt);
} }
@@ -177,6 +188,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -172,6 +183,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
public void readAdditionalSaveData(CompoundTag nbt) { public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt); super.readAdditionalSaveData(nbt);
this.setPlayerCreated(nbt.getBoolean("PlayerCreated")); this.setPlayerCreated(nbt.getBoolean("PlayerCreated"));
@@ -49,18 +49,18 @@ index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb876
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3bdaf6b0d 100644 index 9f20eae7449c670b913cc3bbe1a89254a1d8cde2..8f2348a7fe830a85985ce2b19cb2a9159bca711f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -47,6 +47,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
private static final EntityDataAccessor<Byte> DATA_PUMPKIN_ID = SynchedEntityData.defineId(SnowGolem.class, EntityDataSerializers.BYTE); private static final EntityDataAccessor<Byte> DATA_PUMPKIN_ID = SynchedEntityData.defineId(SnowGolem.class, EntityDataSerializers.BYTE);
private static final byte PUMPKIN_FLAG = 16; private static final byte PUMPKIN_FLAG = 16;
private static final float EYE_HEIGHT = 1.7F;
+ @Nullable private java.util.UUID summoner; // Purpur + @Nullable private java.util.UUID summoner; // Purpur
public SnowGolem(EntityType<? extends SnowGolem> type, Level world) { public SnowGolem(EntityType<? extends SnowGolem> type, Level world) {
super(type, world); super(type, world);
@@ -76,6 +77,15 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -74,6 +75,15 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snowGolemMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snowGolemMaxHealth);
} }
@@ -76,7 +76,7 @@ index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -103,6 +113,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -101,6 +111,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putBoolean("Pumpkin", this.hasPumpkin()); nbt.putBoolean("Pumpkin", this.hasPumpkin());
@@ -84,7 +84,7 @@ index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3
} }
@Override @Override
@@ -111,6 +122,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -109,6 +120,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
if (nbt.contains("Pumpkin")) { if (nbt.contains("Pumpkin")) {
this.setPumpkin(nbt.getBoolean("Pumpkin")); this.setPumpkin(nbt.getBoolean("Pumpkin"));
} }
@@ -93,18 +93,18 @@ index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4cd0f267f 100644 index 6752a0039fac041e9bdd25327cdf20d3f1922bd6..01d193d2584b62897687bd088fb590de8a4ab279 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -88,6 +88,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable(); return !entityliving.getType().is(EntityTypeTags.WITHER_FRIENDS) && entityliving.attackable();
}; };
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR); private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
+ @Nullable private java.util.UUID summoner; // Purpur + @Nullable private java.util.UUID summoner; // Purpur
private int shootCooldown = 0; // Purpur private int shootCooldown = 0; // Purpur
// Paper start // Paper start
private boolean canPortal = false; private boolean canPortal = false;
@@ -123,6 +124,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -126,6 +127,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return this.level().purpurConfig.witherTakeDamageFromWater; return this.level().purpurConfig.witherTakeDamageFromWater;
} }
@@ -120,7 +120,7 @@ index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world); FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
@@ -257,6 +267,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -260,6 +270,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putInt("Invul", this.getInvulnerableTicks()); nbt.putInt("Invul", this.getInvulnerableTicks());
@@ -128,7 +128,7 @@ index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4
} }
@Override @Override
@@ -266,6 +277,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -269,6 +280,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.hasCustomName()) { if (this.hasCustomName()) {
this.bossEvent.setName(this.getDisplayName()); this.bossEvent.setName(this.getDisplayName());
} }
@@ -137,7 +137,7 @@ index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4
} }
diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
index cdd7ab3fe589d089c0c03508721f46f6c136fc8a..6f148028c0fe503e9f6b327596d0954ce9e53269 100644 index 655f51902e5d24643d41c4ec981743543c0890a5..e6a299eeda5d18274fa3b1fb542b217a074c1d83 100644
--- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java --- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
@@ -71,7 +71,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock { @@ -71,7 +71,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock {
@@ -176,10 +176,10 @@ index cdd7ab3fe589d089c0c03508721f46f6c136fc8a..6f148028c0fe503e9f6b327596d0954c
entity.moveTo((double) pos.getX() + 0.5D, (double) pos.getY() + 0.05D, (double) pos.getZ() + 0.5D, 0.0F, 0.0F); entity.moveTo((double) pos.getX() + 0.5D, (double) pos.getY() + 0.05D, (double) pos.getZ() + 0.5D, 0.0F, 0.0F);
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java
index fb180f0bcd20e51d41cfc924029c0b23d3d26258..688d161cd6725f494366c23668ebd6ff709b1587 100644 index bbf59b2577812e74ffd45f694b83a42e043273c0..5cb06959aeaceeb98cfee34b1df804e6642f305f 100644
--- a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java --- a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java
@@ -76,6 +76,7 @@ public class WitherSkullBlock extends SkullBlock { @@ -79,6 +79,7 @@ public class WitherSkullBlock extends SkullBlock {
entitywither.moveTo((double) blockposition1.getX() + 0.5D, (double) blockposition1.getY() + 0.55D, (double) blockposition1.getZ() + 0.5D, shapedetector_shapedetectorcollection.getForwards().getAxis() == Direction.Axis.X ? 0.0F : 90.0F, 0.0F); entitywither.moveTo((double) blockposition1.getX() + 0.5D, (double) blockposition1.getY() + 0.55D, (double) blockposition1.getZ() + 0.5D, shapedetector_shapedetectorcollection.getForwards().getAxis() == Direction.Axis.X ? 0.0F : 90.0F, 0.0F);
entitywither.yBodyRot = shapedetector_shapedetectorcollection.getForwards().getAxis() == Direction.Axis.X ? 0.0F : 90.0F; entitywither.yBodyRot = shapedetector_shapedetectorcollection.getForwards().getAxis() == Direction.Axis.X ? 0.0F : 90.0F;
entitywither.makeInvulnerable(); entitywither.makeInvulnerable();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index d3340055cf5c79b1f7430dc64516118bbb707086..4a08c804c3e31a80ee9b663a44fd60142709c9c6 100644 index 1dc58b41d3963c2adc58e79cd6db7e146ac049ad..83ec2e31d81d6209953252a3780552c3cf110c68 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1241,11 +1241,27 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1231,11 +1231,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (this.canSleepThroughNights()) { if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -38,10 +38,10 @@ index d3340055cf5c79b1f7430dc64516118bbb707086..4a08c804c3e31a80ee9b663a44fd6014
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 13f39b219615b8091284f4ac56d76a505956a556..65e549ebad6f89640000f27356f1de434c5925c8 100644 index 397448063fb770f736f9c8bb7061852d3212484d..15dc4691ce604fd7f32b635590b32f4afec8bf2a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1469,7 +1469,19 @@ public class ServerPlayer extends Player { @@ -1546,7 +1546,19 @@ public class ServerPlayer extends Player {
}); });
if (!this.serverLevel().canSleepThroughNights()) { if (!this.serverLevel().canSleepThroughNights()) {
@@ -63,7 +63,7 @@ index 13f39b219615b8091284f4ac56d76a505956a556..65e549ebad6f89640000f27356f1de43
((ServerLevel) this.level()).updateSleepingPlayerList(); ((ServerLevel) this.level()).updateSleepingPlayerList();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index e63f576ccd93358395a2d1dc84ed4734611f9474..6aa225252d1026979fe88c273652e3d9ebdeb5f3 100644 index 1419b0a639590bb8d34fb12410f5284548723e0c..45ce203e295d10d522851caefd049995d2d552a2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -186,6 +186,9 @@ public class PurpurConfig { @@ -186,6 +186,9 @@ public class PurpurConfig {

View File

@@ -6,18 +6,25 @@ Subject: [PATCH] option to disable shulker box items from dropping contents
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index 8d2c0accadaf0c5d28e7db6e62a05f6c619cf02f..b1779e3cf4b01afc15aa367cfadb999366e46d19 100644 index 96fb69ec6db2e7c8c728435f0c537b076259b2fb..f713734efaad4312be270d808e79f0e562c84466 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java --- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -287,7 +287,7 @@ public class BlockItem extends Item { @@ -28,6 +28,7 @@ import net.minecraft.world.level.block.ShulkerBoxBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
+import net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.phys.shapes.CollisionContext;
@@ -256,6 +257,7 @@ public class BlockItem extends Item {
@Override @Override
public void onDestroyed(ItemEntity entity) { public void onDestroyed(ItemEntity entity) {
- if (this.block instanceof ShulkerBoxBlock) { + //entity.level().purpurConfig.shulkerBoxItemDropContentsWhenDestroyed // Purpur - TODO: shulkerBoxItemDropContentsWhenDestroyed
+ if (this.block instanceof ShulkerBoxBlock && entity.level().purpurConfig.shulkerBoxItemDropContentsWhenDestroyed) { ItemContainerContents itemcontainercontents = (ItemContainerContents) entity.getItem().set(DataComponents.CONTAINER, ItemContainerContents.EMPTY);
ItemStack itemstack = entity.getItem();
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
if (itemcontainercontents != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2335a56bb46fd9ece82547544e8cac883562eba2..6be3b83976cfd92f984f2ce9479d6f0f5d883e17 100644 index 2335a56bb46fd9ece82547544e8cac883562eba2..6be3b83976cfd92f984f2ce9479d6f0f5d883e17 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -11,10 +11,10 @@ PARTIAL: big_dripleaf with PARTIAL tilt will change to FULL tilt after 10 ticks
UNSTABLE: big_dripleaf with FULL tilt will change back to no tilt after 100 ticks UNSTABLE: big_dripleaf with FULL tilt will change back to no tilt after 100 ticks
diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
index 0d92bd6f1e4f3470a62f573add3490220e60ef7a..2e89b22de852f43f2694be52043799f07f14800b 100644 index 8240c32d676a88aa23dcd052ee0136767e54fb0d..372c4ab9d390d5afd98947f21c79aae06b15064d 100644
--- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java --- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
@@ -243,7 +243,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone @@ -244,7 +244,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone
BigDripleafBlock.playTiltSound(world, blockposition, soundeffect); BigDripleafBlock.playTiltSound(world, blockposition, soundeffect);
} }

View File

@@ -5,17 +5,19 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 992ac6cfba700839259b973fa1eabb5ce6c301af..e8000f236d3ec0476ec782f08e159eea6c99476a 100644 index df33ad8ef6394042c2b617606c7c792fe3801632..44ef706008a1477d2073c29f2c9d016bf91e15a6 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2050,6 +2050,11 @@ public abstract class Player extends LivingEntity { @@ -2073,6 +2073,13 @@ public abstract class Player extends LivingEntity {
return this.inventory.armor; return slot != EquipmentSlot.BODY;
} }
+ // Purpur start
+ @Override + @Override
+ public boolean dismountsUnderwater() { + public boolean dismountsUnderwater() {
+ return !level().purpurConfig.playerRidableInWater; + return !level().purpurConfig.playerRidableInWater;
+ } + }
+ // Purpur end
+ +
public boolean setEntityOnShoulder(CompoundTag entityNbt) { public boolean setEntityOnShoulder(CompoundTag entityNbt) {
if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) { if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 7621237df388ee10ef962b0c4e795c9de88762d0..19d7142d62339d01ce2d3936a95c829666cd4e27 100644 index b361c6b4ca17b9d466555037235a5660caa5c9bd..21a570d09ad3e19e6c709ff1152db7d204648122 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -455,6 +455,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -434,6 +434,7 @@ public class EnderMan extends Monster implements NeutralMob {
} else { } else {
flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount); flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add compass command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index c2b8a653b01aa3e0856afa3e96555f5e8f0e81bd..0026235782aeb5e663faa3aaf11040635cd12204 100644 index 26c9254cef922a78deac3053f93c60037f19d31f..67ec90a2a05269a5912b3c8e64d6d4162a8c6ca2 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -255,6 +255,7 @@ public class Commands { @@ -257,6 +257,7 @@ public class Commands {
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
@@ -17,10 +17,10 @@ index c2b8a653b01aa3e0856afa3e96555f5e8f0e81bd..0026235782aeb5e663faa3aaf1104063
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 65e549ebad6f89640000f27356f1de434c5925c8..0ba6ecf578e731a9705a384944aed482f829b58d 100644 index 15dc4691ce604fd7f32b635590b32f4afec8bf2a..670aa56c1b7c9e5fabda45b6a048a6cf6084a7d0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -283,6 +283,7 @@ public class ServerPlayer extends Player { @@ -300,6 +300,7 @@ public class ServerPlayer extends Player {
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur private boolean tpsBar = false; // Purpur
@@ -28,23 +28,24 @@ index 65e549ebad6f89640000f27356f1de434c5925c8..0ba6ecf578e731a9705a384944aed482
// Paper start - replace player chunk loader // Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
@@ -571,6 +572,7 @@ public class ServerPlayer extends Player { @@ -610,6 +611,8 @@ public class ServerPlayer extends Player {
});
} }
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur + if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur - TODO: move back up
+ if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur + if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
} }
@Override @Override
@@ -638,6 +640,7 @@ public class ServerPlayer extends Player { @@ -687,6 +690,7 @@ public class ServerPlayer extends Player {
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit }
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
+ nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur + nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
} }
// CraftBukkit start - World fallback code, either respawn location or global spawn // CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2903,5 +2906,13 @@ public class ServerPlayer extends Player { @@ -3011,5 +3015,13 @@ public class ServerPlayer extends Player {
public void tpsBar(boolean tpsBar) { public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar; this.tpsBar = tpsBar;
} }
@@ -59,7 +60,7 @@ index 65e549ebad6f89640000f27356f1de434c5925c8..0ba6ecf578e731a9705a384944aed482
// Purpur end // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 6aa225252d1026979fe88c273652e3d9ebdeb5f3..477639dddb7c5ae0c9cc45a6eca73d82e486409b 100644 index 45ce203e295d10d522851caefd049995d2d552a2..042fd443c98258240042d3ce1650f36e601d72e3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -255,6 +255,11 @@ public class PurpurConfig { @@ -255,6 +255,11 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cd87e7c52b75c6ba40343557ba12c7891da88e07..3a1b8a94642339a96d8f7391714fae1648dc5149 100644 index 20433981a866b46a2ccedec70d5ee01079c2797c..d85407573c47df162cedb8667c2fbc327e75588b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2954,6 +2954,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2992,6 +2992,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f3 > 0.0F) { if (f3 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);

View File

@@ -6,12 +6,12 @@ Subject: [PATCH] Add Option for disable observer clocks
Allow to disable observer clocks: https://www.spigotmc.org/attachments/observerclock-gif.365936/ Allow to disable observer clocks: https://www.spigotmc.org/attachments/observerclock-gif.365936/
diff --git a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
index 713352b68f82d4c4a19a712d5207de0f99456713..d056e80c98973e9ba64adc5a8554acc8a5f3eac9 100644 index b38fbe5121f293f425d7673a6ce49b11d0ced0d9..2a74f42672b92393b52a61c27c5b8af77c8c6070 100644
--- a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java --- a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java
@@ -71,6 +71,7 @@ public class ObserverBlock extends DirectionalBlock { @@ -71,6 +71,7 @@ public class ObserverBlock extends DirectionalBlock {
@Override @Override
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) { protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
if (state.getValue(ObserverBlock.FACING) == direction && !(Boolean) state.getValue(ObserverBlock.POWERED)) { if (state.getValue(ObserverBlock.FACING) == direction && !(Boolean) state.getValue(ObserverBlock.POWERED)) {
+ if (!world.getMinecraftWorld().purpurConfig.disableObserverClocks || !(neighborState.getBlock() instanceof ObserverBlock) || neighborState.getValue(ObserverBlock.FACING).getOpposite() != direction) // Purpur + if (!world.getMinecraftWorld().purpurConfig.disableObserverClocks || !(neighborState.getBlock() instanceof ObserverBlock) || neighborState.getValue(ObserverBlock.FACING).getOpposite() != direction) // Purpur
this.startSignal(world, pos); this.startSignal(world, pos);

View File

@@ -5,12 +5,12 @@ Subject: [PATCH] Customizeable Zombie Villager curing times
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 438302f6705bcf3d60f27dde279de010bd95aad4..40465fbe6f78da6176d5fad8a3687cefd93dcf43 100644 index 2ec3a09135f85a5de68e77511f3f213adf08712c..d909138942212ee090ff513b1817414c93457425 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -221,7 +221,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -222,7 +222,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
} if (this.hasEffect(MobEffects.WEAKNESS)) {
itemstack.consume(1, player);
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
- this.startConverting(player.getUUID(), this.random.nextInt(2401) + 3600); - this.startConverting(player.getUUID(), this.random.nextInt(2401) + 3600);
+ this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur + this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Option for sponges to work on lava and mud
Co-authored by: granny <granny@purpurmc.org> Co-authored by: granny <granny@purpurmc.org>
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
index 1737a670aa81c17233f8e9a8632f0e0876be367c..7e87b4299979c9e46abb582da7a8e54a36e8dfc5 100644 index a676ccfa6b02e8986df6f6a2e04cbb06b3edd0ff..6fe44572e34ad3e3a1851e73138bd8b778eb7849 100644
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
@@ -77,7 +77,7 @@ public class SpongeBlock extends Block { @@ -77,7 +77,7 @@ public class SpongeBlock extends Block {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for Wither's spawn sound
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index b5ce9576ce7e91204f981c86fe70abb4cd0f267f..461247f3424b854032ccd45855c877aa85dd2e88 100644 index 01d193d2584b62897687bd088fb590de8a4ab279..a030fe21a88a9486cc8367710a96af67c761635c 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -426,7 +426,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -425,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
// CraftBukkit end // CraftBukkit end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cactus breaks from solid neighbors config
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index ba4aaf850af36a84517c70581e141157c4f15b99..84b04419d2cb536ac42ec5373cc74cc29418755c 100644 index ff4dda48116a2969704b355ff96407ba869b466e..9200d75b05ce535f7b7f5c1572cd8f6261c6955b 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -114,7 +114,7 @@ public class CactusBlock extends Block { @@ -114,7 +114,7 @@ public class CactusBlock extends Block {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to remove curse of binding with weakness
diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
index 9af1da3858d6cf79b8bfaf99dde1370ccc50d023..1acb41fab25bdbc4109913b111dbe3b0e106af3f 100644 index 9992599dbe4f4a430e822a44b03c00505abfbfaf..3fea9339420aa38b303ccf6c154aec246e617b5b 100644
--- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java --- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java +++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java
@@ -95,7 +95,7 @@ public class InventoryMenu extends RecipeBookMenu<CraftingContainer> { @@ -97,7 +97,7 @@ public class InventoryMenu extends RecipeBookMenu<CraftingContainer> {
public boolean mayPickup(Player playerEntity) { public boolean mayPickup(Player playerEntity) {
ItemStack itemstack = this.getItem(); ItemStack itemstack = this.getItem();