MonitoringMinecraft MonitoringMinecraft

Pig Cannon Sync

Мод Fabric

Fixes the client-side invisibility that occurs when a pig remains logically mounted to a minecart in a distant lazy chunk while the pig itself is brought near a player.

0 скачиваний 0 подписчиков
Оцените первым

Pig Cannon Sync

A tiny, server-side Fabric mod for Minecraft Java Edition 26.2. It fixes the client-side invisibility that can occur when a pig remains logically mounted to a minecart in a distant lazy chunk while the pig itself is brought near a player.

The mod hooks Minecraft's own per-player entity tracker. When a pig changes from unseen to seen for a player, but its logical vehicle is still not tracked by that player, the mod briefly removes and re-adds the pig. This makes the server resend the normal vanilla spawn, metadata, passenger, and velocity packets. It does not teleport the pig, change its momentum, dismount it, load the distant chunk, or alter the cannon's mechanics.

AI Usage Disclosure

This project was created using AI. I've reviewed game mechanics and tested it myself, but cannot give performance/correctness guaruntees. There may be edge cases that I have not considered. This is just a throwaway side project, feel free to repurpose/improve the code as you see fit.

Commands

/pig-cannon-sync version reports the installed mod version.

/pig-cannon-sync debug checks every pig entity tracker in the player's current dimension, lets vanilla determine which pigs should be visible, and starts or restarts a monitored remove/re-add cycle for every match. It is a broad diagnostic scan that deliberately ignores mounting state and the vehicle tracker. It reports detailed progress to the player and the server log, and can be run once every five seconds per player.

The pig_cannon_sync:command.pig_cannon_sync.debug permission is allowed by default, so no permission manager is required. Servers with a Fabric-compatible permission provider can override it to restrict the debug command. The version command is unrestricted.

Synchronization behavior

When the mod detects that a pig has become tracked by a player while its vehicle remains untracked, it immediately removes and re-adds the pig for that player. The debug command also starts or restarts this initial refresh for every pig its scan matches. While the pig continues moving, the mod supplies the absolute position packets that vanilla omits for passengers because their position would normally come from the vehicle. It sends those packets only when the pig is tracked by a player but its vehicle is not. One final refresh happens after the pig remains stationary for 20 ticks, and the pair then stays on a passive watch until the pig dismounts or its vehicle becomes tracked normally.

Whenever the saddle equipment slot changes, the mod resends that slot to every player whose server-side entity tracker currently includes the pig. The hook runs at the slot mutation itself because a pig held in a lazy chunk may never receive vanilla's later equipment-detection tick. This is event-driven: it does not poll the pig's equipment every tick.

This is proportional only to active affected pig/player pairs. A moving pair adds at most one small vanilla position-sync packet per server tick—the same class of traffic an independently moving entity normally produces. A stationary pair performs only a position comparison and tracker lookup each tick. Vanilla has no packet by which a client acknowledges that an entity was actually rendered, so that final client-side fact cannot be verified by a server-side mod.

Requirements

  • Minecraft Java Edition 26.2
  • Fabric Loader 0.19.3 or newer
  • Fabric API for 26.2
  • Java 25

For multiplayer, install Pig Cannon Sync and Fabric API on the server; vanilla clients can connect without Pig Cannon Sync. For singleplayer, install Pig Cannon Sync and Fabric API in the Minecraft instance's mods directory so the mod can run on the integrated server. The mod contains no client-side synchronization logic.

Building

Run ./gradlew build with Java 25. The distributable JAR is written to build/libs/. With Nix installed, nix run .#build provides the pinned Java 25 toolchain and runs a clean build.

License

MIT.

Смотри также

Похожие подборки моды — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
747 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
AxisMine - ВаниллаPlus
21 онлайн
1.21.4 — 26.1.2 версия
Ванильный мир с сотнями уникальных механик и справедливой игрой! /free, pat-pat, emotecraft, Voice.
VanillaSquad
82 онлайн
26.1.2 — 26.2 версия
Приватный ванильный сервер Minecraft с классическим выживанием без привата, доната и лишних плагинов
SankTime
0 онлайн
1.21 — 1.21.11 версия
Легенды куются не в первый день, а в тот, когда ты готов. Ты готов?
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.21.8. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат