Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Plugin] Zarządzanie czatem


Rekomendowane odpowiedzi

Opublikowano

V1RvSxN.png

 

ChatPlusPlus - Ver. 1.0

 

Witam, stworzyłem dzisiaj prosty plugin, który zamierzam ciągle aktualizować, mianowicie: ChatPlusPlus dzięki któremu będziesz mógł zarządzać swoim czatem. Jak na razie plugin ma mało funkcji, ale są przynajmniej podstawowe takie jak:

  • Czyszczenie czatu,
  • Wyłączanie/włączanie czatu,
  • Ustalanie wiadomości, które mają się wyświetlać,

Uprawnienia:

plus.chat 
- Dostęp do komendy /czat. 
plus.write 
- Dostęp do czatu, gdy jest wyłączony.

Komendy:

/czat [ON/OFF/CLEAR/MUTE] (Mute nie działa).

config.yml:

#
#
#     ChatPlusPlus plugin v1.02 - Config
#            By:
#       Vortexe
#
#

# cmdBroadcast: whether to show the text of the command to each person? [true/false]
# allowClear: disable/enable clear function [true/false]
# allowOn: disable/enable on function [true/false]
# allowOff: disable/enable off function [true/false]
# allowMute: disable/enable mute function [true/false]

cmdBroadcast: true
allowClear: true
allowOn: true
allowOff: true
allowMute: true

messages.yml

tagServer: '&7[&6Chat++&7]:'
noPermission: '&cYou don''t have permissions'
helpHeader: '&eHelp [/chat]:'
chatOff: '&cChat is off!'
clearMessage: '&6Chat was cleared by &7%admin%'
offMessage: '&6Chat has been disabled by &7%admin%'
onMessage: '&6Chat has been enabled by &7%admin%'
usageCMD: '&6Usage: &7%command%'
onCMD: 'On'
offCMD: 'OFF'
clearCMD: CLEAR
muteCMD: MUTE
onDesc: '&6Turning chat'
offDesc: '&6Disabling chat'
clearDesc: '&6Clean the entire chat'
muteDesc: '&6Silence Player'

Plany na następną wersje:

 

Dodać komendę /czat mute,

Zablokować czyszczenie konsoli po wpisaniu /czat clear,

Dodanie więcej funkcji

 

Screeny:

 

aJck3u5.png

Pw6R274.png

yQqCcAq.png

QqTjZef.png

 

Changelog:

 

v1.0:
- Rozpoczęcie prac,
- Stworzenie config.yml i messages.yml,
- Stworzenie pierwszej komendy (/chat)
v1.01:
- Poprawiono kod
v1.02:
- Poprawiono kolorystykę pluginu
- Dodano podkomendę autor (/chat autor),

 

 

Pomocne linki:

 

- Kolory minecraft

 

DOWNLOAD:

 

Kliknij mnie!

 

Virustotal:

 

Kliknij mnie!

Opublikowano

Zbytnio nie ma co oceniać bo jest mało, ale jeśli chodzi o kod:

  • Nie nazywaj zmiennych z dużych liter (są wyjątki, ale nie w tym przypadku).
  • Kod:
           final File configs = new File("plugins/ChatPlusPlus/", "config.yml");
            if (!configs.exists()) {
                this.saveDefaultConfig();
            }

      Jest niepotrzebny. Sam kod:

    this.saveDefaultConfig();

      wygeneruje podstawowy config jeśli takowy nie będzie istniał.

  • Nie twórz cały czas nowych zmiennych tak jak np. w metodzie setMessage. Zrób zmienną globalną jeśli jest to możliwe i korzystaj z niej.

To chyba tyle, pozdrawiam.

Opublikowano

Jest wiele lepszych pluginów tego typu. Co do kodu pluginu; tak jak @jakubhere po co używać obiektu file dla jednego pliku gdy bukkit ma te funkcje? Po co przy każdej wiadomości zamieniać & gdy możemy zrobić metodę i jej używać? Na pewno szybciej i łatwiej by było kolorować wiadomości.

sygn.png

Opublikowano

Jest wiele lepszych pluginów tego typu. Co do kodu pluginu; tak jak @jakubhere po co używać obiektu file dla jednego pliku gdy bukkit ma te funkcje? Po co przy każdej wiadomości zamieniać & gdy możemy zrobić metodę i jej używać? Na pewno szybciej i łatwiej by było kolorować wiadomości.

 

