feat(delta): hook Display tracking budget through TrackingRange (no MC patch needed)
Build Delta / Build paperclip jar (push) Failing after 5m14s
Build Delta / Build paperclip jar (push) Failing after 5m14s
This commit is contained in:
@@ -18,6 +18,24 @@ public final class DeltaTracking {
|
||||
private DeltaTracking() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Клампит дальность трекинга Display-сущностей.
|
||||
* Вызывается из {@code org.spigotmc.TrackingRange#getEntityTrackingRange},
|
||||
* который сам лежит в git-отслеживаемом исходнике Paper — поэтому патчить
|
||||
* декомпилированный код Minecraft не требуется.
|
||||
*
|
||||
* @param range дальность из spigot.yml ({@code entity-tracking-range.display})
|
||||
* @return эффективную дальность
|
||||
*/
|
||||
public static int clampDisplayRange(final int range) {
|
||||
final DeltaConfig cfg = delta();
|
||||
if (cfg == null || !cfg.displayTrackingRangeEnabled) {
|
||||
return range;
|
||||
}
|
||||
final int configured = cfg.displayTrackingRange;
|
||||
return configured <= 0 ? range : Math.min(range, configured);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return эффективную дальность трекинга с учётом Delta-конфига
|
||||
*/
|
||||
|
||||
@@ -45,7 +45,12 @@ public final class TrackingRange {
|
||||
if (entity instanceof ItemFrame || entity instanceof Painting || entity instanceof ItemEntity || entity instanceof ExperienceOrb) {
|
||||
return config.miscTrackingRange;
|
||||
} else if (entity instanceof Display) {
|
||||
return config.displayTrackingRange;
|
||||
// Delta start - optional Display range budget (paper-global.yml -> delta)
|
||||
// Display entities have no physics, collision or gameplay meaning, so trimming
|
||||
// their tracking range is safe: the client stops seeing them, server state
|
||||
// stays correct. Off by default so stock Paper behaviour is unchanged.
|
||||
return me.sashegdev.delta.DeltaTracking.clampDisplayRange(config.displayTrackingRange);
|
||||
// Delta end
|
||||
} else {
|
||||
if (entity instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon) {
|
||||
// Exempt ender dragon
|
||||
|
||||
Reference in New Issue
Block a user