Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@5436d44 Deprecate several Keyed#getKey methods (#10357)
PaperMC/Paper@a7f1dc6 Change online mode default for Velocity configuration (#10413)
PaperMC/Paper@37db2d7 [ci skip] Update book page/char limit for book meta doc (#10415)
PaperMC/Paper@526795b Update patches to handle vineflower decompiler (#10406)
PaperMC/Paper@8fe90de [ci skip] Referenced InventoryDragEvent in documentation of InventoryClickEvent (#10395)
PaperMC/Paper@46d462b Fix StackOverflowException thrown on shutdown (Fixes #10404) (#10408)
PaperMC/Paper@f061e76 Fix hit criteria advancement triggered before changing state (#10409)
PaperMC/Paper@3263470 Add color transition and clone functions to ParticleBuilder (#10342)
PaperMC/Paper@4445d23 Deprecate ItemStack#setType & add ItemStack#withType (#10290)
This commit is contained in:
granny
2024-04-12 17:45:35 -07:00
parent 9069ede4b1
commit 0b95a8072a
210 changed files with 751 additions and 918 deletions

View File

@@ -5,7 +5,7 @@ plugins {
java
`maven-publish`
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
id("io.papermc.paperweight.patcher") version "1.5.13"
id("io.papermc.paperweight.patcher") version "1.5.15"
}
allprojects {
@@ -58,7 +58,7 @@ repositories {
dependencies {
remapper("net.fabricmc:tiny-remapper:0.10.1:fat")
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
decompiler("org.vineflower:vineflower:1.11.0-20240412.144930-14")
paperclip("io.papermc:paperclip:3.0.3")
}
@@ -66,9 +66,10 @@ paperweight {
serverProject = project(":purpur-server")
remapRepo = paperMavenPublicUrl
decompileRepo = paperMavenPublicUrl
decompileRepo = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
usePaperUpstream(providers.gradleProperty("paperCommit")) {
withPaperPatcher {
apiPatchDir = layout.projectDirectory.dir("patches/api")
apiOutputDir = layout.projectDirectory.dir("Purpur-API")

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.4-R0.1-SNAPSHOT
mcVersion = 1.20.4
paperCommit = 12071620558a64575ac641d9b93c120a66e5e3a7
paperCommit = 4445d23544e0801fb6f658de98815ce0d8c04f58
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -50,7 +50,7 @@ index ec117c47401ea1a04beb0e5ee9d4d394db7c5c4e..5b058d709751a5b720e209931774e09f
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 245a730a54c4b241a9a67eccceefafd2763bd238..414e350e486a23260675778800576738fc843ed8 100644
index 7414b4fa690d393a8e9557cc1fd1ce12fa426940..9e3531e1bd9a67b602a09aca8af1191d10bc9e16 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta;
@@ -72,7 +72,7 @@ index 245a730a54c4b241a9a67eccceefafd2763bd238..414e350e486a23260675778800576738
/**
* Represents a stack of items.
@@ -1033,4 +1045,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1061,4 +1073,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player);
}
// Paper end - expose itemstack tooltip lines

View File

@@ -24,10 +24,10 @@ index f680545b6b59bf8d2ad154b0472dda4cba42a162..58a62ba0635f9158bf18043da89aba75
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 414e350e486a23260675778800576738fc843ed8..54dd0bd043a37f6519fc8a318856a4825d389669 100644
index 9e3531e1bd9a67b602a09aca8af1191d10bc9e16..591759aef6c7c3333cbdab596c6619af9185c3c2 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -1666,5 +1666,14 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1694,5 +1694,14 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
return random.nextInt(unbreaking + 1) > 0;
}

View File

@@ -1475,10 +1475,10 @@ index e028353e0261310afc42ca0454b723d9f1ffc131..2222625a515d9ae6c3e9c92fc4d4a5bf
public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
index ba12919c3f9aec34a9e64993b143ae92be5eb172..9efeab9078e2d08903e482718b840797e22ab1c2 100644
index 0af9ed92824ccf30814eceb6a2c2e5c12661c991..67eeb39aede6908d2756e49821ca350ebe916902 100644
--- a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
+++ b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
@@ -38,7 +38,7 @@ public class SignedMessageChain {
@@ -37,7 +37,7 @@ public class SignedMessageChain {
throw new SignedMessageChain.DecodeException(Component.translatable("chat.disabled.chain_broken"), false); // Paper - diff on change (if disconnects, need a new kick event cause)
} else if (playerPublicKey.data().hasExpired()) {
throw new SignedMessageChain.DecodeException(Component.translatable("chat.disabled.expiredProfileKey"), false, org.bukkit.event.player.PlayerKickEvent.Cause.EXPIRED_PROFILE_PUBLIC_KEY); // Paper - kick event causes
@@ -1488,7 +1488,7 @@ index ba12919c3f9aec34a9e64993b143ae92be5eb172..9efeab9078e2d08903e482718b840797
} else {
this.lastTimeStamp = body.timeStamp();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c8772c773f9933ed1d1debfe707af4373c458152..07319732c76473589774c90edf8a1f1ba4b26d04 100644
index 27db614d46dffc2d10f18d79cc5a084f3421d86b..c1c97130adf4b7bcb5b2470fc12b79da1d837686 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1909,7 +1909,7 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
int LARGE_MAX_STACK_SIZE = 64;
int DEFAULT_DISTANCE_LIMIT = 8;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0b4ed99658b083a83a90db1b32edb358da9e9514..5298be16774b23b71d2de3b8697a758c73255912 100644
index 637478fd8a284e6833cf8f5fa17ccf9d73d1dd3f..1aa45e64e49ea011c2ba5e943b4e72c4f3a47176 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2171,7 +2171,7 @@ index 2439f8d48daca7329049436414f06a36b4b79029..4cf2963fdbe9003fd18ac8c2035ccded
this.level().getProfiler().pop();
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
index 897d7632ecfea40890433474870dd7a5e534d8ab..683c9693754d1a87b7e8fccc757a0d0963351f60 100644
index b99a080ab27e24d8131fda931ca70d6d271bb01c..fe95cc1d931a5dfed45773b63c565e6036541a90 100644
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
@@ -23,9 +23,11 @@ public class AttributeMap {
@@ -2186,25 +2186,23 @@ index 897d7632ecfea40890433474870dd7a5e534d8ab..683c9693754d1a87b7e8fccc757a0d09
}
private void onAttributeModified(AttributeInstance instance) {
@@ -45,11 +47,10 @@ public class AttributeMap {
}).collect(Collectors.toList());
@@ -42,9 +44,10 @@ public class AttributeMap {
return this.attributes.values().stream().filter(attribute -> attribute.getAttribute().isClientSyncable()).collect(Collectors.toList());
}
+
@Nullable
public AttributeInstance getInstance(Attribute attribute) {
- return this.attributes.computeIfAbsent(attribute, (attributex) -> {
- return this.supplier.createInstance(this::onAttributeModified, attributex);
- });
- return this.attributes.computeIfAbsent(attribute, attributex -> this.supplier.createInstance(this::onAttributeModified, attributex));
+ return this.attributes.computeIfAbsent(attribute, this.createInstance); // Pufferfish - cache lambda, as for some reason java allocates it anyways
}
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerPanicTrigger.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerPanicTrigger.java
index 646d9a121d908a2fc3e4e302484dd5cd1bfc6804..e546ecdccde352502e26a8668eaaafe048d6e282 100644
index 758f62416ca9c02351348ac0d41deeb4624abc0e..69130969c9a434ec2361e573c9a1ec9f462dfda2 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerPanicTrigger.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerPanicTrigger.java
@@ -37,7 +37,11 @@ public class VillagerPanicTrigger extends Behavior<Villager> {
@@ -36,7 +36,11 @@ public class VillagerPanicTrigger extends Behavior<Villager> {
@Override
protected void tick(ServerLevel world, Villager entity, long time) {
@@ -2216,12 +2214,12 @@ index 646d9a121d908a2fc3e4e302484dd5cd1bfc6804..e546ecdccde352502e26a8668eaaafe0
+ // Pufferfish end
entity.spawnGolemIfNeeded(world, time, 3);
}
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
index 676f5485a4ca9252e911213dcda8d51776b637b6..2d63ee8fef87264d4b61290effa6ba86a787aa61 100644
index 38af5c7280366fd6ec077f3d914ea5f3ee77451a..d78e1f6191738d426968efc24e734f04b0fc7edb 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
@@ -53,9 +53,12 @@ public class GoalSelector {
@@ -52,9 +52,12 @@ public class GoalSelector {
}
// Paper start
@@ -2237,27 +2235,27 @@ index 676f5485a4ca9252e911213dcda8d51776b637b6..2d63ee8fef87264d4b61290effa6ba86
public boolean hasTasks() {
for (WrappedGoal task : this.availableGoals) {
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/MoveToBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/MoveToBlockGoal.java
index 07519c817cc6de04a98198c43a0c2b02ba3141eb..ee66be6e5aa45ec8448b6d30785a6e71200b09e3 100644
index de7c3654b5d134e380c0d7e8800beb6c10d8a22a..3e544a1b957e7a9bc2c5548baf7f6499a34151eb 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/MoveToBlockGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/MoveToBlockGoal.java
@@ -120,6 +120,7 @@ public abstract class MoveToBlockGoal extends Goal {
for(int m = 0; m <= l; m = m > 0 ? -m : 1 - m) {
for(int n = m < l && m > -l ? l : 0; n <= l; n = n > 0 ? -n : 1 - n) {
@@ -119,6 +119,7 @@ public abstract class MoveToBlockGoal extends Goal {
for (int m = 0; m <= l; m = m > 0 ? -m : 1 - m) {
for (int n = m < l && m > -l ? l : 0; n <= l; n = n > 0 ? -n : 1 - n) {
mutableBlockPos.setWithOffset(blockPos, m, k - 1, n);
+ if (!this.mob.level().hasChunkAt(mutableBlockPos)) continue; // Pufferfish - if this block isn't loaded, continue
if (this.mob.isWithinRestriction(mutableBlockPos) && this.isValidTarget(this.mob.level(), mutableBlockPos)) {
this.blockPos = mutableBlockPos;
this.mob.movingTarget = mutableBlockPos == BlockPos.ZERO ? null : mutableBlockPos.immutable(); // Paper
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
index c8a80c1b2fedff22e8a877d466062375ffb2f0d7..931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a 100644
index d2f0c3b26d4beedb49d86e0242d843590d469d02..2848f0562de085c0c934455c12d785194b7a9dbf 100644
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
@@ -75,9 +75,18 @@ public class TargetingConditions {
@@ -76,9 +76,18 @@ public class TargetingConditions {
}
if (this.range > 0.0D) {
- double d = this.testInvisible ? targetEntity.getVisibilityPercent(baseEntity) : 1.0D;
- double e = Math.max((this.useFollowRange ? this.getFollowRange(baseEntity) : this.range) * d, 2.0D); // Paper - Fix MC-145656
if (this.range > 0.0) {
- double d = this.testInvisible ? targetEntity.getVisibilityPercent(baseEntity) : 1.0;
- double e = Math.max((this.useFollowRange ? this.getFollowRange(baseEntity) : this.range) * d, 2.0); // Paper - Fix MC-145656
+ // Pufferfish start - check range before getting visibility
+ // d = invisibility percent, e = follow range adjusted for invisibility, f = distance
double f = baseEntity.distanceToSqr(targetEntity.getX(), targetEntity.getY(), targetEntity.getZ());
@@ -2334,11 +2332,11 @@ index b21e180641d17438997a80e5bcb0ec7998d24a2e..33c160994f70f71446d665e748791343
this.level().getProfiler().pop();
this.level().getProfiler().push("axolotlActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 295769d039f2a1e4f48912a60f9dbe267d8992c1..e88b058c0734e436ef24bab6364b206c13e5a9c2 100644
index a03fb7aa9f4528f4885db88eaf480202d5f54750..1767fd2df8cb37e9c36fa3008b5131ff4bdad12c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -159,9 +159,11 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@@ -183,9 +183,11 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
}
}
+ private int behaviorTick = 0; // Pufferfish
@@ -2424,11 +2422,11 @@ index f33c03e81b7ff643741f56eea055e6af260de618..6563e625ebae47fc68e5010d36bd4b4d
boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER);
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 01a2016ac82807d28ffe407b7dbb74bdbcde503e..9921b160fb21f72fbd28fe81ea66fbc3dc05f83f 100644
index 050ffa4a23feba29fdf4c6a175cdff4e5009027d..1299f93d4f983e6715e447add65df91ef9e9090a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -128,9 +128,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
return (Brain<Hoglin>) super.getBrain(); // Paper - decompile fix
@@ -155,9 +155,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
return (Brain<Hoglin>)super.getBrain();
}
+ private int behaviorTick; // Pufferfish
@@ -2748,32 +2746,38 @@ index da7489986848316fed029b71d1bc4e1248c9c9a8..661acdf4b1f33d150b0caf179e925d31
return new BlockPos(i, l, j);
}
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
index 4f9187d9d640618c40a2fa528f36b845017b4777..efca73d4de33028cf9df944f36e51b7b50f7a4c5 100644
index b865115dc5a8c000521abf668251ab1bd8104505..57f3193ff761cbe45846a02a15d8da9c9e2e87ee 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -66,14 +66,20 @@ public final class Biome {
@@ -63,14 +63,19 @@ public final class Biome {
private final BiomeGenerationSettings generationSettings;
private final MobSpawnSettings mobSettings;
private final BiomeSpecialEffects specialEffects;
- private final ThreadLocal<Long2FloatLinkedOpenHashMap> temperatureCache = ThreadLocal.withInitial(() -> {
- private final ThreadLocal<Long2FloatLinkedOpenHashMap> temperatureCache = ThreadLocal.withInitial(() -> Util.make(() -> {
- Long2FloatLinkedOpenHashMap long2FloatLinkedOpenHashMap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) {
- protected void rehash(int i) {
- }
- };
- long2FloatLinkedOpenHashMap.defaultReturnValue(Float.NaN);
- return long2FloatLinkedOpenHashMap;
- }));
+ // Pufferfish start - use our cache
+ private final ThreadLocal<gg.airplane.structs.Long2FloatAgingCache> temperatureCache = ThreadLocal.withInitial(() -> {
return Util.make(() -> {
+ /*
Long2FloatLinkedOpenHashMap long2FloatLinkedOpenHashMap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) {
protected void rehash(int i) {
}
};
long2FloatLinkedOpenHashMap.defaultReturnValue(Float.NaN);
return long2FloatLinkedOpenHashMap;
+
+ */
+ return new gg.airplane.structs.Long2FloatAgingCache(TEMPERATURE_CACHE_SIZE);
+ // Pufferfish end
});
});
+ private final ThreadLocal<gg.airplane.structs.Long2FloatAgingCache> temperatureCache = ThreadLocal.withInitial(() -> Util.make(() -> {
+ /*
+ Long2FloatLinkedOpenHashMap long2FloatLinkedOpenHashMap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) {
+ protected void rehash(int i) {
+ }
+ };
+ long2FloatLinkedOpenHashMap.defaultReturnValue(Float.NaN);
+ return long2FloatLinkedOpenHashMap;
+ */
+ return new gg.airplane.structs.Long2FloatAgingCache(TEMPERATURE_CACHE_SIZE);
+ // Pufferfish end
+ }));
@@ -118,17 +124,15 @@ public final class Biome {
Biome(Biome.ClimateSettings weather, BiomeSpecialEffects effects, BiomeGenerationSettings generationSettings, MobSpawnSettings spawnSettings) {
this.climateSettings = weather;
@@ -112,17 +117,15 @@ public final class Biome {
@Deprecated
public float getTemperature(BlockPos blockPos) {
long l = blockPos.asLong();
@@ -2971,12 +2975,12 @@ index cdb739df2a285032d25d84f4464f202a7a3fa578..6b9cd8543a5bfc2b936ba18f66ffd60f
public static void entityInside(Level world, BlockPos pos, BlockState state, Entity entity, HopperBlockEntity blockEntity) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
index f52ccd4f3e062af3c7cc6eaea5b074a3bbd21690..a5cd70b6ada2b44f64db0985483ee5eadc67003f 100644
index dfd1246b735fe64c5beae83567a013861eb00822..fa64bf5ad13c278438039b663ea3134e72108411 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
@@ -94,12 +94,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc
public boolean isEmpty() {
this.unpackLootTable((Player)null);
this.unpackLootTable(null);
// Paper start - Perf: Optimize Hoppers
- for (final ItemStack itemStack : this.getItems()) {
- if (!itemStack.isEmpty()) {
@@ -3057,10 +3061,10 @@ index 796bbef3544e06b8e7aac7e8ac5f740a2613f4bd..2422ca3ffc6ab7178cacf933b8013f85
// Paper start - optimise collisions
diff --git a/src/main/java/net/minecraft/world/level/entity/EntityTickList.java b/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
index 4cdfc433df67afcd455422e9baf56f167dd712ae..57fcf3910f45ce371ac2e237b277b1034caaac4e 100644
index 83a39f900551e39d5af6f17a339a386ddee4feef..0c8c534fc69172387f188af5282accfed7597ac7 100644
--- a/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
+++ b/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
@@ -8,7 +8,7 @@ import javax.annotation.Nullable;
@@ -9,7 +9,7 @@ import javax.annotation.Nullable;
import net.minecraft.world.entity.Entity;
public class EntityTickList {
@@ -3159,7 +3163,7 @@ index 6d8ff6c06af5545634f255ed17dc1e489ece2548..6411aa4ff6bd4cabb25c426fa8f4a7ee
return flag;
}
diff --git a/src/main/java/net/minecraft/world/level/storage/loot/LootParams.java b/src/main/java/net/minecraft/world/level/storage/loot/LootParams.java
index e43d07ccdd36f0c9f5b8e9c74cf0d87e17eec66a..8e441f7c2b2d911a0c0111aaa231fc6adae08730 100644
index 37a0002bbe6539648db5219bb373e0404ae48dc0..ca0571d232e102c4b177a1ea44b96f5f0f440211 100644
--- a/src/main/java/net/minecraft/world/level/storage/loot/LootParams.java
+++ b/src/main/java/net/minecraft/world/level/storage/loot/LootParams.java
@@ -21,8 +21,10 @@ public class LootParams {
@@ -3176,10 +3180,10 @@ index e43d07ccdd36f0c9f5b8e9c74cf0d87e17eec66a..8e441f7c2b2d911a0c0111aaa231fc6a
}
diff --git a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7496a5f25 100644
index 1132658b063c6cd3feb1783ab4d5f5141ab75140..a971c3b079e76a16b0de24a827f71cde7944b7e1 100644
--- a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
+++ b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
@@ -19,47 +19,66 @@ public class EntityCollisionContext implements CollisionContext {
@@ -17,50 +17,69 @@ public class EntityCollisionContext implements CollisionContext {
return defaultValue;
}
};
@@ -3210,16 +3214,23 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7
this.entity = entity;
}
/** @deprecated */
@Deprecated
protected EntityCollisionContext(Entity entity) {
- this(entity.isDescending(), entity.getY(), entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY, entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : (fluidState) -> {
- return false;
- }, entity);
- this(
- entity.isDescending(),
- entity.getY(),
- entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY,
- entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : fluidState -> false,
- entity
- );
+ // Pufferfish start - remove this
+ // this(entity.isDescending(), entity.getY(), entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY, entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : (fluidState) -> {
+ // return false;
+ // }, entity);
+ /*this(
+ entity.isDescending(),
+ entity.getY(),
+ entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY,
+ entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : fluidState -> false,
+ entity
+ );*/
+ // Pufferfish end
+ this.entity = entity;
}
@@ -3256,8 +3267,8 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7
@Override
public boolean isAbove(VoxelShape shape, BlockPos pos, boolean defaultValue) {
- return this.entityBottom > (double)pos.getY() + shape.max(Direction.Axis.Y) - (double)1.0E-5F;
+ return (this.entity == null ? -Double.MAX_VALUE : entity.getY()) > (double)pos.getY() + shape.max(Direction.Axis.Y) - (double)1.0E-5F; // Pufferfish
- return this.entityBottom > pos.getY() + shape.max(Direction.Axis.Y) - 1.0E-5F;
+ return (this.entity == null ? -Double.MAX_VALUE : entity.getY()) > pos.getY() + shape.max(Direction.Axis.Y) - 1.0E-5F; // Pufferfish
}
@Nullable

View File

@@ -5,23 +5,37 @@ Subject: [PATCH] Fix decompile errors
diff --git a/src/main/java/net/minecraft/commands/execution/tasks/BuildContexts.java b/src/main/java/net/minecraft/commands/execution/tasks/BuildContexts.java
index 89f0f68b3e2be64bcbf8b173a51d56ea3a3fb4ea..05e1c94268cf5c6897807cd7acced652856a09ea 100644
index b0d26b0eadb2a43924629424a6c13198aace8f69..9f5c3ec2eae9b30bdb8dbcb328d7f701cb7aeb9d 100644
--- a/src/main/java/net/minecraft/commands/execution/tasks/BuildContexts.java
+++ b/src/main/java/net/minecraft/commands/execution/tasks/BuildContexts.java
@@ -94,7 +94,7 @@ public class BuildContexts<T extends ExecutionCommandSource<T>> {
@@ -52,7 +52,7 @@ public class BuildContexts<T extends ExecutionCommandSource<T>> {
}
RedirectModifier<T> redirectModifier = commandContext.getRedirectModifier();
- if (redirectModifier instanceof CustomModifierExecutor<T> customModifierExecutor) {
+ if (redirectModifier instanceof CustomModifierExecutor customModifierExecutor) { // Purpur - decompile error
customModifierExecutor.apply(baseSource, list, contextChain, chainModifiers, ExecutionControl.create(context, frame));
return;
}
@@ -92,11 +92,11 @@ public class BuildContexts<T extends ExecutionCommandSource<T>> {
if (list.isEmpty()) {
if (chainModifiers.isReturn()) {
- context.queueNext(new CommandQueueEntry<>(frame, FallthroughTask.instance()));
+ context.queueNext(new CommandQueueEntry<>(frame, (EntryAction<T>) FallthroughTask.instance())); // Purpur - decompile error
}
} else {
CommandContext<T> commandContext2 = contextChain.getTopContext();
- if (commandContext2.getCommand() instanceof CustomCommandExecutor<T> customCommandExecutor) {
+ if (commandContext2.getCommand() instanceof CustomCommandExecutor customCommandExecutor) { // Purpur - decompile error
ExecutionControl<T> executionControl = ExecutionControl.create(context, frame);
for (T executionCommandSource2 : list) {
diff --git a/src/main/java/net/minecraft/commands/synchronization/ArgumentTypeInfos.java b/src/main/java/net/minecraft/commands/synchronization/ArgumentTypeInfos.java
index 0f43466df9b6a59722d5c311b9bd02f59ac75539..9d96a077e3306718a7aaa7ac62772beafc4b82cd 100644
index b8fa8d5bb62a51281a8ec676066fb02ddeacbebf..682d6d8bd679106a6f07df31adb8dbc568c10d62 100644
--- a/src/main/java/net/minecraft/commands/synchronization/ArgumentTypeInfos.java
+++ b/src/main/java/net/minecraft/commands/synchronization/ArgumentTypeInfos.java
@@ -114,10 +114,10 @@ public class ArgumentTypeInfos {
@@ -116,10 +116,10 @@ public class ArgumentTypeInfos {
register(registry, "dimension", DimensionArgument.class, SingletonArgumentInfo.contextFree(DimensionArgument::dimension));
register(registry, "gamemode", GameModeArgument.class, SingletonArgumentInfo.contextFree(GameModeArgument::gameMode));
register(registry, "time", TimeArgument.class, new TimeArgument.Info());
@@ -36,29 +50,11 @@ index 0f43466df9b6a59722d5c311b9bd02f59ac75539..9d96a077e3306718a7aaa7ac62772bea
register(registry, "template_mirror", TemplateMirrorArgument.class, SingletonArgumentInfo.contextFree(TemplateMirrorArgument::templateMirror));
register(registry, "template_rotation", TemplateRotationArgument.class, SingletonArgumentInfo.contextFree(TemplateRotationArgument::templateRotation));
register(registry, "heightmap", HeightmapTypeArgument.class, SingletonArgumentInfo.contextFree(HeightmapTypeArgument::heightmap));
@@ -130,7 +130,7 @@ public class ArgumentTypeInfos {
}
private static <T extends ArgumentType<?>> Class<T> fixClassType(Class<? super T> clazz) {
- return clazz;
+ return (Class<T>) clazz; // Purpur - decompile error
}
public static boolean isClassRecognized(Class<?> clazz) {
@@ -142,7 +142,7 @@ public class ArgumentTypeInfos {
if (argumentTypeInfo == null) {
throw new IllegalArgumentException(String.format(Locale.ROOT, "Unrecognized argument type %s (%s)", argumentType, argumentType.getClass()));
} else {
- return argumentTypeInfo;
+ return (ArgumentTypeInfo<A, ?>) argumentTypeInfo; // Purpur - decompile error
}
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
index d9016807bc21c38a5c38170e1335c79b39355bcb..03c065d0ad97d29f3586ba2bf3cd207b867ed634 100644
index fee2269b241cbfb10bbbb76b404aa5ef3997dfe0..10ee43de05d9f4e0ab980ee5069fe59c0f137403 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
@@ -121,7 +121,7 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
@@ -120,7 +120,7 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
@Override
public void readAdditionalSaveData(CompoundTag nbt) {
@@ -67,55 +63,3 @@ index d9016807bc21c38a5c38170e1335c79b39355bcb..03c065d0ad97d29f3586ba2bf3cd207b
this.setVariant(holder);
this.direction = Direction.from2DDataValue(nbt.getByte("facing"));
super.readAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
index b79c86272f12c4b1173ea494cbe09e1ecdc23533..11275a9ec6faa69c9f054683cb47312e443ba883 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
@@ -184,7 +184,7 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
@Override
public Brain<Zoglin> getBrain() {
- return super.getBrain();
+ return (Brain<Zoglin>) super.getBrain(); // Purpur - decompile error
}
protected void updateActivity() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java b/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java
index 0b8992a9aea781470ab3b1880cf041972a20089d..ab183a7d94a27d5235ff33ce7784c92d66d40b89 100644
--- a/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java
+++ b/src/main/java/net/minecraft/world/entity/monster/breeze/Breeze.java
@@ -59,7 +59,7 @@ public class Breeze extends Monster {
@Override
public Brain<Breeze> getBrain() {
- return super.getBrain();
+ return (Brain<Breeze>) super.getBrain(); // Purpur - decompile error
}
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
index d02ee11066fc4f07ccb110b09b86d895ff90d4f2..e1be4a77fae0b9120781f460079269b85c993930 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
@@ -70,7 +70,7 @@ public class PiglinBrute extends AbstractPiglin {
@Override
public Brain<PiglinBrute> getBrain() {
- return super.getBrain();
+ return (Brain<PiglinBrute>) super.getBrain(); // Purpur - decompile error
}
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java
index 9a2de546dc2af2ad4bf5d32ca6583f0e1f3f70d8..1c7bb504a576568bd275b4f1373208d37d1419e5 100644
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
@@ -1215,7 +1215,7 @@ public class Blocks {
}
private static Boolean ocelotOrParrot(BlockState state, BlockGetter world, BlockPos pos, EntityType<?> type) {
- return (boolean)type == EntityType.OCELOT || type == EntityType.PARROT;
+ return type == EntityType.OCELOT || type == EntityType.PARROT; // Purpur - decompile error
}
private static Block bed(DyeColor color) {

File diff suppressed because one or more lines are too long

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 315254c0cb42a2610b24846cf76972d25d9ed843..d011f1ecc9bb81231c68c5710bd65bc1c44ccaad 100644
index 75d1990cc33b06652ba0cdf5ee631594cf259d31..9ced09b01af013cd2e4e64e106dee147ae369dec 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -160,7 +160,7 @@ import org.bukkit.plugin.PluginManager;
@@ -18,7 +18,7 @@ index 315254c0cb42a2610b24846cf76972d25d9ed843..d011f1ecc9bb81231c68c5710bd65bc1
private static final int CURRENT_LEVEL = 2;
public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first setPositionRotation
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6bdbdac169 100644
index 4d4b57d40d8bac8d666716b0f36e1af2ca7c1ef1..bf47cf511b5e3c0107354f289b740bd804b5f978 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -36,6 +36,11 @@ public class GlowSquid extends Squid {
@@ -34,7 +34,7 @@ index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6b
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4621dd94e9346bdd2eeca1d17869ff99aede0077..781eefa21c958c28c35d2d9559d89da236ce9387 100644
index 98907fee8d85e7b7dc66807a0717134db3a94c33..3c7c618dd9611485b81336ca4a5059fcb1e4f1ff 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -287,6 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -299,10 +299,10 @@ index ebfa162f172bdad7b17ce153fdee508748620fc0..fdf5651c7877313437ecd32914823d00
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 2b6efb46035c5695928643780bfbd5b5a2ed28e9..70b45c622a459ace397d4d54cd99e8ae7fc1ce65 100644
index c737eea79621d565b5bbd28e22fa0731c3ed6068..5e6941abe1372ea4cba893de36ab20d2a3a42a21 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -94,6 +94,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -93,6 +93,11 @@ public class PolarBear extends Animal implements NeutralMob {
}
// Purpur end
@@ -395,7 +395,7 @@ index c48ceed671e1804756d8a11208e5f7e5094a4bb1..35392365838bd412255777d1a53bc058
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 0ee9d5eeabb0352d0a92fa0106b7a3a834a9c146..f9db04ee35928d76dc504808a2acfca85295a6e6 100644
index 423c67f6d0faac7e46bdbe7f5bc3076a687fbb73..43bd8c55368d0bb1dca3a16ea4e0b1d6452be0cd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -70,6 +70,11 @@ public class Squid extends WaterAnimal {
@@ -411,10 +411,10 @@ index 0ee9d5eeabb0352d0a92fa0106b7a3a834a9c146..f9db04ee35928d76dc504808a2acfca8
protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
index 71234b258157579d3a47064e7e299bb7fb90908f..7d02e552a27632939bb9c40a62f4e0df7bd60bbc 100644
index fe546baadc2e238667386c494359ddf904dd41e5..3d40df730780fcc91c3a352c7572e60458fc5bb0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
@@ -54,6 +54,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
@@ -77,6 +77,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
}
// Purpur end
@@ -427,7 +427,7 @@ index 71234b258157579d3a47064e7e299bb7fb90908f..7d02e552a27632939bb9c40a62f4e0df
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 4707f0d1c78d6080201c313717ef912d4805873d..511de848cb9cfed304fa59cb38205db4b71dd8eb 100644
index 29788b801e1faba6d7671e64e280ff585842ed27..31ed37796a4c88ecf514f298631f37210daf929a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -103,6 +103,11 @@ public class Turtle extends Animal {
@@ -561,7 +561,7 @@ index 41777079871eef2bb4d319f28c8f441d7f2607a1..24fb38499092d8cbee3818bf5c873a55
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 6a5fb18523545ccc788b09ab4fbee1b14a64bc63..365273173e37e74470a1cf511334ea8cb25f8302 100644
index 5242059484fb5f407a2da2b0c01a8feeaf1c3a64..f623586530e9e7783653b95c8c30d07d5eea896f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -22,6 +22,21 @@ public class Donkey extends AbstractChestedHorse {
@@ -587,7 +587,7 @@ index 6a5fb18523545ccc788b09ab4fbee1b14a64bc63..365273173e37e74470a1cf511334ea8c
protected SoundEvent getAmbientSound() {
return SoundEvents.DONKEY_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 3e50581033e88e8eddcbd85bfa890cbe0b88a7e6..92339f5a07dcb6bf7eb1bce6d584464ebd8430b5 100644
index 6503f68345d931ac73e8291add6ed108c10ceb60..5183ac5534b77230f04734264eadbb8d3f0ff7ef 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -47,6 +47,21 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
@@ -611,7 +611,7 @@ index 3e50581033e88e8eddcbd85bfa890cbe0b88a7e6..92339f5a07dcb6bf7eb1bce6d584464e
+
@Override
protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 1c6be506804b9622c4d0094814939f894ca857df..34d87ab749a62c5d897b7bc66b116a801324b6a7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -717,7 +717,7 @@ index c1d1321c75330231777adb4ff6e0ca604f3fab80..85e32d35cdfb7dd11b3c28146b9b71ea
public boolean isTraderLlama() {
return true;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index cc19e9cc90789a5170d1cf3e004a3a452aad8b20..4835950272c2a95cbcbfe3423bb83997ec6ee2c1 100644
index c1fd9363ef67dc2641a6ad37f4a20dd8ce5ec085..52eb412401d6843778ab8c4530e8bb3123a83a0b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -38,6 +38,21 @@ public class ZombieHorse extends AbstractHorse {
@@ -740,7 +740,7 @@ index cc19e9cc90789a5170d1cf3e004a3a452aad8b20..4835950272c2a95cbcbfe3423bb83997
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 7fb2c28b567c6c338a68bdc29d24cb652a4a15bf..074835d3e315eb78d318e81c5fd04e5e786e9127 100644
@@ -800,7 +800,7 @@ index 8fbfd134005c0813406fecbce8a918cd0376d03e..51ccbf3bd77bbcf77833b39fadc6c01f
} else {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
index 63049b0b4a4ae09e5925129dc363e43dbae23272..04226492a5655e4a3a9716590e2af7fc79560ad9 100644
index 929074db505e0838a9b133228f81cad87bdab5fb..7b55851008f711a5968fcdf94c0ad18bcd6cf9ee 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
@@ -74,6 +74,11 @@ public class Blaze extends Monster {
@@ -949,7 +949,7 @@ index 3f886ffb0aa8591e4ca8324301ae9a8eeac57ab4..edd3b7a855165eb090edb9ad95d36cdb
protected void defineSynchedData() {
super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 198e3219e8f44eaea8ff1914c6c20efda172ff70..2a30499fd6f4a1340f6911f0f7f079bcbe8576a3 100644
index 9f8c47bcaace9bd4cb276d0dc252f3d0f259a3af..d3876553949821323953b7113c7bd4f83f71a18c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -38,6 +38,13 @@ public class Giant extends Monster {
@@ -1022,7 +1022,7 @@ index 4d50d10016a3b574d67bdfec5aee910cede8ffc3..c00530db0eff302c14dd9c52d1d988cb
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
index aad51022eac584fbc058c2b25e2bf1929fccca6f..b472309f97b24f1d7b97d8b6d464c479c2d602d5 100644
index 6c4422adf858595a740f6f8758db18859dc33004..8cdce384f6d191231012788f27753f0f03753460 100644
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
@@ -47,6 +47,26 @@ public class MagmaCube extends Slime {
@@ -1050,7 +1050,7 @@ index aad51022eac584fbc058c2b25e2bf1929fccca6f..b472309f97b24f1d7b97d8b6d464c479
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
}
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 98ced015ceb4f68364ff5ee6f7ee1a69251dbb04..6819acda60e783ee57dd8b9b5d27bc1e105425c3 100644
@@ -1241,7 +1241,7 @@ index dd1a6fc505ce2214903dbe703bcabe7d264fbe90..3f67ab84485737291aec531441d88b74
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Stray.java b/src/main/java/net/minecraft/world/entity/monster/Stray.java
index abd2c1accaa9b03fefab2d8c7f9132540ea9065e..77d4d37cffe959031296614751961ca7c7400c31 100644
index 44006bcb7d70661a6990e3fc4375dd6da34517e0..e1327ea96fe394b1c27dbe88c49596256e4e61d3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
@@ -38,6 +38,11 @@ public class Stray extends AbstractSkeleton {
@@ -1289,10 +1289,10 @@ index b676f6c814d63e950af192a56ab5a4bf5f14a7d6..0dae7c87a9f61a7d8e493537e0aada78
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
return dimensions.height - 0.28125F;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index e5d3bf2e8934d97760eaf165a0ac930d51a3c884..706458eeab0cea2fe0cdfe39717f639aa5d85608 100644
index 6301985e0906a06f41030f7a90bc862907caf9c5..c5f21eeec60e77167970ed68eec0348912a62e0e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -75,6 +75,11 @@ public class Vindicator extends AbstractIllager {
@@ -73,6 +73,11 @@ public class Vindicator extends AbstractIllager {
}
// Purpur end
@@ -1337,10 +1337,10 @@ index 4235684e533e744bb1eb90a5cc69001e43782bc2..afad65b86e762187d0779cfee2b0b108
protected void registerGoals() {
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
index dc29e875c1e184c1c4553c127bb8c86dddf8c5ab..1d862dd019b2d024f61cfc8956430d18d94b1ebf 100644
index f34803f4bebf2eafba483628b20784c2134002fa..62d0c4dcb2992b665e473726a09d3fa457420395 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
@@ -86,6 +86,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
@@ -99,6 +99,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
}
// Purpur end
@@ -1424,10 +1424,10 @@ index 2121de85765d535effb3ef4e0c4a873238dd7576..9d1d8b5a3f2bac29f8058f68e2ded4d7
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 1d54077a7ebb463270a03bb17c342ced8874f4c2..9748b32692b14bffde1506e88149939c4ed25900 100644
index 42e56f0d6d1c5e913f9c9c4e0c53e4ca187967f1..a45df0aeae94f408a24f55bc15c71627c3c95bc1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -86,6 +86,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -109,6 +109,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
}
// Purpur end
@@ -1456,10 +1456,10 @@ index 015bb57c73c7b38622329fc3001b6369fa183cd1..b5e6a48192592e9bc5a7c0a2775e5d78
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913fd3b413d1 100644
index 0ec07be03e871caf5a30748f540cac8ce50f1f4b..dc70d4819fbc2aa5b6a026f2aff2f52bc836901c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
@@ -58,6 +58,11 @@ public class PiglinBrute extends AbstractPiglin {
@@ -80,6 +80,11 @@ public class PiglinBrute extends AbstractPiglin {
}
// Purpur end
@@ -1469,7 +1469,7 @@ index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913f
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0).add(Attributes.MOVEMENT_SPEED, 0.35F).add(Attributes.ATTACK_DAMAGE, 7.0);
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 8e3e9bfe614057450ec771f72c9b1d7ea061d66e..8a864f236048e0c2b120f698439af652a8bcb0a8 100644

View File

@@ -108,44 +108,54 @@ index 4703f23316f82a1a942907b46d2d6dcb7d70ec37..162798f57a05b78121fa6c4fadf5adee
this.activeChest = blockEntity;
}
diff --git a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
index ddca14f1224327a738415fb8b37398d8df0aa9c8..fe3236295790b9e250486835176cae810160c33a 100644
index 384dbae11ea1c48bef82bfa30aa9867134fac4cf..506965665e16b14dd0873a4b0892d86ddbb3f7f6 100644
--- a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
@@ -92,6 +92,34 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
@@ -92,7 +92,7 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
EnderChestBlockEntity enderChestBlockEntity = (EnderChestBlockEntity)blockEntity;
playerEnderChestContainer.setActiveChest(enderChestBlockEntity);
player.openMenu(new SimpleMenuProvider((syncId, inventory, playerx) -> {
+ // Purpur start
+ if (org.purpurmc.purpur.PurpurConfig.enderChestSixRows) {
+ if (org.purpurmc.purpur.PurpurConfig.enderChestPermissionRows) {
+ org.bukkit.craftbukkit.entity.CraftHumanEntity bukkitPlayer = player.getBukkitEntity();
+ if (bukkitPlayer.hasPermission("purpur.enderchest.rows.six")) {
+ player.sixRowEnderchestSlotCount = 54;
+ return ChestMenu.sixRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.five")) {
+ player.sixRowEnderchestSlotCount = 45;
+ return ChestMenu.fiveRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.four")) {
+ player.sixRowEnderchestSlotCount = 36;
+ return ChestMenu.fourRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.three")) {
+ player.sixRowEnderchestSlotCount = 27;
+ return ChestMenu.threeRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.two")) {
+ player.sixRowEnderchestSlotCount = 18;
+ return ChestMenu.twoRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.one")) {
+ player.sixRowEnderchestSlotCount = 9;
+ return ChestMenu.oneRow(syncId, inventory, playerEnderChestContainer);
+ }
+ }
+ player.sixRowEnderchestSlotCount = -1;
+ return ChestMenu.sixRows(syncId, inventory, playerEnderChestContainer);
+ }
+ // Purpur end
return ChestMenu.threeRows(syncId, inventory, playerEnderChestContainer);
}, CONTAINER_TITLE));
player.openMenu(
- new SimpleMenuProvider((syncId, inventory, playerx) -> ChestMenu.threeRows(syncId, inventory, playerEnderChestContainer), CONTAINER_TITLE)
+ new SimpleMenuProvider((syncId, inventory, playerx) -> org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? getEnderChestSixRows(syncId, inventory, player, playerEnderChestContainer) : ChestMenu.threeRows(syncId, inventory, playerEnderChestContainer), CONTAINER_TITLE) // Purpur
);
player.awardStat(Stats.OPEN_ENDERCHEST);
PiglinAi.angerNearbyPiglins(player, true);
@@ -103,6 +103,35 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
}
}
+ // Purpur start
+ private ChestMenu getEnderChestSixRows(int syncId, net.minecraft.world.entity.player.Inventory inventory, Player player, PlayerEnderChestContainer playerEnderChestContainer) {
+ if (org.purpurmc.purpur.PurpurConfig.enderChestPermissionRows) {
+ org.bukkit.craftbukkit.entity.CraftHumanEntity bukkitPlayer = player.getBukkitEntity();
+ if (bukkitPlayer.hasPermission("purpur.enderchest.rows.six")) {
+ player.sixRowEnderchestSlotCount = 54;
+ return ChestMenu.sixRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.five")) {
+ player.sixRowEnderchestSlotCount = 45;
+ return ChestMenu.fiveRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.four")) {
+ player.sixRowEnderchestSlotCount = 36;
+ return ChestMenu.fourRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.three")) {
+ player.sixRowEnderchestSlotCount = 27;
+ return ChestMenu.threeRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.two")) {
+ player.sixRowEnderchestSlotCount = 18;
+ return ChestMenu.twoRows(syncId, inventory, playerEnderChestContainer);
+ } else if (bukkitPlayer.hasPermission("purpur.enderchest.rows.one")) {
+ player.sixRowEnderchestSlotCount = 9;
+ return ChestMenu.oneRow(syncId, inventory, playerEnderChestContainer);
+ }
+ }
+ player.sixRowEnderchestSlotCount = -1;
+ return ChestMenu.sixRows(syncId, inventory, playerEnderChestContainer);
+ }
+ // Purpur end
+
@Override
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
return new EnderChestBlockEntity(pos, state);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
index 416aa989ebb18a8741cc9d605a1180ab830f6643..e38a0adf5463c48311ad08b8d2e5b5c2d989a3b5 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Llama API
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
index 21725aee29e9120d1c7e1e19f91c21a73a28844f..849f0c7c6d13df00d90211a48d8b56ab156812b8 100644
index 9ae94ae4ea74ff0fa7e22ff8527925c8b6b5a700..50622e300950b017b41a6f85643c8827a0113225 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
@@ -22,6 +22,7 @@ public class LlamaFollowCaravanGoal extends Goal {
@@ -14,7 +14,7 @@ index 21725aee29e9120d1c7e1e19f91c21a73a28844f..849f0c7c6d13df00d90211a48d8b56ab
public boolean canUse() {
+ if (!this.llama.shouldJoinCaravan) return false; // Purpur
if (!this.llama.isLeashed() && !this.llama.inCaravan()) {
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0, 4.0, 9.0), entity -> {
EntityType<?> entityType = entity.getType();
@@ -71,6 +72,7 @@ public class LlamaFollowCaravanGoal extends Goal {
@@ -23,9 +23,9 @@ index 21725aee29e9120d1c7e1e19f91c21a73a28844f..849f0c7c6d13df00d90211a48d8b56ab
+ if (!this.llama.shouldJoinCaravan) return false; // Purpur
if (this.llama.inCaravan() && this.llama.getCaravanHead().isAlive() && this.firstIsLeashed(this.llama, 0)) {
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) {
if (d > 676.0) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 8c8c135e9bc707ae8e2aad249302109023f6fea3..7b329fa3af99742d83eca7825e2da3b6e55431ee 100644
index 34d87ab749a62c5d897b7bc66b116a801324b6a7..b9b66f22ef39cb38bfb4dcbf4e73a0a7da596660 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -75,6 +75,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V

View File

@@ -177,7 +177,7 @@ index d8cc5614502db7025349e085381b6b32ad32296a..f1b9e83206cc67e6ef29ebe088351b0a
private EntitySelector() {}
// Paper start - Affects Spawning API
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
index 931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a..d8642979b7296737d08529f6db4f64e463d9f936 100644
index 2848f0562de085c0c934455c12d785194b7a9dbf..cdae57e08d337b5790df3512d3ca0ae1f859e646 100644
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
@@ -64,6 +64,10 @@ public class TargetingConditions {
@@ -210,17 +210,17 @@ index cad2ff51d79d584312a03f35266774b297883c0c..97805659af862213e9217c408519563d
public CraftHumanEntity getBukkitEntity() {
return (CraftHumanEntity) super.getBukkitEntity();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index ed84c87a3f76bc0254c1abb189e6b8b808823465..5bc68b1ef33f297e9a4b1bdd7d69f86a46ad6fbd 100644
index ea0aee88c7d901034427db201c1b2430f8a1d522..1f28bfb435c1e4d97da713f96c452abab3fda91a 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -191,7 +191,7 @@ public interface EntityGetter {
@@ -192,7 +192,7 @@ public interface EntityGetter {
default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) {
for(Player player : this.players()) {
for (Player player : this.players()) {
- if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
+ if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player) && EntitySelector.notAfk.test(player)) {
+ if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player) && EntitySelector.notAfk.test(player)) { // Purpur
double d = player.distanceToSqr(x, y, z);
if (range < 0.0D || d < range * range) {
if (range < 0.0 || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6a558a7042b78e8de7fc637053468ac9029b4133..5cb6572563bad1ef5ed755f94c5d0a854867406f 100644

View File

@@ -1,14 +1,14 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 26 Mar 2020 19:46:44 -0500
Date: Fri, 12 Apr 2024 15:40:12 -0700
Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 70b45c622a459ace397d4d54cd99e8ae7fc1ce65..0377d40198b88512b1f204a31367c2db039a7f9c 100644
index 5e6941abe1372ea4cba893de36ab20d2a3a42a21..5db17e4fc120e32e66a3a5c6313471ce5b090346 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -99,6 +99,27 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -98,6 +98,27 @@ public class PolarBear extends Animal implements NeutralMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.polarBearMaxHealth);
}
@@ -36,7 +36,7 @@ index 70b45c622a459ace397d4d54cd99e8ae7fc1ce65..0377d40198b88512b1f204a31367c2db
@Nullable
@Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
@@ -107,7 +128,7 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -106,7 +127,7 @@ public class PolarBear extends Animal implements NeutralMob {
@Override
public boolean isFood(ItemStack stack) {
@@ -45,7 +45,7 @@ index 70b45c622a459ace397d4d54cd99e8ae7fc1ce65..0377d40198b88512b1f204a31367c2db
}
@Override
@@ -117,6 +138,12 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -116,6 +137,12 @@ public class PolarBear extends Animal implements NeutralMob {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal());
this.goalSelector.addGoal(1, new PolarBear.PolarBearPanicGoal());
@@ -55,11 +55,11 @@ index 70b45c622a459ace397d4d54cd99e8ae7fc1ce65..0377d40198b88512b1f204a31367c2db
+ this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, net.minecraft.world.item.crafting.Ingredient.of(level().purpurConfig.polarBearBreedableItem), false));
+ }
+ // Purpur end
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25));
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 532e25d00128c62c6eae4d0076dc0a3bd16c5b4e..0d6f0e69093594fffcdb616d319be1b416909a64 100644
index d084d5ef20b2fb4d3b5479cb51003fb82a0358fc..ae6383c3d8435caba2bae551f36e3562e724361a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -960,6 +960,8 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Cat spawning options
diff --git a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java b/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b6631689f1b8 100644
index 5d1610eddcaf0cf65c726a5438b42e53bab85332..5665aa461f8c943bd7373df28d7d152251cce431 100644
--- a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
+++ b/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
@@ -30,7 +30,7 @@ public class CatSpawner implements CustomSpawner {
@@ -28,7 +28,7 @@ public class CatSpawner implements CustomSpawner {
if (this.nextTick > 0) {
return 0;
} else {
@@ -17,41 +17,36 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
Player player = world.getRandomPlayer();
if (player == null) {
return 0;
@@ -63,11 +63,15 @@ public class CatSpawner implements CustomSpawner {
}
@@ -62,8 +62,12 @@ public class CatSpawner implements CustomSpawner {
private int spawnInVillage(ServerLevel world, BlockPos pos) {
- int i = 48;
int i = 48;
- if (world.getPoiManager().getCountInRange(entry -> entry.is(PoiTypes.HOME), pos, 48, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
- List<Cat> list = world.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(48.0, 8.0, 48.0));
+ // Purpur start
+ int range = world.purpurConfig.catSpawnVillageScanRange;
+ if (range <= 0) return 0;
+
if (world.getPoiManager().getCountInRange((entry) -> {
return entry.is(PoiTypes.HOME);
- }, pos, 48, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
- List<Cat> list = world.getEntitiesOfClass(Cat.class, (new AABB(pos)).inflate(48.0D, 8.0D, 48.0D));
+ }, pos, range, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
+ List<Cat> list = world.getEntitiesOfClass(Cat.class, (new AABB(pos)).inflate(range, 8.0D, range));
+ // Purpur end
+ if (world.getPoiManager().getCountInRange(entry -> entry.is(PoiTypes.HOME), pos, range, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
+ List<Cat> list = world.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(range, 8.0, range));
+ // Purpur end
if (list.size() < 5) {
return this.spawnCat(pos, world);
}
@@ -77,8 +81,11 @@ public class CatSpawner implements CustomSpawner {
}
@@ -74,7 +78,11 @@ public class CatSpawner implements CustomSpawner {
private int spawnInHut(ServerLevel world, BlockPos pos) {
- int i = 16;
- List<Cat> list = world.getEntitiesOfClass(Cat.class, (new AABB(pos)).inflate(16.0D, 8.0D, 16.0D));
int i = 16;
- List<Cat> list = world.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(16.0, 8.0, 16.0));
+ // Purpur start
+ int range = world.purpurConfig.catSpawnSwampHutScanRange;
+ if (range <= 0) return 0;
+ List<Cat> list = world.getEntitiesOfClass(Cat.class, (new AABB(pos)).inflate(range, 8.0D, range));
+ List<Cat> list = world.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(range, 8.0, range));
+ // Purpur end
return list.size() < 1 ? this.spawnCat(pos, world) : 0;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ba7f378b9b0c791dd77862439f310a6653cccf30..6102535823eab8862c23919f20a8062f9f750eb6 100644
index 6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82..c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -272,6 +272,9 @@ public class PurpurWorldConfig {

View File

@@ -49,10 +49,10 @@ index 3bb4a9a1a6249e8ba2de237f801210e7f4fd5825..4c230136d832d50ae16ffa037b0b30ff
protected boolean canConvertToSource(Level world) {
return world.getGameRules().getBoolean(GameRules.RULE_LAVA_SOURCE_CONVERSION);
diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
index cde93efaecd42b9081405638af3ba91cb5e184c9..c664fd77dd865037293a3e86699fd1fa6b703882 100644
index ba34aea9db5c3af56f3c7e84424ec91988a2370e..7987279e17db64587aa6d126b46359ccd06f109d 100644
--- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
@@ -64,6 +64,13 @@ public abstract class WaterFluid extends FlowingFluid {
@@ -74,6 +74,13 @@ public abstract class WaterFluid extends FlowingFluid {
return world.getGameRules().getBoolean(GameRules.RULE_WATER_SOURCE_CONVERSION);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7fe6f44d25790cd222b700cf5ce1d5f36d89e650..95baff79c07f1fdb1f2c2799527c0d245790cd60 100644
index a01d19ab227621ffa36e9c1bb840f452a856eaa8..10a0f2b4968600f088677103b0bfbe5f69aa4428 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -558,6 +558,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -20,7 +20,7 @@ index 7fe6f44d25790cd222b700cf5ce1d5f36d89e650..95baff79c07f1fdb1f2c2799527c0d24
return this.hardCollides;
}
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 41261b72bfa5157139a5384b6a0b66b719ec02b9..8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94 100644
index f5e1aa316a90bf2cd9c997b76830096d4fbbee42..c37b3486dcc75c5c78d605afeff2e3f723940636 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -117,6 +117,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
@@ -36,10 +36,10 @@ index 41261b72bfa5157139a5384b6a0b66b719ec02b9..8abc8a28ae74dc78f53b9fb38fb31b47
public boolean isPickable() {
return false;
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 23dc37ff1f92951817864963bf93220d5aae91bb..af563ffb67c43b50555951fe1b5e4320d429a7f1 100644
index 995fbfa225efe40274c20608b9b30b8afa847698..c70f04cdee1e8ba6f8a15c9e38edbe0023b5ab96 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -112,6 +112,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
@@ -111,6 +111,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
ListTag listTag = new ListTag();
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper - Entity load/save limit per chunk
entities.forEach((entity) -> { // diff here: use entities parameter

View File

@@ -39,10 +39,10 @@ index 1ad126d992d95062a3db08374db7a927f23a0cac..38e097807c5034c077a10d3af08bf348
return this.tag == null ? 0 : this.tag.getInt("Damage");
}
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647678009fa 100644
index 0d89e2f944e7017cfdac96f8c91f4568e481ff02..496c47eb3b13ba620fde1a2bc96f886c5b01e1de 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
@@ -278,6 +278,29 @@ public class EnchantmentHelper {
@@ -266,6 +266,29 @@ public class EnchantmentHelper {
return getItemEnchantmentLevel(Enchantments.CHANNELING, stack) > 0;
}
@@ -70,8 +70,8 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647
+ // Purpur end
+
@Nullable
public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
return getRandomItemWith(enchantment, entity, (stack) -> {
public static Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
return getRandomItemWith(enchantment, entity, stack -> true);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 76c1cfc35b598eab2ca27656feeb17f79dde7e00..6705d722e1abe678a5cb90503904dc7888bf55ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4c61c1dd393ac13da2f0f2b2c07db3070a172e02..87990fd0cb3637779c9750fcc76890dd92873ddd 100644
index f541b9e78f365518761fd8d3460277d457d769c0..ea07433bc4ab7ee032cf4eef5190ab932079c84f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -61,17 +61,17 @@ index 4c61c1dd393ac13da2f0f2b2c07db3070a172e02..87990fd0cb3637779c9750fcc76890dd
tickSection = currentTime;
}
diff --git a/src/main/java/net/minecraft/server/gui/StatsComponent.java b/src/main/java/net/minecraft/server/gui/StatsComponent.java
index 38fe7e5014332f45e41a3d5d91c28dd0acfdc3b0..479657ddef21f0279b361117b82549f7105be416 100644
index a34dc23499a9d55cceb1f2b2907e4d34b0d67616..63be0a9a4436ac9918516f92773fc8186f604545 100644
--- a/src/main/java/net/minecraft/server/gui/StatsComponent.java
+++ b/src/main/java/net/minecraft/server/gui/StatsComponent.java
@@ -45,7 +45,7 @@ public class StatsComponent extends JComponent {
@@ -43,7 +43,7 @@ public class StatsComponent extends JComponent {
}
this.msgs[0] = "Memory use: " + l / 1024L / 1024L + " mb (" + Runtime.getRuntime().freeMemory() * 100L / Runtime.getRuntime().maxMemory() + "% free)";
this.msgs[1] = "Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double)TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms";
this.msgs[1] = "Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms";
- this.msgs[2] = "TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg);
+ this.msgs[2] = "TPS from last 5s, 1m, 5m, 15m: " + String.join(", ", tpsAvg); // Purpur
// Paper end - Improve ServerGUI
this.values[this.vp++ & 255] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.repaint();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8f21c4aee84070eab2798cfcd4200b6d2e8320a4..a6affd4d7ecbe57a79fa18f4473c60662053d663 100644

View File

@@ -27,7 +27,7 @@ index 2ebe8c165c8b425d437e0b359e3f2ad851b84273..56ffc7ae9bf9dabcbe6e993475a9bf5c
});
}
diff --git a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java
index 0821c06a4c66edc8fcee09fc192335a588d2944b..56d7c05c93bc074f6caba51b1741f25d6f0861cd 100644
index 409c6d5820d4ab3a84e64a3837a83d3ef28a38c7..b70ed576b304bcc383a3d67f36be6575b39b1280 100644
--- a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java
+++ b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java
@@ -15,6 +15,7 @@ import net.minecraft.util.ByIdMap;
@@ -38,8 +38,8 @@ index 0821c06a4c66edc8fcee09fc192335a588d2944b..56d7c05c93bc074f6caba51b1741f25d
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.FireworkRocketEntity;
import net.minecraft.world.item.context.UseOnContext;
@@ -69,6 +70,14 @@ public class FireworkRocketItem extends Item {
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Firework) fireworkRocketEntity.getBukkitEntity());
@@ -76,6 +77,14 @@ public class FireworkRocketItem extends Item {
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Firework) fireworkRocketEntity.getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand));
if (event.callEvent() && world.addFreshEntity(fireworkRocketEntity)) {
user.awardStat(Stats.ITEM_USED.get(this));
+ // Purpur start

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index fece613e9c182c6658f9df1d333a5b7e1e862218..a3db9c351b9cb06340458811c006d53796d96ab5 100644
index c5f21eeec60e77167970ed68eec0348912a62e0e..f1acdeb3a851c0d622c5ba8ab760a70a6f97f90e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager {
@@ -160,6 +160,12 @@ public class Vindicator extends AbstractIllager {
RandomSource randomSource = world.getRandom();
this.populateDefaultEquipmentSlots(randomSource, difficulty);
this.populateDefaultEquipmentEnchantments(randomSource, difficulty);
@@ -22,7 +22,7 @@ index fece613e9c182c6658f9df1d333a5b7e1e862218..a3db9c351b9cb06340458811c006d537
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 65c365cd330b8865f0aeb7781a8995cbfea62f18..ac14ad278466dca95ad012c0b064b5bb470d06c8 100644
index be916fe3a8bc8996be8b0835e3bd8f7920c15055..7b584d5c8460e90dfea250591e4ca36cb1db004a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1638,6 +1638,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 95baff79c07f1fdb1f2c2799527c0d245790cd60..8307646d2ff06ae8cde245c8d1aec259df2330a2 100644
index 10a0f2b4968600f088677103b0bfbe5f69aa4428..c02c75620e256e4c129a7966a73f2d5a383fb9e2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4462,6 +4462,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -22,7 +22,7 @@ index 95baff79c07f1fdb1f2c2799527c0d245790cd60..8307646d2ff06ae8cde245c8d1aec259
if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip
return false;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index f9db04ee35928d76dc504808a2acfca85295a6e6..59423504642953397b77ee8c9dca7aa4b3ef2f74 100644
index 43bd8c55368d0bb1dca3a16ea4e0b1d6452be0cd..8d5f5e5ed5bc3d0d8c9403a473dff03f2b8e724f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -75,6 +75,12 @@ public class Squid extends WaterAnimal {
@@ -39,12 +39,12 @@ index f9db04ee35928d76dc504808a2acfca85295a6e6..59423504642953397b77ee8c9dca7aa4
protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
index 67d595f75e0c3bffdb27b85b25ccd1f0bf1427d5..4d0c524af87d05dbd4a923ad6c40e1f26149e921 100644
index ba29de4a759644acdfce9c2e3672f20b200b7b50..a8589f1f9c4c678d90d7dffec1926f67f614e160 100644
--- a/src/main/java/net/minecraft/world/phys/AABB.java
+++ b/src/main/java/net/minecraft/world/phys/AABB.java
@@ -374,4 +374,10 @@ public class AABB {
@@ -495,4 +495,10 @@ public class AABB {
public static AABB ofSize(Vec3 center, double dx, double dy, double dz) {
return new AABB(center.x - dx / 2.0D, center.y - dy / 2.0D, center.z - dz / 2.0D, center.x + dx / 2.0D, center.y + dy / 2.0D, center.z + dz / 2.0D);
return new AABB(center.x - dx / 2.0, center.y - dy / 2.0, center.z - dz / 2.0, center.x + dx / 2.0, center.y + dy / 2.0, center.z + dz / 2.0);
}
+
+ // Purpur - tuinity added method

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Flying squids! Oh my!
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index dc99e7f0e6f173c1313c0d5e9ea5dd6bdbdac169..19f95ddb2fa9dd264947a8b0033dd7437ee66c7f 100644
index bf47cf511b5e3c0107354f289b740bd804b5f978..1330c4a4d9ff347e62a284eb8b71c107d87baf83 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -41,6 +41,11 @@ public class GlowSquid extends Squid {
@@ -21,7 +21,7 @@ index dc99e7f0e6f173c1313c0d5e9ea5dd6bdbdac169..19f95ddb2fa9dd264947a8b0033dd743
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0344c601f 100644
index 8d5f5e5ed5bc3d0d8c9403a473dff03f2b8e724f..65d0e602a9cab5d51d1a27f690524ddad72bd2a5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -81,6 +81,15 @@ public class Squid extends WaterAnimal {
@@ -45,20 +45,20 @@ index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0
if (this.isInWaterOrBubble()) {
+ if (canFly()) setNoGravity(!wasTouchingWater); // Purpur
if (this.tentacleMovement < (float)Math.PI) {
float f = this.tentacleMovement / (float)Math.PI;
this.tentacleAngle = Mth.sin(f * f * (float)Math.PI) * (float)Math.PI * 0.25F;
@@ -366,7 +376,7 @@ public class Squid extends WaterAnimal {
if (this.tentacleMovement < (float) Math.PI) {
float f = this.tentacleMovement / (float) Math.PI;
this.tentacleAngle = Mth.sin(f * f * (float) Math.PI) * (float) Math.PI * 0.25F;
@@ -360,7 +370,7 @@ public class Squid extends WaterAnimal {
int i = this.squid.getNoActionTime();
if (i > 100) {
this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
- } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
+ } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.isInWater() || !this.squid.hasMovementVector()) { // Purpur
float f = this.squid.getRandom().nextFloat() * ((float)Math.PI * 2F);
float f = this.squid.getRandom().nextFloat() * (float) (Math.PI * 2);
float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6950c4f5b1b0fd203c9b7adf92d13a321a8c5af1..de43787965c6d45d398be47988fba31dc12e7032 100644
index 462af0111df5e245bf705f46585924e57a7217cc..7fe8d50f7cf314477d3877826deaed07feabb4b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -902,10 +902,12 @@ public class PurpurWorldConfig {

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Allow infinite and mending enchantments together
diff --git a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
index 518d85a13c37a2f7d32ca0718323181048559986..2c4ce164ab3011f372ff1719c8d4a3331d8db55f 100644
index 04c39359585d909dedbdfd78f6cbdc06b926607a..01796071135d27e0b8801f585a6d96b8f3a31f6c 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
@@ -19,6 +19,6 @@ public class ArrowInfiniteEnchantment extends Enchantment {
@Override
public boolean checkCompatibility(Enchantment other) {
- return other instanceof MendingEnchantment ? false : super.checkCompatibility(other);
+ return other instanceof MendingEnchantment ? org.purpurmc.purpur.PurpurConfig.allowInfinityMending : super.checkCompatibility(other);
- return !(other instanceof MendingEnchantment) && super.checkCompatibility(other);
+ return !(other instanceof MendingEnchantment) && super.checkCompatibility(other) || other instanceof MendingEnchantment && org.purpurmc.purpur.PurpurConfig.allowInfinityMending; // Purpur
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java

View File

@@ -220,10 +220,10 @@ index 77147698154dfa6221a979ba170671d60da048ff..d858d4c94fb17d14367672813b506aea
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 0377d40198b88512b1f204a31367c2db039a7f9c..6eefdf7de7edee63b14bffc60557e9779312270c 100644
index 5db17e4fc120e32e66a3a5c6313471ce5b090346..545e0bfcd602752ad514443917f3015a09a4adcc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -120,6 +120,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -119,6 +119,11 @@ public class PolarBear extends Animal implements NeutralMob {
}
}
@@ -268,7 +268,7 @@ index 1d69558cccc6add5f02f1ff070c985bd5ec406c0..df7deec204ebf99afdbfe49f9a113857
protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 511de848cb9cfed304fa59cb38205db4b71dd8eb..eb1af0926c1c8990602ba4f98cec45d6a0a839aa 100644
index 31ed37796a4c88ecf514f298631f37210daf929a..ccb1ed3f9c3a15489a715e684c0f15d2e67b556f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -108,6 +108,11 @@ public class Turtle extends Animal {
@@ -331,10 +331,10 @@ index 74ca2442008b0dea9f9762bbec8d6de1390f2582..baca84088350c82569fb7969136c65bb
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 156fd7b01853f4ad50235646a15893bb03d631b2..3be70e054c658d34c4aa598ff70c63fa2cff7982 100644
index 709a5b786b56b92e00e25fbc9cf7ac07f093c5a9..907cdc32c30291f5668c806b874da0fbe0754738 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -138,6 +138,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@@ -163,6 +163,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
}
// Purpur end
@@ -362,7 +362,7 @@ index 961f808caa60aba70075572161bcb91cd7201008..0282498c7375a73b6982efb02f3cf321
protected Brain.Provider<Goat> brainProvider() {
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 365273173e37e74470a1cf511334ea8cb25f8302..6932d0eafbeca9de80728c6b0ae42340d2297ad0 100644
index f623586530e9e7783653b95c8c30d07d5eea896f..5b0b7c6bcd01d86552f1967489c5538780b69525 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -37,6 +37,11 @@ public class Donkey extends AbstractChestedHorse {
@@ -378,7 +378,7 @@ index 365273173e37e74470a1cf511334ea8cb25f8302..6932d0eafbeca9de80728c6b0ae42340
protected SoundEvent getAmbientSound() {
return SoundEvents.DONKEY_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 92339f5a07dcb6bf7eb1bce6d584464ebd8430b5..0251ded48eb5bdf96f0e67f6456aa15909c8a4ff 100644
index 5183ac5534b77230f04734264eadbb8d3f0ff7ef..9ed68d07590b6371b6a6ffdd0be39d7a3fa41fd4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -62,6 +62,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
@@ -392,7 +392,7 @@ index 92339f5a07dcb6bf7eb1bce6d584464ebd8430b5..0251ded48eb5bdf96f0e67f6456aa159
+
@Override
protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index b9b66f22ef39cb38bfb4dcbf4e73a0a7da596660..e11fc274f893d501235422839301a5128268199d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -458,7 +458,7 @@ index 85e32d35cdfb7dd11b3c28146b9b71eae2b5c685..0a6cf9f0f16882c8042a333852699129
public boolean isTraderLlama() {
return true;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 4835950272c2a95cbcbfe3423bb83997ec6ee2c1..aaec706b7eaa6afdf7959e6dd53cc39344bb97df 100644
index 52eb412401d6843778ab8c4530e8bb3123a83a0b..625fc14d6ea6049968c99931c412b36cbec92be1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -53,6 +53,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -471,7 +471,7 @@ index 4835950272c2a95cbcbfe3423bb83997ec6ee2c1..aaec706b7eaa6afdf7959e6dd53cc393
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 074835d3e315eb78d318e81c5fd04e5e786e9127..4d1071546f523c63b9c981e90a09393e9e4400fa 100644
@@ -506,10 +506,10 @@ index 9b853fd05a3a851cb08d7f849b51f2b220780982..10136a5062d154456c962e7d1a99c2de
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 9748b32692b14bffde1506e88149939c4ed25900..fae14f6ab139e7d7a0e8625488c472f0d0c1a1e2 100644
index a45df0aeae94f408a24f55bc15c71627c3c95bc1..89b108a248509a72ddd81fdaf70053931f487368 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -91,6 +91,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -114,6 +114,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.hoglinMaxHealth);
}

View File

@@ -19,7 +19,7 @@ index 8cb248a185d880bf82ea4746341fe3db5dc89459..aca5e7a2b0eab93c613b03834509366f
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index 80303f9466b8c7097151be313afc9a383693d18a..e5b7598a5613a8281a991e42af5b950bcc2995ca 100644
index c34701f95580e4cf45fe086115563127432a28c5..2363d9eaad655389c7b7d67d545ef8025f550431 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -268,7 +268,13 @@ public class ItemFrame extends HangingEntity {
@@ -38,11 +38,11 @@ index 80303f9466b8c7097151be313afc9a383693d18a..e5b7598a5613a8281a991e42af5b950b
if (!itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
index 03c065d0ad97d29f3586ba2bf3cd207b867ed634..62cdc36a21c0203ed98d2946a1efdf549a5ca3ea 100644
index 10ee43de05d9f4e0ab980ee5069fe59c0f137403..af07901daaf6a0e5cd7e4b1e07fb491566807932 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
@@ -159,7 +159,13 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
}
@@ -155,7 +155,13 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
return;
}
- this.spawnAtLocation(Items.PAINTING);

View File

@@ -73,10 +73,10 @@ index d3a2a6dee2d83b3df0ddc521c080f7d72b709461..66a568e6803b91040f3933d4598c52fa
if (itemstack.isEmpty()) {
inventorysubcontainer.setItem(j, ItemStack.EMPTY);
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
index 3af715e2f3f3949af614a8fcebbc4a835d48ca49..ade1e411ea1f3b4c9a417265e77b0d6861b222f9 100644
index e215491ebaebfc51445adc01452ce768fff3e2dc..ff32c022fa213142ca4b3ff8e74b6eba8ef52169 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
@@ -56,6 +56,12 @@ public class TradeWithVillager extends Behavior<Villager> {
@@ -61,6 +61,12 @@ public class TradeWithVillager extends Behavior<Villager> {
throwHalfStack(entity, ImmutableSet.of(Items.WHEAT), villager);
}
@@ -90,10 +90,10 @@ index 3af715e2f3f3949af614a8fcebbc4a835d48ca49..ade1e411ea1f3b4c9a417265e77b0d68
throwHalfStack(entity, this.trades, villager);
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
index cd7a90ec1073b2b452ca70decefe6a594445003b..47672e48c1cae73cffe532d622b296343fc12ef0 100644
index d2917f9b215919890f28b513601863ccaced17c7..58338e240079f2de1669e8c2ce839451511feafd 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
@@ -30,8 +30,13 @@ public class VillagerGoalPackages {
@@ -49,8 +49,13 @@ public class VillagerGoalPackages {
}
public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(VillagerProfession profession, float speed) {
@@ -109,7 +109,7 @@ index cd7a90ec1073b2b452ca70decefe6a594445003b..47672e48c1cae73cffe532d622b29634
} else {
workAtPoi = new WorkAtPoi();
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3219d2f13 100644
index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe41814c9b 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
@@ -22,6 +22,13 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
@@ -161,18 +161,18 @@ index 976388612d64cd137b18870119928cbd45dfd2a4..430e660f74ee523d0bb98e21784f3215
});
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3fcb1a907 100644
index 1316f4475802e17039800cc6128e1b065328beb7..d02e2d1aceac651e06a3a3698b7ac64dd30d4b12 100644
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
@@ -26,7 +26,7 @@ public record VillagerProfession(String name, Predicate<Holder<PoiType>> heldJob
@@ -31,7 +31,7 @@ public record VillagerProfession(
public static final VillagerProfession ARMORER = register("armorer", PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);
public static final VillagerProfession BUTCHER = register("butcher", PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);
public static final VillagerProfession CARTOGRAPHER = register("cartographer", PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHER);
- public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, SoundEvents.VILLAGER_WORK_CLERIC);
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur
public static final VillagerProfession FARMER = register("farmer", PoiTypes.FARMER, ImmutableSet.of(Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT_SEEDS, Items.BONE_MEAL), ImmutableSet.of(Blocks.FARMLAND), SoundEvents.VILLAGER_WORK_FARMER);
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
public static final VillagerProfession FARMER = register(
"farmer",
PoiTypes.FARMER,
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c034b4686a1f5c67daef7ece163b92f54c6813d4..aebeb25fcb6b9a72ad52d249f8df794c3f5cce11 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 02be3c960bc89464b589a557d4269fce8fb88766..0461debc992ad7812a28ea73f3e18d5c0c22f700 100644
index 708b01fa5a86e736fcb110d1a5c0efafde600964..787a2d1b8c887e17f9f9565c292c585e996ca1d2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1818,7 +1818,7 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -1,36 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Wed, 6 Jan 2021 02:19:29 -0600
Subject: [PATCH] Fix rotating UP/DOWN CW and CCW
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
index 392406722b0a040c1d41fdc1154d75d39f6e9c86..b805e57d5a67d77d226cd8154e970050e2e8ef4a 100644
--- a/src/main/java/net/minecraft/core/Direction.java
+++ b/src/main/java/net/minecraft/core/Direction.java
@@ -253,6 +253,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = SOUTH;
break;
+ // Purpur start
+ case UP:
+ return UP;
+ case DOWN:
+ return DOWN;
+ // Purpur end
default:
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
}
@@ -365,6 +371,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = NORTH;
break;
+ // Purpur start
+ case UP:
+ return UP;
+ case DOWN:
+ return DOWN;
+ // Purpur end
default:
throw new IllegalStateException("Unable to get CCW facing of " + this);
}

View File

@@ -9,7 +9,7 @@ Normally, the sounds will only play when the block directly above is air.
With this patch enabled, players can place any block above the Note Block and it will still work.
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
index ff16075fbfe664c73a46bc4b002450867974114e..604053c7b5b2b7f2f1666baa3e0ce5acf3b37e46 100644
index a541dc3a6e373b30fff0abf5305e77854c190f10..ac88cb949808752a340637ffcb9d7256b7d09478 100644
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
@@ -94,7 +94,7 @@ public class NoteBlock extends Block {
@@ -22,7 +22,7 @@ index ff16075fbfe664c73a46bc4b002450867974114e..604053c7b5b2b7f2f1666baa3e0ce5ac
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
// if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1ee8dfb7d6efea66293cfd8059b8a84a77999fb2..647b58652a87d1d1b4b022853052ea19afa80152 100644
index 6fbc12411573bbc4794319d41655a1e18ab62768..81b64e25046f212d48a729726758464bb9e42e7f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {

View File

@@ -74,7 +74,7 @@ index 8be3d696f6401189406032dd8d45dc747f546df5..4997f120aa9877c199fbcaa0c2f65226
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 74599d29538b7072464d3bb16b6356da09513d21..61348dfaab2fe3da35ae3195b7224e4b239dddd8 100644
index 85d154f18e240cac77e023b4b5983ad7a95912b5..cac42202295b16de0466216f64be4fdf30929a7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -253,6 +253,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -89,7 +89,7 @@ index 74599d29538b7072464d3bb16b6356da09513d21..61348dfaab2fe3da35ae3195b7224e4b
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index bcf3393ad12a70eea0e1b24f69fac15b08af32fb..f74e632f6be8ab2c7bdf9f5ba2ad2a2a0ef4d14e 100644
index 5cb6572563bad1ef5ed755f94c5d0a854867406f..aad02ebc0df97e6e7024add8fce149b54124a58b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1356,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -12,7 +12,7 @@ necessary to trample in the first place. Feather Falling 1 requires
you to fall over 3+ blocks to trample. FF 2 requires 4+, etc.
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
index bcef88bf7e9d4fa09c4ebec26464b5bfb96d865d..5c93cf7f97ecf4fba2c905b293ca7d21d1424f30 100644
index e9ab88a5c68565f2245b3397edcffb0544a29fea..00a6aa924e47e18ae80b57e9fe1d38e2de15dd72 100644
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
@@ -125,12 +125,20 @@ public class FarmBlock extends Block {
@@ -37,7 +37,7 @@ index bcef88bf7e9d4fa09c4ebec26464b5bfb96d865d..5c93cf7f97ecf4fba2c905b293ca7d21
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 68a3f2be0b4d99041dcdb9e37c0e1dbcb9c1ae87..87daca07c8f22475921fb8ee968e3d5bfbb0a41c 100644
index 9f2e762af41f422cef9937896427332d06d545e9..67b147b5d725f354149cc715102ec8fc879452e3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -457,10 +457,16 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ca0719307e4d50b3dcfe13195f1c1e680b00350c..7380008f1bd25eb459e5875f753015593135486f 100644
index 047c4111d247cea4f203df1a8b11ca5913d513c1..53a695f5425717a47f47ca4585b9b79847ab4a47 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1885,7 +1885,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a30732576b86bcf9c56e7d0ced8eb8490af13515..e76d1a202bea3dd94cbdbdfca9b052ca1db9142f 100644
index 8c7333578d0fa28a1ebdd11e768e51a85bed725e..b7fedc1eb9f3d94cba8ac9d7da72fff03af723f0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1271,6 +1271,7 @@ public class ServerPlayer extends Player {
@@ -17,7 +17,7 @@ index a30732576b86bcf9c56e7d0ced8eb8490af13515..e76d1a202bea3dd94cbdbdfca9b052ca
// CraftBukkit end
this.setServerLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7380008f1bd25eb459e5875f753015593135486f..79f6b204668a508d2afd305f520c413f9f5fa8f1 100644
index 53a695f5425717a47f47ca4585b9b79847ab4a47..09d131178fb6428ba65cd4f08a5badb8693be626 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3164,12 +3164,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for water sensitive mob damage
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index 19f95ddb2fa9dd264947a8b0033dd7437ee66c7f..d04e48d6a0a6dc7825a3e3d4cf854e294a75d19c 100644
index 1330c4a4d9ff347e62a284eb8b71c107d87baf83..d5bcc6e678aec21da855eea805a58a965ef5edee 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -46,6 +46,11 @@ public class GlowSquid extends Squid {
@@ -254,10 +254,10 @@ index d858d4c94fb17d14367672813b506aea9e2e4ee1..f32cc2884696db956e10d350f9737602
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 6eefdf7de7edee63b14bffc60557e9779312270c..e03c84575360a65425d7ec375ea9bc17e33bdddb 100644
index 545e0bfcd602752ad514443917f3015a09a4adcc..a1747c6495286dfa13543d698d00d4cf410f74c1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -125,6 +125,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -124,6 +124,11 @@ public class PolarBear extends Animal implements NeutralMob {
return this.level().purpurConfig.polarBearBreedingTicks;
}
@@ -347,7 +347,7 @@ index 1d70a108293a61b7813b70cc9ce600a3e7b167d5..d46ab4d56e4c34b4dbe7a3df0785ab87
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 3166987e324c37a07b8c6b8cc78443a1022b9670..fb6fd5e00053ae8bae1f225ffd57fac787fdc2d5 100644
index 65d0e602a9cab5d51d1a27f690524ddad72bd2a5..ad2a3e593d2376556ca44ebf4539efe7382e1483 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -90,6 +90,11 @@ public class Squid extends WaterAnimal {
@@ -363,10 +363,10 @@ index 3166987e324c37a07b8c6b8cc78443a1022b9670..fb6fd5e00053ae8bae1f225ffd57fac7
protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
index 7d02e552a27632939bb9c40a62f4e0df7bd60bbc..b16d075581a352714f86f1b87805f24c9e336aa3 100644
index 3d40df730780fcc91c3a352c7572e60458fc5bb0..9c860b3091c991b0c1447860311097a5fc1df685 100644
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
@@ -59,6 +59,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
@@ -82,6 +82,11 @@ public class TropicalFish extends AbstractSchoolingFish implements VariantHolder
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.tropicalFishMaxHealth);
}
@@ -379,7 +379,7 @@ index 7d02e552a27632939bb9c40a62f4e0df7bd60bbc..b16d075581a352714f86f1b87805f24c
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index eb1af0926c1c8990602ba4f98cec45d6a0a839aa..a8102248bf5dc1b5c7659c42239b8d418e842aac 100644
index ccb1ed3f9c3a15489a715e684c0f15d2e67b556f..315006bdb344bb52a077c49a96c7712a33fbb0eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -113,6 +113,11 @@ public class Turtle extends Animal {
@@ -443,7 +443,7 @@ index 0282498c7375a73b6982efb02f3cf3215f4211b0..5b3126168e9406f6cbd0607b6b7cc2de
protected Brain.Provider<Goat> brainProvider() {
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 6932d0eafbeca9de80728c6b0ae42340d2297ad0..af4bac165cbc39fb6959983a1116a6fb65af0ecb 100644
index 5b0b7c6bcd01d86552f1967489c5538780b69525..92fccfde550f4a01f860e3bcfcf953d3e6ae02e3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -42,6 +42,11 @@ public class Donkey extends AbstractChestedHorse {
@@ -459,7 +459,7 @@ index 6932d0eafbeca9de80728c6b0ae42340d2297ad0..af4bac165cbc39fb6959983a1116a6fb
protected SoundEvent getAmbientSound() {
return SoundEvents.DONKEY_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 0251ded48eb5bdf96f0e67f6456aa15909c8a4ff..f8dbea402f723bf38d7ab3f2468d1b02b7124560 100644
index 9ed68d07590b6371b6a6ffdd0be39d7a3fa41fd4..13c2fe236661c42b5b45e2870d0cb59a890196cd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -67,6 +67,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
@@ -473,7 +473,7 @@ index 0251ded48eb5bdf96f0e67f6456aa15909c8a4ff..f8dbea402f723bf38d7ab3f2468d1b02
+
@Override
protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index e11fc274f893d501235422839301a5128268199d..fb2b0ebd9314ab7fc911e842767bd60b1db92b96 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -539,7 +539,7 @@ index 0a6cf9f0f16882c8042a333852699129402f75f2..a3c80184abcc2d884b692b90d267ab33
public boolean isTraderLlama() {
return true;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index aaec706b7eaa6afdf7959e6dd53cc39344bb97df..dcc1d71c2eeea48669651165868899ba4a797d48 100644
index 625fc14d6ea6049968c99931c412b36cbec92be1..78c6077f3909e29a7f51f22d4f6bdecd7144f598 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -58,6 +58,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -552,7 +552,7 @@ index aaec706b7eaa6afdf7959e6dd53cc39344bb97df..dcc1d71c2eeea48669651165868899ba
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 39cf974313c7c0bdcd6599c6c8bec450efe0277a..0ce3acdc0bc72bba3b59d480e7e4135b3d794fca 100644
@@ -587,7 +587,7 @@ index 3cc47b0e05621c913a3e8d04c653bafab4a86744..db5a8b93b9cefca4566d3abc2b4c55d4
protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
index 04226492a5655e4a3a9716590e2af7fc79560ad9..eae0511698f383e11a0083c2b845479755f114f7 100644
index 7b55851008f711a5968fcdf94c0ad18bcd6cf9ee..e8427b486efdea67079a40e2e001c0a3401711b2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
@@ -33,7 +33,7 @@ public class Blaze extends Monster {
@@ -599,7 +599,7 @@ index 04226492a5655e4a3a9716590e2af7fc79560ad9..eae0511698f383e11a0083c2b8454797
this.setPathfindingMalus(BlockPathTypes.LAVA, 8.0F);
this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, 0.0F);
this.setPathfindingMalus(BlockPathTypes.DAMAGE_FIRE, 0.0F);
@@ -143,7 +143,7 @@ public class Blaze extends Monster {
@@ -153,7 +153,7 @@ public class Blaze extends Monster {
@Override
public boolean isSensitiveToWater() {
@@ -743,7 +743,7 @@ index edd3b7a855165eb090edb9ad95d36cdb649d231e..fa74eb7ee34f3f9b0026778bc0d37e97
protected void defineSynchedData() {
super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index d014731fe352246299253bf005e23673abe091bc..ecaccb4697bf2acaa6dc9034486fcf97c184aa71 100644
index 9b0c7681b30338141ba888ca5a66076cf856d946..c54c364e5c680982a8c4c0285a7dd5289d2546fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -75,6 +75,11 @@ public class Giant extends Monster {
@@ -807,7 +807,7 @@ index c00530db0eff302c14dd9c52d1d988cbdd93e5a1..43d4cea02ae94a8842cd4c1370d1b80e
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
index b472309f97b24f1d7b97d8b6d464c479c2d602d5..e0ebc4c2d8dd718ce78d981a1d099e7482221f1f 100644
index 8cdce384f6d191231012788f27753f0f03753460..f3925c70fc9f1fd0764058b1f2b1f050394c20ce 100644
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
@@ -67,6 +67,11 @@ public class MagmaCube extends Slime {
@@ -820,7 +820,7 @@ index b472309f97b24f1d7b97d8b6d464c479c2d602d5..e0ebc4c2d8dd718ce78d981a1d099e74
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
}
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 2bd1fce22cf01a441f75f918e036598e8fb3ee04..637b229817f9f2c3ad224f300b56a6bee4c8a341 100644
@@ -951,7 +951,7 @@ index 3f67ab84485737291aec531441d88b74f7f7522c..d3f1d7b2a5721933b0a8d697f1f6456d
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Stray.java b/src/main/java/net/minecraft/world/entity/monster/Stray.java
index 77d4d37cffe959031296614751961ca7c7400c31..b4d8a37343f801731bc7041f3391c1a70c2c9d01 100644
index e1327ea96fe394b1c27dbe88c49596256e4e61d3..509c7d79340673e213910ea74a5237332792a3b4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Stray.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Stray.java
@@ -43,6 +43,11 @@ public class Stray extends AbstractSkeleton {
@@ -1005,10 +1005,10 @@ index 0dae7c87a9f61a7d8e493537e0aada78370bb334..fae7e1e780d0429341adf21afd57ab23
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
return dimensions.height - 0.28125F;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 653959246bc3ede46419fd2afbd238bc33a4047e..97087016883c8b5517d06755de19c672cc3f03bd 100644
index f1acdeb3a851c0d622c5ba8ab760a70a6f97f90e..1042f0804ba1b89680d625354a2de184b91da437 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -80,6 +80,11 @@ public class Vindicator extends AbstractIllager {
@@ -78,6 +78,11 @@ public class Vindicator extends AbstractIllager {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.vindicatorMaxHealth);
}
@@ -1053,10 +1053,10 @@ index afad65b86e762187d0779cfee2b0b1089066d53f..986183cab6c7d48a4716440dcc764bdd
protected void registerGoals() {
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
index 1d862dd019b2d024f61cfc8956430d18d94b1ebf..8cd6012b00dd5b307fd76ef0fd9c2cd92342a92a 100644
index 62d0c4dcb2992b665e473726a09d3fa457420395..763b28965418f2146a64c1ecde41ac536502936a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
@@ -91,6 +91,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
@@ -104,6 +104,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zoglinMaxHealth);
}
@@ -1117,10 +1117,10 @@ index e73fb1027acd592c7e028e1797042fe38c6c04a3..e6b653c75a4c3306e06bfcadb4c4b53b
public boolean jockeyOnlyBaby() {
return level().purpurConfig.zombifiedPiglinJockeyOnlyBaby;
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index fae14f6ab139e7d7a0e8625488c472f0d0c1a1e2..7a167887c40eccea4c216eb906a4a69006f72114 100644
index 89b108a248509a72ddd81fdaf70053931f487368..5a42325d4acd32d1e8bd2f8dff1b43f3ef160535 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -96,6 +96,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -119,6 +119,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
return this.level().purpurConfig.hoglinBreedingTicks;
}
@@ -1149,10 +1149,10 @@ index 03b58860ecb72976ecce99f368d16942557236b9..20ecfcbe948d02bb61b8f673f5330d2f
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
index 04e54c241078e6cd6419a21ba1bf913fd3b413d1..b63d87df0f48dd63c89118f91b31dc4e3622e3b8 100644
index dc70d4819fbc2aa5b6a026f2aff2f52bc836901c..532b14a6330a72e06b47ababee012762b8f76884 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
@@ -63,6 +63,11 @@ public class PiglinBrute extends AbstractPiglin {
@@ -85,6 +85,11 @@ public class PiglinBrute extends AbstractPiglin {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.piglinBruteMaxHealth);
}
@@ -1162,7 +1162,7 @@ index 04e54c241078e6cd6419a21ba1bf913fd3b413d1..b63d87df0f48dd63c89118f91b31dc4e
+ }
+
public static AttributeSupplier.Builder createAttributes() {
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0).add(Attributes.MOVEMENT_SPEED, 0.35F).add(Attributes.ATTACK_DAMAGE, 7.0);
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 430e660f74ee523d0bb98e21784f32158495de7a..870330f95fa1c1b4b8fb5f5e59a9770fb9389eb5 100644

View File

@@ -20,7 +20,7 @@ index b0944fa1f3849dd24cd010fa0a6638f5fd7179d1..a3074ec9b430c9d0a0ef33fe353db643
return;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 9279eb3c7a8affbecba1a8b27ca0685021676f39..9a40cd8d7d4789a8b43f5194bdc67dc6753eed21 100644
index a4b3d724f30ccf0eddfb41d6997d0aa9b1847b7a..d9b19f74b377721ed78cd0ea24d25e412cef1398 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -471,7 +471,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -33,7 +33,7 @@ index 9279eb3c7a8affbecba1a8b27ca0685021676f39..9a40cd8d7d4789a8b43f5194bdc67dc6
this.setOrderedToSit(true);
this.level().broadcastEntityEvent(this, (byte) 7);
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 1fd962ef8bd53cd29c58509952e9d47a9d7e2020..a23d9adec5ef24f11129dff2d0da3544037898fb 100644
index a6189e785af61d1cbed2022d68312d9fa69f68a8..242f30ed7855cd7b66c20df4aa424155dcd0e3a6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -336,7 +336,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -46,7 +46,7 @@ index 1fd962ef8bd53cd29c58509952e9d47a9d7e2020..a23d9adec5ef24f11129dff2d0da3544
this.level().broadcastEntityEvent(this, (byte) 7);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index f79dff635b09300f8d2cff0562f71587496ed33d..6b51886e383992f35e0313bd9cc012354190a87d 100644
index 8dc0a8a7b24b874d886626fa6ba757308b0d721b..69caba70009268f7af7299f8a1dd84dc43caddf8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -532,7 +532,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -59,7 +59,7 @@ index f79dff635b09300f8d2cff0562f71587496ed33d..6b51886e383992f35e0313bd9cc01235
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e8d642f0bffb2a12b91b125d3f0536d76fd285e9..bab096e2c073510f4e91ab34c4555fad966b7141 100644
index b4b9520cbd113abfd8cb99168c7f90ad3c83c563..f1e99cc608fb9afab44c2c960c7b74468ec62c07 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b690728cb250ed76dc4a3ade0ec10531c8bb0d70..affe433994ec5c5cd6cecd3989a5daa90db3b203 100644
index d662faa62c73d332682dc691c5401bec3a47bff1..ccd830286153405206110334cf58323315c02b7e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1653,6 +1653,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -37,10 +37,10 @@ index b690728cb250ed76dc4a3ade0ec10531c8bb0d70..affe433994ec5c5cd6cecd3989a5daa9
AABB axisalignedbb1 = this.player.getBoundingBox().move(newX - this.player.getX(), newY - this.player.getY(), newZ - this.player.getZ());
Iterable<VoxelShape> iterable = world.getCollisions(this.player, axisalignedbb1.deflate(9.999999747378752E-6D));
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index 9c99b2e365aacb8309f29acb9025faccd2c676b3..5c9d49b40a940df724101bef339a9ac5a31fd025 100644
index 7056c8ca7a87748f14142c6af274aae492f29f1c..d8c5fb5432f0b09124d7f4dbc7b50859c1a84cc7 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
+++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
@@ -99,6 +99,11 @@ public class CombatTracker {
@@ -97,6 +97,11 @@ public class CombatTracker {
Component component = ComponentUtils.wrapInSquareBrackets(Component.translatable(string + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE);
return Component.translatable(string + ".message", this.mob.getDisplayName(), component);
} else {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 0461debc992ad7812a28ea73f3e18d5c0c22f700..f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc 100644
index 787a2d1b8c887e17f9f9565c292c585e996ca1d2..e4592de07e66e2eb89b5555d747253203c84c608 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2356,6 +2356,20 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 487e4ab76e255e10369f7968d73d41956e99ae66..8f3d2257a5be732883e18c821844d1ebb5a72f7d 100644
index b7fedc1eb9f3d94cba8ac9d7da72fff03af723f0..6df13e5920a9191751ada925c272e2dba30396cb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1428,7 +1428,7 @@ public class ServerPlayer extends Player {
@@ -18,7 +18,7 @@ index 487e4ab76e255e10369f7968d73d41956e99ae66..8f3d2257a5be732883e18c821844d1eb
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c4c1e27efbc121f120f68a554cd5bf37443923e1..f2dc663616d7c78cf448ab3e3e8758e1e6716d2b 100644
index c129a628a409d02e29ca565eaaa0a664ffb9cfb9..08429712b69283fe2f88ebe09e79cbe604d3d7d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -353,6 +353,7 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index 7655e6d36e29ba8a64729e6a0688e81ffefa95fa..67f3928f4a03a8d546c55e46a1f094a3
@Override
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index b004f072d2a67ad9fb39dd6fbd3a30c94016202f..326d1db39e3d3cd46cb5a584e2a7b82dd46ff8fa 100644
index b61d659dc48f795c7f2d62044c245e342cd322e5..d9761d8fe746e925a7a32dfc15eb8045c6150fe5 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -75,6 +75,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
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 013fd016d384f1bf94b875bc71139e0ea4e12d21..cf9eb1ac36a5c9d3c73b981e1649bb23c7bfaf39 100644
index 065e7c0d1cd1d3bbf72b03dd73dd9e567aec642b..df3e07c6a3ea04b0709f3fdb0d8e96858f3bb728 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -134,7 +134,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,7 +18,7 @@ index 013fd016d384f1bf94b875bc71139e0ea4e12d21..cf9eb1ac36a5c9d3c73b981e1649bb23
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f2dc663616d7c78cf448ab3e3e8758e1e6716d2b..f64597083c7505d27b57a0fb31d52ee347151e8a 100644
index 08429712b69283fe2f88ebe09e79cbe604d3d7d9..9fd2e59124b9e0165d9dc3941af0470de2ae544c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -997,6 +997,8 @@ public class PurpurWorldConfig {

View File

@@ -7,7 +7,7 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
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 3fbe607e763910f7520604d3b8b8207086ba7f90..627cbec30c15fa4d11689cb85add6ad61d58b47a 100644
index df3e07c6a3ea04b0709f3fdb0d8e96858f3bb728..7621237df388ee10ef962b0c4e795c9de88762d0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -271,7 +271,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -20,7 +20,7 @@ index 3fbe607e763910f7520604d3b8b8207086ba7f90..627cbec30c15fa4d11689cb85add6ad6
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5d1dd1c3572365e2054b0848548fe736d4f21d55..414838cf7fe3796e8d829609ac126e5b9c4afd50 100644
index 9fd2e59124b9e0165d9dc3941af0470de2ae544c..968de6c1a1c2fbed623778613ce6d45b54b98f8e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -999,6 +999,8 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index 9b3dcf1a4d4cece92a629506d341f6bfe79d13d0..0ed39daf88a98f7fa887fb45d4f7c034
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 414838cf7fe3796e8d829609ac126e5b9c4afd50..0b60f77cfbe2247586d51999ac94f4f5cb011847 100644
index 968de6c1a1c2fbed623778613ce6d45b54b98f8e..d4703bb2846d74025cfff1aa63e8cc01c6bceb2c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -129,6 +129,7 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Config to disable Llama caravans
Disables the mechanic where llamas follow leashed llamas.
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
index 849f0c7c6d13df00d90211a48d8b56ab156812b8..3fc9528201fb96d6a0f905afe0b6a82ec88a7235 100644
index 50622e300950b017b41a6f85643c8827a0113225..1a8ae9a692ea0727ad79c6061a11054ee496fa20 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
@@ -22,7 +22,7 @@ public class LlamaFollowCaravanGoal extends Goal {
@@ -16,10 +16,10 @@ index 849f0c7c6d13df00d90211a48d8b56ab156812b8..3fc9528201fb96d6a0f905afe0b6a82e
- if (!this.llama.shouldJoinCaravan) return false; // Purpur
+ if (!this.llama.level().purpurConfig.llamaJoinCaravans || !this.llama.shouldJoinCaravan) return false; // Purpur
if (!this.llama.isLeashed() && !this.llama.inCaravan()) {
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0, 4.0, 9.0), entity -> {
EntityType<?> entityType = entity.getType();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 58175824dc315134b03b9dabfcae04e192af0b86..8d57bf9bbd1f61e6f1509c8b5cf01756ef145571 100644
index fb2b0ebd9314ab7fc911e842767bd60b1db92b96..30493e675d6308d65a4d4fa3fea601b6d7e4fa76 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -519,7 +519,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -32,7 +32,7 @@ index 58175824dc315134b03b9dabfcae04e192af0b86..8d57bf9bbd1f61e6f1509c8b5cf01756
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 90ee419cc60748233ac8b8903ca154182bfe727d..f2357e851fcea101d1a6f262ff88561b774032b0 100644
index d4703bb2846d74025cfff1aa63e8cc01c6bceb2c..238f8dd90bbf9897cb28c4783ad43382be0a836a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {

View File

@@ -31,7 +31,7 @@ index 07b148fc31aee3ce009d1d768ae16d98268339cc..55e28eef76d9d534037d888d85c06090
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b9903d3794fc5f25f5be2e3ebd2c4b7188a507d9..70b740ae9efc960266900a1c5b1d478d1794f5eb 100644
index 78d088e0ae3186f72dc8898a65ef2983e7d608ab..cc365ef1a435c05639e1261bc349df3517e4a44b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {

View File

@@ -90,7 +90,7 @@ index f9084e2605d7403721fe6b714bfad051f932aaef..47b7baa41f341087bcd5dfec1d2a13b9
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 70b740ae9efc960266900a1c5b1d478d1794f5eb..419ddcb1197fe839d8fd5ab2fd65a22b0ff1bae5 100644
index cc365ef1a435c05639e1261bc349df3517e4a44b..5739e18827d77dc594894f7cf8d7ceb9f7b83df1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -479,6 +479,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index d92c809cb8dff4d146e98f20daf286180f0c43a6..5af5a22e725bdae1cc15702b37982f585c46286f 100644
index b0e9bc26843c61b735a2045a154152df4b6aa28a..74f9b208b822ef3c53113004b40366e44fdb8201 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -840,7 +840,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -18,7 +18,7 @@ index d92c809cb8dff4d146e98f20daf286180f0c43a6..5af5a22e725bdae1cc15702b37982f58
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 419ddcb1197fe839d8fd5ab2fd65a22b0ff1bae5..e51a38ca916e91255c46b864e45428a364e59539 100644
index 5739e18827d77dc594894f7cf8d7ceb9f7b83df1..adb72146f6d6fd1389d99f833115ff8bc68f925b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinity on crossbows
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
index 06689ee8799079510a1a4e7b68029b9629e318fb..fdf9972bb9374789b063d191d9d419cca5975b23 100644
index f3a428f80c265639250114498b10067b4bf1ada1..f9a9bc27670bb7ec82a609f202edbde6b5a4fd46 100644
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
@@ -114,7 +114,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
@@ -27,7 +27,7 @@ index 06689ee8799079510a1a4e7b68029b9629e318fb..fdf9972bb9374789b063d191d9d419cc
if (!itemstack1.isEmpty()) {
if (i == 0) {
diff --git a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
index 2c4ce164ab3011f372ff1719c8d4a3331d8db55f..27512787b37381a5236b1b473e9ce3f06df8e2d0 100644
index 01796071135d27e0b8801f585a6d96b8f3a31f6c..127950c54ae057b3d0eb62e8f81d5eef6f11a36c 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
@@ -7,6 +7,14 @@ public class ArrowInfiniteEnchantment extends Enchantment {
@@ -46,10 +46,10 @@ index 2c4ce164ab3011f372ff1719c8d4a3331d8db55f..27512787b37381a5236b1b473e9ce3f0
public int getMinCost(int level) {
return 20;
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java
index 246516e67db0b8b197b287c067d5a0163d8bde22..859435f747ceef860cb4e9e825a7353ea3b90798 100644
index afd74b274aa46b1e2187935ebeb2a8824a133867..cc83aa539f8538fbaed8a3e52d9d9d8901e4793d 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java
@@ -121,6 +121,14 @@ public enum EnchantmentCategory {
@@ -113,6 +113,14 @@ public enum EnchantmentCategory {
public boolean canEnchant(Item item) {
return item instanceof Vanishable || Block.byItem(item) instanceof Vanishable || BREAKABLE.canEnchant(item);
}
@@ -65,7 +65,7 @@ index 246516e67db0b8b197b287c067d5a0163d8bde22..859435f747ceef860cb4e9e825a7353e
public abstract boolean canEnchant(Item item);
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
index 5b7579395e61684592758f408d61cffe57f8b21d..5045e9d133f1675c2498f9bdd46797da8d2924e0 100644
index a151b5d7c6e41b08e57c806bc43e067af48263ed..c1be4eb145e1a7e7749d24958bfed5c8268f1131 100644
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
@@ -71,6 +71,7 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 79f6b204668a508d2afd305f520c413f9f5fa8f1..b14b99b8f0ce427da999e486bfed84ad38a19d8c 100644
index 09d131178fb6428ba65cd4f08a5badb8693be626..53c20b7e1e8d27b4a13e18ae8fa437e83b208c78 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3413,7 +3413,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -18,7 +18,7 @@ index 79f6b204668a508d2afd305f520c413f9f5fa8f1..b14b99b8f0ce427da999e486bfed84ad
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc..fa289f634d4a674d6cb5d9633ae6d1997a02fd59 100644
index e4592de07e66e2eb89b5555d747253203c84c608..83be9f0a75371046f7c4e1e8b064a7c7534c74f6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -439,7 +439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 4a7134c6da15bd69f7d4e3ffe452e5915abb738e..587bf8027765ab678ea15a24e7953f81dd4e6d64 100644
index ac49288d59eee3657e0db9ed385248f6b91095cc..1aa98f8ff062a906035c62875c454aeb0bc6f179 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -397,6 +397,7 @@ public class ServerPlayerGameMode {
@@ -17,7 +17,7 @@ index 4a7134c6da15bd69f7d4e3ffe452e5915abb738e..587bf8027765ab678ea15a24e7953f81
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/SlabBlock.java b/src/main/java/net/minecraft/world/level/block/SlabBlock.java
index adc7eba4bb5e8f7c507a16cdbd7497338a7658cf..512c528e0f2f3aa0da0253698a0189415329265a 100644
index 70544a7bd9205f2438abcc576e94ad632dc37c58..e4032c851210d7e187d06e4c0f91b492933c9d67 100644
--- a/src/main/java/net/minecraft/world/level/block/SlabBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SlabBlock.java
@@ -138,4 +138,25 @@ public class SlabBlock extends Block implements SimpleWaterloggedBlock {
@@ -47,7 +47,7 @@ index adc7eba4bb5e8f7c507a16cdbd7497338a7658cf..512c528e0f2f3aa0da0253698a018941
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 91f224d89bf1af363162e0a39ca61a440bc07b96..1df92111b03b3cb56989dfe17e4c5597c7988c46 100644
index 6ce44d87b5d71e27102e9611af1817b3bcd809dc..b196564104c8acd43ed462a4fd2c3cfc799ac604 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -600,6 +600,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable hostile mob spawn on ice
diff --git a/src/main/java/net/minecraft/world/entity/monster/Monster.java b/src/main/java/net/minecraft/world/entity/monster/Monster.java
index 127a344f35e194fc7b1a0783c75291fab929fe19..d90d8539815d92143c994108efdfcc18bcb3b158 100644
index 759839e912c54598b257ad738481364940f88a18..e60e6b3e5ae5a468cfe649ed2222412f3bc8b268 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Monster.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Monster.java
@@ -89,6 +89,14 @@ public abstract class Monster extends PathfinderMob implements Enemy {
@@ -88,6 +88,14 @@ public abstract class Monster extends PathfinderMob implements Enemy {
}
public static boolean isDarkEnoughToSpawn(ServerLevelAccessor world, BlockPos pos, RandomSource random) {
@@ -24,7 +24,7 @@ index 127a344f35e194fc7b1a0783c75291fab929fe19..d90d8539815d92143c994108efdfcc18
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0f13f4727ee854fa66df7ec9f49d33622a05e252..40afefd48f10068c48f2db6524c1c24cb5348c28 100644
index b196564104c8acd43ed462a4fd2c3cfc799ac604..b8d5b60abe228456e62b5bee33bb65d19c9f71d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -565,6 +565,13 @@ public class PurpurWorldConfig {

View File

@@ -67,7 +67,7 @@ index ed57fbcfcff29a71026b0600b02daf4178d78429..31a5d3a5642123983b8c7df49be04f25
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f023b83b2e7084ee661673080c4573c4bce9f355..4957adad4022b244ad04c04ad87563239bcc0469 100644
index d4afdff36ef3fe477ca4b8dfe2cf44965d73dc50..1f04cb26fb29f8c107415c1b28c39dfec264bf70 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -504,6 +504,16 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ 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
index 37d9c354af887c474094b1a364782007a5f2035d..ec86231077f6a1e03068507555539c5b550ddf31 100644
index 15bfe2e58d16864af29b04c17181ebf45fa21eba..8b0c61bcdb8e00dda6fb8f43e6d74711361eba9c 100644
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
@@ -48,7 +48,7 @@ public class EnchantCommand {
@@ -70,7 +70,7 @@ public class EnchantCommand {
private static int enchant(CommandSourceStack source, Collection<? extends Entity> targets, Holder<Enchantment> enchantment, int level) throws CommandSyntaxException {
Enchantment enchantment2 = enchantment.value();
@@ -17,14 +17,14 @@ index 37d9c354af887c474094b1a364782007a5f2035d..ec86231077f6a1e03068507555539c5b
throw ERROR_LEVEL_TOO_HIGH.create(level, enchantment2.getMaxLevel());
} else {
int i = 0;
@@ -58,7 +58,7 @@ public class EnchantCommand {
LivingEntity livingEntity = (LivingEntity)entity;
@@ -81,7 +81,7 @@ public class EnchantCommand {
ItemStack itemStack = livingEntity.getMainHandItem();
if (!itemStack.isEmpty()) {
- if (enchantment2.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2)) {
+ if ((enchantment2.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2)) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur
if (enchantment2.canEnchant(itemStack)
- && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2)) {
+ && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment2) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur
itemStack.enchant(enchantment2, level);
++i;
i++;
} 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
index fc71e25bb657581db5b79623c4ea6adc5f9e2b12..3f13c6fb479db34c0c4d1e0f9241919f2e62cd53 100644

View File

@@ -18,7 +18,7 @@ index 33df0ca406dc8321b76b393f317bbd1c8ebe6366..220513d3fd5645322886522ea4f6b8c5
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
index fdf9972bb9374789b063d191d9d419cca5975b23..b112845e94d354bbadff67673ea0b4939672bd3e 100644
index f9a9bc27670bb7ec82a609f202edbde6b5a4fd46..05d3a7c077df1b92819655790230cd22028f6893 100644
--- a/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 {
@@ -83,7 +83,7 @@ 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());
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
index 75cf58919ac787b389286b41a9f0b5a945e71649..3f922008f928ed077e9ddfd4384ed7bbf7cb293d 100644
index c2218c2dd46641ebb4c9278fa0d6015122b1905c..7030d94ba14ecacc1e5cd6d6432b1bcb59c8b646 100644
--- a/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 {
@@ -96,7 +96,7 @@ index 75cf58919ac787b389286b41a9f0b5a945e71649..3f922008f928ed077e9ddfd4384ed7bb
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
index 1de0fbb72819f6de3897d9c165e2f07c3b9a5280..88dd3e74675886789abc29b65bd2931a50c0a9c1 100644
index f51f9b485bb5b84d92afb84ebef3a41af9e22b09..090a7dbc0b9188df189286c2034a874b0782be65 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -422,6 +422,23 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index b84c48902ef24fdae17578a304e6c93dc20c5dce..e03125281767845564c48c98c3e6b6bb
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bdac4ecd881b9469a319275f9c0f074ccffe48c2..70f29c7adf3118c63bec2d12c01a6d59c6fffa82 100644
index 090a7dbc0b9188df189286c2034a874b0782be65..4fc7d6e06343aa9afa20bee24cb80653000dd54c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -615,6 +615,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ Difficulties:
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
index c51ac562d642061ce60db66ae9a86eecd9d85ecb..673dd5cc5c83eb606aa5684b8ae14b82e0346a35 100644
index 613df7b174ba4cb87314a631ebc7dfeda8ede58f..f7b724696151b73343feac1ce406fca9377f2508 100644
--- a/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 {
@@ -31,7 +31,7 @@ index c51ac562d642061ce60db66ae9a86eecd9d85ecb..673dd5cc5c83eb606aa5684b8ae14b82
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 70f29c7adf3118c63bec2d12c01a6d59c6fffa82..18143874afd0fb7b6fdc7f1471368bced0dc39d5 100644
index 4fc7d6e06343aa9afa20bee24cb80653000dd54c..50373f138db63443dee0ca28781ae0a0cc65fa24 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ 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
index 55b0e2bf98a285cdcd30e40d94192b7a1802efd8..b37b7f58d59616cd409bbab701659c8e8879ccc7 100644
index d445ed0895293dd45c36226051f5809be8587ebe..2b12596ee7ea1a40120c60c6f43e9e42cc6dfae9 100644
--- a/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 {

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
index 8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94..beaa7e817fb923b9cb1a9df63ddce3fe9e087061 100644
index c37b3486dcc75c5c78d605afeff2e3f723940636..b4a38621b58e16b2bf48b3d45d85130e8883b477 100644
--- a/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 {

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
index 2944b64e3dd5d413ccc12330118eb5248888e21f..288e3cf7d522232aeb40090537a55a2cf06d92e2 100644
index b0d96ae08959cdca9177eb875faa99f4a8e92632..546ff84046856ecfe0f2a07d3ba3f886f8df4dca 100644
--- a/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
@@ -29,10 +29,10 @@ index 2944b64e3dd5d413ccc12330118eb5248888e21f..288e3cf7d522232aeb40090537a55a2c
return this.worldPosition;
}
diff --git a/src/main/java/net/minecraft/server/commands/GameModeCommand.java b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
index 5cb15e2209d7b315904a1fc6d650ce1e75584271..7e21db60f3ace2a19686d6ea04b994ec3a793ec8 100644
index d1da3600dc07107309b20ebe6e7c0c4da0e8de76..244b4719c689f153fa36381a60acc280bb0bd9b3 100644
--- a/src/main/java/net/minecraft/server/commands/GameModeCommand.java
+++ b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
@@ -45,6 +45,18 @@ public class GameModeCommand {
@@ -57,6 +57,18 @@ public class GameModeCommand {
}
private static int setMode(CommandContext<CommandSourceStack> context, Collection<ServerPlayer> targets, GameType gameMode) {
@@ -50,7 +50,7 @@ index 5cb15e2209d7b315904a1fc6d650ce1e75584271..7e21db60f3ace2a19686d6ea04b994ec
+ // Purpur end
int i = 0;
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
index dd95b3bfe59f2bb635afe92317288efcd2986326..11f43f44f359ce57d3a8f3322e58b9f5dfdaf00a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable piston push limit
diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonStructureResolver.java b/src/main/java/net/minecraft/world/level/block/piston/PistonStructureResolver.java
index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87dbb4cef178 100644
index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032b2dd69cd 100644
--- a/src/main/java/net/minecraft/world/level/block/piston/PistonStructureResolver.java
+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonStructureResolver.java
@@ -86,7 +86,7 @@ public class PistonStructureResolver {
@@ -81,7 +81,7 @@ public class PistonStructureResolver {
return true;
} else {
int i = 1;
@@ -16,17 +16,17 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
+ if (i + this.toPush.size() > this.level.purpurConfig.pistonBlockPushLimit) { // Purpur
return false;
} else {
while(isSticky(blockState)) {
@@ -98,7 +98,7 @@ public class PistonStructureResolver {
while (isSticky(blockState)) {
@@ -95,7 +95,7 @@ public class PistonStructureResolver {
break;
}
++i;
- if (i + this.toPush.size() > 12) {
+ if (i + this.toPush.size() > this.level.purpurConfig.pistonBlockPushLimit) { // Purpur
- if (++i + this.toPush.size() > 12) {
+ if (++i + this.toPush.size() > this.level.purpurConfig.pistonBlockPushLimit) { // Purpur
return false;
}
}
@@ -142,7 +142,7 @@ public class PistonStructureResolver {
@@ -140,7 +140,7 @@ public class PistonStructureResolver {
return true;
}
@@ -36,7 +36,7 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fa3d2dbea60d7d40e30d7c8205c97f3a44b6f948..eeba42faac3cf16be92054bd3f04eb761e257656 100644
index 8b7c68d7d7ae77ba216a004724d088956a1dfce4..500b14f0b27b0c1ba29bdb499f30726c48e6fa20 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -610,6 +610,11 @@ public class PurpurWorldConfig {

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
index fcb5965ff0a9623a8e63a4b7413ad55416d269d9..9abce8a22246f449e1e508dc9972d14cfb8c7c6f 100644
index e3e2e69e4ed2fb97c17481c88965f7f2997304ac..ba8a8575af92541cef2e116743d51cd68d1e794a 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -250,6 +250,7 @@ public class PlayerAdvancements {
@@ -17,7 +17,7 @@ index fcb5965ff0a9623a8e63a4b7413ad55416d269d9..9abce8a22246f449e1e508dc9972d14c
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8f3d2257a5be732883e18c821844d1ebb5a72f7d..386a74f8a6f61fb745a1e36d8955d26bfc2ad78a 100644
index 6df13e5920a9191751ada925c272e2dba30396cb..13f39b219615b8091284f4ac56d76a505956a556 100644
--- a/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 {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable mob blindness
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
index fa289f634d4a674d6cb5d9633ae6d1997a02fd59..926962fc5631faa4672c8dd2fdb72b9ef6947292 100644
index 83be9f0a75371046f7c4e1e8b064a7c7534c74f6..ef830481a816c743aa3b0feee5c0f2cf51fea7fa 100644
--- a/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 {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Hide hidden players from entity selector
diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
index 73c15a0c56a103ba4e62f0a51af8d42566b07245..d630c5a1aed706265d1e077da540c0bf723b838d 100644
index 676a1499747b071515479130875157263d3a8352..fc1bba350030c076405711716e9830f8ae7f3953 100644
--- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
+++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
@@ -200,10 +200,10 @@ public class EntitySelector {

View File

@@ -5,7 +5,7 @@ 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
index 58539d29b8e2a8c0676cc574f64e7d61613e1451..1ffb8e1c386fc85796432281ac407a935169b186 100644
index 669132fb78d3fd72f73d4c20370f0213879baeaa..75a44fdb1228233ac2abe1d33bde8d978a8a994b 100644
--- a/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 {
@@ -25,7 +25,7 @@ index 58539d29b8e2a8c0676cc574f64e7d61613e1451..1ffb8e1c386fc85796432281ac407a93
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 59cb375fce3f2917d86617854a18dfa55766daf4..9d03449e5d939e8dfa0ce57d89688da8bc36ee4d 100644
index 8694ba3aea41f83d16d0a761b922b6b248e5942f..d0127081efd973efd40a9ec5fc0d94092021c688 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1386,6 +1386,8 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ 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
index a23d9adec5ef24f11129dff2d0da3544037898fb..a3304ce24c08e4250df81a2d09098b8cbbc604bd 100644
index 242f30ed7855cd7b66c20df4aa424155dcd0e3a6..c69a096b6bd7700191f88a3c03c8d018ca9d4201 100644
--- a/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
@@ -50,7 +50,7 @@ index a23d9adec5ef24f11129dff2d0da3544037898fb..a3304ce24c08e4250df81a2d09098b8c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9d03449e5d939e8dfa0ce57d89688da8bc36ee4d..d37804b18bcb413e465a31d4dfdae8725a0b0237 100644
index d0127081efd973efd40a9ec5fc0d94092021c688..f64fc6d1fd21b63752694b5dbfcf618e619a359e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1556,6 +1556,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ 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
index d5e2797b392527de4027b20f29c73a16eb0d6af9..c809e370ab61811c7e2fa3d6f207ae04fcb6749b 100644
index 93f42963816caa2a5f5b94c3bc1b87bbc9052a01..eb5bd5cfd131042e366872bf599a315d83dc732b 100644
--- a/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 {
@@ -18,7 +18,7 @@ index d5e2797b392527de4027b20f29c73a16eb0d6af9..c809e370ab61811c7e2fa3d6f207ae04
Vec3 vec3d5 = this.getDeltaMovement();
double d21 = vec3d5.x;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d37804b18bcb413e465a31d4dfdae8725a0b0237..69b27f8dc9b813022dc2c92f43f6f1ef6d986c99 100644
index f64fc6d1fd21b63752694b5dbfcf618e619a359e..8e5faebee176a1ff625bb46b9dddd5391bc80a34 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -275,6 +275,7 @@ public class PurpurWorldConfig {

View File

@@ -19,7 +19,7 @@ index 7f365143ce5c62e734eceb855ba0a02ab3a99b27..bbb266cbe23da2573d3dfb3a6edd5746
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e10690939e782e0a5cab3d5816d87906cf9898f4..e50d8cb072acd403c285fee9a0df80e4d5946846 100644
index 97f2212ca175ad6152acc3fab35dd6d1c2e83a8b..96d04052d419e4b74826c63fb4a687bf7490d4c1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -537,6 +537,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ 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
index b9117be53b8b8b37af54621f54480f275546f0fd..cbcb16a6ccab1681dea22407f859f86dc1b9fe22 100644
index c5fa9f4d28f9a7f64a50a902ee5e631bfc00119c..8b62f992ec61d0a66a3856b4928ee2d705548291 100644
--- a/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,

View File

@@ -5,7 +5,7 @@ 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
index ceac7d74f6fbe6519535357a03a0e4d1214d6a1d..27d76e0c4809d333c548379bf78ec2db083b027e 100644
index 3f13c6fb479db34c0c4d1e0f9241919f2e62cd53..2913d69fcff4b6df68586146b7323cea33eba74b 100644
--- a/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 {

View File

@@ -18,7 +18,7 @@ index 52a7a8b35cf0f7b52d5de253b21f7713ab261544..8d80055253008bb1b2ed77e91a1c51c9
return flag && !this.isHiveNearFire();
} 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
index b37b7f58d59616cd409bbab701659c8e8879ccc7..dc5bcf8f7662bd1feb4375605f27c320878bf7e0 100644
index 2b12596ee7ea1a40120c60c6f43e9e42cc6dfae9..ba610e05806ad020d439d59d30b820bc9cd3fbff 100644
--- a/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 {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
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
index f7e482ac8dec8a8c6ae9965acbc41a2af00aebe1..e9bdb223886f1c2e91324c01ea0203b7c319ec48 100644
index 53c20b7e1e8d27b4a13e18ae8fa437e83b208c78..2cac12d2b788b0962b719a83b43dc23177b76ac6 100644
--- a/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

View File

@@ -59,7 +59,7 @@ index b994ae09621934df2cdd6a83a7d8ecb44649fb16..c2b812c992db1ac9cd391da902c8d819
((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
index 1f9e0c139988c4c44a26552881647d36965aa4fa..b8d612d22aca74a08b53393c0723a2ae3a0b9ddf 100644
index cc45fd864185a7842c465e26304b36f7c744bb93..434390a6b88eac7bd41ad6b05d223c78571885fb 100644
--- a/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 {

View File

@@ -5,7 +5,7 @@ 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
index f13943db6f2fb923c52dcf9e8bf7000041d0a362..a5f9747be5503dd24abd98f11cfa8229448ca3bf 100644
index 4b81b0180dfc96fc6a88646838a886ca5b5d301b..4a0bca08585fae3620da108f6a4cc07e500e5e03 100644
--- a/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
@@ -26,7 +26,7 @@ index f13943db6f2fb923c52dcf9e8bf7000041d0a362..a5f9747be5503dd24abd98f11cfa8229
} else {
return effectRange;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1d9ed4a7d89e259beb6bf05dc624a15588adc099..fca69da24c29c9215529e5a203d7ab282ec4b7f7 100644
index 515c15d6d8f87a1aa677db0cdf7605bbd2421fe0..991e8491c5bc254eb2ba0cbdcd06cb410d286fbb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -504,6 +504,17 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ 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
index b9ed172cee34ef2e140c362b9ac7030c8231b97a..aef2bd930125b3fbd9f564db86a575ddfbd7d894 100644
index 74f9b208b822ef3c53113004b40366e44fdb8201..d3340055cf5c79b1f7430dc64516118bbb707086 100644
--- a/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 {

View File

@@ -53,10 +53,10 @@ index 31284660a9718503a1ce474c56d993de3126a1ea..df944e733ca589d407af3709e0ff025f
@Nullable
diff --git a/src/main/java/net/minecraft/world/item/DyeColor.java b/src/main/java/net/minecraft/world/item/DyeColor.java
index 88e1c2431d51d8cdc3d555b711e506648225d289..ac8735cc9d127fc1f867b40d4000c033ef73bb83 100644
index c7e36bd598090b7d9f818ac1f6b39e13e64e8bf7..e2a960e2dc5414c731feeb5444792d6b26487c9f 100644
--- a/src/main/java/net/minecraft/world/item/DyeColor.java
+++ b/src/main/java/net/minecraft/world/item/DyeColor.java
@@ -103,4 +103,10 @@ public enum DyeColor implements StringRepresentable {
@@ -101,4 +101,10 @@ public enum DyeColor implements StringRepresentable {
public String getSerializedName() {
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
index 7fbd4bf29bcc0795aa4b0e6d5d4bc3745bf7a1c0..e83ea53da012f3dcaa1f53bf6082a17a69e6ee13 100644
index c157e7f6fa28f713fcfb699daa329abed0b32cd5..bb2103a488964f25335393fa91e8ae5749eca333 100644
--- a/src/main/java/net/minecraft/world/item/Items.java
+++ b/src/main/java/net/minecraft/world/item/Items.java
@@ -1224,7 +1224,7 @@ public class Items {
public static final Item LANTERN = registerBlock(Blocks.LANTERN);
public static final Item SOUL_LANTERN = registerBlock(Blocks.SOUL_LANTERN);
public static final Item SWEET_BERRIES = registerItem("sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, (new Item.Properties()).food(Foods.SWEET_BERRIES)));
- public static final Item GLOW_BERRIES = registerItem("glow_berries", new ItemNameBlockItem(Blocks.CAVE_VINES, (new Item.Properties()).food(Foods.GLOW_BERRIES)));
+ public static final Item GLOW_BERRIES = registerItem("glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, (new Item.Properties()).food(Foods.GLOW_BERRIES))); // Purpur
@@ -1535,7 +1535,7 @@ public class Items {
"sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, new Item.Properties().food(Foods.SWEET_BERRIES))
);
public static final Item GLOW_BERRIES = registerItem(
- "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
);
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE);
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE);
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc612f8328abfa27d784181c5aebbcd9e0b10c05..b21d288f62f473cd9d1057d3d2a452f16b0291d0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -17,7 +17,7 @@ index 9c335df92b0a6c7705c9def89ba5c320d2c8ed03..c2b8a653b01aa3e0856afa3e96555f5e
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 69af88f3ed690cbb751d367171c4cf6aa0ee2fca..1381e16fcac730eaecfc621a0c602bbf15d744f3 100644
index 9d6424c79b10e76685de55a9d0d05653ac3e3c5f..0e9cf9f9ad81363cdeacd3da3a776aaad39045f9 100644
--- a/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

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
index 2e75fd06e9e379eb95ebfe55086ffc327706ab2f..2918b1aca8fae6a319881a631dc727b6d375a33c 100644
index 4f8689e8cbc8b6b9f44168126b95cc864a383c9e..b05bb4caf57965b82d841f52d6ea27985a5efc84 100644
--- a/src/main/java/net/minecraft/world/item/AxeItem.java
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java
@@ -33,13 +33,15 @@ public class AxeItem extends DiggerItem {
@@ -55,13 +55,15 @@ public class AxeItem extends DiggerItem {
Level level = context.getLevel();
BlockPos blockPos = context.getClickedPos();
Player player = context.getPlayer();
@@ -26,7 +26,7 @@ index 2e75fd06e9e379eb95ebfe55086ffc327706ab2f..2918b1aca8fae6a319881a631dc727b6
return InteractionResult.PASS;
}
// Paper end
@@ -47,35 +49,40 @@ public class AxeItem extends DiggerItem {
@@ -69,32 +71,41 @@ public class AxeItem extends DiggerItem {
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
}
@@ -42,9 +42,7 @@ index 2e75fd06e9e379eb95ebfe55086ffc327706ab2f..2918b1aca8fae6a319881a631dc727b6
+ level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state));
+ // Purpur end
if (player != null) {
itemStack.hurtAndBreak(1, player, (p) -> {
p.broadcastBreakEvent(context.getHand());
});
itemStack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(context.getHand()));
}
- return InteractionResult.sidedSuccess(level.isClientSide);
@@ -69,10 +67,12 @@ index 2e75fd06e9e379eb95ebfe55086ffc327706ab2f..2918b1aca8fae6a319881a631dc727b6
world.levelEvent(player, 3005, pos, 0);
return optional2;
} else {
- Optional<BlockState> optional3 = Optional.ofNullable(HoneycombItem.WAX_OFF_BY_BLOCK.get().get(state.getBlock())).map((block) -> {
- return block.withPropertiesOf(state);
- });
+ Optional<org.purpurmc.purpur.tool.Actionable> optional3 = Optional.ofNullable(world.purpurConfig.axeWaxables.get(state.getBlock())); // Purpur
- Optional<BlockState> optional3 = Optional.ofNullable(HoneycombItem.WAX_OFF_BY_BLOCK.get().get(state.getBlock()))
- .map(block -> block.withPropertiesOf(state));
+ // Purpur start
+ Optional<org.purpurmc.purpur.tool.Actionable> optional3 = Optional.ofNullable(world.purpurConfig.axeWaxables.get(state.getBlock()));
+ // .map(block -> block.withPropertiesOf(state));
+ // Purpur end
if (optional3.isPresent()) {
- world.playSound(player, pos, SoundEvents.AXE_WAX_OFF, SoundSource.BLOCKS, 1.0F, 1.0F);
+ world.playSound(HoneycombItem.WAX_OFF_BY_BLOCK.get().containsKey(state.getBlock()) ? player : null, pos, SoundEvents.AXE_WAX_OFF, SoundSource.BLOCKS, 1.0F, 1.0F); // Purpur - force sound
@@ -80,10 +80,10 @@ index 2e75fd06e9e379eb95ebfe55086ffc327706ab2f..2918b1aca8fae6a319881a631dc727b6
return optional3;
} else {
diff --git a/src/main/java/net/minecraft/world/item/HoeItem.java b/src/main/java/net/minecraft/world/item/HoeItem.java
index 180aec596110309aade13d2080f8824d152b07cb..552c31c0f3746dd35388395036e70a925bf00bd4 100644
index 704cbc775c9f7663c57c431e8a7651d7684ccc34..26a73f3982db764c4793326b41a541dffc416559 100644
--- a/src/main/java/net/minecraft/world/item/HoeItem.java
+++ b/src/main/java/net/minecraft/world/item/HoeItem.java
@@ -34,15 +34,23 @@ public class HoeItem extends DiggerItem {
@@ -45,15 +45,23 @@ public class HoeItem extends DiggerItem {
public InteractionResult useOn(UseOnContext context) {
Level level = context.getLevel();
BlockPos blockPos = context.getClickedPos();
@@ -114,7 +114,7 @@ index 180aec596110309aade13d2080f8824d152b07cb..552c31c0f3746dd35388395036e70a92
if (!level.isClientSide) {
consumer.accept(context);
if (player != null) {
@@ -52,7 +60,7 @@ public class HoeItem extends DiggerItem {
@@ -61,7 +69,7 @@ public class HoeItem extends DiggerItem {
}
}
@@ -124,10 +124,10 @@ index 180aec596110309aade13d2080f8824d152b07cb..552c31c0f3746dd35388395036e70a92
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
index 21212462e6b415e96536a27b2c009d1562f18946..193bcb12152347f5f02ce18b01ba918e5e838f30 100644
index 9aba0211f37501bbd19b583d22fa83eae32390d9..f44e28bf44b9d39267d21eaf6a025b5f28f3cd72 100644
--- a/src/main/java/net/minecraft/world/item/ShovelItem.java
+++ b/src/main/java/net/minecraft/world/item/ShovelItem.java
@@ -37,9 +37,12 @@ public class ShovelItem extends DiggerItem {
@@ -46,9 +46,12 @@ public class ShovelItem extends DiggerItem {
BlockState blockState2 = FLATTENABLES.get(blockState.getBlock());
BlockState blockState3 = null;
Runnable afterAction = null; // Paper
@@ -143,7 +143,7 @@ index 21212462e6b415e96536a27b2c009d1562f18946..193bcb12152347f5f02ce18b01ba918e
} else if (blockState.getBlock() instanceof CampfireBlock && blockState.getValue(CampfireBlock.LIT)) {
afterAction = () -> { // Paper
if (!level.isClientSide()) {
@@ -68,7 +71,7 @@ public class ShovelItem extends DiggerItem {
@@ -75,7 +78,7 @@ public class ShovelItem extends DiggerItem {
}
}

View File

@@ -5,7 +5,7 @@ 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
index aef2bd930125b3fbd9f564db86a575ddfbd7d894..9394aa9e300721b335238f143500528e93ce8385 100644
index d3340055cf5c79b1f7430dc64516118bbb707086..4a08c804c3e31a80ee9b663a44fd60142709c9c6 100644
--- a/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 {
@@ -38,7 +38,7 @@ index aef2bd930125b3fbd9f564db86a575ddfbd7d894..9394aa9e300721b335238f143500528e
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c679111a4420ee55b191ad768444123d41d250fb..bc153d1f14483ecaf648918f269e81a11151e392 100644
index 13f39b219615b8091284f4ac56d76a505956a556..65e549ebad6f89640000f27356f1de434c5925c8 100644
--- a/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 {

View File

@@ -17,7 +17,7 @@ index c2b8a653b01aa3e0856afa3e96555f5e8f0e81bd..0026235782aeb5e663faa3aaf1104063
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
index bc153d1f14483ecaf648918f269e81a11151e392..8601df7eefe25b2a6f5cc3a2dbda35695b1e0202 100644
index 65e549ebad6f89640000f27356f1de434c5925c8..0ba6ecf578e731a9705a384944aed482f829b58d 100644
--- a/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 {

View File

@@ -5,7 +5,7 @@ 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
index 4af345c848040fabdde82b4f0493ba796a7fef1f..9f542c8ddb25faaef00d5db354f1c1fe3cfc3c45 100644
index cd87e7c52b75c6ba40343557ba12c7891da88e07..3a1b8a94642339a96d8f7391714fae1648dc5149 100644
--- a/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 {

Some files were not shown because too many files have changed in this diff Show More