@Override
    public void update() {
        if (inventory.isEmpty()) {
            isDirty = true;
            if (registry.getGameController().multiplayerMode != registry.getGameController().multiplayerMode.NONE && registry.getNetworkThread() != null) {
                if (registry.getNetworkThread().readyForUpdates()) {
                    UpdatePlaceable up = new UpdatePlaceable(this.getId());
                    up.action = "IsDirty";
                    registry.getNetworkThread().sendData(up);
                }
            }
        }

        if (!hud.getShouldRender()) {
            idleTime += registry.getImageLoader().getPeriod();
            if ((idleTime / 1000) >= MAX_IDLE_TIME) {
                isDirty = true;
            }
        } else {
            idleTime = 0;
        }

        super.update();
    }