Открытие двери кнопкой.

Версия Minecraft
1.7.10
26
0
Здравствуйте.
Меня интересует вопрос, возможно ли сделать возможность открывать двери на клавишу (Например F)

Если да, то каким способом? (По возможности скинуть тему, или код)
 
Решение
Да, можно вызвать метод, имитирую нажатие ПКМ. Но если он хочет убрать возможность ПКМ, нужно отменить PlayerInteractEvent. А если его отменить, то имитировать не получится.
5,018
47
783
Ну тебе для того чтобы ее открыть, надо для начала получить координаты двери. Ну например, если навести на дверь курсор, тогда через рейтрейсрезулт можно будет получить коры. В эвенте бинда клавиш делаешь смену isPowered(или как оно там называется на 1.7) на true, если нажал кнопку на клаве... ну и все. Как получить мир и игрока клиентского из ниоткуда, можешь глянуть вот в этом моем ресурсе
 

tox1cozZ

aka Agravaine
8,456
598
2,892
Что ты несёшь? Какие блокстейты в 1.7.10?
По теме: ловишь KeyInputEvent, проверяешь на свою кнопку, через райтрейс получаешь блок и шлешь пакет на сервер. На сервере у блока вызываешь onBlockActivated.
 
5,018
47
783
Где написано про блокстейты? Я исправил тут же после публикации...
шлешь пакет на сервер. На сервере у блока вызываешь onBlockActivated.
Можно без пакетов на сервер. Все это можно на клиенте сделать.
 
269
8
19
@SubscribeEvent
public void onPlayerInteractBlock(PlayerInteractEvent e) {
EntityClientPlayerMP player = FMLClientHandler.instance().getClient().thePlayer;
if(!player.capabilities.isCreativeMode) {
if(e.action == Action.RIGHT_CLICK_BLOCK) {
Block b = this.mc.theWorld.getBlock(e.x, e.y, e.z);
if(b.equals(Blocks.wooden_door )) {
e.setCanceled(true);
}
}
}
}
Ну вот ивент запрещающии открытие дверей рукой!
 
7,099
324
1,510
477
7
51
@SubscribeEvent
public void onPlayerInteractBlock(PlayerInteractEvent e) {
EntityClientPlayerMP player = FMLClientHandler.instance().getClient().thePlayer;
if(!player.capabilities.isCreativeMode) {
if(e.action == Action.RIGHT_CLICK_BLOCK) {
Block b = this.mc.theWorld.getBlock(e.x, e.y, e.z);
if(b.equals(Blocks.wooden_door )) {
e.setCanceled(true);
}
}
}
}
Ну вот ивент запрещающии открытие дверей рукой!
а как открывать через клавишу?
 
Сверху