Как удалить блок из мира?

-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, и это решило мою проблему.