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] sCase - skrzynki jak w CS:GO


Rekomendowane odpowiedzi

Opublikowano

Update 1.1v

Zmiany:
- Dodano drop skrzynek/kluczy (do wyboru w config'u) z bloku (do zmiany w config'u),

- Dodano możliwość ustawienie szansy na drop przedmiotu,

- Dodano możliwość konfiguracji dropu podczas łowienia,

- Dodano możliwość konfiguracji dropu po śmierci gracza,

- Komenda dodaje teraz jedną sztukę skrzynki/klucza,

- Mniejsze nieistotne poprawki.

Jak zawsze mogą znależć się błedy. Dlatego proszę je zgłaszać w komentarzu.

Download:

http://www.mediafire.com/download/x1jflb6b7tzflae/sCase_1.1.jar

Skan:

https://www.virustotal.com/pl/file/c51132410b0ef7b506188f8c2e3f45e0efea624f6ccf34be5d3bc7e85a5c86e2/analysis/1440216290/

########################################

 

 

sCase

Plugin na skrzynki jak w CS:GO
 

Heja. Dziś przedstawiam Wam plugin
na skrzynki jak w grze
Counter Strike Global Offensive.

 

Komendy:
/case Otrzymujesz 64 Skrzynki.
­

/key Otrzymujesz 64 Klucze.

 

Uprawnienia:

scase.give Pozwala dodawać sobie/innym Skrzynki/Klucze.­
 

Jak zdobyć skrzynkę/klucz:

Można łowić, zabijać graczy czy kopać np. Cobbla.
Wszystko do ustawienia w config'u.

 

 

Jak otworzyć skrzynkę:

1Otwórz swój ekwipunek.

2Wybierz klucz.

3Kliknij na skrzynkę.
 

Config.yml:

scase:
  # Wiadomosc po otwarciu przez gracza skrzynki.
  open-message: "&6 » &c%player% &7otworzyl skrzynke i wylosowal &6%item-name%&7!"
  # Wiadomosc jezeli gracz nie ma permisji.
  no-permission-message: "&4Nie masz uprawnien do tej komendy!"
  # Wiadomosc przy probie postawienia klucza/skrzynki.
  block-place-message: "&cNie mozesz postawic tego przedmiotu"
  # Wiadomosc jezeli gracz probuje otworzyc skrzynke w trybie innym niz Survival.
  gamemode-message: "&cSkrzynki mozesz otwierac tylko w trybie Survival!"
  # Drop podczas zniszczenia bloku.
  block-break:
    # Drop z bloku wlaczony? Tak - true  Nie - false
    enabled: true
    # Typ bloku, po ktorego zniszczniu ma wypadac item.
    block-type: "STONE"
    # Szansa na wypadniecie itemu.
    chance: 20
    # Co ma dropic:
    # 'key' = Klucz
    # 'chest' = Skrzynka
    drop: 'key'
  fishing:
    # Drop przy lowieniu wlaczony? Tak - true  Nie - false
    enabled: false
    # Szansa na wypadniecie itemu.
    chance: 40
    # Co ma dropic:
    # 'key' = Klucz
    # 'chest' = Skrzynka
    drop: 'key'
  player-death:
    # Drop po smierci gracza wlaczony? Tak - true  Nie - false
    enabled: true
    # Szansa na wypadniecie itemu.
    chance: 10
    # Co ma dropic:
    # 'key' = Klucz
    # 'chest' = Skrzynka
    drop: 'chest'
chest:
  # Nazwa Skrzynki.
  name: "&6Skrzynka"
  # Opis Skrzynki.
  lore:
    - "&7Skrzynke mozesz otworzyc kluczem."
    - "&7Wiecej informacji /skrzynki"
key:
  # Nazwa Klucza.
  name: "&6Klucz"
  # Opis Klucza.
  lore:
    - "&7Kluczem mozesz otworzyc skrzynke."
    - "&7Wiecej informacji /skrzynki"
