Skip to content

BetterP2P ​

9 merged pull requests.

Changes ​

  • #38 Adds lang keys item.advanced_memory_card.name.gui and gui.advanced_memory_card.p2p_status.type (Type: %s - %s). GuiAdvancedMemoryCard and InfoWrapper use I18n.format instead of a hardcoded string. - @Ranzuu
    • Added: lang keys for memory card GUI title and type label

Bug Fixes ​

  • #47 Registered PartP2PSound as a tunnel in CommonProxy and ClientProxy (with icon) in Proxy.kt, which fixes the NullPointerException on selection. - @GreatBrandon
    • Fixed: client crash when selecting a sound P2P with an advanced memory card
    • Closes GTNH#27004
  • #46 ServerRenameP2PTunnel in C2SRenameP2P.kt now checks that partTunnel.input is not null before using it on an output tunnel, and otherwise falls back to the tunnel itself. - @Angry3vilbot
    • Fixed: NullPointerException when renaming an output P2P without an input
    • Closes GTNH#26494
  • #45 Added ScheduledThreadPoolExecutor restoration in BetterP2P on server startup and fixed ModNetwork shutdown logic to allow re-initialization. - @mllfjn
    • Added: executor restoration on server start
    • Fixed: crash when changing lists in Advanced Memory Card (issue #25307), missing thread pool restoration after server stop
    • Closes GTNH#25307
  • #44 ClientCache gains overlayDimension, set in GuiAdvancedMemoryCard.refreshOverlay. RenderHandler only renders the selected and linked outlines when overlayDimension matches the player's dimension. The selected position is also cleared when its dimension differs. - @Kogepan229
    • Fixed: advanced memory card rendering P2P outlines across dimensions
    • Closes GTNH#25385
  • #43 Updated BetterP2P to use ColorUtils instead of GuiColors following AE2 Unofficial refactor; updated dependencies and build configuration. - @MassAnarchyy
    • Removed: GuiColors dependency, addon.gradle customizations
    • Fixed: NoClassDefFoundError with GuiColors (issue #1382)
  • #41 GridServerCache replaces the superclass.superclass == PartP2PTunnel and superclass == PartP2PTunnelStatic comparisons with isAssignableFrom checks. - @hiroscho
    • Fixed: P2P tunnel subclasses not detected by class hierarchy depth
  • #40 GridServerCache.kt checks for PartP2PTunnelStatic with isAssignableFrom instead of a direct superclass comparison. It handles the inventory consume and give-back for both conversion directions, and drops excess items at the player's position instead of the unavailable serverPos. - @hiroscho
    • Fixed: converting to static P2P did not return the replaced P2P, converting to normal P2P did not consume a P2P, P2P drops only given when inventory full, drops placed at unavailable server position
  • #39 GridServerCache.kt drops its own frequency generation, unbinding and interface-copy code (about 114 lines) and links through memory card data. dependencies.gradle bumps AE2-Unofficial to rv3-beta-716-GTNH and AE2FluidCraft-Rework to 1.5.6-gtnh, and settings.gradle bumps the settings convention to 1.0.44. - @hiroscho
    • Removed: duplicate P2P linking code
    • Fixed: P2P binding issues

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@Dream-Master (3), @hiroscho (3), @lc-1337 (3), @Angry3vilbot (2), @Kogepan229 (2), @Ranzuu (2), @Algent (1), @Azusfin (1), @GreatBrandon (1), @MassAnarchyy (1), @Miklebe (1), @mllfjn (1), @Nikolay-Sitnikov (1), @wlhlm (1), @Worive (1)