*/ public function getListeners(): array { return [ 'you need to agree to the eula in order to run the server', ]; } public function getId(): string { return 'eula'; } public function getAction(): Action { return Action::make($this->getId()) ->requiresConfirmation() ->modalHeading('Minecraft EULA') ->modalDescription(new HtmlString(Blade::render('By pressing "I Accept" below you are indicating your agreement to the Minecraft EULA .'))) ->modalSubmitActionLabel('I Accept') ->action(function (DaemonFileRepository $fileRepository, DaemonPowerRepository $powerRepository) { try { /** @var Server $server */ $server = Filament::getTenant(); $fileRepository->setServer($server)->putContent('eula.txt', 'eula=true'); $powerRepository->setServer($server)->send('restart'); Notification::make() ->title('Minecraft EULA accepted') ->body('Server will restart now.') ->success() ->send(); } catch (Exception $exception) { Notification::make() ->title('Could not accept Minecraft EULA') ->body($exception->getMessage()) ->danger() ->send(); } }); } public static function register(Application $app): self { return new self($app); } }