Skip to content

Commit

Permalink
Final clean up imports
Browse files Browse the repository at this point in the history
  • Loading branch information
Dreeam-qwq committed Nov 10, 2024
1 parent 9ce20fa commit 751637d
Show file tree
Hide file tree
Showing 33 changed files with 170 additions and 455 deletions.
16 changes: 4 additions & 12 deletions patches/server/0019-Reduce-acquire-POI-for-stuck-entities.patch
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,15 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
index e1b6fe9ecda25f86431baf414f1bfd3a26a8b2bd..b5242f2d450f863a3eb774d8a14bb00cbe699a16 100644
index e1b6fe9ecda25f86431baf414f1bfd3a26a8b2bd..59732e3b17c20143ecbdc6afa480fdbdc1afc55f 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
@@ -13,6 +13,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.core.GlobalPos;
import net.minecraft.core.Holder;
import net.minecraft.network.protocol.game.DebugPackets;
+import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.PathfinderMob;
@@ -26,6 +27,13 @@ import org.apache.commons.lang3.mutable.MutableLong;
@@ -26,6 +26,13 @@ import org.apache.commons.lang3.mutable.MutableLong;
public class AcquirePoi {
public static final int SCAN_RANGE = 48;

+ // Gale start - Airplane - reduce acquire POI for stuck entities
+ public static void addAdditionalTimeToMutableLongIfEntityIsStuck(MutableLong mutableLong, ServerLevel world, PathfinderMob entity) {
+ public static void addAdditionalTimeToMutableLongIfEntityIsStuck(MutableLong mutableLong, net.minecraft.server.level.ServerLevel world, PathfinderMob entity) {
+ long stuckEntityAdditionalWaitTime = world.galeConfig().smallOptimizations.reducedIntervals.acquirePoiForStuckEntity;
+ mutableLong.add(stuckEntityAdditionalWaitTime <= 0L ? 0L : entity.getNavigation().isStuck() ? stuckEntityAdditionalWaitTime : 0L);
+ }
Expand All @@ -56,7 +48,7 @@ index e1b6fe9ecda25f86431baf414f1bfd3a26a8b2bd..b5242f2d450f863a3eb774d8a14bb00c
public static BehaviorControl<PathfinderMob> create(
Predicate<Holder<PoiType>> poiPredicate, MemoryModuleType<GlobalPos> poiPosModule, boolean onlyRunIfChild, Optional<Byte> entityStatus
) {
@@ -52,12 +60,13 @@ public class AcquirePoi {
@@ -52,12 +59,13 @@ public class AcquirePoi {
return false;
} else if (mutableLong.getValue() == 0L) {
mutableLong.setValue(world.getGameTime() + (long)world.random.nextInt(20));
Expand Down
12 changes: 2 additions & 10 deletions patches/server/0023-Cache-on-climbable-check.patch
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2994230ba5252b6af4d54a351d78536c07e0a48e..bfb68e6389d086f680d23e328873b0cc09c0b21d 100644
index 2994230ba5252b6af4d54a351d78536c07e0a48e..90d257bf7c5f0f71633ef23b2524e6df964925f0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -157,7 +157,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end

-import co.aikar.timings.MinecraftTimings; // Paper

public abstract class LivingEntity extends Entity implements Attackable {

@@ -2063,6 +2062,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2063,6 +2063,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.lastClimbablePos;
}

Expand Down
15 changes: 3 additions & 12 deletions patches/server/0033-Make-book-writing-configurable.patch
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,15 @@ you to easily disable books, should you want to preemptively remove this
functionality before additional exploits are found.

diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 064d52d4479727c6a32bf357be8da32d1760e7fc..f51939adef4f69d4f8c4a0ec9b9aee55e7a2ec34 100644
index 064d52d4479727c6a32bf357be8da32d1760e7fc..da0efbf5034a2ccd5e773d2a9ce800ca1dd8cb58 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -193,6 +193,8 @@ import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
+import org.bukkit.craftbukkit.util.permissions.CraftDefaultPermissions;
+import org.galemc.gale.configuration.GaleGlobalConfiguration;
import org.slf4j.Logger;

// CraftBukkit start
@@ -1157,6 +1159,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1157,6 +1157,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
+ // Gale start - Pufferfish - make book writing configurable
+ if (!(GaleGlobalConfiguration.get().gameplayMechanics.enableBookWriting || this.player.getBukkitEntity().hasPermission(CraftDefaultPermissions.writeBooks) || this.player.getBukkitEntity().hasPermission("pufferfish.usebooks"))) {
+ if (!(org.galemc.gale.configuration.GaleGlobalConfiguration.get().gameplayMechanics.enableBookWriting || this.player.getBukkitEntity().hasPermission(org.bukkit.craftbukkit.util.permissions.CraftDefaultPermissions.writeBooks) || this.player.getBukkitEntity().hasPermission("pufferfish.usebooks"))) {
+ return;
+ }
+ // Gale end - Pufferfish - make book writing configurable
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0035-Reduce-in-wall-checks.patch
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ but is so much cheaper than the suffocation check that it's worth
keeping it.

diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index bfb68e6389d086f680d23e328873b0cc09c0b21d..81010bc37cd5a0b9b15f7017ae55950d6648cc29 100644
index 90d257bf7c5f0f71633ef23b2524e6df964925f0..bb91ef6d5eb3a4b30a49bf653623b306434a314a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -447,7 +447,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -448,7 +448,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = this instanceof net.minecraft.world.entity.player.Player;

if (!this.level().isClientSide) {
Expand All @@ -43,7 +43,7 @@ index bfb68e6389d086f680d23e328873b0cc09c0b21d..81010bc37cd5a0b9b15f7017ae55950d
this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
@@ -1406,6 +1409,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1407,6 +1410,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,15 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)

diff --git a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
index 300929a406905f5ff1ede664d5b99fb0938d4d2e..e5625557d2cd70b19b9db5fd418c243b639188e8 100644
index 300929a406905f5ff1ede664d5b99fb0938d4d2e..987e595ba3d19b081f22891f01dc25fbabb5bb9f 100644
--- a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
+++ b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java
@@ -8,6 +8,7 @@ import javax.annotation.Nullable;
import net.minecraft.util.SignatureValidator;
import net.minecraft.util.Signer;
import net.minecraft.world.entity.player.ProfilePublicKey;
+import org.galemc.gale.configuration.GaleGlobalConfiguration;
import org.slf4j.Logger;

public class SignedMessageChain {
@@ -45,7 +46,7 @@ public class SignedMessageChain {
@@ -45,7 +45,7 @@ public class SignedMessageChain {
SignedMessageLink signedMessageLink = SignedMessageChain.this.nextLink;
if (signedMessageLink == null) {
throw new SignedMessageChain.DecodeException(SignedMessageChain.DecodeException.CHAIN_BROKEN);
- } else if (body.timeStamp().isBefore(SignedMessageChain.this.lastTimeStamp)) {
+ } else if (body.timeStamp().isBefore(SignedMessageChain.this.lastTimeStamp) && GaleGlobalConfiguration.get().misc.verifyChatOrder) { // Gale - Pufferfish - make chat order verification configurable
+ } else if (body.timeStamp().isBefore(SignedMessageChain.this.lastTimeStamp) && org.galemc.gale.configuration.GaleGlobalConfiguration.get().misc.verifyChatOrder) { // Gale - Pufferfish - make chat order verification configurable
this.setChainBroken();
throw new SignedMessageChain.DecodeException(SignedMessageChain.DecodeException.OUT_OF_ORDER_CHAT, org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event causes
} else {
Expand Down
53 changes: 11 additions & 42 deletions patches/server/0039-Reduce-hopper-item-checks.patch
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,10 @@ Licensed under: MIT (https://opensource.org/licenses/MIT)
Only do an item "suck in" action once per second

diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 4423973d4d9a2c3879d98d1d4c8b8c117c677ac5..adbe1c6aad0abe367280b75c4d6691ac5e26bc30 100644
index 4423973d4d9a2c3879d98d1d4c8b8c117c677ac5..111ab64e0d928ea990175ae18a97492b98948f89 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -22,12 +22,14 @@ import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MoverType;
import net.minecraft.world.entity.SlotAccess;
import net.minecraft.world.entity.TraceableEntity;
+import net.minecraft.world.entity.vehicle.MinecartHopper;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.level.portal.DimensionTransition;
+import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
// CraftBukkit start
import net.minecraft.server.MinecraftServer;
@@ -233,11 +235,31 @@ public class ItemEntity extends Entity implements TraceableEntity {
@@ -233,11 +233,31 @@ public class ItemEntity extends Entity implements TraceableEntity {
}
// CraftBukkit end
this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
Expand All @@ -54,10 +39,10 @@ index 4423973d4d9a2c3879d98d1d4c8b8c117c677ac5..adbe1c6aad0abe367280b75c4d6691ac
+ return;
+ }
+ if (config.temporaryImmunity.duration > 0 && this.isAlive() && this.onGround && !this.isRemoved() && (config.temporaryImmunity.nearbyItemMaxAge == -1 || this.age <= config.temporaryImmunity.nearbyItemMaxAge) && this.age % Math.max(1, config.temporaryImmunity.checkForMinecartNearItemInterval) == 0 && config.temporaryImmunity.maxItemHorizontalDistance >= 0 && config.temporaryImmunity.maxItemVerticalDistance >= 0) {
+ AABB aabb = this.getBoundingBox().inflate(config.temporaryImmunity.maxItemHorizontalDistance, config.temporaryImmunity.maxItemVerticalDistance, config.temporaryImmunity.maxItemHorizontalDistance);
+ net.minecraft.world.phys.AABB aabb = this.getBoundingBox().inflate(config.temporaryImmunity.maxItemHorizontalDistance, config.temporaryImmunity.maxItemVerticalDistance, config.temporaryImmunity.maxItemHorizontalDistance);
+ for (Entity entity : this.level().getEntities(this, aabb)) {
+ if (entity instanceof MinecartHopper) {
+ ((MinecartHopper) entity).pickupImmunity = MinecraftServer.currentTick + config.temporaryImmunity.duration;
+ if (entity instanceof net.minecraft.world.entity.vehicle.MinecartHopper hopper) {
+ hopper.pickupImmunity = MinecraftServer.currentTick + config.temporaryImmunity.duration;
+ }
+ }
+ }
Expand All @@ -67,7 +52,7 @@ index 4423973d4d9a2c3879d98d1d4c8b8c117c677ac5..adbe1c6aad0abe367280b75c4d6691ac
// Spigot start - copied from above
@Override
public void inactiveTick() {
@@ -258,7 +280,13 @@ public class ItemEntity extends Entity implements TraceableEntity {
@@ -258,7 +278,13 @@ public class ItemEntity extends Entity implements TraceableEntity {
}
// CraftBukkit end
this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
Expand Down Expand Up @@ -120,26 +105,10 @@ index 5f042e294db605827000123252b0df646968f897..e1cc15f28fe8da23b74ff4504c5b2da2

double getLevelY();
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index cab403efd471bb61835224eea4e99570d34dcaaa..99fc84e10a10f3d4eededd6ce7be7700e3c3a8e4 100644
index cab403efd471bb61835224eea4e99570d34dcaaa..67425f4270c0745fc962c6ffb90e98bb4362d261 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -11,6 +11,7 @@ import net.minecraft.core.NonNullList;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.tags.BlockTags;
+import net.minecraft.server.MinecraftServer;
import net.minecraft.world.CompoundContainer;
import net.minecraft.world.Container;
import net.minecraft.world.ContainerHelper;
@@ -20,6 +21,7 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntitySelector;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.entity.vehicle.MinecartHopper;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.HopperMenu;
import net.minecraft.world.item.ItemStack;
@@ -568,7 +570,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -568,7 +568,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
} else {
boolean flag = hopper.isGridAligned() && iblockdata.isCollisionShapeFullBlock(world, blockposition) && !iblockdata.is(BlockTags.DOES_NOT_BLOCK_HOPPERS);

Expand All @@ -148,7 +117,7 @@ index cab403efd471bb61835224eea4e99570d34dcaaa..99fc84e10a10f3d4eededd6ce7be7700
Iterator iterator = HopperBlockEntity.getItemsAtAndAbove(world, hopper).iterator();

while (iterator.hasNext()) {
@@ -882,6 +884,31 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -882,6 +882,31 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
return first.getCount() < first.getMaxStackSize() && ItemStack.isSameItemSameComponents(first, second); // Paper - Perf: Optimize Hoppers; used to return true for full itemstacks?!
}

Expand All @@ -160,8 +129,8 @@ index cab403efd471bb61835224eea4e99570d34dcaaa..99fc84e10a10f3d4eededd6ce7be7700
+ }
+ private static boolean shouldSuckIn(Level world, Hopper hopper) {
+ int suckInterval;
+ if (hopper instanceof MinecartHopper minecartHopper) {
+ if (minecartHopper.pickupImmunity > MinecraftServer.currentTick) {
+ if (hopper instanceof net.minecraft.world.entity.vehicle.MinecartHopper minecartHopper) {
+ if (minecartHopper.pickupImmunity > net.minecraft.server.MinecraftServer.currentTick) {
+ return true;
+ }
+ suckInterval = world.galeConfig().smallOptimizations.reducedIntervals.checkNearbyItem.hopper.minecart.interval;
Expand Down
14 changes: 3 additions & 11 deletions patches/server/0040-Reduce-villager-item-re-pickup.patch
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,16 @@ Helps 1.8 Farms let hoppers pick it up before Villager
due to our hopper changes

diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
index d98b28e9488a5a7736719cf656736bb026ec8c7e..74fe07a3737728b67987ef794103346c1e428109 100644
index d98b28e9488a5a7736719cf656736bb026ec8c7e..25dacd924f182d197bcbdcd7c1d8caa482fd8d37 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorUtils.java
@@ -21,6 +21,7 @@ import net.minecraft.world.entity.ai.memory.NearestVisibleLivingEntities;
import net.minecraft.world.entity.ai.memory.WalkTarget;
import net.minecraft.world.entity.ai.util.DefaultRandomPos;
import net.minecraft.world.entity.item.ItemEntity;
+import net.minecraft.world.entity.npc.Villager;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ProjectileWeaponItem;
@@ -99,7 +100,16 @@ public class BehaviorUtils {
@@ -99,7 +99,16 @@ public class BehaviorUtils {

vec3d2 = vec3d2.normalize().multiply(velocityFactor.x, velocityFactor.y, velocityFactor.z);
entityitem.setDeltaMovement(vec3d2);
- entityitem.setDefaultPickUpDelay();
+ // Gale start - EMC - reduce villager item re-pickup
+ if (entity instanceof Villager) {
+ if (entity instanceof net.minecraft.world.entity.npc.Villager) {
+ int repickupDelay = entity.level().galeConfig().smallOptimizations.reducedIntervals.villagerItemRepickup;
+ if (repickupDelay <= -1) {
+ entityitem.setDefaultPickUpDelay();
Expand Down
15 changes: 3 additions & 12 deletions patches/server/0041-Variable-entity-wake-up-duration.patch
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,10 @@ index 9ac3c235a7adc42af1ba22aaa4efbce5b006f98d..42306d45d3b8f7807b344422fca7382e

}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 24046e59d4675d33056bbfb55f0158ef236342f7..a7ebba9de1807c403128854356d41446a8a56f73 100644
index 24046e59d4675d33056bbfb55f0158ef236342f7..e44aac983fb288ea33400687e3a0f9c763228882 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -38,6 +38,7 @@ import co.aikar.timings.MinecraftTimings;
import net.minecraft.world.entity.schedule.Activity;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
+import org.galemc.gale.configuration.GaleWorldConfiguration;

public class ActivationRange
{
@@ -70,28 +71,41 @@ public class ActivationRange
@@ -70,28 +70,40 @@ public class ActivationRange
if (entity.activationType == ActivationType.VILLAGER) {
if (inactiveFor > config.wakeUpInactiveVillagersEvery && world.wakeupInactiveRemainingVillagers > 0) {
world.wakeupInactiveRemainingVillagers--;
Expand Down Expand Up @@ -64,8 +56,7 @@ index 24046e59d4675d33056bbfb55f0158ef236342f7..a7ebba9de1807c403128854356d41446
+ private static final java.util.Random wakeUpDurationRandom = new java.util.Random();
+
+ private static int getWakeUpDurationWithVariance(Entity entity, int wakeUpDuration) {
+ GaleWorldConfiguration config = entity.level().galeConfig();
+ double deviation = config.gameplayMechanics.entityWakeUpDurationRatioStandardDeviation;
+ double deviation = entity.level().galeConfig().gameplayMechanics.entityWakeUpDurationRatioStandardDeviation;
+ if (deviation <= 0) {
+ return wakeUpDuration;
+ }
Expand Down
Loading

0 comments on commit 751637d

Please sign in to comment.