1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как лучше сохранять блоки и их атрибуты

Тема в разделе "Разработка плагинов для новичков", создана пользователем Energy warrior, 18 окт 2018.

  1. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    Я делаю тыж плагин и там есть особые блоки со всякими атрибутами по типу уровень,мощность...
    Но я думаю как лучше их сохранять, чтобы было и красиво и удобно. Я делал нечто эдакое
    Код:
    //Файл с блоками
    blocks:
        100 0 50 4
    первой частью была x корда и т.д а последняя это уровень.
    Что посоветуете?
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
    package Example;
    
    import org.bukkit.util.Vector;
    
    import com.google.gson.Gson;
    import com.google.gson.GsonBuilder;
    
    public class BlockData {
        Vector location = new Vector();
        int level = 0;
    
        public Vector getLocation() {
            return location;
        }
    
        public int getLevel() {
            return level;
        }
    
        public void setLocation(Vector v) {
            this.location = v;
        }
    
        public void setLevel(int i) {
            this.level = i;
        }
    
        public String toString() {
            Gson gson = new GsonBuilder().setPrettyPrinting().create();
            return gson.toJson(this);
        }
    
        public static BlockData create(String json) {
            return new Gson().fromJson(json, BlockData.class);
        }
    }
    На выходе.
    Код:
    {
      "location": {
        "x": 0.0,
        "y": 0.0,
        "z": 0.0
      },
      "level": 0
    }
    
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    P.s если блоков овердохрена. То рекомендую мой https://github.com/alexandrage/ChunkConfig. Чтоб не загружать в память овер90 гигов конфига.
    Перепиши под свою инфу.
     
  4. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    -_-
     
  5. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    Спс большое.
     
  6. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    И у них ещё тип есть.
     
  7. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    А зачем вектор нужен? Чем локация не угодила?
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Не несет ненужной информации, такие как имя мира, pitch, yaw.
     
  9. Автор темы
    Energy warrior

    Energy warrior Активный участник Пользователь

    Баллы:
    76
    Яяяясно. Но в любом случае вектор всегда можно в локацию перевести.
     

Поделиться этой страницей