Skocz do zawartości

[Plugin] RevoGuild - autorski system gildii - tab, ranking, komendy administratora i więcej...


PalaTime
 Udostępnij

Rekomendowane odpowiedzi

UWAGA: Na samym początku chce zaznaczyć iż autorem pluginu jest Karolek (KarolekFM, EastWestFM) i jest to fork jego pluginu który będę w wolnym czasie aktualizował!

 


RevoGuild

 


RevoGuild v0.4.1-b333
Kompatybilny z: Spigot 1.8.8
Rozbudowany system gildii na Twój serwer!

 


Opis pluginu:
Szukałeś autorskiego, rozbudowanego, wydajnego pluginu na gildie za darmo? Dobrze trafiłeś! RevoGuild ma za zadanie wprowadzić na Twój serwer system gildii - przejmowanie, powiększanie, przedłużanie i wiele, wiele więcej!

 


Komendy:

 

Komendy gracza:

  • /g sojusz <tag/nazwa> - zarzadzanie sojuszami gildii
  • /g efekt - losowanie efektu dla gildii
  • /g zaloz <tag> <nazwa> - tworzenie gildii
  • /g usun - usuwanie gildii
  • /g powieksz - powiekszanie gildii
  • /g dom - teleport do domu gildii
  • /g info <tag/nazwa> - podstawowe informacje o gildii
  • /g zapros <gracz> - zapraszanie graczy do gildii
  • /g dolacz <tag/nazwa> - dolaczanie do gildii
  • /g wyrzuc <gracz> - wyrzucanie graczy z gildii
  • /g lider <gracz> - zmiana lidera gildii
  • /g opusc - opuszczanie gildii
  • /g lista - lista wszystkich gildii
  • /g zalozyciel <gracz> - zmiana zalozyciela gildii
  • /g przedluz - przedluzanie waznosci gildii
  • /g pvp - zmiana statusu pvp w gildii
  • /g ustawdom - ustawianie domu gildii
  • /g skarbiec [dodaj <gracz> | usun <gracz> | lista] - zarzadzanie skarbcem gildii
  • /g itemy - itemy do zarzadzania gildia

Komendy administratora:

  • /ga tp <tag/nazwa> - teleport do gildii
  • /ga usun <tag/nazwa> - usuwanie gildii
  • /ga ban <tag/nazwa> <czas> <powod> - banowanie gildii
  • /ga unban <tag/nazwa> - odbanowywanie gildii
  • /ga set <tag/nazwa> <leader|owner|lives|pvp|size> <wartosc> - zmiana wartosci pola wybranej gildii
  • /ga setcuboid <tag/nazwa> - zmiana cuboida gildii
  • /ga wyrzuc <tag/nazwa> <gracz> - wyrzucanie gracza z gildii
  • /ga reload - przeladowanie plikow konfiguracyjnych

Inne:

  • /ra reset <gracz> - reset rankingu gracza
  • /ra set <gracz> <kills|deaths|points> <warotsc> - ustawianie wartosci gracza
  • /top - top 10 graczy
  • /combat - sprawdzanie statusu antylogout
  • /ranking - informacje o graczu

Funkcje:

  • tworzenie, usuwanie gildii;
  • zapraszanie, wyrzucanie członków z gildii;
  • dołączenie, opuszczanie gildii;
  • sojusze między gildyjne;
  • powiększanie terenu gildii;
  • przedłużanie ważności gildii;
  • przejmowanie gildii;
  • skarbce gildyjne;
  • podstawowe informacje o gildii;
  • dwa sposoby wykonywania komend;
  • zmienianie statusu pvp w gildii;
  • ranking gildii oraz graczy;
  • tablista z rankingiem graczy oraz gildii;
  • dwa rodzaje zapisu danych: mysql oraz sqlite;
  • blokoda używania poszczególnych bloków na terenie gildii;
  • 24 godzinna ochrona przed TNT dla nowych gildii;
  • po wybuchu TNT nie można budować;
  • wsparcie dla pluginów od czatu (do formatu wystarczy dodać {GUILD} oraz {RANK})
  • śledzenie położenia gracza (komunikaty o wejściu i wyjściu z terenu gildii)
  • komendy dla administratora;

 


Konfiguracja: 

(config.yml)

Spoiler
config:
  enabled: false
  updater: true
  store:
    type: sqlite
    table-prefix: ks_
    mysql:
      host: localhost
      port: 3306
      username: root
      password: ''
      base-name: minecraft
    sqlite:
      base-name: minecraft.db
  name-tag:
    format: '&8[{COLOR}{TAG}&8] {COLOR}'
    color:
      no-guild: '&7'
      friend: '&a'
      friend-pvp: '&9'
      enemy: '&c'
      alliance: '&6'
  name:
    lenght-min: 2
    lenght-max: 22
    regex: '[a-zA-Z]+'
  tag:
    lenght-min: 2
    lenght-max: 5
    regex: '[a-zA-Z]+'
  chat:
    format:
      tag: '&8[&2{TAG}&8]&r '
      rank: '&8[&2{RANK}&8]&r '
    local:
      enabled: false
      char: '!'
      format:
        guild: '&2{PLAYER} -> Gildia: &a{MESSAGE}'
        alliance: '&6{TAG} {PLAYER} -> Sojusz: &e{MESSAGE}'
  ranking:
    start-points: 1000
    death:
      tag: '&7[&2{TAG}&7]&r '
      message: '&2Gracz {PGUILD}&7{PLAYER} ({LOSEPOINTS}) &2zostal zabity przez {KGUILD}&7{KILLER}
        ({WINPOINTS})&2!'
  effects:
    enabled: false
    chance: 50.0
    level:
      min: 0
      max: 3
    time:
      min: 10
      max: 3600
      interval: 5
    types:
    - FAST_DIGGING
    - REGENERATION
    - INCREASE_DAMAGE
  escape:
    enabled: true
    time: 10
    lose-points: 50
    broadcast: '&2Gracz {PGUILD}&7{PLAYER} &7(-50) &2wylogowal sie podczas walki!'
    disabled-commands:
      enabled: false
      commands:
      - g dom
      - dom
      - spawn
      notify:
        enabled: false
        message: '&4Blad: &cNie mozesz uzywac tej komendy podczas walki!'
  algorithm:
    ranking:
      win: (300 + (({KILLER_POINTS} - {PLAYER_POINTS}) * (-0.2)))
      lose: Math.abs({WIN_POINTS} / 2)
    guild-points: '{MEMBERS_POINTS} - ({MEMBERS_NUM} * 1000)'
    enlarge: ({CUBOID_SIZE} - 24) / 5 + 1
    join: Math.max(1, {MEMBERS_NUM} / 2)
  movement:
    notify:
      enabled: true
      intruder:
        enabled: true
  members-max: 30
  alliances-max: 3
  actions:
    block:
      break: false
      place: false
    bucket:
      empty: false
      fill: false
    protected-id:
    - 54
  uptake:
    enabled: false
    lives:
      start: 3
      max: 6
      time: 24
  treasure:
    enabled: false
    open-only-on-guild: true
    title: 'Skarbiec gildii:'
    rows: 6
  tnt:
    protection:
      enabled: false
      time: 24
    cant-build:
      enabled: false
      time: 90
  items:
    create:
      normal: 1:0-10;
      vip: 1:0-5;
    join:
      normal: 1:0-10;
      vip: 1:0-5;
    leader:
      normal: 1:0-10;
      vip: 1:0-5;
    owner:
      normal: 1:0-10;
      vip: 1:0-5;
    enlarge:
      normal: 1:0-10;
      vip: 1:0-5;
    prolong:
      normal: 1:0-10;
      vip: 1:0-5;
    effect:
      normal: 1:0-10;
      vip: 1:0-10;
    alliance:
      normal: 1:0-10;
      vip: 1:0-10;
  cuboid:
    world: world
    size:
      start: 24
      max: 74
      add: 1
      between: 50
    spawn:
      enabled: true
      distance: 400
    disabled-commands:
      enabled: true
      commands:
      - g dom
      - g efekt
      - g skarbiec
      - g ustawdom
      notify:
        enabled: false
        message: '&4Blad: &cNie mozesz uzywac tej komendy na terenie innej gildii!'
  time:
    start: 3
    max: 14
    add: 7
    check: 3
    teleport: 10
  tablist:
    enabled: false
    refresh-interval: 10
    tops-max: 16
    format:
      gtop: '{TAG} &7[&8{POINTS}&7]'
      ptop: '{NAME}'
      empty: brak
    header: '&6&lRevo&7&lGUILD'
    footer: '&7Online: &6{ONLINE}&7/&6300'

 

(messages.yml)

Spoiler
messages:
  guild:
    user-help:
    - '&7&m----------&r &6RevoGUILD: komendy uzytkownika &7&m----------&r'
    - '  &6/g sojusz <tag/nazwa> &7- zarzadzanie sojuszami gildii'
    - '  &6/g efekt &7- losowanie efektu dla gildii'
    - '  &6/g zaloz <tag> <nazwa> &7- tworzenie gildii'
    - '  &6/g usun &7- usuwanie gildii'
    - '  &6/g powieksz &7- powiekszanie gildii'
    - '  &6/g dom &7- teleport do domu gildii'
    - '  &6/g info <tag/nazwa> &7- podstawowe informacje o gildii'
    - '  &6/g zapros <gracz> &7- zapraszanie graczy do gildii'
    - '  &6/g dolacz <tag/nazwa> &7- dolaczanie do gildii'
    - '  &6/g wyrzuc <gracz> &7- wyrzucanie graczy z gildii'
    - '  &6/g lider <gracz> &7- zmiana lidera gildii'
    - '  &6/g opusc &7- opuszczanie gildii'
    - '  &6/g lista &7- lista wszystkich gildii'
    - '  &6/g zalozyciel <gracz> &7- zmiana zalozyciela gildii'
    - '  &6/g przedluz &7- przedluzanie waznosci gildii'
    - '  &6/g pvp &7- zmiana statusu pvp w gildii'
    - '  &6/g ustawdom &7- ustawianie domu gildii'
    - '  &6/g skarbiec [dodaj <gracz> | usun <gracz> | lista] &7- zarzadzanie skarbcem
      gildii'
    - '&7&m----------------------------------------------------'
    admin-help:
    - '&7&m-------&r &6RevoGUILD: komendy administratora gildii &7&m-------&r'
    - '  &6/ga tp <tag/nazwa> &7- teleport do gildii'
    - '  &6/ga usun <tag/nazwa> &7- usuwanie gildii'
    - '  &6/ga ban <tag/nazwa> <czas> <powod> &7- banowanie gildii'
    - '  &6/ga unban <tag/nazwa> &7- odbanowywanie gildii'
    - '  &6/ga set <tag/nazwa> <leader|owner|lives|pvp|size> <wartosc> &7- zmiana
      wartosci pola wybranej gildii'
    - '  &6/ga setcuboid <tag/nazwa> &7- zmiana cuboida gildii'
    - '  &6/ga wyrzuc <tag/nazwa> <gracz> &7- wyrzucanie gracza z gildii'
    - '  &6/ga reload &7- przeladowanie plikow konfiguracyjnych'
    - '&7&m----------------------------------------------------'
    user-items-help:
    - '&6Przedmioty do akcji w gildii:'
    - ' &8&m-- &6zalozenie gildii: '
    - '&7{CREATE}'
    - ' &8&m-- &6dolaczenie do gildii: '
    - '&7{JOIN}'
    - ' &8&m-- &6zmiana lidera fildii: '
    - '&7{LEADER}'
    - ' &8&m-- &6zmiana zalozyciela gildii: '
    - '&7{OWNER}'
    - ' &8&m-- &6powiekszenie terenu gildii: '
    - '&7{ENLARGE}'
    - ' &8&m-- &6przedluzanie waznosci gildii: '
    - '&7{PROLONG}'
    - ' &8&m-- &6efekt dla gildii: '
    - '&7{EFFECT}'
    - ' &8&m-- &6sojusz gildii: '
    - '&7{ALLIANCE}'
  ranking-admin-help:
  - '&7&m-------&r &6RevoGUILD: komendy administratora rankingu &7&m-------&r'
  - '  &6/ra reset <gracz> &7- reset rankingu gracza'
  - '  &6/ra set <gracz> <kills|deaths|points> <warotsc> &7- ustawianie wartosci gracza'
  - '&7&m----------------------------------------------------'
  combat-info: '&6Mozesz sie wylogowac za &7{TIME}s&6!'
  commands:
    no-enough-args: '&6Prawidlowe uzycie: &7{USAGE}&6!'
    no-permissions: '&cNie posiadasz dostepu do tej komendy! ({PERM})'
  error:
    tag-incorrect-length: '&4Blad: &cTag musi miec od {TAGMIN} do {TAGMAX} znakow!'
    tag-incorrect-characters: '&4Blad: &cTag musi byc alfanumerczny ({REGEX})'
    name-incorrect-length: '&4Blad: &cNazwa musi miec od {NAMEMIN} do {NAMEMAX} znakow!'
    name-incorrect-characters: '&4Blad: &cNazwa musi byc alfanumerczna ({REGEX})'
    have-guild: '&4Blad: &cMasz juz gildie!'
    bad-integer: '&4Blad: &cPodana wartosc nie jest liczba!'
    guild:
      already-exists: '&4Blad: &cIstnieje juz taka gildia!'
      nearby: '&4Blad: &cW poblizu znajduje sie gildia lub spawn!'
      have-ban: '&4Blad: &cGildia ma juz bana!'
      dont-have-ban: '&4Blad: &cGildia nie ma bana!'
      is-full: '&4Blad: &cTwoja gildia ma juz maksymalna ilosc czlonkow! (30 osob)'
    dont-have:
      items: '&4Blad: &cNie posiadasz wystarczajacej ilosci przedmiotow!'
      guild: '&4Blad: &cNie posiadasz gildii!'
      invite: '&4Blad: &cnie posiadasz zaproszenia do gildii!'
      lucky-to-effect: '&4Blad: &cEfekt nie zostal wylosowany! Nie masz szczescia
        i straciles itemy! :('
    you-arent-owner: '&4Blad: &cNie jestes zalozycielem!'
    you-arent-leader: '&4Blad: &cNie jestes liderem!'
    player-is:
      member: '&4Blad: &cGracz jest czlonkiem Twojej gildii!'
      treasure-user: '&4Blad: &cGracz jest juz uzytkownikiem skarbca gildii!'
    player-isnt:
      member: '&4Blad: &cGracz nie jest czlonkiem Twojej gildii!'
      treasure-user: '&4Blad: Gracz nie jest uzytkownikiem skarbca gildii!'
    owner-cant-leave-guild: '&4Blad: &cZalozyciel nie moze opuscic gildii!'
    max-size: '&4Blad: &cTwoja gildia ma juz maksymalny rozmiar!'
    not-your-guild: '&4Blad: &cTo nie Twoja gildia!'
    explode-tnt: '&4Blad: &cPrzed chwila wybuchlo TNT! Nie mozesz budowac przez 60
      sekund!'
    owner-not-online: '&4Blad: &cZalozyciel gildii nie jest online!'
    cant:
      kick-leader-or-owner: '&4Blad: &cNie mozesz wyrzucic lidera i zalozyciela gildii!'
      set-home-outside-cuboid: '&4Blad: &cDom gildii musi byc na jej terenie!'
      take-life: '&4Blad: &cNie mozna teraz zabrac zycia gildii! Musi uplynac minimum
        24h od ostatniej takiej akcji!'
      open-treasure: '&4Blad: &cNie jestes uprawniony do otwierania skarbca gildii!'
      attack-player: '&4Blad: &cNie mozesz atakowac tego gracza!'
      prolong: '&4Blad: &cWaznosc gildii nie moze byc wieksza niz 14 dni!'
      use: '&4Blad: &cNie mozesz tego uzywac!'
      open-treasure-outside-cuboid: '&4Blad: &cSkarbiec gildii mozna otwierac tylko
        na terenie gildii!'
      set-cuboid: '&4Blad: &cNie mozna przeniesc cuboida gildii poniewaz w poblizu
        znajduje sie inna gildia/spawn!'
    cant-find:
      user: '&4Blad: Uzytkownik nie istnieje w bazie danych!'
      player: '&4Blad: &cGracz jest offline!'
      guild: '&4Blad: &cTaka gildia nie istnieje!'
    must-wait: '&4Blad: Musisz poczekac 5 minut przed kolejnym losowaniem!'
    alliances-max: '&4Blad: &cTwoja gildia ma juz maksymalna ilosc sojuszy!'
    no-effects-to-roll: '&4Blad: &cW puli nie ma efektow do wylosowania!'
  info:
    confirm-delete: '&6Potwierdz usuniecie gildii: &7/g usun&6!'
    invite:
      send: '&6Zaproszenie zostalo wyslane!'
      back: '&6Zaproszenie zostalo cofniete!'
      cancel: '&6Zaproszenie do gildii &7[{TAG}] {NAME}&6 zostalo cofniete!'
      new: '&6Zotales zaproszony do gildii &7[{TAG}] {NAME}&6! Zaakceptuj zaproszenie:
        &7/g dolacz {TAG}&6!'
    joined: '&6Dolaczyles do gildii!'
    changed:
      leader: '&6Lider zostal zmieniony!'
      owner: '&6Zalozyciel zostal zmieniony!'
      guild: '&6Zmieniono wartosc pola {FIELD} dla gildii {TAG}!'
    is-now:
      leader: '&6Awansowales na lidera gildii!'
      owner: '&6Awansowales na zalozyciela gildii!'
    resized: '&6Powiekszono!'
    pvp:
      'on': '&6PVP w gildii zostalo wlaczone!'
      'off': '&6PVP w gildii zostalo wylaczone!'
    set:
      home: '&6Dom zostal ustawiony!'
      cuboid: '&6Zmieniono teren gildii!'
    guild:
    - '&7&m---------&r &7Gildia &6[{TAG}] {NAME} &7&m---------&r'
    - '  &6Zalozyciel: &7{OWNER}'
    - '  &6Lider: &7{LEADER}'
    - '  &6Utworzona: &7{CREATETIME}'
    - '  &6Wygasa: &7{EXPIRETIME}'
    - '  &6Ostatni atak: &7{LASTTAKENLIFETIME}'
    - '  &6Zgony: &7{DEATHS}'
    - '  &6Zabicia: &7{KILLS}'
    - '  &6Punkty: &7{POINTS}'
    - '  &6Pvp: &7{PVP}'
    - '  &6Zycia: &7{LIVES}'
    - '  &6Rozmiar: &7{SIZE}x{SIZE}'
    - '  &6Czlonkow: &7{MEMBERSNUM}, online: {ONLINENUM}'
    - '  &6Czlonkowie: &7{MEMBERS}'
    - ''
    guild-alliance:
      move:
        in: '&6Wkroczyles na teren sojuszniczej gildii &7[{TAG}] {NAME}&6!'
        out: '&6Opusciles teren sojuszniczej gildii &7[{TAG}] {NAME}&6!'
    guild-enemy:
      move:
        in: '&cWkroczyles na teren wrogiej gildii &7[{TAG}] {NAME}&c!'
        out: '&cOpusciles teren wrogiej gildii &7[{TAG}] {NAME}&c!'
    move:
      intruder: '&4Intruz na terenie Twojej gildii!'
    ranking:
    - '&7&m---------&r &7Gracz &6{NAME} &7&m---------&r'
    - '  &6Punkty: &7{POINTS}'
    - '  &6Zabicia: &7{KILLS}'
    - '  &6Zgony: &7{DEATHS}'
    - '  &6Pozycja: &7{POSITION}'
    treasure:
      opened: '&6Otwarto skarbiec gildii!'
      user:
        add: '&6Gracz &7{PLAYER} &6jest od teraz uzytkownikiem skarbca gildii!'
        add-info: '&6Gracz &7{PLAYER} &6nadal Ci uprawnienia do skarbca gildii!'
        remove: '&6Gracz &7{PLAYER} &6nie jest od teraz uzytkownikiem skarbca gildii!'
        remove-info: '&6Gracz &7{PLAYER} &6odebral Ci uprawnienia do skarbca gildii!'
      users: '&6Lista uzytkownikow skarbca: {USERS}'
    prolonged-validity: '&6Przedluzo waznosc gildii!'
    ally:
      new: '&6Twoja gildia zostala zaproszona do sojuszu przez gildie  &7[{TAG}] {NAME}&6!
        Zaakceptuj uzywajac &7/g sojusz {TAG}&6!'
      send: '&6Zaprosiles gildie &7[{TAG}] {NAME}&6 do sojuszu!'
    reloaded: '&6Przeladowano plik config.yml oraz lang.yml!'
    reseted: '&6Zresetowano ranking gracza!'
    setted: '&6Zmieniono wartosci gracza!'
    user-kicked: '&6Wyrzucono gracza z gildii!'
    fight:
      start: '&cJestes w trakcie walki! Nie mozesz sie wylogowac przez 20 sekund!'
      end: '&aSkonczyles walczyc! Mozesz sie spokojnie wylogowac! ;)'
  teleport:
    start: '&6Teleport nastapi za &7{TIME} &6sekund! Prosze sie nie ruszac!'
    end: '&6Przeteleportowano!'
    cancelled: '&6Teleport przerwany!'
  list:
    ranking:
      header: "&7&m--------&r &6Lista wszystkich gildii &7&m--------&r \n  &7&otag\
        \ - nazwa - zalozyciel"
      element: '  &7{TAG} -  {NAME} -  {OWNER}'
      footer: '&7&m----------------------------------'
    guild:
      header: '&7&m--------&r &6Ranking graczy (TOP 10)&7&m--------&r '
      element: '  &7{POS}. {NAME} - {POINTS}; {KILLS}:{DEATHS}'
      footer: '&7&m----------------------------------'
  broadcast:
    guild:
      admin:
        deleted: '&4Gildia &7[{TAG}] {NAME}&4 zostala usunieta przez administratora
          &7{PLAYER}&4!'
        banned: '&4Gildia &7[{TAG}] {NAME}&4 zostala zbanowana przez administratora
          &7{PLAYER}&4 z powodu: &7{BANREASON}!'
        unbanned: '&4Gildia &7[{TAG}] {NAME}&4 zostala odbanowana przez administratora
          &7{PLAYER}&4!'
      created: '&6Gildia &7[{TAG}] {NAME}&6 zostala utworzona przez &7{OWNER}&6!'
      deleted: '&6Gildia &7[{TAG}] {NAME}&6 zostala usunieta przez &7{OWNER}!'
      joined: '&6Gracz &7{PLAYER} &6dolaczyl do gildii &7[{TAG}] {NAME}&6!'
      kicked: '&6Gracz &7{PLAYER} &6zostal wyrzucony z gildii &7[{TAG}] {NAME}&6!'
      leaved: '&6Gracz &7{PLAYER} &6opuscil gildie &7[{TAG}] {NAME}&6!'
      life-taken: '&6Gracz &7[{TAG2}] &6{PLAYER} zaatakowal gildie &7[{TAG}] {NAME}&6!'
      taken: '&6Gracz &7[{TAG2}] &6{PLAYER} zniszczyl gildie &7[{TAG}] {NAME}&6!'
      expired: '&6Gildia &7[{TAG}] {NAME}&6 stracila swoja waznosc! Jej stare koorydynaty:
        &7[x: {X}; z: {Z}]&6!'
      alliance:
        created: '&6Gildia &7[{TAG}] {NAME}&6 zawarla sojusz z gildia &7[{TAG2}] {NAME2}&6!'
        deleted: '&6Gildia &7[{TAG}] {NAME}&6 zerwala sojusz z gildia &7[{TAG2}] {NAME2}&6!'
      effect: '&6Gildia &7[{TAG}] {NAME}&6 wylosowala efekt &7{EFFECT} ({LEVEL}) &6na
        okres &7{TIME}&6!'
  ban-reason: |-
    &cTwoja gildia zostala zbanowana przez {BANADMIN}!
    Powod: {BANREASON}
    Wygasa: {BANTIME}

 

(tablist.yml)

Spoiler
tablist:
  '0':
    '1': '&6Informacje:'
    '3': '&7Nick: &6{NAME}'
    '4': '&7Zabojstwa: &6{KILLS}'
    '5': '&7Smierci: &6{DEATHS}'
    '6': '&7Pozycja: &6{POSITION}'
    '7': '&7Punkty: &6{POINTS}'
    '8': '&7Gildia: &6{TAG}'
    '9': '&7Ping: &6{PING}&7ms'
    '18': '&7Godzina: &6{TIME}'
  '1':
    '1': '&6Ranking graczy:'
    '3': '&71.&6 {PTOP-1}'
    '4': '&72.&6 {PTOP-2}'
    '5': '&73.&6 {PTOP-3}'
    '6': '&74.&6 {PTOP-4}'
    '7': '&75.&6 {PTOP-5}'
    '8': '&76.&6 {PTOP-6}'
    '9': '&77.&6 {PTOP-7}'
    '10': '&78.&6 {PTOP-8}'
    '11': '&79.&6 {PTOP-9}'
    '12': '&710.&6 {PTOP-10}'
    '13': '&711.&6 {PTOP-11}'
    '14': '&712.&6 {PTOP-12}'
    '15': '&713.&6 {PTOP-13}'
    '16': '&714.&6 {PTOP-14}'
    '17': '&715.&6 {PTOP-15}'
    '18': '&716.&6 {PTOP-16}'
  '2':
    '1': '&6Ranking gildii:'
    '3': '&71.&6 {GTOP-1}'
    '4': '&72.&6 {GTOP-2}'
    '5': '&73.&6 {GTOP-3}'
    '6': '&74.&6 {GTOP-4}'
    '7': '&75.&6 {GTOP-5}'
    '8': '&76.&6 {GTOP-6}'
    '9': '&77.&6 {GTOP-7}'
    '10': '&78.&6 {GTOP-8}'
    '11': '&79.&6 {GTOP-9}'
    '12': '&710.&6 {GTOP-10}'
    '13': '&711.&6 {GTOP-11}'
    '14': '&712.&6 {GTOP-12}'
    '15': '&713.&6 {GTOP-13}'
    '16': '&714.&6 {GTOP-14}'
    '17': '&715.&6 {GTOP-15}'
    '18': '&716.&6 {GTOP-16}'
  '3':
    '1': '&7Github:'
    '2': '&6http://github.com/userMacieG/RevoGuild'
    '17': '&7Discord:'
    '18': '&6https://discord.gg/r8JzXVd'
update-slots:
  '0':
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    - 18

 

ZvBNwKW.png


(commands.yml)

Spoiler
commands:
  guild:
    user:
      main:
        enabled: true
        name: gildia
        description: glowna komenda systemu gildii
        usage: /gildia <subkomenda>
        permission: revoguild.commands.guild
        aliases:
        - g
        - gildie
        - guild
      alliance:
        enabled: true
        name: usun
        description: usuwa gildie
        usage: /g usun
        permission: revoguild.commands.guild.delete
        aliases:
        - delete
        - skasuj
      create:
        enabled: true
        name: zaloz
        description: tworzy nowa gildie
        usage: /g zaloz <tag> <nazwa>
        permission: revoguild.commands.guild.create
        aliases:
        - create
        - utworz
        - nowa
      delete:
        enabled: true
        name: usun
        description: usuwa gildie
        usage: /g usun
        permission: revoguild.commands.guild.delete
        aliases:
        - delete
        - skasuj
      effect:
        enabled: true
        name: efekt
        description: losowanie efektu dla gildii
        usage: /g efekt
        permission: revoguild.commands.guild.effect
        aliases:
        - effect
        - buff
      enlarge:
        enabled: true
        name: powieksz
        description: powiekszanie terenu gildii
        usage: /g powieksz
        permission: revoguild.commands.guild.enlarge
        aliases:
        - enlarge
        - resize
      home:
        enabled: true
        name: dom
        description: teleportacja do domu gildii
        usage: /g dom
        permission: revoguild.commands.guild.home
        aliases:
        - home
        - baza
      info:
        enabled: true
        name: info
        description: informacje o gildii
        usage: /g info <tag/nazwa>
        permission: revoguild.commands.guild.info
        aliases:
        - informacje
      invite:
        enabled: true
        name: zapros
        description: zapraszanie do gildii
        usage: /g zapros <gracz>
        permission: revoguild.commands.guild.invite
        aliases:
        - invite
        - dodaj
      items:
        enabled: true
        name: itemy
        description: informacje o itemach na gildiie
        usage: /g itemy
        permission: revoguild.commands.guild.items
        aliases:
        - items
        - przedmioty
      join:
        enabled: true
        name: dolacz
        description: dolaczanie do gildii
        usage: /g usun
        permission: revoguild.commands.guild.delete
        aliases:
        - delete
        - skasuj
      kick:
        enabled: true
        name: wyrzuc
        description: wyrzucanie czlonka gildii
        usage: /g wyrzuc <gracz>
        permission: revoguild.commands.guild.kick
        aliases:
        - kick
      leader:
        enabled: true
        name: lider
        description: zmienianie lidera gildii
        usage: /g lider <gracz>
        permission: revoguild.commands.guild.leader
        aliases:
        - leader
      leave:
        enabled: true
        name: opusc
        description: opuszczanie gildii
        usage: /g opusc
        permission: revoguild.commands.guild.leave
        aliases:
        - leave
      top:
        enabled: true
        name: top
        description: top 10 wszystkich gildii
        usage: /g top
        permission: revoguild.commands.guild.top
        aliases:
        - list
        - lista
        - top10
        - topka
      owner:
        enabled: true
        name: zalozyciel
        description: zmienianie zalozyciela gildii
        usage: /g zalozyciel <gracz>
        permission: revoguild.commands.guild.owner
        aliases:
        - owner
      prolong:
        enabled: true
        name: przedluz
        description: przedluzanie waznosci gildii
        usage: /g przedluz
        permission: revoguild.commands.guild.prolong
        aliases:
        - prolong
        - addtime
      pvp:
        enabled: true
        name: pvp
        description: zmiana statusu pvp w gildii
        usage: /g pvp
        permission: revoguild.commands.guild.pvp
        aliases:
        - friendlyfire
        - ff
      set-home:
        enabled: true
        name: ustawdom
        description: ustawianie domu gildii
        usage: /g ustawdom
        permission: revoguild.commands.guild.sethome
        aliases:
        - sethome
        - ustawbaze
      treasure:
        enabled: true
        name: skarbiec
        description: zarzadzanie skarbcem gildii
        usage: /g skarbiec [dodaj <gracz>/usun <gracz>/lista]
        permission: revoguild.commands.guild.treasure
        aliases:
        - treasure
        - skrzynia
    admin:
      main:
        enabled: true
        name: ga
        description: glowna komenda administratora systemu gildii
        usage: /ga <subkomenda>
        permission: revoguild.commands.admin.guild
        aliases:
        - gildieadmin
        - guildadmin
        - gildiaadmin
      ban:
        enabled: true
        name: ban
        description: banowanie wybranej gildii
        usage: /ga ban <tag/nazwa> <czas> <powod>
        permission: revoguild.commands.admin.guild.ban
        aliases:
        - zbanuj
      delete:
        enabled: true
        name: usun
        description: usuwanie wybranej gildii
        usage: /ga usun <tag/nazwa>
        permission: revoguild.commands.admin.guild.delete
        aliases:
        - delete
      kick:
        enabled: true
        name: wyrzuc
        description: wyrzuca czlonka wybranej gildii
        usage: /ga wyrzuc <tag/nazwa> <gracz>
        permission: revoguild.commands.admin.guild.kick
        aliases:
        - kick
      reload:
        enabled: true
        name: reload
        description: przeladowanie plikow konfiguracyjnych
        usage: /ga reload
        permission: revoguild.commands.admin.guild.reload
        aliases:
        - przeladuj
      set:
        enabled: true
        name: set
        description: zmiana wartosci wybranej gildii
        usage: /ga set <tag/nazwa> <leader|owner|lives|pvp|size> <wartosc>
        permission: revoguild.commands.admin.guild.set
        aliases:
        - ustawrozmiar
      set-cuboid:
        enabled: true
        name: setcuboid
        description: zmiana lokacji cuboida wybranej gildii
        usage: /ga setcuboid <tag/nazwa>
        permission: revoguild.commands.admin.guild.setcuboid
        aliases:
        - setcub
        - ustawteren
      teleport:
        enabled: true
        name: teleport
        description: teleport do centrum wybranej gildii
        usage: /ga teleport <tag/nazwa>
        permission: revoguild.commands.admin.guild.teleport
        aliases:
        - tp
      unban:
        enabled: true
        name: unban
        description: odbanowanie wybranej gildii
        usage: /ga unban <tag/nazwa>
        permission: revoguild.commands.admin.guild.unban
        aliases:
        - odbanuj
  ranking:
    user:
      enabled: true
      name: ranking
      description: informacje o rankingu wybranego gracza
      usage: /ranking [gracz]
      permission: revoguild.commands.ranking
      aliases:
      - elo
      - gracz
      - points
    admin:
      main:
        enabled: true
        name: ra
        description: glowna komenda administratora systemu rankingu
        usage: /ra <subkomenda>
        permission: revoguild.commands.admin.ranking
        aliases:
        - rankingadmin
      set:
        enabled: true
        name: set
        description: ustawianie wartosci wybranego gracza
        usage: /ra set <gracz> <kills|deaths|points> <wartosc>
        permission: revoguild.commands.admin.ranking.set
        aliases:
        - ustaw
      reset:
        enabled: true
        name: reset
        description: reset rankingu wybranego gracza
        usage: /ra reset <gracz>
        permission: revoguild.commands.admin.ranking.reset
        aliases:
        - resetuj
  combat:
    enabled: true
    name: combat
    description: sprawdzanie czasu walki
    usage: /combat
    permission: revoguild.commands.combat
    aliases:
    - ct
    - tag
    - walka
    - pvp
    - logout
  top:
    enabled: true
    name: top
    description: top 10 wszystkich graczy
    usage: /top
    permission: revoguild.commands.top
    aliases:
    - topka
    - top10

 

 

Download:

https://github.com/userMacieG/RevoGuild/releases

 

TODO:

  • [ ] Oddzielne odswieżanie pingu oraz godziny;
  • [ ] Możliwość zmiany tekstury głowy na tabliscie;
  • [ ] Kilku liderów;
  • [ ] Maksymalna ilość żyć;
  • [ ] Podstawowa ilość punktów gildii (np: 1000pkt.);
  • [ ] Możliwość zmiany nazwy oraz tagu gildii;
  • [ ] Ochrona przed multikontami;
  • [ ] Dodanie asyst;

 

Podziękowania:

@kamilkime - Pomógł z zapisem i wczytywanie tablisty (Dzięki <3)

 

Kontakt: Discord

Edytowane przez PalaTime

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

Aktualizacja:

 

Dodano:

  • plik konfiguracyjny z komendami;
  • mozliwość ustawienia wielkości tagu oraz nazwy gildii;
  • możliwość ustawienia footer'a i header'a tablisty;

Usunięto:

  • komendę /admin;
  • niepotrzebny kod z "StoreSQLITE";

Zmieniono:

  • tablist'a otrzymała wsparcie pod 1.8 i jest już w pełni działająca;
  • niektóre nazwy w konfiguracji zostały zmienione, usunięte, dodane;
Aby plugin działał poprawnie trzeba od nowa wygenerować wszystkie pliki konfiguracyjne.

 

Download: 

https://github.com/userMacieG/RevoGuild/releases/tag/v0.4.4-b332

 

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Biter. zmienił(a) tytuł na [Plugin] RevoGuild - autorski system gildii - tab, ranking, komendy administratora i więcej...

Aktualizacja:

 

Dodano:

  • prostą komendę "/g itemy";
  • nowe zmienne do tablisty {TPS, POSITION, GNAME, OWNER, LEADER, EXPIRETIME, LASTTAKENLIFETIME, SIZE, PVP, ONLINENUM, MEMBERSNUM, GPOINTS, GKILLS, GDEATHS, LIVES, GPOSTITION};
  • przeładowanie konfiguracji "commands.yml" w "/g reload";
  • możliwość wyłączenia wybranych komend;
  • możliwość ustawienia ilości topek wyświetlanej na tab'ie;
  • limit członków gildii;
  • permisje dla administracji aby nie wyświetlała się jako intruz ("revoguild.notify.bypass");
  • oddzielne wiadomości przy wchodzeniu na teren (własny teren, teren wroga, teren sojuszy);

Usunięto:

  • system wyłączania TNT (jest on zbędny w pluginie na gildie);
  • system wytrzymałości bloków (jest on zbędny w pluginie na gildie);

Zmieniono:

  • "/g list" na "/g top" (od teraz jest top 10 gildii);
  • poprawienie błędu z wyświetlaniem top gildii
  • poprawienie błędu przy odświeżaniu tablist'y (brak zmiennych przez kilka sekund);

 

Download: 

https://github.com/userMacieG/RevoGuild/releases/tag/v0.4.4-b332

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

21 godzin temu, xannydev napisał:

Kod Karolka licho napisany, niedużo wniosłeś od siebie do kodu. Wątpię, że ktokolwiek ktoś będzie korzystał z tego projektu. 

Lepiej wyjdzie Ci, na napisaniu własnych gildii, niż na kontynuowaniu czegoś, co jest niczym. Spróbuj.

Powodzenia :)

 

