Я использую Lua в компьютерной технике для автоматизации майнинга.Но моя черепаха, чья программа работала очень хорошо раньше, останавливается, если она встречает lava/flowing_lava/water/flowing_water source
.
Внутри моей программы у меня есть много функций для управления, например, управлением топливом, туннелем,столкновение с гравием, и ... обнаружение, если черепаха встречает "блок".
Если блок - просто воздушный блок, черепаха продолжает продвигаться, иначе блок не является воздушным блоком,Черепаха копает этот блок и не двигается вперед, если перед ней все еще есть блок.Эта проблема?Четыре источника, которые я цитировал ранее, считаются блоками, и черепаха не может двигаться вперед.
Я пытаюсь исправить эту проблему с мультиусловием в if, но это не работает, черепахадвигается вперед и копает в любом направлении.
Так что я думаю, что это потому, что мой способ создания if не хорош, может быть, синтаксис (для объединения многих или в ()).
Какрешить эту проблему?
function blockDetection(position, justDetection)
success, detectionBlock = nil
block_name = ""
if position == "right" then
turtle.turnRight()
success, detectionBlock = turtle.inspect()
turtle.turnLeft()
if success then
block_name = detectionBlock.name
if justDetection == true and detectionBlock.name == "minecraft:air" then
block_name = true
elseif justDetection == true and detectionBlock.name ~= "minecraft:air" then
block_name = false
else
end
end
end
end