# Przedmioty wypadajace ze skrzynek.
items: 
  drewno:
    chance: 50
    id: 5
    data: 2
    msgName: "5x Drewno Brzozowe"
    amount: 5
    name: "&6Drewno Brzozowe"
    metadata:
      name: "&eDrewienko"
      lore:
        - "&7Wylosowano ze skrzynki!"
      enchantments:
        - PROTECTION 1
  kox:
    chance: 25
    id: 322
    data: 2
    msgName: "2x Kox"
    amount: 2
    metadata:
      name: "&eKox"
      lore:
        - "&7Wylosowano ze skrzynki!"
      enchantments:
        - PROTECTION 1
  Miecz:
    chance: 25
    id: 276
    data: 0
    msgName: "Miecz Sharpness V, Unbreaking 3"
    amount: 1
    metadata:
      name: "&6Miecz Bogow"
      lore:
        - "&7Wylosowano ze skrzynki!"
      enchantments:
        - SHARPNESS 5
        - UNBREAKING 3
#============================================
#                   Wzor                    =
#============================================
#  Kilof: #Dowolna nazwa .
#    id: 278 #ID przedmiotu.
#    data: 0 #Numerek po : przy ID itemu. NP. Enchantowane Zlote jablko (322:1) id: 322 data: 1 
#    msgName: "Miecz Sharpness V, Unbreaking 3" # Nazwa wyswietlana na chacie przy wylosowaniu przedmiotu.
#    amount: 1 # Ilosc przedmiotu
#    metadata:
#      name: "&6Miecz Bogow" # Nazwa, ktora zostanie nadana na przedmiot.
#      lore: # Opis, ktory zostanie dodany do przedmiotu.
#        - "&7Wylosowano ze skrzynki!"
#      enchantments: #Enchanty, ktore beda dodane do przedmiotu
#        - EFFICIENCY 5
#        - FORTUNE 3
#============================================
# Wszelkie prawa zastrzezone.
# Autor: Steforek
# Wersja: 1.1

Informacje:

Plugin był pisany na wersji Bukkita 1.7.2. Jeżeli nie napotkam
żadnych utrudnień to wydam także wersję na 1.8.
Błędy proszę zgłaszać w komentarzach.
Myślę, że zdjęcia były by zbędne.


 

Wersja 1.0v

(Aktualna wersja 1.1v)

 

 

 

Download:

http://www.mediafire.com/download/q76sax2s75csi90/sCase.jar


Skan:

https://www.virustotal.com/pl/file/1c1c545c8552793584c34bae76064f424050c63f297ed17cb4fcbc1d0babb2a9/analysis/1439856375/

 

rocketnite-sygna.png

  • Odpowiedzi 56
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

­1. Nie używaj §, tylko ChatColor.

2. Zamiast tego:

Player other = Bukkit.getPlayerExact(args[0]);

używaj tego:

Player other = Bukkit.getPlayer(args[0]);

3. Tego raczej nie używa się, lepiej użyć Loggera.

System.out.print("[sCase] Plugin enabled!");

4. Skoro masz klasę Utils, to sprawdzanie worldguarda też tam można wsadzić, nie? xp

5. Na końcu listenerów możesz dodać returny.

return;

6. Nie ładuj wartości z configu w onEnable, tak na żywioł, tylko spróbuj zrobić taką klasę:

https://github.com/Thefilippop1PL/Bazzars/blob/master/src/main/java/pl/filippop1/bazzars/Configuration.java

 

sygnatura.png

Opublikowano

Dodaj:

- komenda /key i /case dawała po 1 przedmiocie, jakby ktoś chciał dać do ItemShopu.

- Procenty na drop skrzynki/kluczy.

- Ustawienie np. dropu skrzynek z cobbla.

 

Główne rzeczy, które powinien mieć ten plugin.

Opublikowano

­Update 1.1v

