- Баллы
- 96
- Имя в Minecraft
- Xezard
Господа, знатоки, доброго времени суток.
Хотел бы задать небольшой вопрос.
Собственно, имею небольшой ряд, написанных мной больших плагинов.
И я подумал, что было-бы неплохо хранить все сообщения в интерфейсе. Переменные (константы) в интерфейсе всегда static final.
Это значит что они не могут изменить значение и инициализируются только один раз. Это очень удобно.
Но есть небольшая проблема. Заключается она в том, что в интерфейсе нельзя создать конструктор. Если рассматривать отдельный случай, то имею плагин на 60 с лишним классов и на 300 (примерно) с лишним сообщений. Инициализирую эти сообщения в каждом классе через конструктор, что очень неудобно, так как некоторые сообщения я инициализирую для каждого класса отдельно. Это я всё к чему - на весь плагин не имею инстанса главного класса, так как всё держится на конструкторах.
Собственно, вопрос, можно ли как-либо передать ссылку на главный класс, не создавая при этом инстанс главного класса?
Ну и, пожалуй, сюда же добавлю:
У кого нибудь имеется опыт написания огромных плагинов?
Где вы сохраняете все сообщения и как инициализируете их?
Есть ли способ хранения всех сообщений проще?
Ну и то, что имею сейчас:
Помидорами прошу не кидатся, просто нужен чужой опыт. Хотелось бы знать, что это максимум, что можно сделать, в моей ситуации.
Хотел бы задать небольшой вопрос.
Собственно, имею небольшой ряд, написанных мной больших плагинов.
И я подумал, что было-бы неплохо хранить все сообщения в интерфейсе. Переменные (константы) в интерфейсе всегда static final.
Это значит что они не могут изменить значение и инициализируются только один раз. Это очень удобно.
Но есть небольшая проблема. Заключается она в том, что в интерфейсе нельзя создать конструктор. Если рассматривать отдельный случай, то имею плагин на 60 с лишним классов и на 300 (примерно) с лишним сообщений. Инициализирую эти сообщения в каждом классе через конструктор, что очень неудобно, так как некоторые сообщения я инициализирую для каждого класса отдельно. Это я всё к чему - на весь плагин не имею инстанса главного класса, так как всё держится на конструкторах.
Собственно, вопрос, можно ли как-либо передать ссылку на главный класс, не создавая при этом инстанс главного класса?
Ну и, пожалуй, сюда же добавлю:
У кого нибудь имеется опыт написания огромных плагинов?
Где вы сохраняете все сообщения и как инициализируете их?
Есть ли способ хранения всех сообщений проще?
Ну и то, что имею сейчас:
Java:
public class SomeClass
extends BaseListener
implements Listener
{
private final Core core;
private final String prefix;
private final String you_cant_damage_villager;
public SomeClass(Core core, FileConfiguration config)
{
super(core);
prefix = config.getString("Messages.Prefix");
you_cant_damage_villager = config.getString("Messages.You-cant-damage-villager");
}
@EventHandler
public void onDamage(EntityDamageByEntityEvent event)
{
if (event.getEntity().getType() == EntityType.VILLAGER)
{
if (event.getDamager().getType() == EntityType.PLAYER)
{
event.getDamager().sendMessage(prefix.concat(you_cant_damage_villager);
event.setCancelled(true);
}
}
}
}
Помидорами прошу не кидатся, просто нужен чужой опыт. Хотелось бы знать, что это максимум, что можно сделать, в моей ситуации.
Последнее редактирование:

