sapdon 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +2 -0
- package/LICENSE +21 -0
- package/README.md +26 -0
- package/doc/api.md +128 -0
- package/examples/digitCircuit/build.config +28 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_and_gate.json +152 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_not_gate.json +152 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_or_gate.json +152 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_wire.json +103 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/manifest.json +60 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/pack_icon.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/scripts/index.js +95 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/blocks.json +43 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/manifest.json +44 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/arcane_workbench.geo.json +106 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/crop.geo.json +147 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal.geo.json +47 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_0.geo.json +59 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_1.geo.json +59 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_2.geo.json +59 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_3.geo.json +59 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/wire.geo.json +154 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/pack_icon.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/and_gate.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/not_gate.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/or_gate.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/test_log_oak.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/test_log_top.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/blocks/wire.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/item_texture.json +9 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/items/masterball.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/terrain_texture.json +26 -0
- package/examples/digitCircuit/lib/wire.js +20 -0
- package/examples/digitCircuit/main.mjs +14 -0
- package/examples/digitCircuit/mod.info +7 -0
- package/examples/digitCircuit/pack_icon.png +0 -0
- package/examples/digitCircuit/res/models/blocks/arcane_workbench.geo.json +106 -0
- package/examples/digitCircuit/res/models/blocks/crop.geo.json +147 -0
- package/examples/digitCircuit/res/models/blocks/jar_normal.geo.json +47 -0
- package/examples/digitCircuit/res/models/blocks/jar_normal_0.geo.json +59 -0
- package/examples/digitCircuit/res/models/blocks/jar_normal_1.geo.json +59 -0
- package/examples/digitCircuit/res/models/blocks/jar_normal_2.geo.json +59 -0
- package/examples/digitCircuit/res/models/blocks/jar_normal_3.geo.json +59 -0
- package/examples/digitCircuit/res/models/blocks/wire.geo.json +154 -0
- package/examples/digitCircuit/res/textures/blocks/and_gate.png +0 -0
- package/examples/digitCircuit/res/textures/blocks/not_gate.png +0 -0
- package/examples/digitCircuit/res/textures/blocks/or_gate.png +0 -0
- package/examples/digitCircuit/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/digitCircuit/res/textures/blocks/test_log_top.png +0 -0
- package/examples/digitCircuit/res/textures/blocks/wire.png +0 -0
- package/examples/digitCircuit/res/textures/items/masterball.png +0 -0
- package/examples/digitCircuit/scripts/index.js +95 -0
- package/examples/masterball/build.config +28 -0
- package/examples/masterball/dev/masterball[1.20.20+].mcaddon.zip +0 -0
- package/examples/masterball/dev/masterball_BP/entities/sapdon_projectile_masterball.json +56 -0
- package/examples/masterball/dev/masterball_BP/items/sapdon_caught_masterball.json +32 -0
- package/examples/masterball/dev/masterball_BP/items/sapdon_uncaught_masterball.json +31 -0
- package/examples/masterball/dev/masterball_BP/manifest.json +60 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/entities/sapdon_projectile_masterball.json +56 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/items/sapdon_caught_masterball.json +32 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/items/sapdon_uncaught_masterball.json +31 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/manifest.json +60 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/pack_icon.png +0 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20/scripts/index.js +159 -0
- package/examples/masterball/dev/masterball_BP/masterball_BP_1_20_20.zip +0 -0
- package/examples/masterball/dev/masterball_BP/pack_icon.png +0 -0
- package/examples/masterball/dev/masterball_BP/scripts/index.js +159 -0
- package/examples/masterball/dev/masterball_RP/blocks.json +3 -0
- package/examples/masterball/dev/masterball_RP/entity/sapdon_projectile_masterball.json +28 -0
- package/examples/masterball/dev/masterball_RP/manifest.json +44 -0
- package/examples/masterball/dev/masterball_RP/masterball_RP_1_20_20.zip +0 -0
- package/examples/masterball/dev/masterball_RP/pack_icon.png +0 -0
- package/examples/masterball/dev/masterball_RP/textures/blocks/test_log_oak.png +0 -0
- package/examples/masterball/dev/masterball_RP/textures/blocks/test_log_top.png +0 -0
- package/examples/masterball/dev/masterball_RP/textures/item_texture.json +9 -0
- package/examples/masterball/dev/masterball_RP/textures/items/masterball.png +0 -0
- package/examples/masterball/dev/masterball_RP/textures/terrain_texture.json +14 -0
- package/examples/masterball/main.mjs +24 -0
- package/examples/masterball/mod.info +7 -0
- package/examples/masterball/pack_icon.png +0 -0
- package/examples/masterball/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/masterball/res/textures/blocks/test_log_top.png +0 -0
- package/examples/masterball/res/textures/items/masterball.png +0 -0
- package/examples/masterball/scripts/index.js +159 -0
- package/examples/test/dev/test_BP/biomes/test_biome.json +48 -0
- package/examples/test/dev/test_BP/blocks/sapdon_block.json +111 -0
- package/examples/test/dev/test_BP/blocks/sapdon_ore_cinnabar.json +16 -0
- package/examples/test/dev/test_BP/blocks/sapdon_test_block.json +16 -0
- package/examples/test/dev/test_BP/blocks/sapdon_test_crop.json +192 -0
- package/examples/test/dev/test_BP/blocks/sapdon_wire.json +103 -0
- package/examples/test/dev/test_BP/entities/sapdon_body.json +118 -0
- package/examples/test/dev/test_BP/entities/sapdon_test_entity_ctrl1.json +55 -0
- package/examples/test/dev/test_BP/entities/sapdon_test_entity_ctrl2.json +61 -0
- package/examples/test/dev/test_BP/entities/sapdon_test_entity_header.json +408 -0
- package/examples/test/dev/test_BP/entities/sapdon_test_projectile.json +56 -0
- package/examples/test/dev/test_BP/feature_rules/ore_cinnabar_orefeatre_rule.json +53 -0
- package/examples/test/dev/test_BP/feature_rules/overworld_underground_titanite_ore_feature.json +53 -0
- package/examples/test/dev/test_BP/features/ore_cinnabar_ore_feature.json +17 -0
- package/examples/test/dev/test_BP/features/titanite_ore_feature.json +23 -0
- package/examples/test/dev/test_BP/items/sapdon_chest.json +23 -0
- package/examples/test/dev/test_BP/items/sapdon_test_food.json +26 -0
- package/examples/test/dev/test_BP/items/sapdon_test_item.json +31 -0
- package/examples/test/dev/test_BP/manifest.json +60 -0
- package/examples/test/dev/test_BP/pack_icon.png +0 -0
- package/examples/test/dev/test_BP/recipes/sapdon_test_furnace.json +13 -0
- package/examples/test/dev/test_BP/scripts/custom_components/cropComponent.js +59 -0
- package/examples/test/dev/test_BP/scripts/index.js +101 -0
- package/examples/test/dev/test_RP/attachables/sapdon_chest.json +25 -0
- package/examples/test/dev/test_RP/blocks.json +43 -0
- package/examples/test/dev/test_RP/entity/sapdon_body.json +44 -0
- package/examples/test/dev/test_RP/entity/sapdon_test_entity_ctrl1.json +38 -0
- package/examples/test/dev/test_RP/entity/sapdon_test_entity_ctrl2.json +38 -0
- package/examples/test/dev/test_RP/entity/sapdon_test_entity_header.json +44 -0
- package/examples/test/dev/test_RP/entity/sapdon_test_projectile.json +28 -0
- package/examples/test/dev/test_RP/manifest.json +44 -0
- package/examples/test/dev/test_RP/models/blocks/arcane_workbench.geo.json +106 -0
- package/examples/test/dev/test_RP/models/blocks/crop.geo.json +147 -0
- package/examples/test/dev/test_RP/models/blocks/jar_normal.geo.json +47 -0
- package/examples/test/dev/test_RP/models/blocks/jar_normal_0.geo.json +59 -0
- package/examples/test/dev/test_RP/models/blocks/jar_normal_1.geo.json +59 -0
- package/examples/test/dev/test_RP/models/blocks/jar_normal_2.geo.json +59 -0
- package/examples/test/dev/test_RP/models/blocks/jar_normal_3.geo.json +59 -0
- package/examples/test/dev/test_RP/models/blocks/wire.geo.json +154 -0
- package/examples/test/dev/test_RP/pack_icon.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/animatedglow.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/arcane_workbench_side.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/arcane_workbench_top.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/base_wood_grain.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/castleBlock_darkBrickBloody_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/castleBlock_darkSlab_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/castleBlock_purpleBrick_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/castleBlock_purpleSlab_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/churchAltar.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_down.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_east.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_north.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_south.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_up.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/compass_block_west.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/cursedEarth_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/custom_chestplate.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlicTorchStrong_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlicTorchWeak_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlic_stage_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlic_stage_1.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlic_stage_2.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/garlic_stage_3.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_bottom.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_brine.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_side.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_side_void.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_top.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/jar_top_void.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/ore_cinnabar.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/test_block.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/test_log_oak.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/test_log_top.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/vampireOrchid_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_0.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_1.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_2.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_3.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_4.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_5.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_6.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wheat_stage_7.png +0 -0
- package/examples/test/dev/test_RP/textures/blocks/wire.png +0 -0
- package/examples/test/dev/test_RP/textures/entity/vampire.png +0 -0
- package/examples/test/dev/test_RP/textures/entity/vampire1.png +0 -0
- package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/211/233.png +0 -0
- package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/213/227.png +0 -0
- package/examples/test/dev/test_RP/textures/entity//345/220/270/350/241/200/347/214/252.png +0 -0
- package/examples/test/dev/test_RP/textures/flipbook_textures.json +1 -0
- package/examples/test/dev/test_RP/textures/item_texture.json +789 -0
- package/examples/test/dev/test_RP/textures/items/alumentum.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amber.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_fancy.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_mundane.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_runic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_runic_emergency.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_vis.png +0 -0
- package/examples/test/dev/test_RP/textures/items/amulet_vis_stone.png +0 -0
- package/examples/test/dev/test_RP/textures/items/banner.png +0 -0
- package/examples/test/dev/test_RP/textures/items/banner_cultist.png +0 -0
- package/examples/test/dev/test_RP/textures/items/banner_stand.png +0 -0
- package/examples/test/dev/test_RP/textures/items/banner_symbol.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bath_salts.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bone_bow.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bone_bow_0.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bone_bow_1.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bone_bow_2.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bottle_taint.png +0 -0
- package/examples/test/dev/test_RP/textures/items/brain.png +0 -0
- package/examples/test/dev/test_RP/textures/items/brass_gear.png +0 -0
- package/examples/test/dev/test_RP/textures/items/brass_plate.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bucket_death.png +0 -0
- package/examples/test/dev/test_RP/textures/items/bucket_pure.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_beef.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_chicken.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_fish.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_mutton.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_pork.png +0 -0
- package/examples/test/dev/test_RP/textures/items/chunk_rabbit.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_boots.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_boots_over.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_chest_over.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cloth_legs_over.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_cinnabar.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_copper.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_gold.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_iron.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_lead.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_silver.png +0 -0
- package/examples/test/dev/test_RP/textures/items/cluster_tin.png +0 -0
- package/examples/test/dev/test_RP/textures/items/coin.png +0 -0
- package/examples/test/dev/test_RP/textures/items/creative_caster.png +0 -0
- package/examples/test/dev/test_RP/textures/items/creative_node.png +0 -0
- package/examples/test/dev/test_RP/textures/items/creative_obelisk.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_blade.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_boots.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_plate_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_plate_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_plate_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_praetor_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_praetor_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_praetor_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_rites.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_robe_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_robe_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crimson_robe_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crystal_essence.png +0 -0
- package/examples/test/dev/test_RP/textures/items/crystal_planter.png +0 -0
- package/examples/test/dev/test_RP/textures/items/custom_chestplate.png +0 -0
- package/examples/test/dev/test_RP/textures/items/discovery.png +0 -0
- package/examples/test/dev/test_RP/textures/items/discovery_overlay.png +0 -0
- package/examples/test/dev/test_RP/textures/items/eldritch_eye.png +0 -0
- package/examples/test/dev/test_RP/textures/items/elemental_axe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/elemental_hoe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/elemental_pick.png +0 -0
- package/examples/test/dev/test_RP/textures/items/elemental_shovel.png +0 -0
- package/examples/test/dev/test_RP/textures/items/elemental_sword.png +0 -0
- package/examples/test/dev/test_RP/textures/items/fabric.png +0 -0
- package/examples/test/dev/test_RP/textures/items/filter.png +0 -0
- package/examples/test/dev/test_RP/textures/items/flux_sponge.png +0 -0
- package/examples/test/dev/test_RP/textures/items/focus_pouch.png +0 -0
- package/examples/test/dev/test_RP/textures/items/fortress_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/fortress_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/fortress_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/girdle_fancy.png +0 -0
- package/examples/test/dev/test_RP/textures/items/girdle_hover.png +0 -0
- package/examples/test/dev/test_RP/textures/items/girdle_mundane.png +0 -0
- package/examples/test/dev/test_RP/textures/items/girdle_runic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/girdle_runic_kinetic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/goggles_revealing.png +0 -0
- package/examples/test/dev/test_RP/textures/items/golem.png +0 -0
- package/examples/test/dev/test_RP/textures/items/golem_bell.png +0 -0
- package/examples/test/dev/test_RP/textures/items/hand_mirror.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ingot_brass.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ingot_thaumium.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ingot_void.png +0 -0
- package/examples/test/dev/test_RP/textures/items/iron_plate.png +0 -0
- package/examples/test/dev/test_RP/textures/items/jar_brace.png +0 -0
- package/examples/test/dev/test_RP/textures/items/knowledge_fragment.png +0 -0
- package/examples/test/dev/test_RP/textures/items/label.png +0 -0
- package/examples/test/dev/test_RP/textures/items/label_overlay.png +0 -0
- package/examples/test/dev/test_RP/textures/items/loot_bag_common.png +0 -0
- package/examples/test/dev/test_RP/textures/items/loot_bag_rare.png +0 -0
- package/examples/test/dev/test_RP/textures/items/loot_bag_uncommon.png +0 -0
- package/examples/test/dev/test_RP/textures/items/masterball.png +0 -0
- package/examples/test/dev/test_RP/textures/items/mind_biothaumic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/mind_clockwork.png +0 -0
- package/examples/test/dev/test_RP/textures/items/mirrored_glass.png +0 -0
- package/examples/test/dev/test_RP/textures/items/module_aggression.png +0 -0
- package/examples/test/dev/test_RP/textures/items/module_vision.png +0 -0
- package/examples/test/dev/test_RP/textures/items/morphic_resonator.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_brass.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_copper.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_iron.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_lead.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_quicksilver.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_silver.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_thaumium.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_tin.png +0 -0
- package/examples/test/dev/test_RP/textures/items/nugget_void.png +0 -0
- package/examples/test/dev/test_RP/textures/items/phial.png +0 -0
- package/examples/test/dev/test_RP/textures/items/phial_overlay.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_air.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_earth.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_entropy.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_fire.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_order.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_arrow_water.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_charm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primal_crusher.png +0 -0
- package/examples/test/dev/test_RP/textures/items/primordial_pearl.png +0 -0
- package/examples/test/dev/test_RP/textures/items/quicksilver.png +0 -0
- package/examples/test/dev/test_RP/textures/items/researchnotes.png +0 -0
- package/examples/test/dev/test_RP/textures/items/researchnotes_overlay.png +0 -0
- package/examples/test/dev/test_RP/textures/items/resonator.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_apprentice.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_fancy.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_mundane.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_protection.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_runic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_runic_charge.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_runic_regen.png +0 -0
- package/examples/test/dev/test_RP/textures/items/ring_verdant.png +0 -0
- package/examples/test/dev/test_RP/textures/items/runed_tablet.png +0 -0
- package/examples/test/dev/test_RP/textures/items/salis_mundus.png +0 -0
- package/examples/test/dev/test_RP/textures/items/sanity_checker.png +0 -0
- package/examples/test/dev/test_RP/textures/items/sanity_soap.png +0 -0
- package/examples/test/dev/test_RP/textures/items/scribing_tools.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_blank.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_breaker.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_breaker.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_butcher.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_butcher.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_empty.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_empty.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_empty_advanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_empty_advanced.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_fill.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_fill.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_fill_advanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_fill_advanced.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_guard.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_guard.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_guard_advanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_guard_advanced.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_harvest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_harvest.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_lumber.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_lumber.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_pickup.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_pickup.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_pickup_advanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_pickup_advanced.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_provider.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_provider.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_use.png +0 -0
- package/examples/test/dev/test_RP/textures/items/seals/seal_use.png.mcmeta +6 -0
- package/examples/test/dev/test_RP/textures/items/shard.png +0 -0
- package/examples/test/dev/test_RP/textures/items/shard_balanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/sinister_stone.png +0 -0
- package/examples/test/dev/test_RP/textures/items/sinister_stone_active.png +0 -0
- package/examples/test/dev/test_RP/textures/items/taint_slime.png +0 -0
- package/examples/test/dev/test_RP/textures/items/taint_tendril.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tallow.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_axe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_boots.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_gear.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_hoe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_pick.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_plate.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_shovel.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumium_sword.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumometer.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumonomicon.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumonomicon_cheat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/thaumostatic_harness.png +0 -0
- package/examples/test/dev/test_RP/textures/items/traveller_boots.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tripletreat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_buffer.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_filter.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_normal.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_oneway.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_restrict.png +0 -0
- package/examples/test/dev/test_RP/textures/items/tube_valve.png +0 -0
- package/examples/test/dev/test_RP/textures/items/turret_advanced.png +0 -0
- package/examples/test/dev/test_RP/textures/items/turret_basic.png +0 -0
- package/examples/test/dev/test_RP/textures/items/turret_focus.png +0 -0
- package/examples/test/dev/test_RP/textures/items/turret_magnet.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_axe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_boots.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_gear.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_hoe.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_pick.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_plate.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_robe_chest.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_robe_chest_over.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_robe_helm.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_robe_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_robe_legs_over.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_seed.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_shovel.png +0 -0
- package/examples/test/dev/test_RP/textures/items/void_sword.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_brass.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_brass_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_gold.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_gold_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_iron.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_iron_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium.png.mcmeta +11 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium_inert.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_thaumium_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_void.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_void.png.mcmeta +11 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_void_inert.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/cap_void_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_builder.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_excavation.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_fire.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_frost.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_grapple.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_hellbat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_hellbat_orn.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_pech.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_pech.png.mcmeta +3 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_portablehole.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_portablehole.png.mcmeta +3 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_primal.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_primal.png.mcmeta +3 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_shard.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_shard.png.mcmeta +3 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_shock.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_trade.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_warding.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/focus_warding.png.mcmeta +3 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_blaze.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_blaze_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_blaze_mat.png.mcmeta +45 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_bone.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_bone_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_greatwood.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_greatwood_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_ice.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_ice_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_obsidian.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_obsidian_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_primal_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_primal_mat.png.mcmeta +45 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_quartz.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_quartz_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_reed.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_reed_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_silverwood.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_silverwood_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/rod_wood_mat.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_blaze.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_bone.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_greatwood.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_ice.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_obsidian.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_primal.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_quartz.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_reed.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wand/staff_rod_silverwood.png +0 -0
- package/examples/test/dev/test_RP/textures/items/wispy_essence.png +0 -0
- package/examples/test/dev/test_RP/textures/models/armor/custom_legs.png +0 -0
- package/examples/test/dev/test_RP/textures/models/armor/custom_main.png +0 -0
- package/examples/test/dev/test_RP/textures/models/armor/vampireArmor_1.png +0 -0
- package/examples/test/dev/test_RP/textures/models/armor/vampireArmor_2.png +0 -0
- package/examples/test/dev/test_RP/textures/terrain_texture.json +137 -0
- package/examples/test/lib/wire.js +20 -0
- package/examples/test/main.mjs +112 -0
- package/examples/test/mod.info +7 -0
- package/examples/test/pack_icon.png +0 -0
- package/examples/test/res/models/blocks/arcane_workbench.geo.json +106 -0
- package/examples/test/res/models/blocks/crop.geo.json +147 -0
- package/examples/test/res/models/blocks/jar_normal.geo.json +47 -0
- package/examples/test/res/models/blocks/jar_normal_0.geo.json +59 -0
- package/examples/test/res/models/blocks/jar_normal_1.geo.json +59 -0
- package/examples/test/res/models/blocks/jar_normal_2.geo.json +59 -0
- package/examples/test/res/models/blocks/jar_normal_3.geo.json +59 -0
- package/examples/test/res/models/blocks/wire.geo.json +154 -0
- package/examples/test/res/textures/blocks/animatedglow.png +0 -0
- package/examples/test/res/textures/blocks/arcane_workbench_side.png +0 -0
- package/examples/test/res/textures/blocks/arcane_workbench_top.png +0 -0
- package/examples/test/res/textures/blocks/base_wood_grain.png +0 -0
- package/examples/test/res/textures/blocks/castleBlock_darkBrickBloody_0.png +0 -0
- package/examples/test/res/textures/blocks/castleBlock_darkSlab_0.png +0 -0
- package/examples/test/res/textures/blocks/castleBlock_purpleBrick_0.png +0 -0
- package/examples/test/res/textures/blocks/castleBlock_purpleSlab_0.png +0 -0
- package/examples/test/res/textures/blocks/churchAltar.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_down.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_east.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_north.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_south.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_up.png +0 -0
- package/examples/test/res/textures/blocks/compass_block_west.png +0 -0
- package/examples/test/res/textures/blocks/cursedEarth_0.png +0 -0
- package/examples/test/res/textures/blocks/custom_chestplate.png +0 -0
- package/examples/test/res/textures/blocks/garlicTorchStrong_0.png +0 -0
- package/examples/test/res/textures/blocks/garlicTorchWeak_0.png +0 -0
- package/examples/test/res/textures/blocks/garlic_stage_0.png +0 -0
- package/examples/test/res/textures/blocks/garlic_stage_1.png +0 -0
- package/examples/test/res/textures/blocks/garlic_stage_2.png +0 -0
- package/examples/test/res/textures/blocks/garlic_stage_3.png +0 -0
- package/examples/test/res/textures/blocks/jar_bottom.png +0 -0
- package/examples/test/res/textures/blocks/jar_brine.png +0 -0
- package/examples/test/res/textures/blocks/jar_side.png +0 -0
- package/examples/test/res/textures/blocks/jar_side_void.png +0 -0
- package/examples/test/res/textures/blocks/jar_top.png +0 -0
- package/examples/test/res/textures/blocks/jar_top_void.png +0 -0
- package/examples/test/res/textures/blocks/ore_cinnabar.png +0 -0
- package/examples/test/res/textures/blocks/test_block.png +0 -0
- package/examples/test/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/test/res/textures/blocks/test_log_top.png +0 -0
- package/examples/test/res/textures/blocks/vampireOrchid_0.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_0.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_1.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_2.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_3.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_4.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_5.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_6.png +0 -0
- package/examples/test/res/textures/blocks/wheat_stage_7.png +0 -0
- package/examples/test/res/textures/blocks/wire.png +0 -0
- package/examples/test/res/textures/entity/vampire.png +0 -0
- package/examples/test/res/textures/entity/vampire1.png +0 -0
- package/examples/test/res/textures/entity//345/220/270/350/241/200/347/211/233.png +0 -0
- package/examples/test/res/textures/entity//345/220/270/350/241/200/347/213/227.png +0 -0
- package/examples/test/res/textures/entity//345/220/270/350/241/200/347/214/252.png +0 -0
- package/examples/test/res/textures/items/alumentum.png +0 -0
- package/examples/test/res/textures/items/amber.png +0 -0
- package/examples/test/res/textures/items/amulet_fancy.png +0 -0
- package/examples/test/res/textures/items/amulet_mundane.png +0 -0
- package/examples/test/res/textures/items/amulet_runic.png +0 -0
- package/examples/test/res/textures/items/amulet_runic_emergency.png +0 -0
- package/examples/test/res/textures/items/amulet_vis.png +0 -0
- package/examples/test/res/textures/items/amulet_vis_stone.png +0 -0
- package/examples/test/res/textures/items/banner.png +0 -0
- package/examples/test/res/textures/items/banner_cultist.png +0 -0
- package/examples/test/res/textures/items/banner_stand.png +0 -0
- package/examples/test/res/textures/items/banner_symbol.png +0 -0
- package/examples/test/res/textures/items/bath_salts.png +0 -0
- package/examples/test/res/textures/items/bone_bow.png +0 -0
- package/examples/test/res/textures/items/bone_bow_0.png +0 -0
- package/examples/test/res/textures/items/bone_bow_1.png +0 -0
- package/examples/test/res/textures/items/bone_bow_2.png +0 -0
- package/examples/test/res/textures/items/bottle_taint.png +0 -0
- package/examples/test/res/textures/items/brain.png +0 -0
- package/examples/test/res/textures/items/brass_gear.png +0 -0
- package/examples/test/res/textures/items/brass_plate.png +0 -0
- package/examples/test/res/textures/items/bucket_death.png +0 -0
- package/examples/test/res/textures/items/bucket_pure.png +0 -0
- package/examples/test/res/textures/items/chunk_beef.png +0 -0
- package/examples/test/res/textures/items/chunk_chicken.png +0 -0
- package/examples/test/res/textures/items/chunk_fish.png +0 -0
- package/examples/test/res/textures/items/chunk_mutton.png +0 -0
- package/examples/test/res/textures/items/chunk_pork.png +0 -0
- package/examples/test/res/textures/items/chunk_rabbit.png +0 -0
- package/examples/test/res/textures/items/cloth_boots.png +0 -0
- package/examples/test/res/textures/items/cloth_boots_over.png +0 -0
- package/examples/test/res/textures/items/cloth_chest.png +0 -0
- package/examples/test/res/textures/items/cloth_chest_over.png +0 -0
- package/examples/test/res/textures/items/cloth_legs.png +0 -0
- package/examples/test/res/textures/items/cloth_legs_over.png +0 -0
- package/examples/test/res/textures/items/cluster_cinnabar.png +0 -0
- package/examples/test/res/textures/items/cluster_copper.png +0 -0
- package/examples/test/res/textures/items/cluster_gold.png +0 -0
- package/examples/test/res/textures/items/cluster_iron.png +0 -0
- package/examples/test/res/textures/items/cluster_lead.png +0 -0
- package/examples/test/res/textures/items/cluster_silver.png +0 -0
- package/examples/test/res/textures/items/cluster_tin.png +0 -0
- package/examples/test/res/textures/items/coin.png +0 -0
- package/examples/test/res/textures/items/creative_caster.png +0 -0
- package/examples/test/res/textures/items/creative_node.png +0 -0
- package/examples/test/res/textures/items/creative_obelisk.png +0 -0
- package/examples/test/res/textures/items/crimson_blade.png +0 -0
- package/examples/test/res/textures/items/crimson_boots.png +0 -0
- package/examples/test/res/textures/items/crimson_plate_chest.png +0 -0
- package/examples/test/res/textures/items/crimson_plate_helm.png +0 -0
- package/examples/test/res/textures/items/crimson_plate_legs.png +0 -0
- package/examples/test/res/textures/items/crimson_praetor_chest.png +0 -0
- package/examples/test/res/textures/items/crimson_praetor_helm.png +0 -0
- package/examples/test/res/textures/items/crimson_praetor_legs.png +0 -0
- package/examples/test/res/textures/items/crimson_rites.png +0 -0
- package/examples/test/res/textures/items/crimson_robe_chest.png +0 -0
- package/examples/test/res/textures/items/crimson_robe_helm.png +0 -0
- package/examples/test/res/textures/items/crimson_robe_legs.png +0 -0
- package/examples/test/res/textures/items/crystal_essence.png +0 -0
- package/examples/test/res/textures/items/crystal_planter.png +0 -0
- package/examples/test/res/textures/items/custom_chestplate.png +0 -0
- package/examples/test/res/textures/items/discovery.png +0 -0
- package/examples/test/res/textures/items/discovery_overlay.png +0 -0
- package/examples/test/res/textures/items/eldritch_eye.png +0 -0
- package/examples/test/res/textures/items/elemental_axe.png +0 -0
- package/examples/test/res/textures/items/elemental_hoe.png +0 -0
- package/examples/test/res/textures/items/elemental_pick.png +0 -0
- package/examples/test/res/textures/items/elemental_shovel.png +0 -0
- package/examples/test/res/textures/items/elemental_sword.png +0 -0
- package/examples/test/res/textures/items/fabric.png +0 -0
- package/examples/test/res/textures/items/filter.png +0 -0
- package/examples/test/res/textures/items/flux_sponge.png +0 -0
- package/examples/test/res/textures/items/focus_pouch.png +0 -0
- package/examples/test/res/textures/items/fortress_chest.png +0 -0
- package/examples/test/res/textures/items/fortress_helm.png +0 -0
- package/examples/test/res/textures/items/fortress_legs.png +0 -0
- package/examples/test/res/textures/items/girdle_fancy.png +0 -0
- package/examples/test/res/textures/items/girdle_hover.png +0 -0
- package/examples/test/res/textures/items/girdle_mundane.png +0 -0
- package/examples/test/res/textures/items/girdle_runic.png +0 -0
- package/examples/test/res/textures/items/girdle_runic_kinetic.png +0 -0
- package/examples/test/res/textures/items/goggles_revealing.png +0 -0
- package/examples/test/res/textures/items/golem.png +0 -0
- package/examples/test/res/textures/items/golem_bell.png +0 -0
- package/examples/test/res/textures/items/hand_mirror.png +0 -0
- package/examples/test/res/textures/items/ingot_brass.png +0 -0
- package/examples/test/res/textures/items/ingot_thaumium.png +0 -0
- package/examples/test/res/textures/items/ingot_void.png +0 -0
- package/examples/test/res/textures/items/iron_plate.png +0 -0
- package/examples/test/res/textures/items/jar_brace.png +0 -0
- package/examples/test/res/textures/items/knowledge_fragment.png +0 -0
- package/examples/test/res/textures/items/label.png +0 -0
- package/examples/test/res/textures/items/label_overlay.png +0 -0
- package/examples/test/res/textures/items/loot_bag_common.png +0 -0
- package/examples/test/res/textures/items/loot_bag_rare.png +0 -0
- package/examples/test/res/textures/items/loot_bag_uncommon.png +0 -0
- package/examples/test/res/textures/items/masterball.png +0 -0
- package/examples/test/res/textures/items/mind_biothaumic.png +0 -0
- package/examples/test/res/textures/items/mind_clockwork.png +0 -0
- package/examples/test/res/textures/items/mirrored_glass.png +0 -0
- package/examples/test/res/textures/items/module_aggression.png +0 -0
- package/examples/test/res/textures/items/module_vision.png +0 -0
- package/examples/test/res/textures/items/morphic_resonator.png +0 -0
- package/examples/test/res/textures/items/nugget_brass.png +0 -0
- package/examples/test/res/textures/items/nugget_copper.png +0 -0
- package/examples/test/res/textures/items/nugget_iron.png +0 -0
- package/examples/test/res/textures/items/nugget_lead.png +0 -0
- package/examples/test/res/textures/items/nugget_quicksilver.png +0 -0
- package/examples/test/res/textures/items/nugget_silver.png +0 -0
- package/examples/test/res/textures/items/nugget_thaumium.png +0 -0
- package/examples/test/res/textures/items/nugget_tin.png +0 -0
- package/examples/test/res/textures/items/nugget_void.png +0 -0
- package/examples/test/res/textures/items/phial.png +0 -0
- package/examples/test/res/textures/items/phial_overlay.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_air.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_earth.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_entropy.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_fire.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_order.png +0 -0
- package/examples/test/res/textures/items/primal_arrow_water.png +0 -0
- package/examples/test/res/textures/items/primal_charm.png +0 -0
- package/examples/test/res/textures/items/primal_crusher.png +0 -0
- package/examples/test/res/textures/items/primordial_pearl.png +0 -0
- package/examples/test/res/textures/items/quicksilver.png +0 -0
- package/examples/test/res/textures/items/researchnotes.png +0 -0
- package/examples/test/res/textures/items/researchnotes_overlay.png +0 -0
- package/examples/test/res/textures/items/resonator.png +0 -0
- package/examples/test/res/textures/items/ring_apprentice.png +0 -0
- package/examples/test/res/textures/items/ring_fancy.png +0 -0
- package/examples/test/res/textures/items/ring_mundane.png +0 -0
- package/examples/test/res/textures/items/ring_protection.png +0 -0
- package/examples/test/res/textures/items/ring_runic.png +0 -0
- package/examples/test/res/textures/items/ring_runic_charge.png +0 -0
- package/examples/test/res/textures/items/ring_runic_regen.png +0 -0
- package/examples/test/res/textures/items/ring_verdant.png +0 -0
- package/examples/test/res/textures/items/runed_tablet.png +0 -0
- package/examples/test/res/textures/items/salis_mundus.png +0 -0
- package/examples/test/res/textures/items/sanity_checker.png +0 -0
- package/examples/test/res/textures/items/sanity_soap.png +0 -0
- package/examples/test/res/textures/items/scribing_tools.png +0 -0
- package/examples/test/res/textures/items/seals/seal_blank.png +0 -0
- package/examples/test/res/textures/items/seals/seal_breaker.png +0 -0
- package/examples/test/res/textures/items/seals/seal_breaker.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_butcher.png +0 -0
- package/examples/test/res/textures/items/seals/seal_butcher.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_empty.png +0 -0
- package/examples/test/res/textures/items/seals/seal_empty.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_empty_advanced.png +0 -0
- package/examples/test/res/textures/items/seals/seal_empty_advanced.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_fill.png +0 -0
- package/examples/test/res/textures/items/seals/seal_fill.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_fill_advanced.png +0 -0
- package/examples/test/res/textures/items/seals/seal_fill_advanced.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_guard.png +0 -0
- package/examples/test/res/textures/items/seals/seal_guard.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_guard_advanced.png +0 -0
- package/examples/test/res/textures/items/seals/seal_guard_advanced.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_harvest.png +0 -0
- package/examples/test/res/textures/items/seals/seal_harvest.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_lumber.png +0 -0
- package/examples/test/res/textures/items/seals/seal_lumber.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_pickup.png +0 -0
- package/examples/test/res/textures/items/seals/seal_pickup.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_pickup_advanced.png +0 -0
- package/examples/test/res/textures/items/seals/seal_pickup_advanced.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_provider.png +0 -0
- package/examples/test/res/textures/items/seals/seal_provider.png.mcmeta +6 -0
- package/examples/test/res/textures/items/seals/seal_use.png +0 -0
- package/examples/test/res/textures/items/seals/seal_use.png.mcmeta +6 -0
- package/examples/test/res/textures/items/shard.png +0 -0
- package/examples/test/res/textures/items/shard_balanced.png +0 -0
- package/examples/test/res/textures/items/sinister_stone.png +0 -0
- package/examples/test/res/textures/items/sinister_stone_active.png +0 -0
- package/examples/test/res/textures/items/taint_slime.png +0 -0
- package/examples/test/res/textures/items/taint_tendril.png +0 -0
- package/examples/test/res/textures/items/tallow.png +0 -0
- package/examples/test/res/textures/items/thaumium_axe.png +0 -0
- package/examples/test/res/textures/items/thaumium_boots.png +0 -0
- package/examples/test/res/textures/items/thaumium_chest.png +0 -0
- package/examples/test/res/textures/items/thaumium_gear.png +0 -0
- package/examples/test/res/textures/items/thaumium_helm.png +0 -0
- package/examples/test/res/textures/items/thaumium_hoe.png +0 -0
- package/examples/test/res/textures/items/thaumium_legs.png +0 -0
- package/examples/test/res/textures/items/thaumium_pick.png +0 -0
- package/examples/test/res/textures/items/thaumium_plate.png +0 -0
- package/examples/test/res/textures/items/thaumium_shovel.png +0 -0
- package/examples/test/res/textures/items/thaumium_sword.png +0 -0
- package/examples/test/res/textures/items/thaumometer.png +0 -0
- package/examples/test/res/textures/items/thaumonomicon.png +0 -0
- package/examples/test/res/textures/items/thaumonomicon_cheat.png +0 -0
- package/examples/test/res/textures/items/thaumostatic_harness.png +0 -0
- package/examples/test/res/textures/items/traveller_boots.png +0 -0
- package/examples/test/res/textures/items/tripletreat.png +0 -0
- package/examples/test/res/textures/items/tube_buffer.png +0 -0
- package/examples/test/res/textures/items/tube_filter.png +0 -0
- package/examples/test/res/textures/items/tube_normal.png +0 -0
- package/examples/test/res/textures/items/tube_oneway.png +0 -0
- package/examples/test/res/textures/items/tube_restrict.png +0 -0
- package/examples/test/res/textures/items/tube_valve.png +0 -0
- package/examples/test/res/textures/items/turret_advanced.png +0 -0
- package/examples/test/res/textures/items/turret_basic.png +0 -0
- package/examples/test/res/textures/items/turret_focus.png +0 -0
- package/examples/test/res/textures/items/turret_magnet.png +0 -0
- package/examples/test/res/textures/items/void_axe.png +0 -0
- package/examples/test/res/textures/items/void_boots.png +0 -0
- package/examples/test/res/textures/items/void_chest.png +0 -0
- package/examples/test/res/textures/items/void_gear.png +0 -0
- package/examples/test/res/textures/items/void_helm.png +0 -0
- package/examples/test/res/textures/items/void_hoe.png +0 -0
- package/examples/test/res/textures/items/void_legs.png +0 -0
- package/examples/test/res/textures/items/void_pick.png +0 -0
- package/examples/test/res/textures/items/void_plate.png +0 -0
- package/examples/test/res/textures/items/void_robe_chest.png +0 -0
- package/examples/test/res/textures/items/void_robe_chest_over.png +0 -0
- package/examples/test/res/textures/items/void_robe_helm.png +0 -0
- package/examples/test/res/textures/items/void_robe_legs.png +0 -0
- package/examples/test/res/textures/items/void_robe_legs_over.png +0 -0
- package/examples/test/res/textures/items/void_seed.png +0 -0
- package/examples/test/res/textures/items/void_shovel.png +0 -0
- package/examples/test/res/textures/items/void_sword.png +0 -0
- package/examples/test/res/textures/items/wand/cap_brass.png +0 -0
- package/examples/test/res/textures/items/wand/cap_brass_mat.png +0 -0
- package/examples/test/res/textures/items/wand/cap_gold.png +0 -0
- package/examples/test/res/textures/items/wand/cap_gold_mat.png +0 -0
- package/examples/test/res/textures/items/wand/cap_iron.png +0 -0
- package/examples/test/res/textures/items/wand/cap_iron_mat.png +0 -0
- package/examples/test/res/textures/items/wand/cap_thaumium.png +0 -0
- package/examples/test/res/textures/items/wand/cap_thaumium.png.mcmeta +11 -0
- package/examples/test/res/textures/items/wand/cap_thaumium_inert.png +0 -0
- package/examples/test/res/textures/items/wand/cap_thaumium_mat.png +0 -0
- package/examples/test/res/textures/items/wand/cap_void.png +0 -0
- package/examples/test/res/textures/items/wand/cap_void.png.mcmeta +11 -0
- package/examples/test/res/textures/items/wand/cap_void_inert.png +0 -0
- package/examples/test/res/textures/items/wand/cap_void_mat.png +0 -0
- package/examples/test/res/textures/items/wand/focus.png +0 -0
- package/examples/test/res/textures/items/wand/focus_builder.png +0 -0
- package/examples/test/res/textures/items/wand/focus_excavation.png +0 -0
- package/examples/test/res/textures/items/wand/focus_fire.png +0 -0
- package/examples/test/res/textures/items/wand/focus_frost.png +0 -0
- package/examples/test/res/textures/items/wand/focus_grapple.png +0 -0
- package/examples/test/res/textures/items/wand/focus_hellbat.png +0 -0
- package/examples/test/res/textures/items/wand/focus_hellbat_orn.png +0 -0
- package/examples/test/res/textures/items/wand/focus_pech.png +0 -0
- package/examples/test/res/textures/items/wand/focus_pech.png.mcmeta +3 -0
- package/examples/test/res/textures/items/wand/focus_portablehole.png +0 -0
- package/examples/test/res/textures/items/wand/focus_portablehole.png.mcmeta +3 -0
- package/examples/test/res/textures/items/wand/focus_primal.png +0 -0
- package/examples/test/res/textures/items/wand/focus_primal.png.mcmeta +3 -0
- package/examples/test/res/textures/items/wand/focus_shard.png +0 -0
- package/examples/test/res/textures/items/wand/focus_shard.png.mcmeta +3 -0
- package/examples/test/res/textures/items/wand/focus_shock.png +0 -0
- package/examples/test/res/textures/items/wand/focus_trade.png +0 -0
- package/examples/test/res/textures/items/wand/focus_warding.png +0 -0
- package/examples/test/res/textures/items/wand/focus_warding.png.mcmeta +3 -0
- package/examples/test/res/textures/items/wand/rod_blaze.png +0 -0
- package/examples/test/res/textures/items/wand/rod_blaze_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_blaze_mat.png.mcmeta +45 -0
- package/examples/test/res/textures/items/wand/rod_bone.png +0 -0
- package/examples/test/res/textures/items/wand/rod_bone_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_greatwood.png +0 -0
- package/examples/test/res/textures/items/wand/rod_greatwood_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_ice.png +0 -0
- package/examples/test/res/textures/items/wand/rod_ice_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_obsidian.png +0 -0
- package/examples/test/res/textures/items/wand/rod_obsidian_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_primal_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_primal_mat.png.mcmeta +45 -0
- package/examples/test/res/textures/items/wand/rod_quartz.png +0 -0
- package/examples/test/res/textures/items/wand/rod_quartz_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_reed.png +0 -0
- package/examples/test/res/textures/items/wand/rod_reed_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_silverwood.png +0 -0
- package/examples/test/res/textures/items/wand/rod_silverwood_mat.png +0 -0
- package/examples/test/res/textures/items/wand/rod_wood_mat.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_blaze.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_bone.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_greatwood.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_ice.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_obsidian.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_primal.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_quartz.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_reed.png +0 -0
- package/examples/test/res/textures/items/wand/staff_rod_silverwood.png +0 -0
- package/examples/test/res/textures/items/wispy_essence.png +0 -0
- package/examples/test/res/textures/models/armor/custom_legs.png +0 -0
- package/examples/test/res/textures/models/armor/custom_main.png +0 -0
- package/examples/test/res/textures/models/armor/vampireArmor_1.png +0 -0
- package/examples/test/res/textures/models/armor/vampireArmor_2.png +0 -0
- package/examples/test/scripts/custom_components/cropComponent.js +59 -0
- package/examples/test/scripts/index.js +101 -0
- package/log.md +75 -0
- package/package.json +31 -0
- package/src/cli/build.config +4 -0
- package/src/cli/build.js +211 -0
- package/src/cli/index.js +150 -0
- package/src/cli/init.js +69 -0
- package/src/cli/load.js +113 -0
- package/src/cli/tools/textureSet.js +115 -0
- package/src/cli/utils.js +82 -0
- package/src/core/addon/biome.js +29 -0
- package/src/core/addon/block/Block.js +49 -0
- package/src/core/addon/entity/client_entity.js +154 -0
- package/src/core/addon/entity/entity.js +52 -0
- package/src/core/addon/feature/ore_feature.js +26 -0
- package/src/core/addon/feature_rule.js +29 -0
- package/src/core/addon/item/attachable.js +138 -0
- package/src/core/addon/item/item.js +29 -0
- package/src/core/addon/manifest.js +71 -0
- package/src/core/addon/menu_category.js +7 -0
- package/src/core/addon/recipe/data.js +76 -0
- package/src/core/addon/recipe/recipe.js +27 -0
- package/src/core/addon/recipe/recipeFurnace.js +38 -0
- package/src/core/addon/recipe/recipeShaped.js +56 -0
- package/src/core/addon/recipe/recipeShapeless.js +35 -0
- package/src/core/biome/Biome.js +30 -0
- package/src/core/biome/biomeComponent.js +89 -0
- package/src/core/block/BasicBlock.js +127 -0
- package/src/core/block/GeometryBlock.js +14 -0
- package/src/core/block/OreBlock.js +29 -0
- package/src/core/block/RotatableBlock.js +161 -0
- package/src/core/block/block.js +107 -0
- package/src/core/block/blockComponent.js +558 -0
- package/src/core/block/cropBlock.js +42 -0
- package/src/core/entity/BasicEntity.js +167 -0
- package/src/core/entity/ClientEntity.js +41 -0
- package/src/core/entity/Entity.js +19 -0
- package/src/core/entity/NativeEntity.js +30 -0
- package/src/core/entity/Projectile.js +8 -0
- package/src/core/entity/behavior/follow_mod.js +43 -0
- package/src/core/entity/behavior/follow_parent.js +15 -0
- package/src/core/entity/behavior/random_stroll.js +69 -0
- package/src/core/entity/behavior/tempt.js +145 -0
- package/src/core/entity/componets/EntityComponet.js +485 -0
- package/src/core/entity/data/NativeEntityData.js +46 -0
- package/src/core/entity/data/data_bp.json +1 -0
- package/src/core/entity/data/data_rp.json +1 -0
- package/src/core/entity/navigation/walk.js +58 -0
- package/src/core/factory/BiomeFactory.js +15 -0
- package/src/core/factory/BlockFactory.js +159 -0
- package/src/core/factory/EntityFactory.js +83 -0
- package/src/core/factory/FeatureFactory.js +26 -0
- package/src/core/factory/ItemFactory.js +96 -0
- package/src/core/factory/RecipeFactory.js +47 -0
- package/src/core/factory/UIFactory.js +37 -0
- package/src/core/feature/OreFeature.js +19 -0
- package/src/core/feature_rule/FeatureRule.js +37 -0
- package/src/core/feature_rule/condition/BiomeFilter.js +39 -0
- package/src/core/feature_rule/condition/FeatureConditions.js +41 -0
- package/src/core/feature_rule/distribution/CoordinateDistribution.js +24 -0
- package/src/core/feature_rule/distribution/FeatureDistribution.js +45 -0
- package/src/core/index.js +1 -0
- package/src/core/item/Item.js +97 -0
- package/src/core/item/ItemComponents.js +236 -0
- package/src/core/item/armor.js +89 -0
- package/src/core/item/attachable.js +34 -0
- package/src/core/item/food.js +62 -0
- package/src/core/registry.js +17 -0
- package/src/core/texture.js +41 -0
- package/src/core/ui/ButtonMapping.js +144 -0
- package/src/core/ui/DataBindingObject.js +146 -0
- package/src/core/ui/Properties/Control.js +308 -0
- package/src/core/ui/Properties/DataBinding.js +14 -0
- package/src/core/ui/Properties/Factory.js +63 -0
- package/src/core/ui/Properties/Grid.js +98 -0
- package/src/core/ui/Properties/Input.js +146 -0
- package/src/core/ui/Properties/Layout.js +158 -0
- package/src/core/ui/Properties/ScrollView.js +158 -0
- package/src/core/ui/Properties/Sprite.js +242 -0
- package/src/core/ui/Properties/Text.js +204 -0
- package/src/core/ui/elements/Image.js +62 -0
- package/src/core/ui/elements/Label.js +62 -0
- package/src/core/ui/elements/Panel.js +50 -0
- package/src/core/ui/elements/UIElement.js +107 -0
- package/src/core/ui/registry/ServerUISystem.js +19 -0
- package/src/core/ui/systems/UISystem.js +42 -0
- package/src/core/ui/systems/server_form.js +100 -0
- package/src/templates/test_sapdon/build.config +29 -0
- package/src/templates/test_sapdon/main.mjs +0 -0
- package/src/templates/test_sapdon/mod.info +7 -0
- package/src/templates/test_sapdon/pack_icon.png +0 -0
- package/src/templates/test_sapdon/res/models/blocks/crop.geo.json +48 -0
- package/src/templates/test_sapdon/res/textures/blocks/test_log_oak.png +0 -0
- package/src/templates/test_sapdon/res/textures/blocks/test_log_top.png +0 -0
- package/src/templates/test_sapdon/res/textures/items/masterball.png +0 -0
- package/src/templates/test_sapdon/scripts/index.js +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EquipmentSlot, GameMode, world } from "@minecraft/server";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @param {number} min The minimum integer
|
|
5
|
+
* @param {number} max The maximum integer
|
|
6
|
+
* @returns {number} A random integer between the `min` and `max` parameters (inclusive)
|
|
7
|
+
*/
|
|
8
|
+
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
|
|
9
|
+
|
|
10
|
+
const maxGrowth = 3;
|
|
11
|
+
|
|
12
|
+
/** @type {import("@minecraft/server").BlockCustomComponent} */
|
|
13
|
+
const CustomCropGrowthBlockComponent = {
|
|
14
|
+
onRandomTick({ block }) {
|
|
15
|
+
const growthChance = 1 / 3;
|
|
16
|
+
if (Math.random() > growthChance) return;
|
|
17
|
+
|
|
18
|
+
const growth = block.permutation.getState("sapdon:block_variant_tag");
|
|
19
|
+
block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", growth + 1));
|
|
20
|
+
},
|
|
21
|
+
onPlayerInteract({ block, dimension, player }) {
|
|
22
|
+
if (!player) return;
|
|
23
|
+
|
|
24
|
+
const equippable = player.getComponent("minecraft:equippable");
|
|
25
|
+
if (!equippable) return;
|
|
26
|
+
|
|
27
|
+
const mainhand = equippable.getEquipmentSlot(EquipmentSlot.Mainhand);
|
|
28
|
+
if (!mainhand.hasItem() || mainhand.typeId !== "minecraft:bone_meal") return;
|
|
29
|
+
|
|
30
|
+
if (player.getGameMode() === GameMode.creative) {
|
|
31
|
+
// Grow crop fully
|
|
32
|
+
block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", maxGrowth));
|
|
33
|
+
} else {
|
|
34
|
+
let growth = block.permutation.getState("sapdon:block_variant_tag");
|
|
35
|
+
|
|
36
|
+
// Add random amount of growth
|
|
37
|
+
growth += randomInt(1, maxGrowth - growth);
|
|
38
|
+
block.setPermutation(block.permutation.withState("sapdon:block_variant_tag", growth));
|
|
39
|
+
|
|
40
|
+
// Decrement stack
|
|
41
|
+
if (mainhand.amount > 1) mainhand.amount--;
|
|
42
|
+
else mainhand.setItem(undefined);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Play effects
|
|
46
|
+
const effectLocation = block.center();
|
|
47
|
+
dimension.playSound("item.bone_meal.use", effectLocation);
|
|
48
|
+
dimension.spawnParticle("minecraft:crop_growth_emitter", effectLocation);
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const CustomComponentRegister = () =>{
|
|
53
|
+
world.beforeEvents.worldInitialize.subscribe(({ blockComponentRegistry }) => {
|
|
54
|
+
blockComponentRegistry.registerCustomComponent(
|
|
55
|
+
"sapdon:crop_growth",
|
|
56
|
+
CustomCropGrowthBlockComponent
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {Direction, world } from "@minecraft/server"
|
|
2
|
+
import { CustomComponentRegister } from "./custom_components/cropComponent";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
CustomComponentRegister();
|
|
6
|
+
|
|
7
|
+
const wireBlock = [];
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
world.afterEvents.itemUseOn.subscribe((event) => {
|
|
11
|
+
const block = event.block;
|
|
12
|
+
const blockId = event.block.typeId;
|
|
13
|
+
const blockFace = event.blockFace;
|
|
14
|
+
if(blockId == "sapdon:wire"){
|
|
15
|
+
world.sendMessage("if wire");
|
|
16
|
+
switch(blockFace){
|
|
17
|
+
case Direction.North:
|
|
18
|
+
world.sendMessage("north");
|
|
19
|
+
//设置方块状态
|
|
20
|
+
block.setPermutation(
|
|
21
|
+
block.permutation.withState("wire:north",1)
|
|
22
|
+
)
|
|
23
|
+
const north_block = block.north();
|
|
24
|
+
if(north_block.typeId == "sapdon:wire"){
|
|
25
|
+
world.sendMessage("north is wire");
|
|
26
|
+
north_block.setPermutation(
|
|
27
|
+
north_block.permutation.withState("wire:south",1)
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
break;
|
|
31
|
+
case Direction.South:
|
|
32
|
+
world.sendMessage("south");
|
|
33
|
+
block.setPermutation(
|
|
34
|
+
block.permutation.withState("wire:south",1)
|
|
35
|
+
)
|
|
36
|
+
const south_block = block.south();
|
|
37
|
+
if(south_block.typeId == "sapdon:wire"){
|
|
38
|
+
world.sendMessage("south is wire");
|
|
39
|
+
south_block.setPermutation(
|
|
40
|
+
south_block.permutation.withState("wire:north",1)
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case Direction.East:
|
|
45
|
+
world.sendMessage("east");
|
|
46
|
+
block.setPermutation(
|
|
47
|
+
block.permutation.withState("wire:east",1)
|
|
48
|
+
)
|
|
49
|
+
const east_block = block.east();
|
|
50
|
+
if(east_block.typeId == "sapdon:wire"){
|
|
51
|
+
world.sendMessage("east is wire");
|
|
52
|
+
east_block.setPermutation(
|
|
53
|
+
east_block.permutation.withState("wire:west",1)
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
case Direction.West:
|
|
58
|
+
world.sendMessage("west");
|
|
59
|
+
block.setPermutation(
|
|
60
|
+
block.permutation.withState("wire:west",1)
|
|
61
|
+
)
|
|
62
|
+
const west_block = block.west();
|
|
63
|
+
if(west_block.typeId == "sapdon:wire"){
|
|
64
|
+
world.sendMessage("west is wire");
|
|
65
|
+
west_block.setPermutation(
|
|
66
|
+
west_block.permutation.withState("wire:east",1)
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
case Direction.Up:
|
|
71
|
+
world.sendMessage("up");
|
|
72
|
+
block.setPermutation(
|
|
73
|
+
block.permutation.withState("wire:top",1)
|
|
74
|
+
)
|
|
75
|
+
const up_block = block.above();
|
|
76
|
+
if(up_block.typeId == "sapdon:wire"){
|
|
77
|
+
world.sendMessage("up is wire");
|
|
78
|
+
up_block.setPermutation(
|
|
79
|
+
up_block.permutation.withState("wire:bottom",1)
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case Direction.Down:
|
|
84
|
+
world.sendMessage("down");
|
|
85
|
+
block.setPermutation(
|
|
86
|
+
block.permutation.withState("wire:bottom",1)
|
|
87
|
+
)
|
|
88
|
+
const down_block = block.below();
|
|
89
|
+
if(down_block.typeId == "sapdon:wire"){
|
|
90
|
+
world.sendMessage("down is wire");
|
|
91
|
+
down_block.setPermutation(
|
|
92
|
+
down_block.permutation.withState("wire:top",1)
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
world.sendMessage("blockId:"+event.block.typeId);
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
|
package/log.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
### sapdon 日志
|
|
2
|
+
1.修改了项目结构,将源码放入src/文件夹下,并添加示例文件夹examples/ [2024,1,15,15,27]
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### sapdon cli 脚手架工具日志
|
|
7
|
+
时间 内容 版本[大版本,更新,修复]
|
|
8
|
+
|
|
9
|
+
大版本 1
|
|
10
|
+
|
|
11
|
+
更新
|
|
12
|
+
1.添加物品,方块纹理支持,不用手写item_texture.json与terrain_texture.json [2025,1,15,21,17]
|
|
13
|
+
2.添加了对物品类方块类的生成支持 [2024,1,16,0,16]
|
|
14
|
+
3.生成文件名加入命名空间作为前缀 [2024,1,17,20,42]
|
|
15
|
+
4.添加了对可附着物类的生成支持 [2024,1,18,22,14]
|
|
16
|
+
5.修改了load.js里生成的逻辑,取消分别生成而采用统一注册生成 [2024,1,23,13,38]
|
|
17
|
+
6.将输出游戏的路径加入值cli文件夹下build.config文件下方便用户根据自己的喜欢设置 [2025,1,25,18,01]
|
|
18
|
+
7.添加了模组build.config的buildMode选项,当模式为debug时,cli将不会再对main.mjs进行读取,构建,而是直接将dev文件夹输出到游戏目录 [2025,2,7,10,55]
|
|
19
|
+
|
|
20
|
+
修复
|
|
21
|
+
1.修复构建后导入mc时,addon包无法被识别情况 [2025,1,15,17,34]
|
|
22
|
+
2.修复物品显示bug [2024,1,16,11,49]
|
|
23
|
+
3.修改了输出文件夹的文件夹关系错乱问题 [2025,1,25,17,35]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### sapdon core 核心库日志
|
|
29
|
+
|
|
30
|
+
大版本 1
|
|
31
|
+
|
|
32
|
+
更新
|
|
33
|
+
1.添加了基础物品的封装 [2024,1,16,0,16]
|
|
34
|
+
2.添加了一些基础物品组件 [2024,1,16,11,49]
|
|
35
|
+
3.添加了BasicBlock类以对基础方块进行封装 [2024,1,16,12,44]
|
|
36
|
+
4.添加了常用的物品组件方法 [2024,1,16,20,8]
|
|
37
|
+
5.添加了方块的全部组件方法 [2024,1,16,18,0]
|
|
38
|
+
6.添加了基础食物的封装类 [2024,1,17,16,42]
|
|
39
|
+
7.添加了Block类封装创建一般方块的方法 [2024,1,17,20,10]
|
|
40
|
+
8.添加了AddonClientEntityDescription类及其AddonAttachableDescription类 [2024,1,17,21,14]
|
|
41
|
+
9.添加了Attachable类封装创建一般可附着物的方法 [2024,1,18,22,14]
|
|
42
|
+
10.添加了实体接口支持 [2024,1,21,15,27]
|
|
43
|
+
11.添加了实体基类BasicEntity封装 [2024,1,21,22,45]
|
|
44
|
+
12.添加了实体部分常用组件及其行为组件 [2024,1,21,22,45]
|
|
45
|
+
13.添加了熔炉配方和工作台配方组件 [2024,1,22,1,0]
|
|
46
|
+
14.添加了GRegister类用于告知脚手架工具如何生成文件 [2024,1,23,13,40]
|
|
47
|
+
15.添加了可抛掷物类 [2024,1,23,19,13]
|
|
48
|
+
16.添加了原版实体继承类,方便直接继承原版的需要 [2025,1,25,17,49]
|
|
49
|
+
17.添加了可旋转方块类 [2025,1,26,23,53]
|
|
50
|
+
18.添加了带模型的方块类 [2025,2,1,0,20]
|
|
51
|
+
19.添加了矿石特征类 [2025,2,5,15,41]
|
|
52
|
+
20.添加了特征规则类 [2025,2,5,15,41]
|
|
53
|
+
21.添加了矿石类 [2025,2,5,19,41]
|
|
54
|
+
22.添加了个管理纹理的类,以支持自定义纹理 [2025,2,9,18,55]
|
|
55
|
+
|
|
56
|
+
修复
|
|
57
|
+
1.重写AddonClientEntityDescription类及其AddonAttachableDescription类以更方便地使用 [2024,1,18,22,14]
|
|
58
|
+
2.修改ClientEntity类以更方便使用 [2024,1,21,22,45]
|
|
59
|
+
3.修复GRegister的一些bug
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
大版本 2
|
|
63
|
+
对JsonUI进行了大幅度支持
|
|
64
|
+
|
|
65
|
+
更新
|
|
66
|
+
1.添加了UISystem类用于管理ui文件
|
|
67
|
+
2.添加了UIElenment类用于创建基础UI元素
|
|
68
|
+
3.添加了Control,DataBinding,Factory,Input,Layout,Sprite属性库
|
|
69
|
+
4.添加了Panel类,用以创建面板元素
|
|
70
|
+
5.添加了Image类,用以创建图片元素
|
|
71
|
+
6.添加了ServerFormSystem类,为脚本调用UI做准备
|
|
72
|
+
7.添加了SerVerUISystem类,用以提供自定义UI注册 [2025,2,15,16,40]
|
|
73
|
+
|
|
74
|
+
修复
|
|
75
|
+
1.修复了自定义UI注册系统显示bug [2025,2,16,22,08]
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sapdon",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"main": "src/core/index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"sapdon": "node src/cli/index.js",
|
|
7
|
+
"create": "node src/cli/index.js create",
|
|
8
|
+
"build": "node src/cli/index.js build"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"bedrock",
|
|
12
|
+
"tools",
|
|
13
|
+
"addon"
|
|
14
|
+
],
|
|
15
|
+
"author": "Meteage",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"type": "module",
|
|
18
|
+
"bin": {
|
|
19
|
+
"sapdon": "src/cli/index.js"
|
|
20
|
+
},
|
|
21
|
+
"description": "The Sapdon is a Node.js toolkit designed for building Bedrock Edition Minecraft addon packs.",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"commander": "^13.0.0",
|
|
24
|
+
"download-git-repo": "^3.0.2",
|
|
25
|
+
"inquirer": "^12.3.1",
|
|
26
|
+
"ora": "^8.1.1"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@minecraft/server": "^1.18.0-beta.1.21.60-preview.28"
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/cli/build.js
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { checkPath, readFile, generateUUID ,saveFile,copyFileSync, copyFolder} from "./utils.js"
|
|
3
|
+
import { loadAndExecuteMod } from './load.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
AddonManifestHeader,
|
|
7
|
+
AddonManifestModule,
|
|
8
|
+
AddonManifest,
|
|
9
|
+
AddonManifestMetadata
|
|
10
|
+
} from '../core/addon/manifest.js';
|
|
11
|
+
|
|
12
|
+
import { fileURLToPath } from 'url';
|
|
13
|
+
|
|
14
|
+
// 获取当前文件的目录路径
|
|
15
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
+
const __dirname = path.dirname(__filename);
|
|
17
|
+
|
|
18
|
+
//读取配置文件
|
|
19
|
+
const pathConfig = JSON.parse(readFile(path.join(__dirname,"./build.config")));
|
|
20
|
+
|
|
21
|
+
//构建项目
|
|
22
|
+
export const buildProject = (projectPath,projectName) => {
|
|
23
|
+
console.log("开始构建项目");
|
|
24
|
+
console.log("项目路径:" + projectPath);
|
|
25
|
+
//检查项目是否存在
|
|
26
|
+
if(checkPath(projectPath)) {
|
|
27
|
+
console.log("项目不存在");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
//检查项目是否有build.config文件
|
|
31
|
+
if(checkPath(path.join(projectPath,"build.config"))) {
|
|
32
|
+
console.log("项目没有build.config文件");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//读取build.config文件
|
|
37
|
+
const buildConfigPath = path.join(projectPath,"build.config");
|
|
38
|
+
const buildConfig = JSON.parse(readFile(buildConfigPath));
|
|
39
|
+
//console.log(buildConfig);
|
|
40
|
+
|
|
41
|
+
//读取mod.info文件
|
|
42
|
+
const modInfoPath = path.join(projectPath,"mod.info");
|
|
43
|
+
const modInfo = JSON.parse(readFile(modInfoPath));
|
|
44
|
+
const min_engine_version = versionStringToArray(modInfo.min_engine_version);
|
|
45
|
+
|
|
46
|
+
const buildDirPath = path.join(projectPath,buildConfig.defaultConfig.buildDir);
|
|
47
|
+
|
|
48
|
+
const buildBehDirPath = path.join(buildDirPath,`${projectName}_BP/`);
|
|
49
|
+
const buildResDirPath = path.join(buildDirPath,`${projectName}_RP/`);
|
|
50
|
+
//生成manifest.json文件
|
|
51
|
+
//判断manifest.json是否已经生成过了,生成过了就不用生成
|
|
52
|
+
const manifestPath = path.join(buildBehDirPath,"manifest.json");
|
|
53
|
+
if(checkPath(manifestPath)){
|
|
54
|
+
const behManifest = generateBehManifest(
|
|
55
|
+
modInfo.name,
|
|
56
|
+
modInfo.description,
|
|
57
|
+
modInfo.version,
|
|
58
|
+
{
|
|
59
|
+
min_engine_version:min_engine_version,
|
|
60
|
+
},
|
|
61
|
+
buildConfig.defaultConfig.dependencies,
|
|
62
|
+
buildConfig.defaultConfig.scriptEntry
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
const resManifest = generateResManifest(
|
|
66
|
+
modInfo.name,
|
|
67
|
+
modInfo.description,
|
|
68
|
+
modInfo.version,
|
|
69
|
+
{
|
|
70
|
+
min_engine_version:min_engine_version,
|
|
71
|
+
},
|
|
72
|
+
[]
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
//BP
|
|
76
|
+
saveFile(path.join(buildBehDirPath,"manifest.json"),behManifest);
|
|
77
|
+
//RP
|
|
78
|
+
saveFile(path.join(buildResDirPath,"manifest.json"),resManifest);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
//复制pack_icon.png
|
|
82
|
+
const packIconPath = path.join(projectPath,"pack_icon.png");
|
|
83
|
+
|
|
84
|
+
copyFileSync(packIconPath,path.join(buildBehDirPath,"pack_icon.png"));
|
|
85
|
+
copyFileSync(packIconPath,path.join(buildResDirPath,"pack_icon.png"));
|
|
86
|
+
|
|
87
|
+
//复制文件夹
|
|
88
|
+
const resources = buildConfig.resources;
|
|
89
|
+
resources.forEach(element => {
|
|
90
|
+
const sourcePath = path.join(projectPath,element.path);
|
|
91
|
+
copyFolder(sourcePath,buildResDirPath);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
//复制scripts文件夹
|
|
95
|
+
const scripts = buildConfig.scripts;
|
|
96
|
+
const scriptPath = path.join(buildBehDirPath,"scripts/");
|
|
97
|
+
scripts.forEach(element => {
|
|
98
|
+
const sourcePath = path.join(projectPath,element.path);
|
|
99
|
+
copyFolder(sourcePath,scriptPath);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
//只有当buildMode为development时才加载用户modjs文件
|
|
105
|
+
if(buildConfig.defaultConfig.buildMode === "development"){
|
|
106
|
+
//动态加载用户modjs文件
|
|
107
|
+
loadAndExecuteMod(path.join(projectPath,buildConfig.defaultConfig.buildEntry),buildDirPath,projectName);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
//延迟1s
|
|
111
|
+
setTimeout(()=>{
|
|
112
|
+
//将编译好的文件夹拷贝至mc
|
|
113
|
+
//console.log(path.join(pathConfig.mojangPath,`development_behavior_packs/${projectName}_BP/`));
|
|
114
|
+
copyFolder(buildBehDirPath,path.join(pathConfig.mojangPath,"development_behavior_packs/",`${projectName}_BP/`));
|
|
115
|
+
copyFolder(buildResDirPath,path.join(pathConfig.mojangPath,"development_resource_packs/",`${projectName}_RP/`));
|
|
116
|
+
},1000);
|
|
117
|
+
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function versionStringToArray(versionString) {
|
|
121
|
+
// 使用 split 方法将字符串按 '.' 分割成数组
|
|
122
|
+
const parts = versionString.split('.');
|
|
123
|
+
|
|
124
|
+
// 使用 map 方法将每个部分转换为数字
|
|
125
|
+
const versionArray = parts.map(part => Number(part));
|
|
126
|
+
|
|
127
|
+
return versionArray;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const generateBehManifest = (name, description, version, options = {},dependencies = [],entry) => {
|
|
131
|
+
console.log("开始生成behavior_packs/manifest.json")
|
|
132
|
+
console.log("Entry:",entry)
|
|
133
|
+
const header = new AddonManifestHeader(
|
|
134
|
+
(name+"_BP"),
|
|
135
|
+
description,
|
|
136
|
+
versionStringToArray(version),
|
|
137
|
+
generateUUID(),
|
|
138
|
+
options
|
|
139
|
+
);
|
|
140
|
+
const module = new AddonManifestModule(
|
|
141
|
+
"行为模块",
|
|
142
|
+
"data",
|
|
143
|
+
generateUUID(),
|
|
144
|
+
versionStringToArray(version)
|
|
145
|
+
);
|
|
146
|
+
const script_module = new AddonManifestModule(
|
|
147
|
+
"脚本模块",
|
|
148
|
+
"script",
|
|
149
|
+
generateUUID(),
|
|
150
|
+
versionStringToArray(version)
|
|
151
|
+
);
|
|
152
|
+
if(entry){script_module.entry = entry;}
|
|
153
|
+
|
|
154
|
+
const metadata = new AddonManifestMetadata(
|
|
155
|
+
["@sapdon"],
|
|
156
|
+
"MIT",
|
|
157
|
+
{
|
|
158
|
+
"sapdon":["1.0.0"]
|
|
159
|
+
},
|
|
160
|
+
"addon",
|
|
161
|
+
"https://github.com/junjun260/sapdon"
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
const manifest = new AddonManifest(
|
|
165
|
+
2,//格式版本
|
|
166
|
+
header,
|
|
167
|
+
[module,script_module],
|
|
168
|
+
dependencies,
|
|
169
|
+
null,
|
|
170
|
+
metadata
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
return JSON.stringify(manifest, null, 2);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const generateResManifest = (name, description, version,options = {},dependencies = []) => {
|
|
177
|
+
const header = new AddonManifestHeader(
|
|
178
|
+
(name+"_RP"),
|
|
179
|
+
description,
|
|
180
|
+
versionStringToArray(version),
|
|
181
|
+
generateUUID(),
|
|
182
|
+
options
|
|
183
|
+
);
|
|
184
|
+
const module = new AddonManifestModule(
|
|
185
|
+
"资源模块",
|
|
186
|
+
"resources",
|
|
187
|
+
generateUUID(),
|
|
188
|
+
versionStringToArray(version)
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
const metadata = new AddonManifestMetadata(
|
|
192
|
+
["@sapdon"],
|
|
193
|
+
"MIT",
|
|
194
|
+
{
|
|
195
|
+
"sapdon":["1.0.0"]
|
|
196
|
+
},
|
|
197
|
+
"addon",
|
|
198
|
+
"https://github.com/junjun260/sapdon"
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
const manifest = new AddonManifest(
|
|
202
|
+
2,//格式版本
|
|
203
|
+
header,
|
|
204
|
+
[module],
|
|
205
|
+
[],
|
|
206
|
+
null,
|
|
207
|
+
metadata
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
return JSON.stringify(manifest, null, 2);
|
|
211
|
+
}
|
package/src/cli/index.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {program} from 'commander';
|
|
3
|
+
import inquirer from 'inquirer';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
|
|
6
|
+
import {initNPMProject, initProject,readPackageJson} from './init.js';
|
|
7
|
+
import {buildProject} from './build.js';
|
|
8
|
+
import {readFile} from "./utils.js";
|
|
9
|
+
import fs from "fs";
|
|
10
|
+
import {fileURLToPath} from "url";
|
|
11
|
+
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = path.dirname(__filename);
|
|
14
|
+
|
|
15
|
+
process.removeAllListeners('warning');
|
|
16
|
+
|
|
17
|
+
// 额外添加的init方法
|
|
18
|
+
program.command("init").description("初始化一个基于NodeJS的项目").action(() => {
|
|
19
|
+
const currentDir = process.cwd();
|
|
20
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
21
|
+
let packageJsonData;
|
|
22
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
23
|
+
console.error("没有找到package.json文件,请使改用create命令进行创建。");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
packageJsonData = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error("读取package.json文件时出错:", error);
|
|
31
|
+
console.log("请使改用create命令进行创建。")
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 添加或更新scripts字段
|
|
36
|
+
packageJsonData.scripts = {
|
|
37
|
+
...packageJsonData.scripts,
|
|
38
|
+
init: "sapdon init",
|
|
39
|
+
pack: "sapdon pack",
|
|
40
|
+
config: "sapdon config"
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJsonData, null, 2), 'utf-8');
|
|
45
|
+
} catch (error) {
|
|
46
|
+
console.error("写入package.json文件时出错:", error);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
inquirer.prompt([
|
|
51
|
+
{
|
|
52
|
+
type: "input",
|
|
53
|
+
name: "min_engine_version",
|
|
54
|
+
message: "最低引擎版本:",
|
|
55
|
+
default: "1.19.50"
|
|
56
|
+
}
|
|
57
|
+
]).then((answers) => {
|
|
58
|
+
initNPMProject(currentDir, {...readPackageJson(currentDir), ...answers});
|
|
59
|
+
console.log("请使用命令sapdon config配置框架的build.config文件。");
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
program.command("create <project-name>").description("Create a new project").action((projectName) => {
|
|
64
|
+
inquirer.prompt([
|
|
65
|
+
{
|
|
66
|
+
type: "input",
|
|
67
|
+
name: "name",
|
|
68
|
+
message: "Project Name:",
|
|
69
|
+
default: path.basename(projectName)
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: "input",
|
|
73
|
+
name: "description",
|
|
74
|
+
message: "Project Description:",
|
|
75
|
+
default: "A new sapdon project"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: "input",
|
|
79
|
+
name: "author",
|
|
80
|
+
message: "Author Name:",
|
|
81
|
+
default: "Sapdon"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "input",
|
|
85
|
+
name: "version",
|
|
86
|
+
message: "Project Version:",
|
|
87
|
+
default: "1.0.0"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: "input",
|
|
91
|
+
name: "min_engine_version",
|
|
92
|
+
message: "Minimum Engine Version:",
|
|
93
|
+
default: "1.19.50",
|
|
94
|
+
}
|
|
95
|
+
]).then((answers) => {
|
|
96
|
+
const projectPath = path.join(process.cwd(), projectName);
|
|
97
|
+
console.log('项目路径:', projectPath);
|
|
98
|
+
initProject(projectPath, answers);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
program.command("build <project-name>").description("Build the project").action((projectName) => {
|
|
103
|
+
console.log("Building the project...");
|
|
104
|
+
const projectPath = path.join(process.cwd(), projectName);
|
|
105
|
+
buildProject(projectPath, path.basename(projectName));
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
// pack 命令
|
|
109
|
+
program.command("pack").description("Pack the current project").action(() => {
|
|
110
|
+
console.log("Packing the current project...");
|
|
111
|
+
const projectPath = process.cwd();
|
|
112
|
+
buildProject(projectPath, path.basename(projectPath));
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// 配置build.config文件的命令
|
|
116
|
+
program.command("config").description("Configure build.config file").action(() => {
|
|
117
|
+
const buildConfigPath = path.join(__dirname, "./build.config");
|
|
118
|
+
let buildConfigData;
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
buildConfigData = JSON.parse(readFile(buildConfigPath));
|
|
122
|
+
} catch (error) {
|
|
123
|
+
console.error("读取build.config文件时出错:", error);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
inquirer.prompt([
|
|
128
|
+
{
|
|
129
|
+
type: "input",
|
|
130
|
+
name: "mojangPath",
|
|
131
|
+
message: "Mojang Path (must end with LocalState/games/com.mojang/):",
|
|
132
|
+
default: buildConfigData.mojangPath || "./"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: "input",
|
|
136
|
+
name: "mojangBetaPath",
|
|
137
|
+
message: "Mojang Beta Path (must end with LocalState/games/com.mojang/):",
|
|
138
|
+
default: buildConfigData.mojangBetaPath || "./"
|
|
139
|
+
}
|
|
140
|
+
]).then((answers) => {
|
|
141
|
+
try {
|
|
142
|
+
fs.writeFileSync(buildConfigPath, JSON.stringify({...buildConfigData, ...answers}, null, 2), 'utf-8');
|
|
143
|
+
console.log("build.config文件已更新。");
|
|
144
|
+
} catch (error) {
|
|
145
|
+
console.error("写入build.config文件时出错:", error);
|
|
146
|
+
}
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
program.parse(program.argv);
|