Zmiany:
- Dodano drop skrzynek/kluczy (do wyboru w config'u) z bloku (do zmiany w config'u),

- Dodano możliwość ustawienie szansy na drop przedmiotu,

- Dodano możliwość konfiguracji dropu podczas łowienia,

- Dodano możliwość konfiguracji dropu po śmierci gracza,

- Komenda dodaje teraz jedną sztukę skrzynki/klucza,

- Mniejsze nieistotne poprawki.

Jak zawsze mogą znależć się błedy. Dlatego proszę je zgłaszać w komentarzu.

Download:

http://www.mediafire.com/download/x1jflb6b7tzflae/sCase_1.1.jar

Skan:

https://www.virustotal.com/pl/file/c51132410b0ef7b506188f8c2e3f45e0efea624f6ccf34be5d3bc7e85a5c86e2/analysis/1440216290/

 

rocketnite-sygna.png

Opublikowano

Polecam dorobić możliwość ustawienia więcej niż jednej skrzynki, oraz dodaniu innych itemów do nich.
Można też dodać operacje, która będzie kosztowała na przykład diamenty <do ustawienia w configu>, jeśli ją kupisz dostajesz przywilej by ją dropić :).

Opublikowano

@m1ste
Postaram się dodać takie rzeczy w następnym update.

Cały czas czekam na więcej pomysłów, które mogę dodać do pluginu.
Pamiętajcie, że lajki motywują mnie do pracy i sprawiają, że update'y pojawiają się częściej :D
­

 

rocketnite-sygna.png

Opublikowano

Możesz dodać jeszcze /case <key/chest> <namecase/operationname> <amount> :).

Opublikowano

@topic

Nazwy klas pisze sie z wielkiej litery.

//=========================//

for (int i = 0; i <= 63; i++) {
    other.getInventory().addItem(new ItemStack[] { Main.getChest() });
}

Nie lepiej odrazu dodac 64 itemki? :D

chest = new ItemStack(Material.CHEST, 64);

Na to zmieniasz w glownej klasie.

//=========================//

public static Utils utils;
public static Main instance;
public static ItemStack key;
public static ItemStack chest;

Zmien "public" na "private".

http://www.programowanieobiektowe.pl/java_hermetyzacja.php

 

//=========================//

 

Uzywaj ChatColor.DARK_RED zamiast paragrafow, jak bedziesz chcial komus podeslac kod osobie, ktora ma ustawione inne kodowanie w IDE to te paragrafy sie sypna.

 

//=========================//

 

Jezeli chcesz sobie pobierac wiadomosci z configu to zrob taka klase:

public class Messages {
    public static final char CONFIGURATION_COLOR = '&';
    private static final Map<String, String> messages = new HashMap<>();
    
    public static void addMessage(String id, String message) {
        Validate.notNull(id, "id can not be null");
        Validate.notNull(message, "message can not be null");
        messages.put(id, message);
    }
    
    public static String get(String id) {
        Validate.notNull(id, "id can not be null");
        return messages.get(id);
    }
    
    public static Set<String> getIDs() {
        return messages.keySet();
    }
    
    public static Map<String, String> getMessages() {
        return messages;
    }
}

a w mainie

    private void loadMessages(FileConfiguration file) {
        for (String id : file.getConfigurationSection("messages").getKeys(false)) {
            Messages.addMessage(id.toLowerCase(), ChatColor.translateAlternativeColorCodes(Messages.CONFIGURATION_COLOR, file.getString("messages." + id));
        }
    }

a w onEnable

this.loadMessages(this.getConfig);

a config wygladalby tak:

messages:
  permission-error: "&4Blad: brak uprawnien"

a pobieranie

if (!player.hasPermission("filippop1.filippop1") {
    player.sendMessage(Messages.getMessage("permission-error"));
Opublikowano

Super plugin, prosty w konfiguracji oby więcej takich :).

Jeśli w poście masz do mnie sprawę dodaj @dawidex335

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...