- Баллы
- 96
Всем ку, такой вопрос возник по WorldEdit 1.7.10:
Задача: При каждой установке или разрушение блока в привате посчитать количество этого блока в регионе.
Мой код подсчёта блока в привате:
Я задался вопросом, как лучше использовать EditSession:
1. Создавать для каждого просчёта новую - отпадает сразу, глупость.
2. Получать EditSession игрока, для которого идёт просчёт.
3. Создать один экземпляр EditSession при запуске плагина и считать всё в нем.
Больше всего нравится третий вариант, но тут возникает вопрос, будет ли дополнительная нагрузка, если все подсчёты блоков будут происходить в одном EditSession?
Что думаете? Как лучше поступить?
P.S.
- увы, но нет возможности поставить FAWE.
- fastmode(true) вырубает истории(они нафиг не нужны).
Задача: При каждой установке или разрушение блока в привате посчитать количество этого блока в регионе.
Мой код подсчёта блока в привате:
PHP:
private final EditSession editSession;
public SomeClass(World world) {
this.editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(world, -1);
this.editSession.setFastMode(true);
}
public int countBlock(Region region, Material material, short data) {
return this.editSession.countBlocks(region, Collections.singleton(new BaseBlock(material.getId(), data)));
}
1. Создавать для каждого просчёта новую - отпадает сразу, глупость.
2. Получать EditSession игрока, для которого идёт просчёт.
3. Создать один экземпляр EditSession при запуске плагина и считать всё в нем.
Больше всего нравится третий вариант, но тут возникает вопрос, будет ли дополнительная нагрузка, если все подсчёты блоков будут происходить в одном EditSession?
Что думаете? Как лучше поступить?
P.S.
- увы, но нет возможности поставить FAWE.
- fastmode(true) вырубает истории(они нафиг не нужны).
Последнее редактирование: