mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Updated Upstream (Gale)
Upstream has released updates that appear to apply and compile correctly Gale Changes: Dreeam-qwq/Gale@f2c8aaf Sync update from ver/1.21.1 branch
This commit is contained in:
@@ -2,7 +2,7 @@ group = cn.dreeam.leaf
|
|||||||
mcVersion = 1.21.3
|
mcVersion = 1.21.3
|
||||||
version = 1.21.3-R0.1-SNAPSHOT
|
version = 1.21.3-R0.1-SNAPSHOT
|
||||||
|
|
||||||
galeCommit = 3ec901d62b70f97c091a7557d17d05272270f367
|
galeCommit = f2c8aafc2707715a1b68c95d6f179509ab1640ba
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ index c8c2394558952d7ca57d29874485251b8f2b3400..24eaa9a2e6f0cf198a307058e655d5eb
|
|||||||
@Nullable
|
@Nullable
|
||||||
private Component description;
|
private Component description;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index ba1fc908290db310bec38c8eb1a3e464dd105bf6..fdeb3e58de44bba282cc5aa37f744a9e8c27ed46 100644
|
index 3b10055c589575078bed8c79b3a0967d3f237957..97e63541e76d0dfeb18d69c08114e9652ab30c96 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -237,10 +237,10 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -237,10 +237,10 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -258,10 +258,10 @@ index 9d9d58ab055b5bccedd6ebc9f6853ca8206cde65..64f3204b4b6ac0c57d0eb833a959f666
|
|||||||
super.customServerAiStep(world);
|
super.customServerAiStep(world);
|
||||||
if ((this.tickCount + this.getId()) % 120 == 0) {
|
if ((this.tickCount + this.getId()) % 120 == 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
|
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 de542de264d2a4ffa84699c34d3c576578c3d2a5..99f1c604a2e67043cbc53092a50d84b745640069 100644
|
index 08c780e9e1e167b84f70dce691bb564c8420b286..bb5a924c203be427e3faf84917b86622fdec5f25 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -140,6 +140,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
return holder.is(PoiTypes.MEETING);
|
return holder.is(PoiTypes.MEETING);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -270,7 +270,7 @@ index de542de264d2a4ffa84699c34d3c576578c3d2a5..99f1c604a2e67043cbc53092a50d84b7
|
|||||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||||
this(entityType, world, VillagerType.PLAINS);
|
this(entityType, world, VillagerType.PLAINS);
|
||||||
}
|
}
|
||||||
@@ -245,6 +247,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -243,6 +245,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}
|
}
|
||||||
// Spigot End
|
// Spigot End
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ index de542de264d2a4ffa84699c34d3c576578c3d2a5..99f1c604a2e67043cbc53092a50d84b7
|
|||||||
@Override
|
@Override
|
||||||
protected void customServerAiStep(ServerLevel world) {
|
protected void customServerAiStep(ServerLevel world) {
|
||||||
// Paper start - EAR 2
|
// Paper start - EAR 2
|
||||||
@@ -252,7 +255,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -250,7 +253,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}
|
}
|
||||||
protected void customServerAiStep(ServerLevel world, final boolean inactive) {
|
protected void customServerAiStep(ServerLevel world, final boolean inactive) {
|
||||||
// Paper end - EAR 2
|
// Paper end - EAR 2
|
||||||
|
|||||||
@@ -2890,7 +2890,7 @@ index 167d164d07285bfff6eb8076d7abe17ca9543df9..260e9b0398ddaacacfe5de352ac686ef
|
|||||||
return slot != EquipmentSlot.HEAD && slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND ? SlotAccess.forEquipmentSlot(entity, slot, (itemstack) -> {
|
return slot != EquipmentSlot.HEAD && slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND ? SlotAccess.forEquipmentSlot(entity, slot, (itemstack) -> {
|
||||||
return itemstack.isEmpty() || entity.getEquipmentSlotForItem(itemstack) == slot;
|
return itemstack.isEmpty() || entity.getEquipmentSlotForItem(itemstack) == slot;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 45c6001811a45f989464c7d5bb27f1362f6a84de..dfae42ed76d11438ac79d083c82914c60f0e606e 100644
|
index 92e38600c64fa8311a191f76aa9c7654ce10c5b4..a2ab53e70328b4ac0d019ebbd3d3cffeeb29d76b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -146,6 +146,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -146,6 +146,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -3005,16 +3005,15 @@ index 45c6001811a45f989464c7d5bb27f1362f6a84de..dfae42ed76d11438ac79d083c82914c6
|
|||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1722,28 +1752,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1722,27 +1752,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
// Gale end - JettPack - optimize sun burn tick - cache eye blockpos
|
// Gale end - JettPack - optimize sun burn tick - cache eye blockpos
|
||||||
|
|
||||||
public boolean isSunBurnTick() {
|
public boolean isSunBurnTick() {
|
||||||
- if (this.level().isDay() && !this.level().isClientSide) {
|
- if (this.level().isDay() && !this.level().isClientSide) {
|
||||||
- // Gale start - JettPack - optimize sun burn tick - optimizations and cache eye blockpos
|
- // Gale start - JettPack - optimize sun burn tick - optimizations and cache eye blockpos
|
||||||
- int positionHashCode = this.position.hashCode();
|
- if (this.cached_position != this.position) {
|
||||||
- if (this.cached_position_hashcode != positionHashCode) {
|
|
||||||
- this.cached_eye_blockpos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
- this.cached_eye_blockpos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
||||||
- this.cached_position_hashcode = positionHashCode;
|
- this.cached_position = this.position;
|
||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
- float f = this.getLightLevelDependentMagicValue(cached_eye_blockpos); // Pass BlockPos to getBrightness
|
- float f = this.getLightLevelDependentMagicValue(cached_eye_blockpos); // Pass BlockPos to getBrightness
|
||||||
@@ -3036,7 +3035,7 @@ index 45c6001811a45f989464c7d5bb27f1362f6a84de..dfae42ed76d11438ac79d083c82914c6
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1805,4 +1815,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1804,4 +1815,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
public float[] getArmorDropChances() {
|
public float[] getArmorDropChances() {
|
||||||
return this.armorDropChances;
|
return this.armorDropChances;
|
||||||
}
|
}
|
||||||
@@ -3290,11 +3289,11 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c
|
|||||||
&& this.lookTime > 0
|
&& this.lookTime > 0
|
||||||
&& entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent();
|
&& entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent();
|
||||||
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
|
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 90ae43979e05839d676ab51feb489955ecbee50e..1acf55dd527ac06a46f7e29a720ec53565ddcb9d 100644
|
index 8508ac7de8cda3127b73e11ff4aee62502e65ead..b1544e028d5a9b84b944e1fb5a12bb163067fb54 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/TradeWithVillager.java
|
||||||
@@ -62,6 +62,12 @@ public class TradeWithVillager extends Behavior<Villager> {
|
@@ -59,6 +59,12 @@ public class TradeWithVillager extends Behavior<Villager> {
|
||||||
throwHalfStack(entity, WHEAT_SINGLETON_ARRAY, villager); // Gale - optimize villager data storage
|
throwHalfStack(entity, ImmutableSet.of(Items.WHEAT), villager);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -3303,9 +3302,9 @@ index 90ae43979e05839d676ab51feb489955ecbee50e..1acf55dd527ac06a46f7e29a720ec535
|
|||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
+
|
+
|
||||||
// Gale start - optimize villager data storage
|
if (!this.trades.isEmpty() && entity.getInventory().hasAnyOf(this.trades)) {
|
||||||
if (this.trades != null && entity.getInventory().hasAnyOf(this.trades)) {
|
|
||||||
throwHalfStack(entity, this.trades, villager);
|
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
|
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 bb65d46967cb04f611b3c9c97d5732cfb21ede9b..7f4156e4690bbd57f9e9141f008851062cae733d 100644
|
index bb65d46967cb04f611b3c9c97d5732cfb21ede9b..7f4156e4690bbd57f9e9141f008851062cae733d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
|
||||||
@@ -3516,7 +3515,7 @@ index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c
|
|||||||
// Paper end - optimise POI access
|
// Paper end - optimise POI access
|
||||||
if (path != null && path.canReach()) {
|
if (path != null && path.canReach()) {
|
||||||
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
|
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 8bed5992f639f805ccdec56a90101004570dc265..675126d9ab94b6c69d0436a42b9594a567aca6e4 100644
|
index 1595568f3140a62b0f2236644ac2da11db12af05..d548d1b2686667d809f363cd0ae4444bc3918bf2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||||
@@ -29,6 +29,13 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
@@ -29,6 +29,13 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
||||||
@@ -3532,16 +3531,16 @@ index 8bed5992f639f805ccdec56a90101004570dc265..675126d9ab94b6c69d0436a42b9594a5
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
ResourceKey<Level> resourceKey = world.dimension();
|
ResourceKey<Level> resourceKey = world.dimension();
|
||||||
BlockPos blockPos = entity.blockPosition();
|
BlockPos blockPos = entity.blockPosition();
|
||||||
@org.jetbrains.annotations.Nullable java.util.ArrayList<GlobalPos> list = null; // Gale - optimize villager data storage
|
List<GlobalPos> list = Lists.newArrayList();
|
||||||
@@ -50,7 +57,7 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
@@ -45,7 +52,7 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- Brain<?> brain = entity.getBrain();
|
- Brain<?> brain = entity.getBrain();
|
||||||
+ //Brain<?> brain = entity.getBrain(); // Purpur - moved up
|
+ //Brain<?> brain = entity.getBrain(); // Purpur - moved up
|
||||||
// Gale start - optimize villager data storage
|
if (!list.isEmpty()) {
|
||||||
if (list != null) {
|
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||||
list.trimToSize();
|
} else {
|
||||||
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
|
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 b51a04d3e006bc770006cff790791bc0f6bee77d..886ca1c8a22714bc299ad08659e5279281669bb3 100644
|
index b51a04d3e006bc770006cff790791bc0f6bee77d..886ca1c8a22714bc299ad08659e5279281669bb3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
@@ -12094,10 +12093,10 @@ index b0236c7bf9441aa84d3795ffed05dd6099f29636..796dcc0dcf9022b455b8847e045266b8
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
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 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810e6569d85 100644
|
index bb5a924c203be427e3faf84917b86622fdec5f25..fd373d98f836c057c30c4fbd5d7618cc4e757b78 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
@@ -141,6 +141,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -139,6 +139,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}, MemoryModuleType.MEETING_POINT, (entityvillager, holder) -> {
|
}, MemoryModuleType.MEETING_POINT, (entityvillager, holder) -> {
|
||||||
return holder.is(PoiTypes.MEETING);
|
return holder.is(PoiTypes.MEETING);
|
||||||
});
|
});
|
||||||
@@ -12106,7 +12105,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
|
|
||||||
public long nextGolemPanic = -1; // Pufferfish
|
public long nextGolemPanic = -1; // Pufferfish
|
||||||
|
|
||||||
@@ -158,6 +160,93 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -156,6 +158,93 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -12200,7 +12199,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
@Override
|
@Override
|
||||||
public Brain<Villager> getBrain() {
|
public Brain<Villager> getBrain() {
|
||||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||||
@@ -192,7 +281,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -190,7 +279,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
|
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
|
||||||
} else {
|
} else {
|
||||||
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||||
@@ -12209,7 +12208,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
}
|
}
|
||||||
|
|
||||||
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
|
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
|
||||||
@@ -219,7 +308,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -217,7 +306,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
@@ -12218,7 +12217,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean assignProfessionWhenSpawned() {
|
public boolean assignProfessionWhenSpawned() {
|
||||||
@@ -253,10 +342,18 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -251,10 +340,18 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
// Paper start - EAR 2
|
// Paper start - EAR 2
|
||||||
this.customServerAiStep(world, false);
|
this.customServerAiStep(world, false);
|
||||||
}
|
}
|
||||||
@@ -12239,7 +12238,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
this.getBrain().tick(world, this); // Paper
|
this.getBrain().tick(world, this); // Paper
|
||||||
}
|
}
|
||||||
// Pufferfish end
|
// Pufferfish end
|
||||||
@@ -315,7 +412,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -313,7 +410,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) {
|
if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) {
|
||||||
if (this.isBaby()) {
|
if (this.isBaby()) {
|
||||||
this.setUnhappy();
|
this.setUnhappy();
|
||||||
@@ -12248,7 +12247,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
} else {
|
} else {
|
||||||
if (!this.level().isClientSide) {
|
if (!this.level().isClientSide) {
|
||||||
boolean flag = this.getOffers().isEmpty();
|
boolean flag = this.getOffers().isEmpty();
|
||||||
@@ -329,9 +426,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -327,9 +424,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag) {
|
if (flag) {
|
||||||
@@ -12261,7 +12260,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
this.startTrading(player);
|
this.startTrading(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -496,7 +595,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -494,7 +593,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
MerchantOffer merchantrecipe = (MerchantOffer) iterator.next();
|
MerchantOffer merchantrecipe = (MerchantOffer) iterator.next();
|
||||||
|
|
||||||
@@ -12270,7 +12269,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -729,7 +828,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -727,7 +826,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canBreed() {
|
public boolean canBreed() {
|
||||||
@@ -12279,7 +12278,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean hungry() {
|
private boolean hungry() {
|
||||||
@@ -931,6 +1030,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -906,6 +1005,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
|
|
||||||
public boolean hasFarmSeeds() {
|
public boolean hasFarmSeeds() {
|
||||||
return this.getInventory().hasAnyMatching((itemstack) -> {
|
return this.getInventory().hasAnyMatching((itemstack) -> {
|
||||||
@@ -12291,7 +12290,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
return itemstack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS);
|
return itemstack.is(ItemTags.VILLAGER_PLANTABLE_SEEDS);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -988,6 +1092,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -963,6 +1067,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) {
|
public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) {
|
||||||
@@ -12299,7 +12298,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
if (this.wantsToSpawnGolem(time)) {
|
if (this.wantsToSpawnGolem(time)) {
|
||||||
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
|
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
|
||||||
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
|
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
|
||||||
@@ -1052,6 +1157,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -1027,6 +1132,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startSleeping(BlockPos pos) {
|
public void startSleeping(BlockPos pos) {
|
||||||
@@ -12313,7 +12312,7 @@ index 99f1c604a2e67043cbc53092a50d84b745640069..4767cd3a59155f643d95211c71c19810
|
|||||||
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
|
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
|
||||||
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
|
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
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 35c4638f5c46310c75b27548223fcaf5f8702113..4f3ce7ff387835b8a14eb36c90700fdb837a933c 100644
|
index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d4dc0a683 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||||
@@ -31,7 +31,7 @@ public record VillagerProfession(
|
@@ -31,7 +31,7 @@ public record VillagerProfession(
|
||||||
|
|||||||
@@ -131,16 +131,16 @@ index eb8ea4df3996a22d46a6fdc1df2fa1f26aa95aec..7434eac75587ed82e60a25145f42ec3e
|
|||||||
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
||||||
return;
|
return;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 68f94543395c143234957cd5e33600a0c4b1c87d..3665fa73fb0bd788335a8bbbdaa8f5aba0b45d8b 100644
|
index 68f94543395c143234957cd5e33600a0c4b1c87d..ee64667e5c33afd68d4458bffd858c66db4c1421 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -579,13 +579,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -579,13 +579,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
// Purpur start - copied from Mob - API for any mob to burn daylight
|
// Purpur start - copied from Mob - API for any mob to burn daylight
|
||||||
+ // Gale start - JettPack - optimize sun burn tick - cache eye blockpos - copied from Mob#isSunBurnTick
|
+ // Gale start - JettPack - optimize sun burn tick - cache eye blockpos - copied from Mob#isSunBurnTick
|
||||||
+ private BlockPos cached_eye_blockpos;
|
+ private BlockPos cached_eye_blockpos;
|
||||||
+ private int cached_position_hashcode;
|
+ private net.minecraft.world.phys.Vec3 cached_position;
|
||||||
+ // Gale end - JettPack - optimize sun burn tick - cache eye blockpos - copied from Mob#isSunBurnTick
|
+ // Gale end - JettPack - optimize sun burn tick - cache eye blockpos - copied from Mob#isSunBurnTick
|
||||||
+
|
+
|
||||||
public boolean isSunBurnTick() {
|
public boolean isSunBurnTick() {
|
||||||
@@ -148,10 +148,9 @@ index 68f94543395c143234957cd5e33600a0c4b1c87d..3665fa73fb0bd788335a8bbbdaa8f5ab
|
|||||||
- float f = this.getLightLevelDependentMagicValue();
|
- float f = this.getLightLevelDependentMagicValue();
|
||||||
- BlockPos blockposition = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
- BlockPos blockposition = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
||||||
+ // Gale start - JettPack - optimize sun burn tick - optimizations and cache eye blockpos - copied from Mob#isSunBurnTick
|
+ // Gale start - JettPack - optimize sun burn tick - optimizations and cache eye blockpos - copied from Mob#isSunBurnTick
|
||||||
+ int positionHashCode = this.position.hashCode();
|
+ if (this.cached_position != this.position) {
|
||||||
+ if (this.cached_position_hashcode != positionHashCode) {
|
|
||||||
+ this.cached_eye_blockpos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
+ this.cached_eye_blockpos = BlockPos.containing(this.getX(), this.getEyeY(), this.getZ());
|
||||||
+ this.cached_position_hashcode = positionHashCode;
|
+ this.cached_position = this.position;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ float f = this.getLightLevelDependentMagicValue(cached_eye_blockpos); // Pass BlockPos to getBrightness
|
+ float f = this.getLightLevelDependentMagicValue(cached_eye_blockpos); // Pass BlockPos to getBrightness
|
||||||
@@ -197,7 +196,7 @@ index 260e9b0398ddaacacfe5de352ac686ef273a6167..6f3986ba57ce794a1f78b8960a7c8de8
|
|||||||
// Purpur start
|
// Purpur start
|
||||||
if (entity instanceof LivingEntity entityliving) {
|
if (entity instanceof LivingEntity entityliving) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index dfae42ed76d11438ac79d083c82914c60f0e606e..6c603c83d9caeed480f5d67854e40c3fa8ff20dd 100644
|
index a2ab53e70328b4ac0d019ebbd3d3cffeeb29d76b..6c603c83d9caeed480f5d67854e40c3fa8ff20dd 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -1746,11 +1746,6 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -1746,11 +1746,6 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
@@ -206,35 +205,14 @@ index dfae42ed76d11438ac79d083c82914c60f0e606e..6c603c83d9caeed480f5d67854e40c3f
|
|||||||
|
|
||||||
- // Gale start - JettPack - optimize sun burn tick - cache eye blockpos
|
- // Gale start - JettPack - optimize sun burn tick - cache eye blockpos
|
||||||
- private BlockPos cached_eye_blockpos;
|
- private BlockPos cached_eye_blockpos;
|
||||||
- private int cached_position_hashcode;
|
- private net.minecraft.world.phys.Vec3 cached_position;
|
||||||
- // Gale end - JettPack - optimize sun burn tick - cache eye blockpos
|
- // Gale end - JettPack - optimize sun burn tick - cache eye blockpos
|
||||||
-
|
-
|
||||||
public boolean isSunBurnTick() {
|
public boolean isSunBurnTick() {
|
||||||
// Purpur - implemented in Entity - API for any mob to burn daylight
|
// Purpur - implemented in Entity - API for any mob to burn daylight
|
||||||
return super.isSunBurnTick();
|
return super.isSunBurnTick();
|
||||||
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 b96e596fb123f5b69d2b2f5b4a65537beaab33e6..0f6ff2fb3c5df42a44e5082c2408d5262c187870 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
|
|
||||||
@@ -21,6 +21,7 @@ public class TradeWithVillager extends Behavior<Villager> {
|
|
||||||
private static final Item[] WHEAT_SINGLETON_ARRAY = {Items.WHEAT};
|
|
||||||
private @org.jetbrains.annotations.NotNull Item @org.jetbrains.annotations.Nullable [] trades = null;
|
|
||||||
// Gale end - optimize villager data storage
|
|
||||||
+ private static final Item[] NETHER_WART_SINGLETON_ARRAY = {Items.NETHER_WART}; // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
||||||
|
|
||||||
public TradeWithVillager() {
|
|
||||||
super(
|
|
||||||
@@ -64,7 +65,7 @@ public class TradeWithVillager extends Behavior<Villager> {
|
|
||||||
|
|
||||||
// Purpur start
|
|
||||||
if (world.purpurConfig.villagerClericsFarmWarts && world.purpurConfig.villagerClericFarmersThrowWarts && entity.getVillagerData().getProfession() == VillagerProfession.CLERIC && entity.getInventory().countItem(Items.NETHER_WART) > Items.NETHER_WART.getDefaultMaxStackSize() / 2) {
|
|
||||||
- throwHalfStack(entity, ImmutableSet.of(Items.NETHER_WART), villager);
|
|
||||||
+ throwHalfStack(entity, NETHER_WART_SINGLETON_ARRAY, villager); // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
||||||
}
|
|
||||||
// Purpur end
|
|
||||||
|
|
||||||
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
|
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 675126d9ab94b6c69d0436a42b9594a567aca6e4..67f16bd710e0c04b4e2dac2c2cf5862853f3f4f4 100644
|
index d548d1b2686667d809f363cd0ae4444bc3918bf2..c3519eb6b28d180c9a5bf673037f1c4324ba5685 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/SecondaryPoiSensor.java
|
||||||
@@ -22,19 +22,15 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
@@ -22,19 +22,15 @@ public class SecondaryPoiSensor extends Sensor<Villager> {
|
||||||
@@ -244,7 +222,7 @@ index 675126d9ab94b6c69d0436a42b9594a567aca6e4..67f16bd710e0c04b4e2dac2c2cf58628
|
|||||||
+ // Purpur start - make sure clerics don't wander to soul sand when the option is off
|
+ // Purpur start - make sure clerics don't wander to soul sand when the option is off
|
||||||
// Gale start - Lithium - skip secondary POI sensor if absent
|
// Gale start - Lithium - skip secondary POI sensor if absent
|
||||||
var secondaryPoi = entity.getVillagerData().getProfession().secondaryPoi();
|
var secondaryPoi = entity.getVillagerData().getProfession().secondaryPoi();
|
||||||
- if (secondaryPoi == null) { // Gale - optimize villager data storage
|
- if (secondaryPoi.isEmpty()) {
|
||||||
- entity.getBrain().eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
|
- entity.getBrain().eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
|
||||||
- return;
|
- return;
|
||||||
- }
|
- }
|
||||||
@@ -252,7 +230,7 @@ index 675126d9ab94b6c69d0436a42b9594a567aca6e4..67f16bd710e0c04b4e2dac2c2cf58628
|
|||||||
- // Purpur start - make sure clerics don't wander to soul sand when the option is off
|
- // Purpur start - make sure clerics don't wander to soul sand when the option is off
|
||||||
Brain<?> brain = entity.getBrain();
|
Brain<?> brain = entity.getBrain();
|
||||||
- if (!world.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == net.minecraft.world.entity.npc.VillagerProfession.CLERIC) {
|
- if (!world.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == net.minecraft.world.entity.npc.VillagerProfession.CLERIC) {
|
||||||
+ if (secondaryPoi == null || (!world.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == net.minecraft.world.entity.npc.VillagerProfession.CLERIC)) {
|
+ if (secondaryPoi.isEmpty() || (!world.purpurConfig.villagerClericsFarmWarts && entity.getVillagerData().getProfession() == net.minecraft.world.entity.npc.VillagerProfession.CLERIC)) {
|
||||||
brain.eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
|
brain.eraseMemory(MemoryModuleType.SECONDARY_JOB_SITE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -293,19 +271,6 @@ index 07db4557ab0d7a4a0f5432257bd18195d2de7255..c334f0bdd4d5e1e5468216b13e6f5350
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
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 4f3ce7ff387835b8a14eb36c90700fdb837a933c..6dd64c56581fcf42ceafaeed557ee5214f67184f 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
|
||||||
@@ -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, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur
|
|
||||||
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, new Item[] {Items.NETHER_WART}, Blocks.SOUL_SAND, SoundEvents.VILLAGER_WORK_CLERIC); // Purpur // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
|
||||||
public static final VillagerProfession FARMER = register(
|
|
||||||
"farmer",
|
|
||||||
PoiTypes.FARMER,
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||||
index a7fe724fd2aec7a72781e7b3ab74ff317cec8fbf..fd22b5374fe5de11474f495ea941b8dd10e2d41f 100644
|
index a7fe724fd2aec7a72781e7b3ab74ff317cec8fbf..fd22b5374fe5de11474f495ea941b8dd10e2d41f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ index e91c4e26c25980645941ca8fbdcc3a9d02e31063..006044af19cb70f6bd1dbda31bc13e60
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
return "Reference{" + this.key + "=" + this.value + "}";
|
return "Reference{" + this.key + "=" + this.value + "}";
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index e7423f95187098ab99e05e16f6b76549a0b0a1b9..48fe472dc60f2133fd5ac838eaa882d2ab8baeb2 100644
|
index 8ac2b3a17d1a9df6695c8034b71544704be23036..d203ab8cd02432e05d6e3b8766d5a733e570173d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2097,11 +2097,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -2096,11 +2096,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
double d1 = (double) ((float) blockposition.getY() + fluid.getHeight(this.level(), blockposition));
|
double d1 = (double) ((float) blockposition.getY() + fluid.getHeight(this.level(), blockposition));
|
||||||
|
|
||||||
if (d1 > d0) {
|
if (d1 > d0) {
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ index eb547af300d8ecea19b3e02e5ebe6139330c9d62..1e4729be4a245a811fd15ea1c02179b3
|
|||||||
if (this.goalSelector.inactiveTick(this.activatedPriority, true) && !isThrottled) { // Pufferfish - pass activated priroity // Pufferfish - throttle inactive goal selector ticking
|
if (this.goalSelector.inactiveTick(this.activatedPriority, true) && !isThrottled) { // Pufferfish - pass activated priroity // Pufferfish - throttle inactive goal selector ticking
|
||||||
this.goalSelector.tick();
|
this.goalSelector.tick();
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
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 4767cd3a59155f643d95211c71c19810e6569d85..f09042fc07dd1fdbff9dc89b413858d29ffacc83 100644
|
index fd373d98f836c057c30c4fbd5d7618cc4e757b78..50f080e91c0701b635b918ff15e07052052afb47 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
@@ -323,7 +323,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -321,7 +321,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
if (this.getUnhappyCounter() > 0) {
|
if (this.getUnhappyCounter() > 0) {
|
||||||
this.setUnhappyCounter(this.getUnhappyCounter() - 1);
|
this.setUnhappyCounter(this.getUnhappyCounter() - 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ avoids multiple casting in Entity#distanceTo, using Math#sqrt directly instead o
|
|||||||
these methods more able to be inlined by the JIT compiler.
|
these methods more able to be inlined by the JIT compiler.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 4683482bf8a6b3e0bc7837d199dcba8ace43c6e1..c01851dda58fcee26516c512882b81f6bc19ccf9 100644
|
index d203ab8cd02432e05d6e3b8766d5a733e570173d..c1a7799dc4c44e5988b15f878633dafb20e257eb 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2311,33 +2311,41 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -2310,33 +2310,41 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
return new Vec3(this.xOld, this.yOld, this.zOld);
|
return new Vec3(this.xOld, this.yOld, this.zOld);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user