Add loot tables generation
This commit is contained in:
parent
a976947a2a
commit
25d89c73d9
7
.gitignore
vendored
7
.gitignore
vendored
@ -34,3 +34,10 @@ forge*changelog.txt
|
||||
/src/main/resources/assets/overdrive_that_matters/blockstates/pattern_storage.json
|
||||
/src/main/resources/assets/overdrive_that_matters/blockstates/matter_replicator.json
|
||||
/src/main/resources/assets/overdrive_that_matters/blockstates/matter_scanner.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/android_station.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/battery_bank.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_capacitor_bank.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_decomposer.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_panel.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_replicator.json
|
||||
/src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_scanner.json
|
||||
|
@ -11,6 +11,7 @@ const models = [
|
||||
|
||||
const fs = require('fs')
|
||||
const _root = './src/main/resources/assets/overdrive_that_matters/'
|
||||
const root_data = './src/main/resources/data/overdrive_that_matters/'
|
||||
const root = _root + 'models/block/'
|
||||
|
||||
const time = Date.now()
|
||||
@ -140,4 +141,79 @@ const facings = [
|
||||
}
|
||||
}
|
||||
|
||||
// дропы с машин
|
||||
{
|
||||
const drops = {
|
||||
android_station: ['energy_cap', 'battery_container'],
|
||||
battery_bank: ['battery_bank'],
|
||||
matter_capacitor_bank: ['matter_container'],
|
||||
matter_panel: ['tasks'],
|
||||
}
|
||||
|
||||
const drops_workers = {
|
||||
matter_decomposer: ['work_slots', 'matter_capability'],
|
||||
matter_replicator: ['regular_slots', 'reserved_slots', 'matter_capability'],
|
||||
matter_scanner: ['work_slots'],
|
||||
}
|
||||
|
||||
const combined = {}
|
||||
|
||||
for (const name in drops) {
|
||||
combined[name] = drops[name]
|
||||
}
|
||||
|
||||
for (const name in drops_workers) {
|
||||
drops_workers[name].push('work_ticks', 'current_job', 'energy_cap', 'battery_container')
|
||||
combined[name] = drops_workers[name]
|
||||
}
|
||||
|
||||
for (const name in combined) {
|
||||
const values = combined[name]
|
||||
|
||||
const state = {
|
||||
type: 'minecraft:block',
|
||||
pools: [
|
||||
{
|
||||
rolls: 1,
|
||||
bonus_rolls: 0,
|
||||
entries: [
|
||||
{
|
||||
type: 'minecraft:item',
|
||||
name: "overdrive_that_matters:" + name,
|
||||
functions: [
|
||||
{
|
||||
"function": "minecraft:copy_name",
|
||||
"source": "block_entity"
|
||||
},
|
||||
|
||||
{
|
||||
"function": "minecraft:copy_nbt",
|
||||
"source": "block_entity",
|
||||
"ops": [
|
||||
{
|
||||
"source": "Name",
|
||||
"target": "BlockEntityTag.Name",
|
||||
"op": "replace"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
for (const type of values) {
|
||||
state.pools[0].entries[0].functions[1].ops.push({
|
||||
"source": type,
|
||||
"target": "BlockEntityTag." + type,
|
||||
"op": "replace"
|
||||
})
|
||||
}
|
||||
|
||||
fs.writeFileSync(root_data + 'loot_tables/blocks/' + name + '.json', JSON.stringify(state, null, '\t'))
|
||||
}
|
||||
}
|
||||
|
||||
process.stdout.write(`Generated data files in ${Date.now() - time}ms\n`)
|
||||
|
Loading…
Reference in New Issue
Block a user