▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Create Balloon
Create Balloon

Create Balloon

Adds inflatable hot air balloons to Create: Aeronautics.

Оцените первым
7.1K
4
Все версииCreate Balloon 1.0.7p3

Create Balloon 1.0.7p3

Beta03.07.2026

Список изменений

What's New in 1.0.7p3

  • CC:Tweaked native API — call balloon.ascend() directly from any computer on a Sable structure. No peripheral.wrap() or peripheral.find() required. Old peripheral approach still works for backward compatibility.

  • getHeight() added — returns the Y coordinate of the first balloon on the structure.

  • Gyroscope angular impulse cap — prevents PD controller runaway on tiny structures (< 20 mass). Restoring and damping torque combined magnitude clamped to mass × 0.5 per tick. Large structures unaffected.

  • Debug logging overhaul

    • Session archive naming uses readable timestamps (debug-2026-07-03_15-30-00.log).
    • latest-debug.log — tail view of current session (last 5000 lines), crash-safe, always the file you check first.
    • latest-debug-throttled.log — same tail view but PHY entries throttled to 1 Hz for quick browsing.
    • Full per-session log written to timestamped archive (never deleted, never truncated).
  • Example scripts updated — all use new native API syntax. balloon_test_all.lua added for full API testing.

  • HotAirBalloonBlock entity state cleanup — movement flags now reset on controller stop/remove.

  • CC:Tweaked Usage

Both approaches work. Choose whichever you prefer:

-- New: native global API (works from any computer on the structure)
balloon.ascend()
balloon.descend()
balloon.hover()
balloon.forward()
balloon.back()
balloon.turnLeft()
balloon.turnRight()
balloon.stop()
balloon.count()
balloon.isActive()
balloon.getHeight()
-- Old: peripheral wrapping (backward compatible, computer next to balloon/controller)
local b = peripheral.find("balloon")
b.ascend()
b.descend()
b.hover()
b.forward()
b.back()
b.turnLeft()
b.turnRight()
b.stop()
b.count()
b.isActive()
-- Note: getHeight() is native API only
-- Create Balloon CC API Test
-- Put on Sable 

print("==== Create Balloon API Test ====")
print()

-- 1. count / getHeight / isActive
local n = balloon.count()
local h = balloon.getHeight()
local a = balloon.isActive()
print(string.format("[STATUS] ballo  height=%d  active=%s", n, h, tostring(a)))
if n == 0 then
    error("No balloons found on this structure. Place balloon blocks first.")
end

-- 2. ascend
print("[TEST] ascend()")
balloon.ascend()
sleep(3)
print("  height after 3s: " .. balloon.getHeight())

-- 3. hover
print("[TEST] hover()")
balloon.hover()
sleep(3)
print("  height after 3s: " .. balloon.getHeight())

-- 4. descend
print("[TEST] descend()")
balloon.descend()
sleep(3)
print("  height after 3s: " .. balloon.getHeight())

-- 5. forward
print("[TEST] forward()")
balloon.forward()
sleep(2)
balloon.hover()
print("  moved forward 2s")

-- 6. back
print("[TEST] back()")
balloon.back()
sleep(2)
balloon.hover()
print("  moved back 2s")

-- 7. turnLeft
print("[TEST] turnLeft()")
balloon.turnLeft()
sleep(2)
balloon.hover()
print("  turned left 2s")

-- 8. turnRight
print("[TEST] turnRight()")
balloon.turnRight()
sleep(2)
balloon.hover()
print("  turned right 2s")

-- 9. stop
print("[TEST] stop()")
balloon.stop()
sleep(1)
print("  active: " .. tostring(balloon.isActive()))

-- 10. hover -> ascend -> stop cycle
print("[TEST] ascend→hover→stop cycle")
balloon.ascend()
sleep(2)
balloon.hover()
sleep(1)
balloon.stop()
sleep(1)
print("  all stopped")

print()
print("==== All tests passed ====")
print(string.format("  final: balloons=%d  height=%d  active=%s",
    balloon.count(), balloon.getHeight(), tostring(balloon.isActive())))

Файлы

create_balloon-1.0.7p3.jar(124.35 KiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

1.0.7p3

Загрузчики

NeoForge

Версии игры

1.21.1

Загрузок

108

Дата публикации

03.07.2026

Загрузил

ID версии

Главная