Skocz do zawartości

AdixeMC

Użytkownik
  • Ilość zawartości

    17
  • Rejestracja

  • Ostatnia wizyta

Ostatnie wizyty

Blok z ostatnimi odwiedzającymi dany profil jest wyłączony i nie jest wyświetlany użytkownikom.

Osiągnięcia AdixeMC

Początkujący I

Początkujący I (2/13)

0

Reputacja

  1. Witam, stworzyłem plugin minigame. Za każdym razem, gdy rozpoczyna się gra wczytuje on arenę (świat). Niestety, z jakiegoś powodu czasem świat jest podziurawiony, nie wczytują się niektóre jego fragmenty. Okropnie to utrudnia grę. Jak mogę to naprawić? Mój kod: WorldCreator creator = new WorldCreator("arena"); World world = creator.createWorld(); world.setAutoSave(false); world.setKeepSpawnInMemory(false); world.setSpawnFlags(true, true);
  2. Witam, mam problem z pluginem Luck Perms. Z jakiegoś powodu nie działa mi dziedziczenie uprawnień przez jedną grupę z innej. Opiszę to na przykładzie, aby było bardziej zrozumiałe: grupa VIP posiada permisję lobby.fly ustawioną na true. Dziedziczy ona wszystkie permisje z grupy default (komenda /lp group vip parent add default). Default nie ma ustawionego lobby.fly. Niestety, mimo wszystko gracze w grupie VIP nie mają podanej permisji. Sprawdziłem to komendą /lp verbose, co potwierdza mój problem. Dodam, że VIP ma wyższą wartość, niż default. Jak naprawić ten problem? Dlaczego tak się dzieje?
  3. Dziękuję za odpowiedź. Problem w tym, że nie robię reloadów, już się tego "oduczyłem". Problem nadal się pojawia.
  4. AdixeMC

    Tuinity API

    Właśnie tu zdołałem dotrzeć i na tym stanęło. Nie wiem jak to API zbudować. Jestem początkujący i mało rozumiem z tego co tam pisze...
  5. AdixeMC

    Tuinity API

    Witam, mam problem. Chcę użyć API silnika Tuinity, ale zupełnie nie wiem skąd mam je wyciągnąć. W przypadku Spigota było prosto, bo po prostu dorzucam bibliotekę to mojego projektu. Tutaj jest nieco inaczej i nie wiem jak to zrobić / skąd pobrać. Proszę o pomoc! Pozdrawiam
  6. Plugin SuperHeroWars jest na wersję 1.16.x i ma z góry określone API version. Dziwi mnie fakt, że w którymś momencie działania serwera się to psuje. Nie ma on wiele ramu, a zwykle przy testach często robię reloady, a nie restarty, żeby zaoszczędzić czasu. Plugin się "psuje" zwykle po parunastu reloadach. Sugerowało by to brak ramu, ale wątpię czy rzucało by to wyjątek NoClassDefFoundError... Da się to naprawić jakoś? PS. Psuje się BukkitRunnable odpowiadający w tym przypadku za taski.
  7. Tylko dlaczego wszystko działa i nagle się psuje? Teoretycznie wszystko jest dobrze skompilowane.
  8. Witam, piszę plugin pod Minecraft. Od długiego czasu borykam się z niezrozumiałym dla mnie problemem. Czasami, bo nie zawsze otrzymuję błąd java.lang.NoClassDefFoundError w miejscu BukkitRunnable(). Problem pojawia się po dłuższym czasie działania pluginu. Gdy już się pojawi, to tylko restart pomaga go usunąć. Nie wiem o co chodzi. Jest to bardzo dziwne, bo wszystko działa dobrze i w którymś momencie nagle się psuje. Dlaczego się tak dzieje? Błąd: Kod: new org.bukkit.scheduler.BukkitRunnable() { @Override public void run() { FileConfiguration settings = Config.getSettingsFile(); Location location = trident.getLocation(); if (trident.isDead()) { Objects.requireNonNull(location.getWorld()).spawnParticle( Particle.valueOf(settings.getString("Game.Magics.Magic9.Tridents.Hit.Particle.Type")), location, settings.getInt("Game.Magics.Magic9.Tridents.Hit.Particle.Count"), settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetX"), settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetY"), settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetZ"), settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.Speed")); Objects.requireNonNull(location.getWorld()).playSound(location, Objects.requireNonNull(settings.getString("Game.Magics.Magic9.Tridents.Hit.Sound")), 2.0f, 1.0f); this.cancel(); } else { Objects.requireNonNull(location.getWorld()).spawnParticle( Particle.valueOf(settings.getString("Game.Magics.Magic9.Tridents.Particle.Type")), location, settings.getInt("Game.Magics.Magic9.Tridents.Particle.Count"), settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetX"), settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetY"), settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetZ"), settings.getDouble("Game.Magics.Magic9.Tridents.Particle.Speed")); } } }.runTaskTimer(plugin, 1L, 1L); Tak jak mówiłem, problem pojawia się od pewnego momentu, wcześniej wszystko działa poprawnie. Będę wdzięczny za pomoc!
  9. Przydatne, działa dobrze. Rzeczywiście ze wszystkich sposobów jest najmniej lagujące, ale czy istnieje możliwość by jeszcze bardziej zminimalizować lagi?
  10. Witam, mam plugin, który wczytuje co jakiś czas świat void z jedną areną na serwer. W timingach widać, że jest to obciążający proces (chociaż w grze nie widać zbytnio lagów). W jaki sposób zoptymalizować ładowanie świata? Może rozłożyć to na chunki, czy coś w tym stylu?
  11. Czyli świat zostaje wyładowany bez zapisu, przez co przy wczytywaniu go na nowo powstaje efekt "regeneracji"? Nie zapisują się zmiany.
  12. Prosiłbym o jakieś dokładniejsze wytłumaczenie, bo nie chcę przepisywać gotwców i na prawdę mało rozumiem o co chodzi. Mowa jest o generowaniu świata void, a za chwilę o tworzeniu światów z folderu "maps". Nie umiem się w tym połapać... Jestem poczatkujący jak już pisałem.
  13. W poradniku jest generowanie nowej mapy, a nie wczytywanie "gotowca".
  14. @Peridot Bardzo ciekawe rozwiązanie, ale w jaki sposób konkretną arenę stworzyć, a nie czystego seeda?
  15. Pomysłem moim było stworzenie świata kopii, z którego mógłbym przywrócić arenę na innym świecie do pierwotnego stanu. Chodzi o system przywracający arenę. Znalazłem sposób, który nie laguje serwera (na razie) - mianowicie zapisywanie zmian wprowadzonych przez graczy do listy, a następnie odczytanie jej i przywrócenie tylko zapisanych elementów. To generuje kolejny problem - bloki takie jak np. bambus bo zniszczeniu dolnego bloku niszczą się całe, a plugin zapisuje tylko dolny blok. W efekcie nie wszystko zostanie przywrócone. W jaki sposób wydajnie przywrócić arenę (150x150x50) kratek? Czy zagnieżdżone pętle for dla x y z to dobre rozwiązanie? Może wykorzystać task async, o którym mówiłeś? Niestety, nie wiem jak go używać...
×
×
  • Dodaj nową pozycję...