Как сделать Api?

104
0
Чтобы можно было добавлять предметы, блоки, прочие шняжки используя implements MoeApi ?
[merge_posts_bbcode]Добавлено: 28.05.2014 22:40:13[/merge_posts_bbcode]

У меня с интерфейсами еще совсем беда(
 
771
5
Ну смотри:
Создаешь интерфейс IWrenchable, в нем определяешь void метод wrech(..любые аргументы..).
Его будет расширять блок, который хочет ломаться ключем.
Делаешь, собственно, ключ. В метод onItemUse пишешь:

Код:
if(world.getBlock(x, y, z) instanceof IWrenchable){
    ((IWrenchable)world.getBlock(x, y, z)).wrench();
}

Все, теперь ключ универсальный.
Любой блок, который будет расширять этот интерфейс будет создавать метод wrench и переписывать под себя.
Например, я создал блок и определил в нем наш метод.

Код:
public void wrench(EntityPlayer player){
    player.worldObj.createExplosion(player, player.posX, player.posY, player.posZ, 5.0F, true);
}

Теперь когда ключиком кликнешь по этому блоку, то он взорвется.
Удобно, правда?
Вот так и с другими интерфейсами и их реализациями.
 
104
0
Спасибо, тебе, ты мне объяснил принцип. Только вот еще что скажи : у анти был интерфейс, который реализовывал сохранение информации в нбт. И там была переменная List<InterfaceName>. Вопрос : эта переменная хранит в себе все классы, которые имплементируют InterfaceName?​
 
104
0
List<InterfaceName> map = new ArrayList<InterfaceName>();
То это означает, что он хранит классы, которые имплементируют InterfaceName?
Это все что мне надо
 
771
5
Хранит он реализации.
P.S Хотелось бы плюсик, обьяснил же. ))
[merge_posts_bbcode]Добавлено: 29.05.2014 08:23:55[/merge_posts_bbcode]

Хранит он реализации.
P.S Хотелось бы плюсик, обьяснил же. ))
 
Сверху