Drogi "Dev" to zrób to lepiej a nie komentujesz.

Co do autora, powodzenia w rozwoju

Odnośnik do komentarza
Udostępnij na innych stronach

Dnia 19.08.2018 o 23:05, xannydev napisał:

Kod Karolka licho napisany, niedużo wniosłeś od siebie do kodu. Wątpię, że ktokolwiek ktoś będzie korzystał z tego projektu. 

Lepiej wyjdzie Ci, na napisaniu własnych gildii, niż na kontynuowaniu czegoś, co jest niczym. Spróbuj.

Powodzenia :)

"UWAGA: Na samym początku chce zaznaczyć iż autorem pluginu jest Karolek (KarolekFM, EastWestFM) i jest to fork jego pluginu który będę w wolnym czasie aktualizował!"

Nie wiem czy dalej mam coś odpowiadać czy czekać aż nauczysz się czytać.

Wątpię to ja w twoją wiedzę o Javie jak oceniasz kod tych gildii na "licho napisany".

No racja wcale pisząc od nowa gildie nie wyglądały by one w ok. 80% tak samo.

Z mojej strony to tyle :)

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

2 minuty temu, PalaTime napisał:

"UWAGA: Na samym początku chce zaznaczyć iż autorem pluginu jest Karolek (KarolekFM, EastWestFM) i jest to fork jego pluginu który będę w wolnym czasie aktualizował!"

Nie wiem czy dalej mam coś odpowiadać czy czekać aż nauczysz się czytać.

Wątpię to ja w twoją wiedzę o Javie jak oceniasz kod tych gildii na "licho napisany".

No racja wcale pisząc od nowa gildie nie wyglądały by one w ok. 80% tak samo.

Z mojej strony to tyle :)

Kod jest chujowy, nic więcej dodawać nie trzeba, a sam gówno dodałeś i szczycisz się swoim pseudo-projektem.

O memory-leakach wynikających z korzystania z tego pluginu nie trzeba wspominać ;) 

Odnośnik do komentarza
Udostępnij na innych stronach

15 minut temu, xannydev napisał:

Kod jest chujowy, nic więcej dodawać nie trzeba, a sam gówno dodałeś i szczycisz się swoim pseudo-projektem.

O memory-leakach wynikających z korzystania z tego pluginu nie trzeba wspominać ;) 

"Kod jest chujowy" - dalej nie podałeś żadnego argumentu. 

"a sam gówno dodałeś" - dalej czytać ze zrozumieniem się nie nauczyłeś.

"swoim pseudo-projektem" - dopowiadanie sobie słów widzę że ci wychodzi idealnie.

"memory-leakach"  - ciekawe, ciekawe.

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

15 minut temu, PalaTime napisał:

"Kod jest chujowy" - dalej nie podałeś żadnego argumentu. 

"a sam gówno dodałeś" - dalej czytać ze zrozumieniem się nie nauczyłeś.

"swoim pseudo-projektem" - dopowiadanie sobie słów widzę że ci wychodzi idealnie.

"memory-leakach"  - ciekawe, ciekawe.

Powody dlaczego plugin powszedniego autora przed twoją edycją i po jest chujowy:

1. Usunąłeś w cale nie potrzebny plik .gitignore oraz plik pom.xml. Jeśli ktoś będzie chciał zrobić pr'a, musi sam robić pom'a?

2. Pogorszyłeś code-style projektu, usunąłeś lomboka. -30% czytelności

3. Chyba nie po to powstała mapka, aby iterować po każdym elemencie 

    private static final Map<UUID, User> users = new HashMap<>();

    public static User getUser(OfflinePlayer p) {
        for (User u : users.values()) {
            if (p.getUniqueId().equals(u.getUuid())) {
                return u;
            }
        }
        return null;
    }

3.1 W innych managerach też tak jest..

    public static Guild getGuild(String tag) {
        for (Guild g : guilds.values())
            if ((g.getTag().equalsIgnoreCase(tag)) || (g.getName().equalsIgnoreCase(tag)))
                return g;
        return null;
    }

4. Jaki sens ma tworzenie tej samej metody o innej nazwie?

    private static User getOfflineUser(OfflinePlayer p) {
        return getUser(p);
    }

5. Czy dawanie adnotacji tego typu "@SuperWarnings(unchecked)" ma jakikolwiek sens? (Chyba, że używa się Eclipse ( ͡° ͜ʖ ͡°)) 

6. Skoro określiłeś priorytet w adnotacji @EventHandler, dlaczego również w niej nie określisz ignoreCancelled?

    @EventHandler(priority = EventPriority.HIGHEST)
    public void onDamage(EntityDamageByEntityEvent e) {
        if (e.isCancelled()) {
            return;
        }//dalszy kod
    }

7. Powinno się zapobiegać powstawaniu nullom, a nie ich unikać.

    public static void leaveFromGame(final Player p) {
        final User u = getUser(p);
        if (u == null) {
            Logger.warning("Data user '" + p.getName() + "' has been lost!");
            return;
        }
        u.setName(p.getName());
        u.update(false);
    }

8. Ta klasa to przykład, jak nie powinno robić się pluginów na AntyLogout. 

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/managers/CombatManager.java

9. Koniec 2018 roku, a nikt nie używa strumieni, lambd.. Po co zwiększać czytelność kodu

    public static List<String> fixColor(List<String> strings) {
        List<String> colors = new ArrayList<>();
        for (String s : strings) {
            colors.add(fixColor(s));
        }
        return colors;
    }

10. Wg. mnie lepszym sposobem byłoby parsowanie tego, aniżeli szukanie

    public static boolean isInteger(String string) {
        return (Pattern.matches("-?[0-9]+", string.subSequence(0, string.length())));
    }

11. Else-if przydałby się. Eclipse nie podpowiada?

    public static boolean getBoolean(String s) {
        if ("true".equalsIgnoreCase(s) || "tak".equalsIgnoreCase(s) || "t".equalsIgnoreCase(s) || "1".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "y".equalsIgnoreCase(s)) {
            return true;
        }
        if ("false".equalsIgnoreCase(s) || "nie".equalsIgnoreCase(s) || "n".equalsIgnoreCase(s) || "0".equalsIgnoreCase(s) || "no".equalsIgnoreCase(s)) {
            return false;
        }
        return false;
    }

12. Tak trudno zmieścić te 5 linijek więcej w listenerze

    public static Player getDamager(EntityDamageByEntityEvent event) {
        Entity damager = event.getDamager();
        if (damager instanceof Player) {
            return ((Player) damager);
        } else if (damager instanceof Projectile) {
            Projectile p = (Projectile) damager;
            if (p instanceof Player) {
                return (Player) p.getShooter();
            }
        }
        return null;
    }

13. 7 metod od wysyłania wiadomości to mądre i zaawansowane rozwiązanie, nie wpadłbym na to

    public static boolean sendMessage(CommandSender sender, Collection<String> messages) {
        for (String s : messages) {
            sendMessage(sender, s);
        }
        return true;
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, Collection<String> messages) {
        for (String s : messages) {
            sendMessage(col, s);
        }
        return true;
    }

    public static boolean sendMessage(CommandSender sender, String message, String permission) {
        if (!sender.hasPermission(permission)) {
            return false;
        }
        return sendMessage(sender, message);
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, String message, String permission) {
        for (CommandSender cs : col) {
            if (!cs.hasPermission(permission)) {
                continue;
            }
            sendMessage(cs, message);
        }
        return true;
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, Collection<String> messages, String permission) {
        for (CommandSender cs : col) {
            if (!cs.hasPermission(permission)) {
                continue;
            }
            sendMessage(cs, messages);
        }
        return true;
    }

    public static boolean sendMessage(final Collection<? extends CommandSender> col, final String message) {
        for (final CommandSender cs : col) {
            sendMessage(cs, message);
        }
        return true;
    }

    public static boolean sendMessage(final CommandSender sender, final String message) {
        sender.sendMessage(fixColor(message));
        return true;
    }

