From dad9acede5f07c216b57ae693185b9124af8844f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 26 Jun 2025 01:30:03 +0100 Subject: [PATCH] started moon rabbit entity --- .../geo/entity/moon_rabbit/female.geo.json | 121 ++++++++++++++++++ .../tfg/geo/entity/moon_rabbit/male.geo.json | 121 ++++++++++++++++++ .../textures/entity/moon_rabbit/female.png | Bin 0 -> 709 bytes .../tfg/textures/entity/moon_rabbit/male.png | Bin 0 -> 709 bytes kubejs/server_scripts/tfg/data.js | 6 + kubejs/startup_scripts/main_startup_script.js | 86 +++++-------- kubejs/startup_scripts/tfg/entity_types.js | 23 ++++ 7 files changed, 302 insertions(+), 55 deletions(-) create mode 100644 kubejs/assets/tfg/geo/entity/moon_rabbit/female.geo.json create mode 100644 kubejs/assets/tfg/geo/entity/moon_rabbit/male.geo.json create mode 100644 kubejs/assets/tfg/textures/entity/moon_rabbit/female.png create mode 100644 kubejs/assets/tfg/textures/entity/moon_rabbit/male.png create mode 100644 kubejs/startup_scripts/tfg/entity_types.js diff --git a/kubejs/assets/tfg/geo/entity/moon_rabbit/female.geo.json b/kubejs/assets/tfg/geo/entity/moon_rabbit/female.geo.json new file mode 100644 index 000000000..07c6a9585 --- /dev/null +++ b/kubejs/assets/tfg/geo/entity/moon_rabbit/female.geo.json @@ -0,0 +1,121 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "rearFootLeft", + "pivot": [3, 6.5, 3.7], + "mirror": true, + "cubes": [ + {"origin": [2, 0, 0], "size": [2, 1, 7], "uv": [8, 24]} + ] + }, + { + "name": "rearFootRight", + "pivot": [-3, 6.5, 3.7], + "mirror": true, + "cubes": [ + {"origin": [-4, 0, 0], "size": [2, 1, 7], "uv": [26, 24]} + ] + }, + { + "name": "haunchLeft", + "pivot": [3, 6.5, 3.7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [2, 2.5, 3.7], "size": [2, 4, 5], "uv": [16, 15]} + ] + }, + { + "name": "haunchRight", + "pivot": [-3, 6.5, 3.7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-4, 2.5, 3.7], "size": [2, 4, 5], "uv": [30, 15]} + ] + }, + { + "name": "body", + "pivot": [0, 5, 8], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-3, 2, -2], "size": [6, 5, 10], "uv": [0, 0]} + ] + }, + { + "name": "frontLegLeft", + "pivot": [3, 7, -1], + "rotation": [-10, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [2, 0, -2], "size": [2, 7, 2], "uv": [8, 15]} + ] + }, + { + "name": "frontLegRight", + "pivot": [-3, 7, -1], + "rotation": [-10, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-4, 0, -2], "size": [2, 7, 2], "uv": [0, 15]} + ] + }, + { + "name": "head", + "pivot": [0, 8, -1], + "mirror": true, + "cubes": [ + {"origin": [-2.5, 8, -6], "size": [5, 4, 5], "uv": [32, 0]} + ] + }, + { + "name": "earRight", + "pivot": [0, 8, -1], + "rotation": [0, -15, 0], + "mirror": true, + "cubes": [ + {"origin": [-2.5, 12, -2], "size": [2, 5, 1], "uv": [58, 0]} + ] + }, + { + "name": "earLeft", + "pivot": [0, 8, -1], + "rotation": [0, 15, 0], + "mirror": true, + "cubes": [ + {"origin": [0.5, 12, -2], "size": [2, 5, 1], "uv": [52, 0]} + ] + }, + { + "name": "tail", + "pivot": [0, 4, 7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-1.5, 2.5, 7], "size": [3, 3, 2], "uv": [52, 6]} + ] + }, + { + "name": "nose", + "pivot": [0, 8, -1], + "mirror": true, + "cubes": [ + {"origin": [-0.5, 9.5, -6.5], "size": [1, 1, 1], "uv": [32, 9]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/geo/entity/moon_rabbit/male.geo.json b/kubejs/assets/tfg/geo/entity/moon_rabbit/male.geo.json new file mode 100644 index 000000000..07c6a9585 --- /dev/null +++ b/kubejs/assets/tfg/geo/entity/moon_rabbit/male.geo.json @@ -0,0 +1,121 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "rearFootLeft", + "pivot": [3, 6.5, 3.7], + "mirror": true, + "cubes": [ + {"origin": [2, 0, 0], "size": [2, 1, 7], "uv": [8, 24]} + ] + }, + { + "name": "rearFootRight", + "pivot": [-3, 6.5, 3.7], + "mirror": true, + "cubes": [ + {"origin": [-4, 0, 0], "size": [2, 1, 7], "uv": [26, 24]} + ] + }, + { + "name": "haunchLeft", + "pivot": [3, 6.5, 3.7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [2, 2.5, 3.7], "size": [2, 4, 5], "uv": [16, 15]} + ] + }, + { + "name": "haunchRight", + "pivot": [-3, 6.5, 3.7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-4, 2.5, 3.7], "size": [2, 4, 5], "uv": [30, 15]} + ] + }, + { + "name": "body", + "pivot": [0, 5, 8], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-3, 2, -2], "size": [6, 5, 10], "uv": [0, 0]} + ] + }, + { + "name": "frontLegLeft", + "pivot": [3, 7, -1], + "rotation": [-10, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [2, 0, -2], "size": [2, 7, 2], "uv": [8, 15]} + ] + }, + { + "name": "frontLegRight", + "pivot": [-3, 7, -1], + "rotation": [-10, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-4, 0, -2], "size": [2, 7, 2], "uv": [0, 15]} + ] + }, + { + "name": "head", + "pivot": [0, 8, -1], + "mirror": true, + "cubes": [ + {"origin": [-2.5, 8, -6], "size": [5, 4, 5], "uv": [32, 0]} + ] + }, + { + "name": "earRight", + "pivot": [0, 8, -1], + "rotation": [0, -15, 0], + "mirror": true, + "cubes": [ + {"origin": [-2.5, 12, -2], "size": [2, 5, 1], "uv": [58, 0]} + ] + }, + { + "name": "earLeft", + "pivot": [0, 8, -1], + "rotation": [0, 15, 0], + "mirror": true, + "cubes": [ + {"origin": [0.5, 12, -2], "size": [2, 5, 1], "uv": [52, 0]} + ] + }, + { + "name": "tail", + "pivot": [0, 4, 7], + "rotation": [-20, 0, 0], + "mirror": true, + "cubes": [ + {"origin": [-1.5, 2.5, 7], "size": [3, 3, 2], "uv": [52, 6]} + ] + }, + { + "name": "nose", + "pivot": [0, 8, -1], + "mirror": true, + "cubes": [ + {"origin": [-0.5, 9.5, -6.5], "size": [1, 1, 1], "uv": [32, 9]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/entity/moon_rabbit/female.png b/kubejs/assets/tfg/textures/entity/moon_rabbit/female.png new file mode 100644 index 0000000000000000000000000000000000000000..6f649f851bd47a163f1fcd271f827cd61e0a3f32 GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq|*V)5S3)T*r84znC$EEEy_|9v{@vAbk6&3s(rNWyj&j_hsv5B6FYVW7Ac;D)QXM^n=dlFILy=7r?Ns~t0|*EP6KkbU&RAf+S8}H3|BaCkj-;^nEdTcN!;Kl&KPz!= zVyIv-iU0C5_QdCX7nLe^*KRxJ&*oe`kD1}s>FYMXj5@WJ?)cPtVZq~5EKfJRFt#gO zwnb5t;YGRL;hF_WZuQ9w2`XQE*Rip?$9buzF*FrOuK2lY51(mGGQ)`nj*FLThLzvn zp0s40Nj7W4=~>I}>}L)zU;8ocOy8PfhAj%qf9?*O@TDN2F zkFr;H2CVwQwPa<}@6KxsPgdMBJNv5W>*g{Bo3qK?3VIB4+{(Ea*v{^Mm;RPv$$N8F z1?HUP3{QTDPgp&FEAs=<1(_{*)|a+(DYQS@`74u^K~2^0C&N3XWUtg)|C{bG)G;z~ XUy}BD`(zCR0|SGntDnm{r-UW|Bv3*) literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/entity/moon_rabbit/male.png b/kubejs/assets/tfg/textures/entity/moon_rabbit/male.png new file mode 100644 index 0000000000000000000000000000000000000000..6f649f851bd47a163f1fcd271f827cd61e0a3f32 GIT binary patch literal 709 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq|*V)5S3)T*r84znC$EEEy_|9v{@vAbk6&3s(rNWyj&j_hsv5B6FYVW7Ac;D)QXM^n=dlFILy=7r?Ns~t0|*EP6KkbU&RAf+S8}H3|BaCkj-;^nEdTcN!;Kl&KPz!= zVyIv-iU0C5_QdCX7nLe^*KRxJ&*oe`kD1}s>FYMXj5@WJ?)cPtVZq~5EKfJRFt#gO zwnb5t;YGRL;hF_WZuQ9w2`XQE*Rip?$9buzF*FrOuK2lY51(mGGQ)`nj*FLThLzvn zp0s40Nj7W4=~>I}>}L)zU;8ocOy8PfhAj%qf9?*O@TDN2F zkFr;H2CVwQwPa<}@6KxsPgdMBJNv5W>*g{Bo3qK?3VIB4+{(Ea*v{^Mm;RPv$$N8F z1?HUP3{QTDPgp&FEAs=<1(_{*)|a+(DYQS@`74u^K~2^0C&N3XWUtg)|C{bG)G;z~ XUy}BD`(zCR0|SGntDnm{r-UW|Bv3*) literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index ebac871f4..ba232d06f 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -5,6 +5,7 @@ function registerTFCDataForTFG(event) { registerTFGItemSize(event); registerTFGSupportData(event); registerTFGFoodData(event); + registerTFGFauna(event); } @@ -122,4 +123,9 @@ const registerTFGFoodData = (event) => { event.foodItem('tfg:food/meal_bag', food => { food.type('dynamic') }) +} + +const registerTFGFauna = (event) => { + + event.fauna(climate => { }, fauna => { fauna.chance(0) }, 'tfg:moon_rabbit') } \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index c8fc603f0..b73aa2fa9 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -1,97 +1,73 @@ // priority: 0 -/** - * Событие регистрации предметов. - */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) - registerTFGItems(event) + registerGTCEuItems(event) + registerTFGItems(event) }) -/** - * Событие регистрации блоков. - */ StartupEvents.registry('block', event => { - registerTFGBlocks(event) + registerTFGBlocks(event) +}) + +StartupEvents.registry('entity_type', event => { + registerTFGEntityTypes(event) }) -/** - * Событие изменения блоков. - */ BlockEvents.modification(event => { - registerAdAstraBlockModifications(event) + registerAdAstraBlockModifications(event) }) -/** - * Событие изменения предметов. - */ ItemEvents.modification(event => { - registerBeneathItemModifications(event) - registerConstructionWandsItemModifications(event) - registerCreateItemModifications(event) - registerMinecraftItemModifications(event) + registerBeneathItemModifications(event) + registerConstructionWandsItemModifications(event) + registerCreateItemModifications(event) + registerMinecraftItemModifications(event) }) -/** - * Событие регистрации жидкостей. - */ StartupEvents.registry('fluid', event => { - registerTFGFluids(event) - registerAE2Fluids(event) + registerTFGFluids(event) + registerAE2Fluids(event) }) -/** - * Событие регистрации типов рецептов. - */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - registerGTCEuRecipeTypes(event) + registerGTCEuRecipeTypes(event) }) -/** - * Событие регистрации механизмов. - */ GTCEuStartupEvents.registry('gtceu:machine', event => { - registerGTCEuMachines(event) + registerGTCEuMachines(event) }) -/** - * Событие регистрации тэг префиксов. -*/ GTCEuStartupEvents.registry('gtceu:tag_prefix', event => { - registerAE2TagPrefixes(event) - registerTFCTagPrefixes(event) - registerGTCEuTagPrefixes(event) + registerAE2TagPrefixes(event) + registerTFCTagPrefixes(event) + registerGTCEuTagPrefixes(event) }) GTCEuStartupEvents.registry('gtceu:material', event => { - registerAdAstraMaterials(event) - registerAE2Materials(event) - registerCreateMaterials(event) - registerTFCMaterials(event) - registerGTCEuMaterials(event) - registerGreateMaterials(event) - registerTFGMaterials(event) + registerAdAstraMaterials(event) + registerAE2Materials(event) + registerCreateMaterials(event) + registerTFCMaterials(event) + registerGTCEuMaterials(event) + registerGreateMaterials(event) + registerTFGMaterials(event) }) GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { - registerTFCIconSets(event) + registerTFCIconSets(event) }) -/** - * Событие модификации материалов. -*/ GTCEuStartupEvents.materialModification(event => { - registerGTCEuMaterialModification(event) - registerGreateMaterialModification(event) + registerGTCEuMaterialModification(event) + registerGreateMaterialModification(event) }) - GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { - registerTFGDimensionMarkers(event) + registerTFGDimensionMarkers(event) }) TFCEvents.registerFoodTrait(event => { - registerTFGFoodTraits(event) + registerTFGFoodTraits(event) }) Platform.mods.kaolinclayze.name = "Primitive Creatures"; diff --git a/kubejs/startup_scripts/tfg/entity_types.js b/kubejs/startup_scripts/tfg/entity_types.js new file mode 100644 index 000000000..dbb114dbe --- /dev/null +++ b/kubejs/startup_scripts/tfg/entity_types.js @@ -0,0 +1,23 @@ +// priority: 0 + +function registerTFGEntityTypes(event) { + + event.create('tfg:moon_rabbit', 'tfc:mammal') + .withFaunaDefinition('on_ground', 'world_surface_wg') + .foodTag('tfc:rabbit_food') + .sized(1, 1) + .modelSize(1, 1) + .updateInterval(3) + .setDeathSound("minecraft:entity.rabbit.death") + .setAmbientSound("minecraft:entity.rabbit.ambient") + .setHurtSound(context => "minecraft:entity.rabbit.hurt") + // these are the same as tfc rabbits + //.configs(config => { + // config.gestationDays(19) + // config.daysToAdult(80) + // config.childCount(6) + // config.uses(40) + // config.maxFamiliarity(0.35) + // config.eatsRottenFood(true) + //}) +} \ No newline at end of file