Skocz do zawartości

KrejzolekPRO

Użytkownik
  • Ilość zawartości

    2190
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Treść opublikowana przez KrejzolekPRO

  1. KrejzolekPRO

    [Anti Grif]

    Zabezpiecz to jakoś, bo wyrzuci serwer w trakcie tych 1800 sekund i blok zostanie... options: tag: &7[&aAnti-Grif&7] >> on place of cobblestone: set {grifc::%event-block%} to location of event-block send "{@tag} &cTen Blok zniknie po 30min od postawienia!" wait 1800 seconds clear {grifc::%event-block%} set event-block to air on unload: loop {grifc::*}: set block at (loop-value parsed as location) to air clear {grifc::%loop-value%}
  2. W sensie? set {_lista::*} to yaml value list "yaml.lista" from file "plugins/YamlFile" set {_x} to 0 loop {_lista::*}: set {wiadomosc::%{_x}%} to loop-value add 1 to {_x}
  3. Dzięki bardzo, wszystko działa!
  4. Chodzi ci o listę? set {_lista::*} to yaml value list "yaml.lista" from file "plugins/YamlFile" yaml: lista: - '1' - '2' - '3 itd.'
  5. No taki ma zadania właśnie debug, chodzi ci o to? RawBlockUtil.blockList.remove(rawBlock); @LloydPL no tak, tylko że ja najpierw zapętlam go, a dopiero potem usuwam, więc nie operuje na znikomym obiekcie.
  6. Mam sobie obiekt RawBlock: public class RawBlock { private Location location; private Material block; private Long time; public RawBlock(Location location, Material block, Long time){ this.location = location; this.block = block; this.time = time; RawBlockUtil.add(this); } public Location getLocation() { return location; } public Material getBlock() { return block; } public Long getTime() { return time; } } I mam do niego klase RawBlockUtil: public class RawBlockUtil { public static List<RawBlock> blockList = new ArrayList<>(); public static void add(RawBlock block){ for(RawBlock rawBlock : RawBlockUtil.blockList){ if(block.getLocation() == rawBlock.getLocation()){ return; } } RawBlockUtil.blockList.add(block); } public static void remove(RawBlock block){ if(RawBlockUtil.blockList.contains(block)){ RawBlockUtil.blockList.remove(block); } return; } public static Integer debug(){ Integer amount = 0; for(RawBlock rawBlock : RawBlockUtil.blockList){ rawBlock.getLocation().getBlock().setType(rawBlock.getBlock()); RawBlockUtil.blockList.remove(rawBlock); amount++; } return amount; } } Przykładowe tworzenie nowego obiektu: public void onBreak(BlockBreakEvent event) { if(event.getBlock().getType() == Material.IRON_ORE || event.getBlock().getType() == Material.GOLD_ORE || event.getBlock().getType() == Material.DIAMOND_ORE || event.getBlock().getType() == Material.EMERALD_ORE || event.getBlock().getType() == Material.LAPIS_ORE || event.getBlock().getType() == Material.REDSTONE_ORE || event.getBlock().getType() == Material.COAL_ORE){ Player player = event.getPlayer(); long time = player.hasPermission("rawcore.boosters.generator") ? 20*60*30L : 20*60*45L; new RawBlock(event.getBlock().getLocation(), event.getBlock().getType(), time); Kiedy chce wykonać metodę z tym obiektem (np. debug()) to wyrzuca błąd z tą linijką: for(RawBlock rawBlock : RawBlockUtil.blockList) A oto błąd: Unexpected exception while parsing console command "oregenerator zregeneruj" org.bukkit.command.CommandException: Unhandled exception executing command 'oregenerator' in plugin rawCore vv1.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(CraftServer.java:634) [spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java:444) [spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:407) [spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] at java.lang.Thread.run(Unknown Source) [?:?] Caused by: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:?] at java.util.ArrayList$Itr.next(Unknown Source) ~[?:?] at pl.krejzolekpro.rawcore.obejcts.utils.RawBlockUtil.debug(RawBlockUtil.java:30) ~[?:?] at pl.krejzolekpro.rawcore.commands.GeneratorCommand.onCommand(GeneratorCommand.java:15) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-d0a3620] ... 8 more Pierwszy raz spotkałem się z takim czymś i nie wiem jak sobie z tym poradzić. Sllnik: Spigot 1.12.2 Java 10.
  7. Skoro autorski to dorób sobie do niego chat? Przecież pluginy nie są kompatybilne ze skryptami, jeśli plugin nie wspiera pluginu Skript...
  8. Ten kod chyba podchodzi pod niszczenie serwera on any move: loop all players: if {spawn.%loop-player%} is true: set {spawn.%loop-player%} to false Do tego jak już używasz taki kod to zrób go optymalniej (ale hm.. co to może oznaczać?) No więc tak, zamiast zapętlać wszystkich graczy, to zapętl tylko tych których potrzebujesz. Czyli trzeba przepisać zmienne do takiej postaci: {spawn::%player%} on any move: loop {spawn::*}: //reszta I dodatkowo, jeśli zmienna ma zostać ustawiona na false, to dlaczego jej w ogóle nie usuniesz, wtedy dodatkowo miejsce w szufladkach ram się zwolni!
  9. KrejzolekPRO

    Kity

    Musisz porównywać dwa czasy, tzn. Przy odebraniu kita zapisujesz czas jego odebrania do zmiennej np. set {kit::%player%} to now, a przy odbieraniu porównujesz go z aktualnym i albo przepuszczasz kod, albo go "niszczysz".
  10. KrejzolekPRO

    SkinyV2

    Podaj listę pluginów na obu serwerach.
  11. KrejzolekPRO

    Kity

    Przecież skrypt knugiego jest bardzo dobry, co ci da napisanie swojego, skoro i tak napiszesz go źle, albo nie będzie posiadał tylu opcji co ma skrypt knugiego?
  12. Są tak zepsute, że trzeba je zabić. ALBO wykonałeś zabicie tego Zombie?
  13. No to jest jeden wniosek. >Skrypty
  14. A no tak xD on death: if attacker is a player: if victim is a zombie: add 30 to {expo.%attacker%} send "dodalem" to attacker else: send "Nie dziala 2" to attacker else: send "Nie dziala 1" to attacker on death: if victim is a zombie: display name of zombie is "&fZombie &6(Poziom 1)": if attacker is a player: add 10 to {expo.%attacker%} send ">>dziala" to attacker else: send ">>Nie dziala 3" to attacker else: send ">>Nie dziala 2" to attacker else: send ">>Nie dziala 1" to attacker
  15. Zrób taki debuger i pokaż wynik: on death: if attacker is a player: if victim is a zombie: add 30 to {expo.%attacker%} send "dodalem" else: send "Nie dziala 2" else: send "Nie dziala 1" on death: if victim is a zombie: display name of zombie is "&fZombie &6(Poziom 1)": if attacker is a player: add 10 to {expo.%attacker%} else: send ">>Nie dziala 3" else: send ">>Nie dziala 2" else: send ">>Nie dziala 1"
  16. Fanie to wygląda, kod zresztą też dobry i czytelny.
  17. Jestem na 150% pewien, że masz ją wyłączoną w pliku konfiguracyjnym.
  18. KrejzolekPRO

    loop

    Taki zapis jak był przed edytowaniem wyrzuci błąd. To tak, jakby zapisać te bloki do Stringa (, np. tak: stone;stone;stone;stone[...] i splitem to odczytywać), co nie jest optymalne i lepiej od razu dodać to do Block Listy, bądź tablicy bloków
  19. KrejzolekPRO

    loop

    słuszna racja
  20. Serwer prezentuje się naprawdę dobrze pod względem prezentacji - jest estetyczna i rzeczowa. Nie byłem na serwerze, więc nie mogę wyrazić opinii o technicznym przygotowaniu serwera, więc na start pewnie wpadne
  21. KrejzolekPRO

    loop

    Jestem ciekaw spadku stabilności przy takiej czynności... on place of crafting table: //lub zastap id loop all blocks in radius 50: add loop-block's to {boki::%player%::*} //nie uzywaj {boki.%player%} send "&7Dodalem: %size of {boki::%player%::*}% blokow, aktualne tps serwera: &5%tps% (wspolczuje)"
  22. O tym nie wiedziałem, sprawdziłem i rzeczywiście nie ma kodu na githubie.
  23. Na prawdę? Ostatnio jeszcze korzystałem z mavena, pisząc pod wersje 1.8.8
  24. Najprościej użyć Mavena
  25. KrejzolekPRO

    Skrypt MS-DOS

    No hej, nauczyciel w mojej szkole wymyślił sobie superowe skrypty MS-DOS Za cholerę nie mogę pojąć "składni" tego języka o ile tak go można nazwać. Treść polecenia: Napisz skrypt, który wykona kopiowanie pliku wskazanego przez użytkownika jako pierwszy argument do katalogu wskazanego przez użytkownika jako drugi argument pod warunkiem, że ten plik i/lub katalog istnieje. Jeśli nie istnieje należy go stworzyć. Mój marny skutek: @echo off IF EXIST %1, C:\programy\%2 COPY %1 C:\programy\%2 ELSE IF NOT EXIST %1 echo "Plik %1 nie zostal znaleziony. Stworzylem nowy." > %1.txt ELSE IF NOT EXIST %2 C:\programy\%2 > mkdir %2 Jeśli ktoś pomoże, to się na pewno odwdzięczę
×
×
  • Dodaj nową pozycję...