diff --git a/.gitignore b/.gitignore index 38b6697d7..b336310f6 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,27 @@ forge*changelog.txt /src/main/resources/data/overdrive_that_matters/loot_tables/blocks/matter_scanner.json /src/main/resources/data/overdrive_that_matters/loot_tables/blocks/pattern_storage.json /src/main/resources/assets/overdrive_that_matters/blockstates/matter_decomposer.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front0.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front1.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front2.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front3.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front4.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor0.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor1.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor10.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor11.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor2.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor3.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor4.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor5.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor6.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor7.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor8.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/matter_capacitor9.json +/src/main/resources/assets/overdrive_that_matters/blockstates/battery_bank.json +/src/main/resources/assets/overdrive_that_matters/blockstates/matter_capacitor_bank.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back0.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back1.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back2.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back3.json +/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back4.json diff --git a/shapenator.js b/shapenator.js index b58134f66..30c219b2b 100644 --- a/shapenator.js +++ b/shapenator.js @@ -15,7 +15,7 @@ const root_data = './src/main/resources/data/overdrive_that_matters/' const root = _root + 'models/block/' const time = Date.now() -process.stdout.write('Generating data files\n') +process.stdout.write('Regenerating data files\n') const handle = fs.openSync('./src/main/java/ru/dbotthepony/mc/otm/shapes/BlockShapes.java', 'w') fs.writeSync(handle, 'package ru.dbotthepony.mc.otm.shapes;\n\n\n') @@ -227,4 +227,99 @@ const facings = [ } } -process.stdout.write(`Generated data files in ${Date.now() - time}ms\n`) +// генерация моделей для battery bank и matter capacitor bank +{ + let back = JSON.parse(fs.readFileSync(root + 'battery/battery_back.json')) + let front = JSON.parse(fs.readFileSync(root + 'battery/battery_front.json')) + const stepx = 12 / 3 + const stepy = 6 + + const battery_list = ['overdrive_that_matters:block/battery/battery_front']; + const matter_list = []; + + for (let i = 0; i < 5; i++) { + if (i == 2) { + front = JSON.parse(fs.readFileSync(root + 'battery/battery_front.json')) + front.elements[0].from[1] += stepy + front.elements[0].to[1] += stepy + } else { + front.elements[0].from[0] -= stepx + front.elements[0].to[0] -= stepx + } + + fs.writeFileSync(root + 'battery/battery_front' + i + '.json', JSON.stringify(front, null, '\t')) + battery_list.push('overdrive_that_matters:block/battery/battery_front' + i) + } + + battery_list.push('overdrive_that_matters:block/battery/battery_back') + + for (let i = 0; i < 5; i++) { + if (i == 2) { + back = JSON.parse(fs.readFileSync(root + 'battery/battery_back.json')) + back.elements[0].from[1] += stepy + back.elements[0].to[1] += stepy + } else { + back.elements[0].from[0] += stepx + back.elements[0].to[0] += stepx + } + + fs.writeFileSync(root + 'battery/battery_back' + i + '.json', JSON.stringify(back, null, '\t')) + battery_list.push('overdrive_that_matters:block/battery/battery_back' + i) + } + + for (let i = 0; i < battery_list.length; i++) { + fs.writeFileSync(root + 'battery/matter_capacitor' + i + '.json', JSON.stringify({ + parent: battery_list[i], + textures: { + "1": "overdrive_that_matters:block/matterybank_core" + } + }, null, '\t')) + + matter_list.push('overdrive_that_matters:block/battery/matter_capacitor' + i) + } + + const list = [ + ['overdrive_that_matters:block/battery_bank', battery_list, 'blockstates/battery_bank.json'], + ['overdrive_that_matters:block/matter_capacitor_bank', matter_list, 'blockstates/matter_capacitor_bank.json'], + ] + + for (const [base_model, models, path] of list) { + + const blockstate = { + multipart: [] + } + + for (const face of facings) { + blockstate.multipart.push({ + when: { + facing: face.facing + }, + + apply: { + model: base_model, + y: face.y ? face.y : undefined + } + }); + } + + for (let i = 0; i < 12; i++) { + for (const face of facings) { + blockstate.multipart.push({ + when: { + facing: face.facing, + ["battery_" + i]: true + }, + + apply: { + model: models[i], + y: face.y ? face.y : undefined + } + }) + } + } + + fs.writeFileSync(_root + path, JSON.stringify(blockstate, null, '\t')) + } +} + +process.stdout.write(`Regenerated data files in ${Date.now() - time}ms\n`) diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back.json b/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back.json new file mode 100644 index 000000000..fd4b949b2 --- /dev/null +++ b/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_back.json @@ -0,0 +1,22 @@ +{ + "texture_size": [32, 16], + "textures": { + "1": "overdrive_that_matters:block/batterybank_core" + }, + "elements": [ + { + "name": "battery1", + "from": [3, 2, 9], + "to": [5, 7, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 2, 12, 7], "texture": "#1"}, + "east": {"uv": [8, 2, 11, 7], "texture": "#1"}, + "south": {"uv": [1.5, 3, 2.5, 8], "texture": "#1"}, + "west": {"uv": [8, 7, 11, 2], "rotation": 180, "texture": "#1"}, + "up": {"uv": [8, 0, 11, 2], "rotation": 270, "texture": "#1"}, + "down": {"uv": [8, 7, 11, 9], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front.json b/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front.json new file mode 100644 index 000000000..6e75065c7 --- /dev/null +++ b/src/main/resources/assets/overdrive_that_matters/models/block/battery/battery_front.json @@ -0,0 +1,21 @@ +{ + "texture_size": [32, 16], + "textures": { + "1": "overdrive_that_matters:block/batterybank_core" + }, + "elements": [ + { + "name": "battery1", + "from": [11, 2, 1], + "to": [13, 7, 7], + "faces": { + "north": {"uv": [1.5, 3, 2.5, 8], "texture": "#1"}, + "east": {"uv": [8, 7, 11, 2], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 2, 12, 7], "texture": "#1"}, + "west": {"uv": [8, 2, 11, 7], "texture": "#1"}, + "up": {"uv": [8, 0, 11, 2], "rotation": 90, "texture": "#1"}, + "down": {"uv": [8, 7, 11, 9], "rotation": 270, "texture": "#1"} + } + } + ] +} \ No newline at end of file