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

[Pytanie]Tworzenie pluginu. Plik dat.


Rekomendowane odpowiedzi

Opublikowano

Witam. Mam takie pytanie. Chodzi mi o to:
w folderze plugins folder z moja nazwą pluginu w tym folderze mogę mieć
plik config.yml dodając do onEnable(): saveDefaultConfig();. Ale jak
mogę zrobić, żeby tworzył się tam plik z moją określoną nazwą i treścią
zdefiniowaną wcześniej. I też jak z tego pliku odczytywać dane. Z configu potrafie jak cos.

 

Z góry dzięki.

Opublikowano

Co prawda, jestem troche słaby z angielskiego(gimbaza), próbowałem coś z tego wynieść. Nie udało mi się...

Można tak jakoś szybko dobitnie? Tworzenie pliku .yml.

Opublikowano

Tworzysz dwie zmienne reprezentujące plik na dysku:

private FileConfiguration customConfig = null;
private File customConfigFile = null;

 

Tu kopiuje z pliku jar i wczytuje plik:


public void reloadCustomConfig() {
    if (customConfigFile == null) {
    customConfigFile = new File(getDataFolder(), "customConfig.yml");
    }
    customConfig = YamlConfiguration.loadConfiguration(customConfigFile);
 
    // Look for defaults in the jar
    InputStream defConfigStream = this.getResource("TwqojaNazwaPliku.yml");
    if (defConfigStream != null) {
        YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
        customConfig.setDefaults(defConfig);
    }
} 

 

 

 

Potem możesz dać to do klasy, aby wczytywało plik config z dysku:

public FileConfiguration getCustomConfig() {
    if (customConfig == null) {
        this.reloadCustomConfig();
    }
    return customConfig;
}

 

Potem w onEnable() można dać to:

getCustomConfig();

 

Potem wklejasz metodę, która zapisuje plik:

public void saveCustomConfig() {
    if (customConfig == null || customConfigFile == null) {
    return;
    }
    try {
        getCustomConfig().save(customConfigFile);
    } catch (IOException ex) {
        this.getLogger().log(Level.SEVERE, "Could not save config to " + customConfigFile, ex);
    }
}

 

No i wykonujesz powyższą metodę, gdzie chcesz zapisać plik:

saveCustomConfig();

 

Ta metoda jest do wczytania domyślnie pliku:

public void saveDefaultConfig() {
    if (customConfigFile == null) {
        customConfigFile = new File(getDataFolder(), "TwojaNazwaPliku.yml");
    }
    if (!configFile.exists()) {            
         this.plugin.saveResource(fileName, false);
     }
}

 

Ogólnie z tego co widzę, to niektóre te metody robią prawie to samo.

Ale jak widzisz tak to wygląda po spolszeniu opisu.

Nie robiłem jeszcze innych plików niż config.yml, więc nie mogę cie zapewnić, że te metody będą w pełni działały.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...