fix: beacon menu item consumption, data sync, and button state issues
- Prevent payment item from being consumed when submitting unchanged powers - Reorder ServerPlayer::openBeacon to send ContainerOpenPacket before addSlotListener so beacon data packets arrive after the client menu is ready - Add BeaconMenu::broadcastChanges() to continuously sync levels and powers to clients, matching the pattern FurnaceMenu already uses - Initialize UIControl_BeaconEffectButton::m_lastState to prevent stale heap memory from suppressing Iggy ChangeState calls on menu re-entry
This commit is contained in:
@@ -36,7 +36,8 @@ private:
|
||||
public:
|
||||
BeaconMenu(shared_ptr<Container> inventory, shared_ptr<BeaconTileEntity> beacon);
|
||||
|
||||
void addSlotListener(ContainerListener *listener);
|
||||
void addSlotListener(ContainerListener *listener) override;
|
||||
void broadcastChanges() override;
|
||||
void setData(int id, int value);
|
||||
shared_ptr<BeaconTileEntity> getBeacon();
|
||||
bool stillValid(shared_ptr<Player> player);
|
||||
|
||||
Reference in New Issue
Block a user