14. Tak się raczej z refleksji nie korzysta..

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/utils/UptakeUtil.java

15. Po co komu Ticking w gildiach? 

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/utils/Ticking.java

16. Skoro masz pakiet net.karolek.revoguild.enums to tam wrzucaj wszystkie enumy, a nie rozpierdalasz je po całym pluginie

package net.karolek.revoguild.utils.enums;

Cytując słowa @TheMajster "Plugin ma w sobie dużo niepotrzebnego kodu"

@PalaTime Kontynuuj dalej ten syf, może coś z tego będzie.

Dnia 12.11.2014 o 18:45, TheMajster napisał:

Plugin dzikoysk'a jest bardziej wydajny :)

Polecam go a RevoGuild ma w sobie dużo nie potrzebnego kodu :)

("nie potrzebnego" razem pisze się Panie Majster xD, ik data)

 

Odnośnik do komentarza
Udostępnij na innych stronach

47 minut temu, xannydev napisał:

Powody dlaczego plugin powszedniego autora przed twoją edycją i po jest chujowy:

1. Usunąłeś w cale nie potrzebny plik .gitignore oraz plik pom.xml. Jeśli ktoś będzie chciał zrobić pr'a, musi sam robić pom'a?

2. Pogorszyłeś code-style projektu, usunąłeś lomboka. -30% czytelności

3. Chyba nie po to powstała mapka, aby iterować po każdym elemencie 

    private static final Map<UUID, User> users = new HashMap<>();

    public static User getUser(OfflinePlayer p) {
        for (User u : users.values()) {
            if (p.getUniqueId().equals(u.getUuid())) {
                return u;
            }
        }
        return null;
    }

3.1 W innych managerach też tak jest..

    public static Guild getGuild(String tag) {
        for (Guild g : guilds.values())
            if ((g.getTag().equalsIgnoreCase(tag)) || (g.getName().equalsIgnoreCase(tag)))
                return g;
        return null;
    }

4. Jaki sens ma tworzenie tej samej metody o innej nazwie?

    private static User getOfflineUser(OfflinePlayer p) {
        return getUser(p);
    }

5. Czy dawanie adnotacji tego typu "@SuperWarnings(unchecked)" ma jakikolwiek sens? (Chyba, że używa się Eclipse ( ͡° ͜ʖ ͡°)) 

6. Skoro określiłeś priorytet w adnotacji @EventHandler, dlaczego również w niej nie określisz ignoreCancelled?

    @EventHandler(priority = EventPriority.HIGHEST)
    public void onDamage(EntityDamageByEntityEvent e) {
        if (e.isCancelled()) {
            return;
        }//dalszy kod
    }

7. Powinno się zapobiegać powstawaniu nullom, a nie ich unikać.

    public static void leaveFromGame(final Player p) {
        final User u = getUser(p);
        if (u == null) {
            Logger.warning("Data user '" + p.getName() + "' has been lost!");
            return;
        }
        u.setName(p.getName());
        u.update(false);
    }

8. Ta klasa to przykład, jak nie powinno robić się pluginów na AntyLogout. 

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/managers/CombatManager.java

9. Koniec 2018 roku, a nikt nie używa strumieni, lambd.. Po co zwiększać czytelność kodu

    public static List<String> fixColor(List<String> strings) {
        List<String> colors = new ArrayList<>();
        for (String s : strings) {
            colors.add(fixColor(s));
        }
        return colors;
    }

10. Wg. mnie lepszym sposobem byłoby parsowanie tego, aniżeli szukanie

    public static boolean isInteger(String string) {
        return (Pattern.matches("-?[0-9]+", string.subSequence(0, string.length())));
    }

11. Else-if przydałby się. Eclipse nie podpowiada?

    public static boolean getBoolean(String s) {
        if ("true".equalsIgnoreCase(s) || "tak".equalsIgnoreCase(s) || "t".equalsIgnoreCase(s) || "1".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "y".equalsIgnoreCase(s)) {
            return true;
        }
        if ("false".equalsIgnoreCase(s) || "nie".equalsIgnoreCase(s) || "n".equalsIgnoreCase(s) || "0".equalsIgnoreCase(s) || "no".equalsIgnoreCase(s)) {
            return false;
        }
        return false;
    }

12. Tak trudno zmieścić te 5 linijek więcej w listenerze

    public static Player getDamager(EntityDamageByEntityEvent event) {
        Entity damager = event.getDamager();
        if (damager instanceof Player) {
            return ((Player) damager);
        } else if (damager instanceof Projectile) {
            Projectile p = (Projectile) damager;
            if (p instanceof Player) {
                return (Player) p.getShooter();
            }
        }
        return null;
    }

13. 7 metod od wysyłania wiadomości to mądre i zaawansowane rozwiązanie, nie wpadłbym na to

    public static boolean sendMessage(CommandSender sender, Collection<String> messages) {
        for (String s : messages) {
            sendMessage(sender, s);
        }
        return true;
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, Collection<String> messages) {
        for (String s : messages) {
            sendMessage(col, s);
        }
        return true;
    }

    public static boolean sendMessage(CommandSender sender, String message, String permission) {
        if (!sender.hasPermission(permission)) {
            return false;
        }
        return sendMessage(sender, message);
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, String message, String permission) {
        for (CommandSender cs : col) {
            if (!cs.hasPermission(permission)) {
                continue;
            }
            sendMessage(cs, message);
        }
        return true;
    }

    public static boolean sendMessage(Collection<? extends CommandSender> col, Collection<String> messages, String permission) {
        for (CommandSender cs : col) {
            if (!cs.hasPermission(permission)) {
                continue;
            }
            sendMessage(cs, messages);
        }
        return true;
    }

    public static boolean sendMessage(final Collection<? extends CommandSender> col, final String message) {
        for (final CommandSender cs : col) {
            sendMessage(cs, message);
        }
        return true;
    }

    public static boolean sendMessage(final CommandSender sender, final String message) {
        sender.sendMessage(fixColor(message));
        return true;
    }

14. Tak się raczej z refleksji nie korzysta..

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/utils/UptakeUtil.java

15. Po co komu Ticking w gildiach? 

https://github.com/userMacieG/RevoGuild/blob/master/src/main/java/net/karolek/revoguild/utils/Ticking.java

16. Skoro masz pakiet net.karolek.revoguild.enums to tam wrzucaj wszystkie enumy, a nie rozpierdalasz je po całym pluginie

package net.karolek.revoguild.utils.enums;

Cytując słowa @TheMajster "Plugin ma w sobie dużo niepotrzebnego kodu"

@PalaTime Kontynuuj dalej ten syf, może coś z tego będzie.

("nie potrzebnego" razem pisze się Panie Majster xD, ik data)

 

Rozumiem że żyjesz w czasach gdzie nie wynaleziono "PM" czy "Pull Request".

1. Wejdź na git Revo karolka i potem pomyśl jak coś napiszesz.

2. Zapraszam na Discord np: Kodziarze Kimka tam panu wytłumaczą dlaczego nie używa się Lomboka.

3. | 3.1. | 4. Nie wiem czy potrafisz myśleć ale "jest to fork jego pluginu który będę w wolnym czasie aktualizował" więc nie wiem co wymagasz. Abym w 1 dzień usuną wszystko z kodu tak aby nie miał błędów?

5. Oto twój Eclipse: (Testowałem kilka funkcji do czyszczenia kodu w IDEA i widocznie przez przypadek to dodałem.)

bQHh0By.png

6. https://bukkit.org/threads/ignore-cancelled-events.61155/ - jak widzisz nie ma to żadnego znaczenia i jest to tylko estetyka. To samo co w 3 punkcie;

7. Racja czyli jeżeli jakimś cudem powstanie "null" to lepiej aby wywalało błąd niż informacje o tym że się nie zapisało. NICE!

8. Podaj jakiś 1 powód, a wtedy będziesz mógł oceniać tą klasę. Takie serwery jak CoreSV, Arivi, MyHard z tego co pamiętam nie miały problemu z AntyLogoutem więc nie widzę w tej klasie żadnego problemu.

9. 4 miesiące do końca roku więc chyba jakieś problemy masz z tym myśleniem na prawde. A co do "czytelności kodu" dalej to samo co w 3 punkcie.

10. Powiem ci że nawet lepszym sposobem było by się pozbycie tego gdyż jest to zbędne.

11. To samo co wyżej czyli zbędny kod.

12. DALEJ TO SAMO CO W 3 punkcie + dopisanie 5 linijek nic tak naprawdę nie zmienia.

13. Kurde no racja przecież wszystkie metody są identyczne. Kurde jak mogłem tego nie zauważyć. (to jest sarkazm jak byś nie zrozumiał)

14. Sensei pokarz mi jak się korzysta z refleksji.

15. Po co komu możliwość wyświetlania 2k18 roku TPS'y na tabie? (to jest sarkazm jak byś nie zrozumiał taki samo jak wcześniej)

16. ??? - czego nie rozumiesz ze net.karolek.revoguild.enums jest dla enumów ogólnych jak np NotifyType, a net.karolek.revoguild.utils.enums dla tych co sa utilsami jak Time?

17. o już nie ma, a szkoda ;(

 

Cytat

Plugin dzikoysk'a jest bardziej wydajny :)

Polecam go a RevoGuild ma w sobie dużo nie potrzebnego kodu :)

cytat z 2k14

VS

22 godziny temu, TheMajster napisał:

Drogi "Dev" to zrób to lepiej a nie komentujesz.

Co do autora, powodzenia w rozwoju

NICE!

 

Ogólnie podsumowując moje i twoje wypociny:

Nauczyliśmy się iż nie potrafisz czytać (przynajmniej ze zrozumieniem) tego co ktoś zawarł w temacie.

Nie potrafisz używać "PM" lub "Pull Request".

Nie rozumiesz że jeżeli ktoś tworzy plugin to nigdy nie jest on od samego początku idealny, a problem jest jeszcze większy gdy chcemy poprawić coś co powstało kiedyś jak te gildie i czasami potrzeba więcej czasu.

Więc teraz proszę administracje @Biter. aby za jakieś 10/20 min. jak już szanowny pan odczyta to co napisałem aby usunęła cały ten spam gdyż ten post ma być do informacji o aktualizacjach, oraz opiniach na temat pluginu. Jeżeli ów osobnik chce pomóc ma do tego PM lub specjalną funkcje na github'ie "Pull Request".

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

4 minuty temu, PalaTime napisał:

Rozumiem że żyjesz w czasach gdzie nie wynaleziono "PM" czy "Pull Request".

1. Wejdź na git Revo karolka i potem pomyśl jak coś napiszesz.

2. Zapraszam na Discord np: Kodziarze Kimka tam panu wytłumaczą dlaczego nie używa się Lomboka.

3. | 3.1. | 4. Nie wiem czy potrafisz myśleć ale "jest to fork jego pluginu który będę w wolnym czasie aktualizował" więc nie wiem co wymagasz. Abym w 1 dzień usuną wszystko z kodu tak aby nie miał błędów?

5. Oto twój Eclipse: (Testowałem kilka funkcji do czyszczenia kodu w IDEA i widocznie przez przypadek to dodałem.)

bQHh0By.png

6. https://bukkit.org/threads/ignore-cancelled-events.61155/ - jak widzisz nie ma to żadnego znaczenia i jest to tylko estetyka. To samo co w 3 punkcie;

7. Racja czyli jeżeli jakimś cudem powstanie "null" to lepiej aby wywalało błąd niż informacje o tym że się nie zapisało. NICE!

8. Podaj jakiś 1 powód, a wtedy będziesz mógł oceniać tą klasę. Takie serwery jak CoreSV, Arivi, MyHard z tego co pamiętam nie miały problemu z AntyLogoutem więc nie widzę w tej klasie żadnego problemu.

9. 4 miesiące do końca roku więc chyba jakieś problemy masz z tym myśleniem na prawde. A co do "czytelności kodu" dalej to samo co w 3 punkcie.

10. Powiem ci że nawet lepszym sposobem było by się pozbycie tego gdyż jest to zbędne.

11. To samo co wyżej czyli zbędny kod.

12. DALEJ TO SAMO CO W 3 punkcie + dopisanie 5 linijek nic tak naprawdę nie zmienia.

13. Kurde no racja przecież wszystkie metody są identyczne. Kurde jak mogłem tego nie zauważyć. (to jest sarkazm jak byś nie zrozumiał)

14. Sensei pokarz mi jak się korzysta z refleksji.

15. Po co komu możliwość wyświetlania 2k18 roku TPS'y na tabie? (to jest sarkazm jak byś nie zrozumiał taki samo jak wcześniej)

16. ??? - czego nie rozumiesz ze net.karolek.revoguild.enums jest dla enumów ogólnych jak np NotifyType, a net.karolek.revoguild.utils.enums dla tych co sa utilsami jak Time?

17. o już nie ma, a szkoda ;(

 

cytat z 2k14

VS

NICE!

 

Ogólnie podsumowując moje i twoje wypociny:

Nauczyliśmy się iż nie potrafisz czytać (przynajmniej ze zrozumieniem) tego co ktoś zawarł w temacie.

Nie potrafisz używać "PM" lub "Pull Request".

Nie rozumiesz że jeżeli ktoś tworzy plugin to nigdy nie jest on od samego początku idealny, a problem jest jeszcze większy gdy chcemy poprawić coś co powstało kiedyś jak te gildie i czasami potrzeba więcej czasu.

Więc teraz proszę administracje @Biter. aby za jakieś 10/20 min. jak już szanowny pan odczyta to co napisałem aby usunęła cały ten spam gdyż ten post ma być do informacji o aktualizacjach, oraz opiniach na temat pluginu. Jeżeli ów osobnik chce pomóc ma do tego PM lub specjalną funkcje na github'ie "Pull Request".

"Nie potrafisz używać "PM" lub "Pull Request"."

To, że nie chcę dołożyć "cegiełki" do kodu, to nie znaczy że nie potrafię zrobić pull requesta. 

@AntyWarn 

2 godziny temu, PalaTime napisał:

"Kod jest chujowy" - dalej nie podałeś żadnego argumentu. 

"a sam gówno dodałeś" - dalej czytać ze zrozumieniem się nie nauczyłeś.

"swoim pseudo-projektem" - dopowiadanie sobie słów widzę że ci wychodzi idealnie.

"memory-leakach"  - ciekawe, ciekawe.

Zapytałeś mnie, odpowiedziałem. To nie jest spam, to jest "dyskusja" w temacie. ¯\_(ツ)_/¯ 

Odnośnik do komentarza
Udostępnij na innych stronach

7 minut temu, xannydev napisał:

"Nie potrafisz używać "PM" lub "Pull Request"."

To, że nie chcę dołożyć "cegiełki" do kodu, to nie znaczy że nie potrafię zrobić pull requesta. 

@AntyWarn 

Zapytałeś mnie, odpowiedziałem. To nie jest spam, to jest "dyskusja" w temacie. ¯\_(ツ)_/¯ 

Na co odpowiedziałeś? Na moją odpowiedz

3 godziny temu, PalaTime napisał:

"UWAGA: Na samym początku chce zaznaczyć iż autorem pluginu jest Karolek (KarolekFM, EastWestFM) i jest to fork jego pluginu który będę w wolnym czasie aktualizował!"

Nie wiem czy dalej mam coś odpowiadać czy czekać aż nauczysz się czytać.

Wątpię to ja w twoją wiedzę o Javie jak oceniasz kod tych gildii na "licho napisany".

No racja wcale pisząc od nowa gildie nie wyglądały by one w ok. 80% tak samo.

Z mojej strony to tyle :)

wiec zacząłeś dyskusje z której zrobiłeś spam zaraz przenieść się na PM.

 

@Edit

"To, że nie chcę dołożyć "cegiełki" do kodu, to nie znaczy że nie potrafię zrobić pull requesta." - do dlaczego zacząłeś wymieniać błędy skoro nie chcesz pomóc. Wystarczyło wyjść z tematu i tyle.

Edytowane przez PalaTime

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

Po co robisz "gównoburze"? Chyba że w ten sposób chcesz nabijać posty to słabo.. @xannydev

 

@topic

Plugin całkiem przyjemny jednak wątpię żeby ktoś go teraz używał po primo wersja 1.8.8 bleee po secundo gildie/frakcje już są martwe na serwerach chyba że ktoś umiejętnie połączy je z rpg (taka moja opinia)

No ale leci +

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, AlexsanderARG napisał:

Po co robisz "gównoburze"? Chyba że w ten sposób chcesz nabijać posty to słabo.. @xannydev

 

@topic

Plugin całkiem przyjemny jednak wątpię żeby ktoś go teraz używał po primo wersja 1.8.8 bleee po secundo gildie/frakcje już są martwe na serwerach chyba że ktoś umiejętnie połączy je z rpg (taka moja opinia)

No ale leci +

tak, bo zależy mu na nabijaniu postów. ocenił plugin, autor napisał, żeby napisał co jest źle - napisał kilka błędów, które od razu mnie też raziły w oczy - napisał i też jest źle - we we to stare i wgl nie moje jakbym pisał od nowa no to wiesz wiesz

Cytat

Szukałeś autorskiego, rozbudowanego, wydajnego pluginu na gildie za darmo?

tak, bardzo wydajny i autorski, bo przeciez funnyguilds nie jest autorskie

Cytat
Cytat

he he

    public static User getUser(OfflinePlayer p) {
        for (User u : users.values()) {
            if (p.getUniqueId().equals(u.getUuid())) {
                return u;
            }
        }
        return null;
    }

rzeczywiscie, zajebiste :D 

    public static User getUser(Player p) {
        if (p.hasMetadata("user")) {
            User user = null;
            for (MetadataValue mv : p.getMetadata("user")) {
                if (!mv.getOwningPlugin().getName().equalsIgnoreCase("RevoGuild"))
                    continue;
                Object v = mv.value();
                if (v instanceof User) {
                    user = (User) v;
                }
            }
            return (user == null) ? getOfflineUser(p) : user;
        }
        return getOfflineUser(p);
    }

    public static User getUser(final UUID uuid) {
        return UserManager.users.get(uuid);
    }

    public static User getUserByName(String s) {
        for (User u : users.values()) {
            if (u.getName().equalsIgnoreCase(s)) {
                return u;
            }
        }
        return null;
    }

e tam, raz walniemy player i user, a raz u i s

 

i tak, bedą memory-leaki:

    public static void leaveFromGame(final Player p) {
        final User u = getUser(p);
        if (u == null) {
            Logger.warning("Data user '" + p.getName() + "' has been lost!");
            return;
        }
        u.setName(p.getName());
        u.update(false);
    }

bo zamiast usuwać usera to nw co robisz, uj tam trzymajmy dalej ogromny obiekt w mapie bez żadnego czyszczenia pomimo tego, że gracz wszedł tylko raz na serwer, w jakichś topkach jest pewnie tak samo, 1k graczy a i tak każdy ma 0 np. "śmierci" ale dalej trzymajmy go w liscie od topki bo przeciez to jest wydajne

Odnośnik do komentarza
Udostępnij na innych stronach

20 minut temu, toWcaleNieOn_;/ napisał:

tak, bo zależy mu na nabijaniu postów. ocenił plugin, autor napisał, żeby napisał co jest źle - napisał kilka błędów, które od razu mnie też raziły w oczy - napisał i też jest źle - we we to stare i wgl nie moje jakbym pisał od nowa no to wiesz wiesz

tak, bardzo wydajny i autorski, bo przeciez funnyguilds nie jest autorskie

he he

    public static User getUser(OfflinePlayer p) {
        for (User u : users.values()) {
            if (p.getUniqueId().equals(u.getUuid())) {
                return u;
            }
        }
        return null;
    }

rzeczywiscie, zajebiste :D 

    public static User getUser(Player p) {
        if (p.hasMetadata("user")) {
            User user = null;
            for (MetadataValue mv : p.getMetadata("user")) {
                if (!mv.getOwningPlugin().getName().equalsIgnoreCase("RevoGuild"))
                    continue;
                Object v = mv.value();
                if (v instanceof User) {
                    user = (User) v;
                }
            }
            return (user == null) ? getOfflineUser(p) : user;
        }
        return getOfflineUser(p);
    }

    public static User getUser(final UUID uuid) {
        return UserManager.users.get(uuid);
    }

    public static User getUserByName(String s) {
        for (User u : users.values()) {
            if (u.getName().equalsIgnoreCase(s)) {
                return u;
            }
        }
        return null;
    }

e tam, raz walniemy player i user, a raz u i s

 

i tak, bedą memory-leaki:

    public static void leaveFromGame(final Player p) {
        final User u = getUser(p);
        if (u == null) {
            Logger.warning("Data user '" + p.getName() + "' has been lost!");
            return;
        }
        u.setName(p.getName());
        u.update(false);
    }

bo zamiast usuwać usera to nw co robisz, uj tam trzymajmy dalej ogromny obiekt w mapie bez żadnego czyszczenia pomimo tego, że gracz wszedł tylko raz na serwer, w jakichś topkach jest pewnie tak samo, 1k graczy a i tak każdy ma 0 np. "śmierci" ale dalej trzymajmy go w liscie od topki bo przeciez to jest wydajne

Polecam wyjść stąd bo nawet 1 minuty nie poświęciłeś na przeczytanie tego co napisałem do xannydev.

"bo zamiast usuwać usera to nw co robisz" wystarczyło że to zobaczyłem i śmiechłem z ciebie. Ty tak na serio czy udajesz?

Edytowane przez PalaTime

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

43 minuty temu, PalaTime napisał:

Polecam wyjść stąd bo nawet 1 minuty nie poświęciłeś na przeczytanie tego co napisałem do xannydev.

"bo zamiast usuwać usera to nw co robisz" wystarczyło że to zobaczyłem i śmiechłem z ciebie. Ty tak na serio czy udajesz?

tak, ja tak na serio, nie kurwa nie zostawia sie niepotrzebnych rzeczy, TAK SIE NIE ROBI, chuj ze to az tak duzo nie bierze, to jest niepoprawne i wiekszosc dobrych osob tak nie robi = ) a ty widac ze gowno potrafisz bo od kilku lat czy tam miesiecy zgrywasz jakeigos kozaka w programowaniu a tak na prawde sam gowno umiesz i music edytowac kguildsy i jakies syfy

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, toWcaleNieOn_;/ napisał:

tak, ja tak na serio, nie kurwa nie zostawia sie niepotrzebnych rzeczy, TAK SIE NIE ROBI, chuj ze to az tak duzo nie bierze, to jest niepoprawne i wiekszosc dobrych osob tak nie robi = ) a ty widac ze gowno potrafisz bo od kilku lat czy tam miesiecy zgrywasz jakeigos kozaka w programowaniu a tak na prawde sam gowno umiesz i music edytowac kguildsy i jakies syfy

Znajdz mi kogoś komu ostatnio edytowałem KGuild'y, albo gdzie je sam używałem.

"kozaka w programowaniu" - daj na to jakiś dowód że gdzieś tak o sobie mówię.

Dalej nie przeczytałeś mojej odpowiedzi do xannydev.

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, PalaTime napisał:

Znajdz mi kogoś komu ostatnio edytowałem KGuild'y, albo gdzie je sam używałem.

"kozaka w programowaniu" - daj na to jakiś dowód że gdzieś tak o sobie mówię.

Dalej nie przeczytałeś mojej odpowiedzi do xannydev.

przeczytalem, typ ocenil ten syf, podal ci bledy a ty zaczales pisac ze to stare, nie twoje i ze to dopiero jeszcze poprawiasz, ja juz wolalbym pisac to od zera

Cytat

"kozaka w programowaniu" - daj na to jakiś dowód że gdzieś tak o sobie mówię.

chociazby te smieszne komentarze pod prawie kazdym filmem speedcoding jakichs typow, probujesz udawac jakiegos znawce, wyzywasz osoby ktore sie dopiero ucza i chca pokazac co juz potrafia, a sam gowno potrafisz =/

Odnośnik do komentarza
Udostępnij na innych stronach

3 minuty temu, toWcaleNieOn_;/ napisał:

przeczytalem, typ ocenil ten syf, podal ci bledy a ty zaczales pisac ze to stare, nie twoje i ze to dopiero jeszcze poprawiasz, ja juz wolalbym pisac to od zera

chociazby te smieszne komentarze pod prawie kazdym filmem speedcoding jakichs typow, probujesz udawac jakiegos znawce, wyzywasz osoby ktore sie dopiero ucza i chca pokazac co juz potrafia, a sam gowno potrafisz =/

"chociazby te smieszne komentarze pod prawie kazdym filmem speedcoding jakichs typow" ???????

i jeszcze raz ???????

 

"wyzywasz osoby ktore sie dopiero ucza" - czekam na dowód.

"probujesz udawac jakiegos znawce" - ja dalej czekam na dowody.

 

"ja juz wolalbym pisac to od zera" - napisz od zera tak jak UHC xD

 

CWeKkdQ.png

Odnośnik do komentarza
Udostępnij na innych stronach

Dnia 21.08.2018 o 21:09, PalaTime napisał:

"chociazby te smieszne komentarze pod prawie kazdym filmem speedcoding jakichs typow" ???????

i jeszcze raz ???????

 

"wyzywasz osoby ktore sie dopiero ucza" - czekam na dowód.

"probujesz udawac jakiegos znawce" - ja dalej czekam na dowody.

 

"ja juz wolalbym pisac to od zera" - napisz od zera tak jak UHC xD

tak, uhc jest pisane od zera i nie traktuje tego jako powazny plugin, tylko bardziej sie uczylem jak go pisalem =)

Edytowane przez toWcaleNieOn_;/
Odnośnik do komentarza
Udostępnij na innych stronach

Dnia 21.08.2018 o 21:01, PalaTime napisał:

"kozaka w programowaniu" - daj na to jakiś dowód że gdzieś tak o sobie mówię.

tydzień czy dwa temu śmiałeś się z gościa, który zaczyna programować i nie potrafi rozwiązać jednego problemu i napisałeś chyba z 5 postów w których tak czy siak nie rozwiązałeś jego problemu, a wystarczyło spojrzeć na event i ustalić akcję

k3HeXgc.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

@toWcaleNieOn_;/

Chcesz mi poweidziec ze na serwerze survival/gildie bedziesz wyciagac za kazdym razem z bazy usera czy inny shit?

Po to mamy cache i coraz wieksze pamieci aby sie tak tym nie przejmowac.

Rowniez jesli bylbby to pojedyczny serwer trzymalbym wszystko w pamieci, mala zmiana w stosunku do mnie ze trzymalbym to w jakis plikach, i wystawil resta od rankingu dla strony ;)

 

Plugin bez rewelacji, lepiej zrobic cos swojego niz wziac po kims, takie moje zdanie.

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający forum [Plugin] RevoGuild   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...