File Details
wave_defence-0.0.1.jar
- R
- Jun 12, 2026
- 987.97 KB
- 14
- 1.16.5
- Forge
File Name
wave_defence-0.0.1.jar
Supported Versions
- 1.16.5
Curse Maven Snippet
Wave Defence (1.16.5 port) — CHANGELOG
[0.0.1] — Unreleased — Initial backport
Added
- Foundation port of Wave Defense 0.2.65 (originally MC 1.20.1) to MC 1.16.5 / Forge 36.x / Java 8.
- 154 / 155 planned files (99.4%) ported via mechanical translator (
port_to_1165.py) from the 1.20.1 source tree. - 32 089 / 32 288 planned LOC (99.4%) carried over.
- Full package coverage:
data/— 22 classes (Location, NbtHelper, LocationSerializer, LocationManager, LeaderboardManager, ShopItem/Point, PvpSpawnPoint, PvpRoundState, WaveConfig/Mob/Trigger, etc.)network/— 39 packets (PacketHandler + all client/server messages)wave/— 17 files (WaveManager, PvpRoundManager with READY_CHECK phase, BrManager, PortalManager, ZoneActivationManager, MobSpawnManager, SessionManager, InfoPanelManager, etc.)events/— 6 files (PlayerEventHandler, ClientEventHandler, PlayerRespawnHandler, KeyBindings, etc.)commands/— fullWaveDefenseAdminCommands(1578 LOC) + basicWaveDefenseCommandconfig/—WaveDefenseConfig+WaveGameRulesgui/— 64 screens (UniversalLocationEditor, ShopEditor, WaveConfig, PlayerHUD, MinimapRenderer, PvpReadyHud, etc.)
- 8 language files copied verbatim from 1.20.1 (
en_us,uk_ua,de_de,fr_fr,es_es,pl_pl,pt_br,zh_cn).
Translated automatically
- Java 14+ records → plain final classes with
name()/uuid()/etc. accessors. instanceof T tpattern variable → classicinstanceof+ explicit cast.switch (x) -> {...}expressions → classicswitch (x) { case ...: return; }.Map.of(...)/List.of(...)→Collections.singletonMap(...)/Arrays.asList(...).var→ explicit type.- Text API:
Component.literal/translatable→StringTextComponent/TranslationTextComponent. - NBT API:
CompoundTag→CompoundNBT,ListTag→ListNBT, etc. - Forge network:
net.minecraftforge.network.*→net.minecraftforge.fml.network.*. - Entity:
ServerPlayer/Player/Mob→ServerPlayerEntity/PlayerEntity/MobEntity. - Forge constants:
net.minecraft.nbt.Tag→net.minecraftforge.common.util.Constants.
Intentionally excluded
compat/(Tacz, MnS) — incompatible APIs on 1.16.5.backup/— niche feature; vanilla world-save covers basics.monitor/— telemetry, niche.gui/AdminDebugHud.java— v0.2.65 polish, add post-Phase-3.gui/LocationEditorScreen.java+gui/PvpLocationEditorScreen.java— already@Deprecated(forRemoval)in 1.20.1 source; superseded byUniversalLocationEditor.gui/TaczBulkAddScreen.java— Tacz compat.
Known limitations
- Not runtime-tested. Compile-ready % is still in progress; see
PORT_STATUS.mdfor the three-tier breakdown. - Tooltip API in screens still uses 1.20.1
widget.setTooltip(Tooltip.create(...))pattern in some places — needsScreen.renderTooltip()override per screen. - Creative tab API (
BuildCreativeModeTabContentsEvent) — 1.16.5 usesItemGroup.getDisplayItems(); needs hand-port inCreativeTabHelper. - HUD overlay event still references
RenderGuiOverlayEvent— needsRenderGameOverlayEvent.Postin 1.16.5. - KeyBinding registration uses
RegisterKeyMappingsEvent— needsClientRegistry.registerKeyBinding(...)in 1.16.5. editLocationLegacy()references inAdminMenuScreen/UniversalLocationEditorneed to be commented out (5 lines), since the two legacy editor classes are not ported.
Build
cd "1.16.5/Wave Defence"
./gradlew build