Merged
Conversation
- Modifying infrastructure to allow players to request bees - Adding Address to TrashMenu - Syncing Address to Server for a persistent address
… per player and network
New Crowdin updates
- fixed by replacing a line that didn't consider whether the bee has a package - Refactor hasSpace Functions fixes #301
Add comprehensive admin/OP command system for managing logistics networks: - /cmp network list: Display all networks with details * Shows network name, short ID, player count * Displays lock status and owner information * Only lists named networks (filters out unnamed networks) - /cmp network add <player> <networkId>: Add a player to a network * Argument order: player first, then network ID * Auto-completes to named networks only * Prevents adding players to unnamed networks - /cmp network remove <player> <networkId>: Remove a player from a network * Argument order: player first, then network ID * Auto-completes to networks the player is part of * Prevents removing players from networks they're not in Features: - Full command auto-completion with intelligent filtering - Clear success feedback messages - Admin/OP permission level 2 requirement for all commands - Null-safe checks for player lookups and network data Resolves server owner requests for easier network management on larger servers.
- New button that toggles between normal delivery and return mode - In return mode, Robo Bees spawned from that port fly back to their origin port after successful player delivery
Fixes the issue where the Portable Stock Ticker address was reset every time a player logs back into the world or restarts the game. Changes: - Created SavePortableStockTickerAddressPacket to persist address on server - Modified PortableStockTickerScreen to: * Load address directly from ItemStack in init() method (works in Curios slot) * Sync address to server whenever it changes (containerTick) * Save address when screen closes (onClose) - Registered new packet in CMPPackets enum Technical Details: - Address is now stored in ItemStack's DataComponent (persistent storage) - Fallback chain: ItemStack > in-memory > last known value - Works correctly with items in Curios slot or regular inventory - Minimal overhead: only syncs when address actually changes Fixes: - Address persists across world reloads - Address persists across game restarts - Works with items in any inventory slot (including Curios)
Added setup instructions and images for Robo Bee and Portable Stock Ticker.
* New translations en_us.json (French) * New translations en_us.json (French) * New translations en_us.json (German) * New translations en_us.json (Japanese) * New translations en_us.json (Polish) * New translations en_us.json (Russian) * New translations en_us.json (Swedish) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Portuguese, Brazilian)
Contributor
There was a problem hiding this comment.
Pull request overview
Release v0.7.0 changes for the Create: Mobile Packages mod, adding new logistics/QoL features (Bee Port return mode, admin network commands, Portable Stock Ticker trash pickup) and fixing several reported issues.
Changes:
- Added Bee Port “Return Mode” toggle and supporting Robo Bee targeting/serialization behavior.
- Added Portable Stock Ticker Trash Menu + persistence/sync + Robo Bee pickup mission flow.
- Added
/cmp network ...admin commands and addressed several PST/port bug reports.
Reviewed changes
Copilot reviewed 43 out of 45 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/resources/assets/create_mobile_packages/textures/gui/trash_menu.png | New Trash Menu GUI texture. |
| src/main/resources/assets/create_mobile_packages/textures/gui/icons.png | New icon atlas for custom GUI icons (return/direct). |
| src/main/resources/assets/create_mobile_packages/lang/zh_cn.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/sv_se.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/ru_ru.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/pt_br.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/pl_pl.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/ja_jp.json | Added new translation keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/fr_fr.json | Updated French translations; added new keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/en_us.json | Added new en_US keys for network settings, return mode tooltips, trash menu. |
| src/main/resources/assets/create_mobile_packages/lang/de_de.json | Added new keys; localized return-mode tooltips. |
| src/main/java/de/theidler/create_mobile_packages/robo/VirtualRobo.java | Persist home port + return-mode flag; prefer home port targeting after delivery; request lifecycle adjustments. |
| src/main/java/de/theidler/create_mobile_packages/robo/RoboTrashStore.java | New persisted model for per-player/network trash slots + target address. |
| src/main/java/de/theidler/create_mobile_packages/robo/RoboTarget.java | Updated target validation API to accept the active VirtualRobo. |
| src/main/java/de/theidler/create_mobile_packages/robo/RoboManager.java | Added trash store persistence and pickup-request scheduling; adjusted request handling to use RoboTarget/Vec3. |
| src/main/java/de/theidler/create_mobile_packages/robo/PlayerTarget.java | Updated validation signature and toast type based on mission (deliver vs pickup). |
| src/main/java/de/theidler/create_mobile_packages/robo/BeePortBlockEntityTarget.java | Updated validation logic to consider package-vs-no-package capacity rules. |
| src/main/java/de/theidler/create_mobile_packages/network_settings/RequestNetworkDataPacket.java | Removed verbose debug logging. |
| src/main/java/de/theidler/create_mobile_packages/network_settings/NetworkHelper.java | Removed verbose debug logging. |
| src/main/java/de/theidler/create_mobile_packages/network_settings/AddPlayerToNetworkPackage.java | Removed debug logging; no functional change. |
| src/main/java/de/theidler/create_mobile_packages/items/robo_bee/RoboBeeItem.java | Updated robo spawn call signature to include return-mode flag. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/TrashScreen.java | New Trash Menu screen with address box + server sync. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/TrashMenu.java | New Trash Menu container with server persistence and pickup-safe clearing behavior. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashItemsToClientPacket.java | New clientbound sync packet for trash slot items. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashAddressToClientPacket.java | New clientbound sync packet for trash target address. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashAddressPacket.java | New serverbound packet to persist trash target address. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/OpenTrashMenuPacket.java | New serverbound packet to open Trash Menu and sync address. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/SavePortableStockTickerAddressPacket.java | New serverbound packet to persist PST address to the item stack. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/RequestStockUpdate.java | Fix: send empty list packet when network stock becomes empty. |
| src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/PortableStockTickerScreen.java | Added trash menu button; persist PST address across restarts by syncing to stack. |
| src/main/java/de/theidler/create_mobile_packages/index/CMPPackets.java | Registered new packets (trash menu, address sync, return mode toggle, PST address save). |
| src/main/java/de/theidler/create_mobile_packages/index/CMPMenuTypes.java | Registered new Trash Menu type + screen. |
| src/main/java/de/theidler/create_mobile_packages/index/CMPIcons.java | New icon helper for custom GUI icons. |
| src/main/java/de/theidler/create_mobile_packages/index/CMPGuiTextures.java | Registered Trash Menu texture segment. |
| src/main/java/de/theidler/create_mobile_packages/index/CMPCommands.java | Added /cmp network list/add/remove admin commands. |
| src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboEntity.java | Show player name in nametag when targeting a player. |
| src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboBeeState.java | Added PICKUP_PACKAGE state. |
| src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboBeeBehaviorController.java | Implemented pickup mission flow from player trash slots. |
| src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/ToggleBeeReturnModePacket.java | New serverbound packet to toggle Bee Port return mode. |
| src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/RoboRequest.java | Reworked requests to hold a RoboTarget, mission type, and Vec3 target position. |
| src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortScreen.java | Added return-mode toggle buttons to Bee Port GUI. |
| src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortMenu.java | Exposed return-mode state via container data. |
| src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortBlockEntity.java | Persisted return-mode; updated capacity checks; updated request creation API. |
| README.md | Updated documentation for NeoForge support, new features, and commands; added screenshots. |
| CHANGELOG.md | Added v0.7.0 “unreleased” changelog entry matching PR features/fixes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/ToggleBeeReturnModePacket.java
Show resolved
Hide resolved
src/main/java/de/theidler/create_mobile_packages/robo/BeePortBlockEntityTarget.java
Outdated
Show resolved
Hide resolved
…ggleBeeReturnModePacket
…to CopyOnWriteArrayList
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Additions
Added Bee Port Return Mode toggle in the Bee Port GUI ([feature]Make RoboBees return to their original RoboBeePort after completing a delivery, instead of staying in the RoboBeePort they delivered to. #136)
Added Admin/OP Commands for Network Management ([feature] Admin/OP Commands for Network Management #305)
/cmp network list- Display all logistics networks with names, player counts, lock status, and owner information/cmp network add <player> <networkId>- Add a player to a network (auto-filters to named networks only)/cmp network remove <player> <networkId>- Remove a player from a network (auto-filters to networks the player ispart of)
Added TrashSlots to the Portable Stock Ticker allowing players to send items ([feature] TrashSlots #299)
Bug Fixes