Как удалить блок из мира?
-1 Capibar [2015-07-16 14:38:00]
Я разрабатываю аннигиляционный луч в Minecraft Forge 1.6.4, который должен полностью удалять блоки из мира. Удаление процедуры написано так:
worldObj.destroyBlock(position.intX(), position.intY(), position.intZ(), false);
Он выглядит хорошо, но иногда появляются "блоки-призраки", этот блок выглядит как воздушный блок, но если я установлю любой блок на его место, старый удаленный блок мгновенно воссоздается!
minecraft minecraft-forge
1 ответ
2 Andy608 [2015-08-06 03:58:00]
Попробуйте обернуть эту строку следующим образом:
if (! this.worldObj.isRemote) {
}
Этот оператор if проверяет, является ли текущий мир клиентским или серверным.
Я постараюсь помочь больше, но вы не предоставили много кода, чтобы уйти.
Блоки Призраков происходят, когда серверы и клиенты одновременно пытаются изменить блоки одновременно. С помощью этого оператора if он должен удалять только блоки с серверного сервера, а затем клиент может наверстать упущенное, а не путать все.
У меня была проблема с ореолом при создании пользовательского tnt, и это решило мою проблему.