Nie chce mi się bawić z tą jedną funkcją, za kilka minut dam nową wersje w której zostało poprawione parę rzeczy. Dzięki za opinię. :)

Opublikowano

for(Player p : Bukkit.getOnlinePlayers()){

#Lopujesz, albo dajesz to 98 razy xD
     p.sendMessage(" ");
    p.sendMessage(" ");
    p.sendMessage(" ");
    p.sendMessage("Czat zostal wyczyszczony przez: " + sender + " !");
}
#Czyszczenie czatu dla online, nie dla konsoli  CODE xD
 

Opublikowano

A ode mnie plusik :D 
Widać, że chłopak chciał coś zrobić dla Nas, a Wy go jeszcze hejtujecie...BRAWO!

 

A dodatkowy plus za to, że to nie skrypt :) 

Pisz dalej w javie :D

 

sygnatura.png

 

Opublikowano

A ode mnie plusik :D 

Widać, że chłopak chciał coś zrobić dla Nas, a Wy go jeszcze hejtujecie...BRAWO!

 

A dodatkowy plus za to, że to nie skrypt :) 

 

Pisz dalej w javie :D

Hejt, a opinia to nie jest to samo.

 

Co do tematu:

 

Nadal nie poprawiłeś niektórych rzeczy.

 

1.

final File config = new File("plugins/ChatPlusPlus", "config.yml");
final FileConfiguration cconfig = (FileConfiguration)YamlConfiguration.loadConfiguration(config);
To jest niepotrzebne.
this.getConfig();
działa tak samo.
2.
final FileConfiguration Lang = (FileConfiguration)YamlConfiguration.loadConfiguration(language);
final FileConfiguration config = (FileConfiguration)YamlConfiguration.loadConfiguration(language);
Ładujesz w onEnable 2 razy to samo. Po co?

3.

final File f = new File("plugins/ChatPlusPlus/", "messages.yml");
final FileConfiguration config = (FileConfiguration)YamlConfiguration.loadConfiguration(f);

Zapisz to sobie do zmiennej globalnej a nie twórz cały czas nowej zmiennej.

4. To już takie mniej ważne. Posiadając zmienną chat i wiedząc, że zawsze przy starcie będzie ona miała wartość true to możesz ją zdefiniować od razu, a nie w onEnable.
 
P.S: Ja bym już sobie zaczął rozdzielać na więcej klas.
Opublikowano

 

A ode mnie plusik :D 

Widać, że chłopak chciał coś zrobić dla Nas, a Wy go jeszcze hejtujecie...BRAWO!

 

A dodatkowy plus za to, że to nie skrypt :) 

 

Pisz dalej w javie :D

Hejt, a opinia to nie jest to samo.

 

Co do tematu:

 

Nadal nie poprawiłeś niektórych rzeczy.

 

1.

final File config = new File("plugins/ChatPlusPlus", "config.yml");
final FileConfiguration cconfig = (FileConfiguration)YamlConfiguration.loadConfiguration(config);
To jest niepotrzebne.
this.getConfig();
działa tak samo.
2.
final FileConfiguration Lang = (FileConfiguration)YamlConfiguration.loadConfiguration(language);
final FileConfiguration config = (FileConfiguration)YamlConfiguration.loadConfiguration(language);
Ładujesz w onEnable 2 razy to samo. Po co?

3.

final File f = new File("plugins/ChatPlusPlus/", "messages.yml");
final FileConfiguration config = (FileConfiguration)YamlConfiguration.loadConfiguration(f);

Zapisz to sobie do zmiennej globalnej a nie twórz cały czas nowej zmiennej.

4. To już takie mniej ważne. Posiadając zmienną chat i wiedząc, że zawsze przy starcie będzie ona miała wartość true to możesz ją zdefiniować od razu, a nie w onEnable.
 
P.S: Ja bym już sobie zaczął rozdzielać na więcej klas.

 

Ja bym tego opinią nie nazwał, raczej radą.

 

@topic

Co do pluginu, no to popraw te wszystkie rzeczy, nie będzie tu różnicy za bardzo, bo to jest tylko plugin na chat, ale myślę, że to będzie początek przyzwyczajania się ku temu dobremu nawykowi :D

 

­

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...