4 Commits
5 changed files with 147 additions and 24 deletions
+2 -7
View File
@@ -805,7 +805,7 @@ file = "config/yacl.json5"
hash = "121b93764159be6fb7dab523b29a844e2bb78400ce8c48f52135a097e9b0006e" hash = "121b93764159be6fb7dab523b29a844e2bb78400ce8c48f52135a097e9b0006e"
[[files]] [[files]]
file = "kubejs/assets/computercraft/textures/gui/CREDITS.txt" file = "kubejs/assets/computercraft/textures/gui/credits.txt"
hash = "19b844245d03fcdd488a7a791e287447191a74acd0f14995209339d768c5e6ce" hash = "19b844245d03fcdd488a7a791e287447191a74acd0f14995209339d768c5e6ce"
[[files]] [[files]]
@@ -814,7 +814,7 @@ hash = "db4c4a8ab49265f6e8e456f495800ea148b133b18a3242aabca30b98ab7f784f"
[[files]] [[files]]
file = "kubejs/client_scripts/createrp_ponder.js" file = "kubejs/client_scripts/createrp_ponder.js"
hash = "4b02cc37446fd640ce308a6d3724c747fb6e26bd219d9bd202dede84440c4875" hash = "0e7e06daedb3a934448119f0d8688e96f1690af484bbf5e7745735bee7c3cd13"
[[files]] [[files]]
file = "kubejs/startup_scripts/createrp_items.js" file = "kubejs/startup_scripts/createrp_items.js"
@@ -1370,11 +1370,6 @@ file = "mods/what-are-they-up-to.pw.toml"
hash = "9ce52d07c0c3d146a2a44f8bc187138ce7a5558a4e3ab540c86234702b6de274" hash = "9ce52d07c0c3d146a2a44f8bc187138ce7a5558a4e3ab540c86234702b6de274"
metafile = true metafile = true
[[files]]
file = "mods/x+-autofish.pw.toml"
hash = "29d142218e15fbd26a4e17e1a65dab7a5a0dd81e6806130a474c1d27fa1be53d"
metafile = true
[[files]] [[files]]
file = "mods/yacl.pw.toml" file = "mods/yacl.pw.toml"
hash = "539f362e9e192cf3b2813e0dfdfc51a5e6814129c6e82a9733842529beea6242" hash = "539f362e9e192cf3b2813e0dfdfc51a5e6814129c6e82a9733842529beea6242"
+143 -2
View File
@@ -26,8 +26,16 @@ function say(scene, ticks, text, pos, colour, keyframe) {
scene.idle(ticks + 10) scene.idle(ticks + 10)
} }
// Create's own kinetic helper; in KubeJS `world` is a property, not a method
function setSpeed(scene, sel, speed) { function setSpeed(scene, sel, speed) {
if (CreateScene) new CreateScene(scene).world().setKineticSpeed(sel, speed) if (!CreateScene) return
try {
const cs = new CreateScene(scene)
const w = typeof cs.world === 'function' ? cs.world() : cs.world
w.setKineticSpeed(sel, speed)
} catch (e) {
console.warn('[createrp] setKineticSpeed: ' + e)
}
} }
// ---- мережа ланцюгів (схематика Create «Transporting packages between Frogports», 9x9) -------- // ---- мережа ланцюгів (схематика Create «Transporting packages between Frogports», 9x9) --------
@@ -232,6 +240,9 @@ function landScene(scene, util) {
scene.overlay.showOutline(PonderPalette.RED, 'ore', util.select.position(2, 1, 2), 150) scene.overlay.showOutline(PonderPalette.RED, 'ore', util.select.position(2, 1, 2), 150)
say(scene, 70, 'Руду копають лише з концесією', [2.5, 1.5, 2.5], PonderPalette.RED, true) say(scene, 70, 'Руду копають лише з концесією', [2.5, 1.5, 2.5], PonderPalette.RED, true)
say(scene, 70, 'Купи її в терміналі: Земля → Купити концесію', [2.5, 1.5, 2.5]) say(scene, 70, 'Купи її в терміналі: Земля → Купити концесію', [2.5, 1.5, 2.5])
say(scene, 70, 'Бури Create теж копають лише за концесією', [2.5, 1.5, 2.5])
say(scene, 70, 'Найкращі ділянки держава продає на аукціоні', [2.5, 2.5, 2.5], PonderPalette.BLUE, true)
say(scene, 70, 'Ставки — в терміналі: Земля → Аукціони', [2.5, 2.5, 2.5])
say(scene, 80, 'За землю платиш щодня. Не платив 3 дні — ділянку забирають', [2.5, 2.5, 2.5]) say(scene, 80, 'За землю платиш щодня. Не платив 3 дні — ділянку забирають', [2.5, 2.5, 2.5])
} }
@@ -265,6 +276,132 @@ function jobsScene(scene, util) {
say(scene, 80, 'Або наймися в бізнес: термінал → Бізнес', [2.5, 2.5, 2.5], null, true) say(scene, 80, 'Або наймися в бізнес: термінал → Бізнес', [2.5, 2.5, 2.5], null, true)
} }
// ---------------------------------------------------------------------------------------------
// 8. Вантажник
function cargoScene(scene, util) {
scene.showBasePlate()
scene.world.setBlocks([0, 1, 3, 4, 1, 3], 'minecraft:rail[shape=east_west]')
scene.idle(10)
scene.world.createEntity('minecraft:villager', [1, 1, 1])
scene.idle(10)
say(scene, 70, 'Вантажник возить будматеріали на будови', [1, 2.5, 1], null, true)
scene.showControls(50, [1, 2.3, 1], 'down').rightClick()
scene.idle(20)
for (let i = 0; i < 5; i++) {
scene.world.createItemEntity([1.5, 2, 1.5], [0.04 * (i - 2), 0.25, 0.06], PACKAGE)
scene.idle(4)
}
scene.idle(10)
say(scene, 70, 'Диспетчер вантажів дасть від 4 до 8 ящиків', [1.5, 1.5, 1.5], PonderPalette.BLUE, true)
say(scene, 70, 'Ящики важкі: з ними ти ледве йдеш', [1.5, 1.5, 1.5], PonderPalette.RED)
scene.world.showSection([0, 1, 3, 4, 1, 3], Direction.DOWN)
scene.world.createEntity('minecraft:minecart', [1.5, 1, 3.5])
scene.idle(15)
say(scene, 70, 'Візьми візок, поїзд чи інший транспорт', [1.5, 1.5, 3.5], null, true)
scene.world.createEntity('minecraft:villager', [4, 1, 1])
scene.overlay.showBigLine(PonderPalette.OUTPUT, [1.5, 1.2, 3.5], [4, 1.2, 1.5], 100)
say(scene, 70, 'Компас веде до прораба на будові', [4, 2.5, 1], null, true)
say(scene, 70, 'Віддай йому всі ящики — і отримаєш гроші', [4, 2.5, 1], PonderPalette.GREEN)
say(scene, 70, 'Платять більше, ніж на пошті: за відстань і кожен ящик', [2.5, 2.5, 2.5], PonderPalette.GREEN)
say(scene, 60, 'На доставку — 3 ігрові дні', [2.5, 2.5, 2.5], PonderPalette.RED)
}
// ---------------------------------------------------------------------------------------------
// 9. Дорожник
function roadsScene(scene, util) {
const CORRIDOR = util.select.fromTo(0, 0, 1, 4, 0, 3)
scene.showBasePlate()
scene.idle(10)
scene.overlay.showOutline(PonderPalette.BLUE, 'corridor', CORRIDOR, 200)
say(scene, 70, 'Це транспортний коридор держави', [2.5, 1, 2], PonderPalette.BLUE, true)
say(scene, 70, 'Будувати й ламати тут може лише дорожник', [2.5, 1, 2], PonderPalette.RED)
scene.world.createEntity('minecraft:villager', [0.5, 1, 0.5])
scene.idle(10)
scene.showControls(50, [0.5, 2.3, 0.5], 'down').rightClick()
say(scene, 70, 'Стань дорожником: дорожній майстер або термінал → Робота', [0.5, 2.5, 0.5], null, true)
for (let x = 0; x < 5; x++) {
scene.world.setBlocks([x, 1, 2], 'minecraft:stone_bricks')
scene.world.showSection([x, 1, 2], Direction.DOWN)
if (x === 0) scene.showControls(40, [0.5, 1.5, 2.5], 'down').rightClick().withItem('minecraft:stone_bricks')
scene.idle(8)
}
scene.idle(10)
say(scene, 70, 'Кожен новий блок дороги — 0,3 ¤', [2.5, 1.5, 2.5], PonderPalette.GREEN, true)
say(scene, 70, 'Гроші — в кінці ігрового дня, до 300 блоків на день', [2.5, 1.5, 2.5])
say(scene, 70, 'Перекласти той самий блок вдруге — не оплачується', [2.5, 1.5, 2.5], PonderPalette.RED)
say(scene, 80, 'Покриття: кам\'яна цегла, гладкий камінь, андезит, плитка Create', [2.5, 1.5, 2.5])
}
// ---------------------------------------------------------------------------------------------
// 10. Шахтар
function minerScene(scene, util) {
scene.showBasePlate()
scene.world.setBlocks([1, 1, 1, 3, 2, 3], 'minecraft:stone')
scene.world.setBlocks([2, 1, 1], 'minecraft:iron_ore')
scene.world.setBlocks([1, 2, 1], 'minecraft:coal_ore')
scene.world.setBlocks([3, 1, 1], 'minecraft:copper_ore')
scene.world.setBlocks([2, 2, 1], 'minecraft:stone')
scene.idle(10)
scene.world.showSection([1, 1, 1, 3, 2, 3], Direction.DOWN)
scene.idle(15)
say(scene, 70, 'Це державна шахта', [2.5, 2.5, 1], PonderPalette.BLUE, true)
say(scene, 70, 'Копати тут можуть лише шахтарі', [2.5, 2.5, 1], PonderPalette.RED)
say(scene, 70, 'Найнятися: бригадир шахти або термінал → Робота', [2.5, 2.5, 1])
scene.showControls(40, [2.5, 1.5, 1], 'right').leftClick().withItem('minecraft:iron_pickaxe')
scene.idle(30)
scene.world.destroyBlock([2, 1, 1])
scene.idle(15)
say(scene, 70, 'Руда одразу йде державі — без дропу', [2.5, 1.5, 1], null, true)
scene.world.createItemEntity([2.5, 2, 0.8], [0, 0.2, 0], 'numismatics:spur')
say(scene, 70, 'Тобі — оплата за кожен блок', [2.5, 1.5, 1], PonderPalette.GREEN)
say(scene, 70, 'Алмази й золото дорожчі за вугілля', [2.5, 1.5, 1])
say(scene, 70, 'Гроші — в кінці ігрового дня, до 200 блоків на день', [2.5, 2.5, 2])
scene.world.setBlocks([2, 1, 1], 'minecraft:iron_ore')
scene.idle(10)
say(scene, 70, 'Викопана руда згодом виростає знову', [2.5, 1.5, 1], PonderPalette.BLUE, true)
}
// ---------------------------------------------------------------------------------------------
// 11. Оператор заводу
function operatorScene(scene, util) {
scene.showBasePlate()
scene.world.setBlocks([1, 1, 2], 'minecraft:blast_furnace')
scene.world.setBlocks([2, 1, 2], 'create:andesite_casing')
scene.world.setBlocks([3, 1, 2], 'create:mechanical_press')
scene.idle(10)
scene.world.showSection([1, 1, 2, 3, 1, 2], Direction.DOWN)
scene.idle(15)
say(scene, 70, 'Це державний завод', [2.5, 2.5, 2.5], PonderPalette.BLUE, true)
say(scene, 70, 'Оператор стежить, щоб він не зупинявся', [2.5, 2.5, 2.5])
say(scene, 70, 'Найнятися: майстер заводу або термінал → Робота', [2.5, 2.5, 2.5])
scene.overlay.showOutline(PonderPalette.RED, 'broken', util.select.position(1, 1, 2), 220)
say(scene, 70, 'Точка задиміла — щось зламалось', [1.5, 2, 2.5], PonderPalette.RED, true)
scene.showControls(50, [1.5, 2, 2.5], 'down').rightClick().withItem('minecraft:coal')
say(scene, 70, 'Немає палива — клацни з вугіллям у руці', [1.5, 2, 2.5])
scene.showControls(50, [1.5, 2, 2.5], 'down').rightClick()
say(scene, 70, 'Затор — прочисть порожньою рукою', [1.5, 2, 2.5])
scene.showControls(50, [1.5, 2, 2.5], 'down').rightClick().withItem('create:wrench')
say(scene, 70, 'Розхиталась деталь — підтягни ключем', [1.5, 2, 2.5])
scene.world.createItemEntity([1.5, 2.2, 2.5], [0, 0.2, 0], 'numismatics:spur')
say(scene, 70, 'Кожен ремонт — 2 ¤ у кінці ігрового дня', [2.5, 2.5, 2.5], PonderPalette.GREEN, true)
say(scene, 70, 'Поломки стаються, лише поки ти на зміні поруч', [2.5, 2.5, 2.5])
}
// --------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------
// 7. Продаж енергії державі: державна підстанція // 7. Продаж енергії державі: державна підстанція
@@ -310,7 +447,7 @@ function energyScene(scene, util) {
scene.idle(12) scene.idle(12)
} }
say(scene, 70, 'Щохвилини держава платить твоєму бізнесу', [2.5, 2.5, 2.5], PonderPalette.GREEN, true) say(scene, 70, 'Щохвилини держава платить твоєму бізнесу', [2.5, 2.5, 2.5], PonderPalette.GREEN, true)
say(scene, 70, 'Платить за силу, яку забирає підстанція', [2.5, 2.5, 2.5]) say(scene, 70, 'Платить лише за силу, яку забирають її машини', [2.5, 2.5, 2.5])
say(scene, 70, 'Приклад: 2048 SU — приблизно 1 ¤ за хвилину', [2.5, 2.5, 2.5], PonderPalette.BLUE) say(scene, 70, 'Приклад: 2048 SU — приблизно 1 ¤ за хвилину', [2.5, 2.5, 2.5], PonderPalette.BLUE)
setSpeed(scene, ALL, 0) setSpeed(scene, ALL, 0)
@@ -338,6 +475,10 @@ Ponder.registry(event => {
.scene('guide_money', 'Гроші й банк', moneyScene) .scene('guide_money', 'Гроші й банк', moneyScene)
.scene('guide_land', 'Земля й надра', landScene) .scene('guide_land', 'Земля й надра', landScene)
.scene('guide_jobs', 'Робота: ринок праці й пошта', jobsScene) .scene('guide_jobs', 'Робота: ринок праці й пошта', jobsScene)
.scene('guide_cargo', 'Робота: вантажник', cargoScene)
.scene('guide_roads', 'Робота: дорожник', roadsScene)
.scene('guide_miner', 'Робота: шахтар', minerScene)
.scene('guide_operator', 'Робота: оператор заводу', operatorScene)
event.create('create:package_frogport') event.create('create:package_frogport')
.scene('frogport_sell', 'Create RP: продаж державі', FROG_STRUCTURE, sellScene) .scene('frogport_sell', 'Create RP: продаж державі', FROG_STRUCTURE, sellScene)
-13
View File
@@ -1,13 +0,0 @@
name = "XPlus Autofish (Fabric / Forge / NeoForge)"
filename = "xplus-autofish-1.3.3-neoforged-mc1.21.1.jar"
side = "client"
[download]
url = "https://cdn.modrinth.com/data/2H1rLgy4/versions/nC2iqgow/xplus-autofish-1.3.3-neoforged-mc1.21.1.jar"
hash-format = "sha512"
hash = "e1680e37749e0229972be0feede3d88141c59e04f6bdc66a61238aad950134e132b366f70361a0cf703e132a8bb2b15dc5befa5989caded852e67a2b829ae6f0"
[update]
[update.modrinth]
mod-id = "2H1rLgy4"
version = "nC2iqgow"
+2 -2
View File
@@ -1,12 +1,12 @@
name = "Create RP" name = "Create RP"
author = "Pinecraft-CreateRP" author = "Pinecraft-CreateRP"
version = "0.6.2" version = "0.8.0"
pack-format = "packwiz:1.1.0" pack-format = "packwiz:1.1.0"
[index] [index]
file = "index.toml" file = "index.toml"
hash-format = "sha256" hash-format = "sha256"
hash = "d6b7760ec72d74f166da2736ca9d0c70677727812d6e6dd7af80a685ee271b6c" hash = "622f045ba7c17b23c6f5f9f94c7ce85412e5c52d75db00aeedca1633e3ef30df"
[versions] [versions]
minecraft = "1.21.1" minecraft = "1.21.1"