sapdon 2.1.0 → 3.0.1
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/README.md +102 -17
- package/dist/cli/build.d.ts +7 -0
- package/dist/cli/build.js +232 -0
- package/dist/cli/dev-server/client.d.ts +2 -0
- package/dist/cli/dev-server/client.js +20 -0
- package/dist/cli/dev-server/config.d.ts +3 -0
- package/dist/cli/dev-server/config.js +3 -0
- package/dist/cli/dev-server/hmr.d.ts +1 -0
- package/dist/cli/dev-server/hmr.js +13 -0
- package/dist/cli/dev-server/index.d.ts +3 -0
- package/dist/cli/dev-server/index.js +11 -0
- package/dist/cli/dev-server/server.d.ts +6 -0
- package/dist/cli/dev-server/server.js +50 -0
- package/dist/cli/dev-server/syncFiles.d.ts +3 -0
- package/dist/cli/dev-server/syncFiles.js +36 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/init.d.ts +9 -0
- package/dist/cli/init.js +80 -0
- package/dist/cli/load.d.ts +3 -0
- package/dist/cli/load.js +94 -0
- package/dist/cli/start.d.ts +2 -0
- package/dist/cli/start.js +156 -0
- package/dist/cli/tools/textureSet.d.ts +13 -0
- package/dist/cli/tools/textureSet.js +103 -0
- package/dist/cli/utils.d.ts +13 -0
- package/dist/cli/utils.js +89 -0
- package/dist/core/addon/biome.d.ts +22 -0
- package/dist/core/addon/biome.js +27 -0
- package/dist/core/addon/block/block.d.ts +41 -0
- package/dist/core/addon/block/block.js +46 -0
- package/dist/core/addon/controllers/animationController.d.ts +43 -0
- package/dist/core/addon/controllers/animationController.js +73 -0
- package/dist/core/addon/entity/clientEntity.d.ts +107 -0
- package/dist/core/addon/entity/clientEntity.js +149 -0
- package/dist/core/addon/entity/entity.d.ts +42 -0
- package/dist/core/addon/entity/entity.js +50 -0
- package/dist/core/addon/feature/oreFeature.d.ts +19 -0
- package/dist/core/addon/feature/oreFeature.js +24 -0
- package/dist/core/addon/featureRule.d.ts +20 -0
- package/dist/core/addon/featureRule.js +25 -0
- package/dist/core/addon/item/attachable.d.ts +94 -0
- package/dist/core/addon/item/attachable.js +134 -0
- package/dist/core/addon/item/item.d.ts +19 -0
- package/dist/core/addon/item/item.js +26 -0
- package/dist/core/addon/manifest.d.ts +49 -0
- package/dist/core/addon/manifest.js +65 -0
- package/dist/core/addon/menuCategory.d.ts +6 -0
- package/dist/core/addon/menuCategory.js +7 -0
- package/dist/core/addon/recipe/baseRecipe.d.ts +12 -0
- package/dist/core/addon/recipe/baseRecipe.js +23 -0
- package/dist/core/addon/recipe/data.d.ts +66 -0
- package/dist/core/addon/recipe/data.js +74 -0
- package/dist/core/addon/recipe/furnace.d.ts +17 -0
- package/dist/core/addon/recipe/furnace.js +43 -0
- package/dist/core/addon/recipe/shaped.d.ts +26 -0
- package/dist/core/addon/recipe/shaped.js +53 -0
- package/dist/core/addon/recipe/shapeless.d.ts +18 -0
- package/dist/core/addon/recipe/shapeless.js +36 -0
- package/dist/core/biome/biome.d.ts +14 -0
- package/dist/core/biome/biome.js +23 -0
- package/dist/core/biome/biomeComponent.d.ts +46 -0
- package/dist/core/biome/biomeComponent.js +77 -0
- package/dist/core/block/basicBlock.d.ts +48 -0
- package/dist/core/block/basicBlock.js +105 -0
- package/dist/core/block/block.d.ts +32 -0
- package/dist/core/block/block.js +92 -0
- package/dist/core/block/blockComponent.d.ts +187 -0
- package/dist/core/block/blockComponent.js +500 -0
- package/dist/core/block/cropBlock.d.ts +4 -0
- package/dist/core/block/cropBlock.js +27 -0
- package/dist/core/block/geometryBlock.d.ts +12 -0
- package/dist/core/block/geometryBlock.js +16 -0
- package/dist/core/block/oreBlock.d.ts +9 -0
- package/dist/core/block/oreBlock.js +25 -0
- package/dist/core/block/rotatableBlock.d.ts +27 -0
- package/dist/core/block/rotatableBlock.js +107 -0
- package/dist/core/block/tileBlock.d.ts +17 -0
- package/dist/core/block/tileBlock.js +125 -0
- package/dist/core/entity/basicEntity.d.ts +111 -0
- package/dist/core/entity/basicEntity.js +170 -0
- package/dist/core/entity/behavior/followMob.d.ts +12 -0
- package/dist/core/entity/behavior/followMob.js +35 -0
- package/dist/core/entity/behavior/followParent.d.ts +7 -0
- package/dist/core/entity/behavior/followParent.js +15 -0
- package/dist/core/entity/behavior/randomStroll.d.ts +31 -0
- package/dist/core/entity/behavior/randomStroll.js +63 -0
- package/dist/core/entity/behavior/tempt.d.ts +73 -0
- package/dist/core/entity/behavior/tempt.js +134 -0
- package/dist/core/entity/bundles/basicBundle.d.ts +13 -0
- package/dist/core/entity/bundles/basicBundle.js +45 -0
- package/dist/core/entity/clientEntity.d.ts +20 -0
- package/dist/core/entity/clientEntity.js +37 -0
- package/dist/core/entity/componets/entityComponet.d.ts +202 -0
- package/dist/core/entity/componets/entityComponet.js +347 -0
- package/dist/core/entity/data/nativeEntityData.d.ts +9 -0
- package/dist/core/entity/data/nativeEntityData.js +38 -0
- package/dist/core/entity/entity.d.ts +15 -0
- package/dist/core/entity/entity.js +18 -0
- package/dist/core/entity/nativeEntity.d.ts +8 -0
- package/dist/core/entity/nativeEntity.js +28 -0
- package/dist/core/entity/navigation/walk.d.ts +23 -0
- package/dist/core/entity/navigation/walk.js +56 -0
- package/dist/core/entity/projectile.d.ts +3 -0
- package/dist/core/entity/projectile.js +7 -0
- package/dist/core/factory/biomeFactory.d.ts +4 -0
- package/dist/core/factory/biomeFactory.js +13 -0
- package/dist/core/factory/blockFactory.d.ts +34 -0
- package/dist/core/factory/blockFactory.js +143 -0
- package/dist/core/factory/entityFactory.d.ts +17 -0
- package/dist/core/factory/entityFactory.js +75 -0
- package/dist/core/factory/featureFactory.d.ts +6 -0
- package/dist/core/factory/featureFactory.js +23 -0
- package/dist/core/factory/itemExtra.d.ts +8 -0
- package/dist/core/factory/itemExtra.js +9 -0
- package/dist/core/factory/itemFactory.d.ts +27 -0
- package/dist/core/factory/itemFactory.js +112 -0
- package/dist/core/factory/recipeFactory.d.ts +18 -0
- package/dist/core/factory/recipeFactory.js +39 -0
- package/dist/core/factory/uiFactory.d.ts +11 -0
- package/dist/core/factory/uiFactory.js +32 -0
- package/dist/core/feature/oreFeature.d.ts +10 -0
- package/dist/core/feature/oreFeature.js +11 -0
- package/dist/core/feature-rule/condition/biomeFilter.d.ts +26 -0
- package/dist/core/feature-rule/condition/biomeFilter.js +36 -0
- package/dist/core/feature-rule/condition/featureConditions.d.ts +27 -0
- package/dist/core/feature-rule/condition/featureConditions.js +37 -0
- package/dist/core/feature-rule/distribution/coordinateDistribution.d.ts +17 -0
- package/dist/core/feature-rule/distribution/coordinateDistribution.js +23 -0
- package/dist/core/feature-rule/distribution/featureDistribution.d.ts +31 -0
- package/dist/core/feature-rule/distribution/featureDistribution.js +41 -0
- package/dist/core/feature-rule/featureRule.d.ts +17 -0
- package/dist/core/feature-rule/featureRule.js +26 -0
- package/dist/core/index.d.ts +24 -0
- package/dist/core/index.js +21 -0
- package/dist/core/item/armor.d.ts +21 -0
- package/dist/core/item/armor.js +90 -0
- package/dist/core/item/attachable.d.ts +6 -0
- package/dist/core/item/attachable.js +26 -0
- package/dist/core/item/food.d.ts +24 -0
- package/dist/core/item/food.js +38 -0
- package/dist/core/item/item.d.ts +36 -0
- package/dist/core/item/item.js +69 -0
- package/dist/core/item/itemComponents.d.ts +113 -0
- package/dist/core/item/itemComponents.js +225 -0
- package/dist/core/registry.d.ts +12 -0
- package/dist/core/registry.js +16 -0
- package/dist/core/texture.d.ts +18 -0
- package/dist/core/texture.js +38 -0
- package/dist/core/ui/buttonMapping.d.ts +97 -0
- package/dist/core/ui/buttonMapping.js +132 -0
- package/dist/core/ui/dataBindingObject.d.ts +97 -0
- package/dist/core/ui/dataBindingObject.js +134 -0
- package/dist/core/ui/elements/button.d.ts +21 -0
- package/dist/core/ui/elements/button.js +101 -0
- package/dist/core/ui/elements/collectionPanel.d.ts +12 -0
- package/dist/core/ui/elements/collectionPanel.js +53 -0
- package/dist/core/ui/elements/grid.d.ts +8 -0
- package/dist/core/ui/elements/grid.js +33 -0
- package/dist/core/ui/elements/image.d.ts +13 -0
- package/dist/core/ui/elements/image.js +55 -0
- package/dist/core/ui/elements/label.d.ts +14 -0
- package/dist/core/ui/elements/label.js +61 -0
- package/dist/core/ui/elements/panel.d.ts +11 -0
- package/dist/core/ui/elements/panel.js +49 -0
- package/dist/core/ui/elements/scrollingPanel.d.ts +14 -0
- package/dist/core/ui/elements/scrollingPanel.js +59 -0
- package/dist/core/ui/elements/stackPanel.d.ts +14 -0
- package/dist/core/ui/elements/stackPanel.js +37 -0
- package/dist/core/ui/elements/uiElement.d.ts +53 -0
- package/dist/core/ui/elements/uiElement.js +129 -0
- package/dist/core/ui/properties/control.d.ts +214 -0
- package/dist/core/ui/properties/control.js +286 -0
- package/dist/core/ui/properties/dataBinding.d.ts +6 -0
- package/dist/core/ui/properties/dataBinding.js +16 -0
- package/dist/core/ui/properties/factory.d.ts +37 -0
- package/dist/core/ui/properties/factory.js +62 -0
- package/dist/core/ui/properties/gridProp.d.ts +65 -0
- package/dist/core/ui/properties/gridProp.js +90 -0
- package/dist/core/ui/properties/input.d.ts +97 -0
- package/dist/core/ui/properties/input.js +134 -0
- package/dist/core/ui/properties/layout.d.ts +105 -0
- package/dist/core/ui/properties/layout.js +145 -0
- package/dist/core/ui/properties/scrollView.d.ts +105 -0
- package/dist/core/ui/properties/scrollView.js +145 -0
- package/dist/core/ui/properties/sound.d.ts +47 -0
- package/dist/core/ui/properties/sound.js +66 -0
- package/dist/core/ui/properties/sprite.d.ts +161 -0
- package/dist/core/ui/properties/sprite.js +222 -0
- package/dist/core/ui/properties/text.d.ts +135 -0
- package/dist/core/ui/properties/text.js +187 -0
- package/dist/core/ui/registry/uiSystemRegistry.d.ts +8 -0
- package/dist/core/ui/registry/uiSystemRegistry.js +26 -0
- package/dist/core/ui/systems/chest.d.ts +4 -0
- package/dist/core/ui/systems/chest.js +21 -0
- package/dist/core/ui/systems/containerUISystem.d.ts +64 -0
- package/dist/core/ui/systems/containerUISystem.js +206 -0
- package/dist/core/ui/systems/guidebook.d.ts +8 -0
- package/dist/core/ui/systems/guidebook.js +206 -0
- package/dist/core/ui/systems/serverForm.d.ts +12 -0
- package/dist/core/ui/systems/serverForm.js +116 -0
- package/dist/core/ui/systems/system.d.ts +16 -0
- package/dist/core/ui/systems/system.js +37 -0
- package/doc/sapdon-ts.md +16 -0
- package/package.json +52 -29
- package/.gitattributes +0 -2
- package/examples/digitCircuit/build.config +0 -28
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_and_gate.json +0 -152
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_not_gate.json +0 -152
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_or_gate.json +0 -152
- package/examples/digitCircuit/dev/digitCircuit_BP/blocks/sapdon_wire.json +0 -103
- package/examples/digitCircuit/dev/digitCircuit_BP/manifest.json +0 -60
- package/examples/digitCircuit/dev/digitCircuit_BP/pack_icon.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_BP/scripts/index.js +0 -95
- package/examples/digitCircuit/dev/digitCircuit_RP/blocks.json +0 -43
- package/examples/digitCircuit/dev/digitCircuit_RP/manifest.json +0 -44
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/arcane_workbench.geo.json +0 -106
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/crop.geo.json +0 -147
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal.geo.json +0 -47
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_0.geo.json +0 -59
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_1.geo.json +0 -59
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_2.geo.json +0 -59
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/jar_normal_3.geo.json +0 -59
- package/examples/digitCircuit/dev/digitCircuit_RP/models/blocks/wire.geo.json +0 -154
- 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 +0 -9
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/items/masterball.png +0 -0
- package/examples/digitCircuit/dev/digitCircuit_RP/textures/terrain_texture.json +0 -26
- package/examples/digitCircuit/lib/wire.js +0 -20
- package/examples/digitCircuit/main.mjs +0 -14
- package/examples/digitCircuit/mod.info +0 -7
- package/examples/digitCircuit/pack_icon.png +0 -0
- package/examples/digitCircuit/res/models/blocks/arcane_workbench.geo.json +0 -106
- package/examples/digitCircuit/res/models/blocks/crop.geo.json +0 -147
- package/examples/digitCircuit/res/models/blocks/jar_normal.geo.json +0 -47
- package/examples/digitCircuit/res/models/blocks/jar_normal_0.geo.json +0 -59
- package/examples/digitCircuit/res/models/blocks/jar_normal_1.geo.json +0 -59
- package/examples/digitCircuit/res/models/blocks/jar_normal_2.geo.json +0 -59
- package/examples/digitCircuit/res/models/blocks/jar_normal_3.geo.json +0 -59
- package/examples/digitCircuit/res/models/blocks/wire.geo.json +0 -154
- 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 +0 -95
- package/examples/guidebook/build.config +0 -33
- package/examples/guidebook/dev/guidebook_BP/items/sapdon_test_guidebook.json +0 -19
- package/examples/guidebook/dev/guidebook_BP/manifest.json +0 -64
- package/examples/guidebook/dev/guidebook_BP/pack_icon.png +0 -0
- package/examples/guidebook/dev/guidebook_BP/scripts/custom_components/cropComponent.js +0 -50
- package/examples/guidebook/dev/guidebook_BP/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/guidebook/dev/guidebook_BP/scripts/custom_components/registry.js +0 -20
- package/examples/guidebook/dev/guidebook_BP/scripts/index.js +0 -3
- package/examples/guidebook/dev/guidebook_RP/blocks.json +0 -3
- package/examples/guidebook/dev/guidebook_RP/manifest.json +0 -44
- package/examples/guidebook/dev/guidebook_RP/models/blocks/crop.geo.json +0 -48
- package/examples/guidebook/dev/guidebook_RP/pack_icon.png +0 -0
- package/examples/guidebook/dev/guidebook_RP/textures/blocks/test_log_oak.png +0 -0
- package/examples/guidebook/dev/guidebook_RP/textures/blocks/test_log_top.png +0 -0
- package/examples/guidebook/dev/guidebook_RP/textures/flipbook_textures.json +0 -1
- package/examples/guidebook/dev/guidebook_RP/textures/item_texture.json +0 -9
- package/examples/guidebook/dev/guidebook_RP/textures/items/masterball.png +0 -0
- package/examples/guidebook/dev/guidebook_RP/textures/terrain_texture.json +0 -14
- package/examples/guidebook/dev/guidebook_RP/ui/_ui_defs.json +0 -6
- package/examples/guidebook/dev/guidebook_RP/ui/guidebook.json +0 -581
- package/examples/guidebook/dev/guidebook_RP/ui/server_form.json +0 -91
- package/examples/guidebook/main.mjs +0 -66
- package/examples/guidebook/mod.info +0 -7
- package/examples/guidebook/pack_icon.png +0 -0
- package/examples/guidebook/res/models/blocks/crop.geo.json +0 -48
- package/examples/guidebook/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/guidebook/res/textures/blocks/test_log_top.png +0 -0
- package/examples/guidebook/res/textures/items/masterball.png +0 -0
- package/examples/guidebook/scripts/custom_components/cropComponent.js +0 -50
- package/examples/guidebook/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/guidebook/scripts/custom_components/registry.js +0 -20
- package/examples/guidebook/scripts/index.js +0 -3
- package/examples/hello_sapdon/build.config +0 -29
- package/examples/hello_sapdon/main.mjs +0 -3
- package/examples/hello_sapdon/mod.info +0 -7
- package/examples/hello_sapdon/pack_icon.png +0 -0
- package/examples/hello_sapdon/res/models/blocks/crop.geo.json +0 -48
- package/examples/hello_sapdon/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/hello_sapdon/res/textures/blocks/test_log_top.png +0 -0
- package/examples/hello_sapdon/res/textures/items/masterball.png +0 -0
- package/examples/hello_sapdon/scripts/custom_components/cropComponent.js +0 -50
- package/examples/hello_sapdon/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/hello_sapdon/scripts/custom_components/registry.js +0 -25
- package/examples/hello_sapdon/scripts/index.js +0 -0
- package/examples/masterball/build.config +0 -29
- package/examples/masterball/dev/masterball_1_20_30.mcaddon +0 -0
- package/examples/masterball/dev/masterball_BP/entities/sapdon_projectile_masterball.json +0 -57
- package/examples/masterball/dev/masterball_BP/items/sapdon_caught_masterball.json +0 -32
- package/examples/masterball/dev/masterball_BP/items/sapdon_uncaught_masterball.json +0 -31
- package/examples/masterball/dev/masterball_BP/manifest.json +0 -60
- package/examples/masterball/dev/masterball_BP/pack_icon.png +0 -0
- package/examples/masterball/dev/masterball_BP/recipes/masterball.json +0 -25
- package/examples/masterball/dev/masterball_BP/scripts/index.js +0 -159
- package/examples/masterball/dev/masterball_BP_1_20_30.mcpack +0 -0
- package/examples/masterball/dev/masterball_RP/attachables/sapdon_caught_masterball.json +0 -19
- package/examples/masterball/dev/masterball_RP/blocks.json +0 -3
- package/examples/masterball/dev/masterball_RP/entity/sapdon_projectile_masterball.json +0 -28
- package/examples/masterball/dev/masterball_RP/manifest.json +0 -44
- 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/flipbook_textures.json +0 -1
- package/examples/masterball/dev/masterball_RP/textures/item_texture.json +0 -9
- package/examples/masterball/dev/masterball_RP/textures/items/masterball.png +0 -0
- package/examples/masterball/dev/masterball_RP/textures/terrain_texture.json +0 -14
- package/examples/masterball/dev/masterball_RP/ui/_ui_defs.json +0 -3
- package/examples/masterball/dev/masterball_RP_1_20_30.mcpack +0 -0
- package/examples/masterball/main.mjs +0 -41
- package/examples/masterball/mod.info +0 -7
- 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 +0 -159
- package/examples/mob_chest/build.config +0 -29
- package/examples/mob_chest/dev/mob_chest_BP/blocks/mob_chest_chest.json +0 -56
- package/examples/mob_chest/dev/mob_chest_BP/entities/mob_chest_chest_entity.json +0 -79
- package/examples/mob_chest/dev/mob_chest_BP/manifest.json +0 -64
- package/examples/mob_chest/dev/mob_chest_BP/pack_icon.png +0 -0
- package/examples/mob_chest/dev/mob_chest_BP/scripts/custom_components/block/block_with_entity.js +0 -46
- package/examples/mob_chest/dev/mob_chest_BP/scripts/custom_components/block/cropComponent.js +0 -50
- package/examples/mob_chest/dev/mob_chest_BP/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/mob_chest/dev/mob_chest_BP/scripts/custom_components/registry.js +0 -25
- package/examples/mob_chest/dev/mob_chest_BP/scripts/index.js +0 -4
- package/examples/mob_chest/dev/mob_chest_RP/animation_controllers/mob_chest.animation_controllers.json +0 -30
- package/examples/mob_chest/dev/mob_chest_RP/animations/animation_item.animation.json +0 -34
- package/examples/mob_chest/dev/mob_chest_RP/animations/large_item.animation.json +0 -27
- package/examples/mob_chest/dev/mob_chest_RP/animations/mob_chest.animation.json +0 -64
- package/examples/mob_chest/dev/mob_chest_RP/blocks.json +0 -13
- package/examples/mob_chest/dev/mob_chest_RP/entity/mob_chest_chest_entity.json +0 -32
- package/examples/mob_chest/dev/mob_chest_RP/manifest.json +0 -44
- package/examples/mob_chest/dev/mob_chest_RP/models/blocks/crop.geo.json +0 -48
- package/examples/mob_chest/dev/mob_chest_RP/models/blocks/cube.geo.json +0 -35
- package/examples/mob_chest/dev/mob_chest_RP/models/blocks/empty.geo.json +0 -35
- package/examples/mob_chest/dev/mob_chest_RP/models/entity/mob_chest.geo.json +0 -98
- package/examples/mob_chest/dev/mob_chest_RP/pack_icon.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/blocks/entity/double_normal.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/blocks/entity/none.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/blocks/entity/normal.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/blocks/test_log_oak.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/blocks/test_log_top.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/flipbook_textures.json +0 -1
- package/examples/mob_chest/dev/mob_chest_RP/textures/item_texture.json +0 -9
- package/examples/mob_chest/dev/mob_chest_RP/textures/items/masterball.png +0 -0
- package/examples/mob_chest/dev/mob_chest_RP/textures/terrain_texture.json +0 -23
- package/examples/mob_chest/dev/mob_chest_RP/ui/_ui_defs.json +0 -3
- package/examples/mob_chest/main.mjs +0 -31
- package/examples/mob_chest/mod.info +0 -7
- package/examples/mob_chest/pack_icon.png +0 -0
- package/examples/mob_chest/res/animation_controllers/mob_chest.animation_controllers.json +0 -30
- package/examples/mob_chest/res/animations/animation_item.animation.json +0 -34
- package/examples/mob_chest/res/animations/large_item.animation.json +0 -27
- package/examples/mob_chest/res/animations/mob_chest.animation.json +0 -64
- package/examples/mob_chest/res/models/blocks/crop.geo.json +0 -48
- package/examples/mob_chest/res/models/blocks/cube.geo.json +0 -35
- package/examples/mob_chest/res/models/blocks/empty.geo.json +0 -35
- package/examples/mob_chest/res/models/entity/mob_chest.geo.json +0 -98
- package/examples/mob_chest/res/textures/blocks/entity/double_normal.png +0 -0
- package/examples/mob_chest/res/textures/blocks/entity/none.png +0 -0
- package/examples/mob_chest/res/textures/blocks/entity/normal.png +0 -0
- package/examples/mob_chest/res/textures/blocks/test_log_oak.png +0 -0
- package/examples/mob_chest/res/textures/blocks/test_log_top.png +0 -0
- package/examples/mob_chest/res/textures/items/masterball.png +0 -0
- package/examples/mob_chest/resource/cube.bbmodel +0 -1
- package/examples/mob_chest/resource/flipbook_item.bbmodel +0 -1
- package/examples/mob_chest/resource/flipbook_item.geo.bbmodel +0 -1
- package/examples/mob_chest/resource/flipbook_item.geo.json +0 -3124
- package/examples/mob_chest/resource/mob_chest.bbmodel +0 -1
- package/examples/mob_chest/scripts/custom_components/block/block_with_entity.js +0 -46
- package/examples/mob_chest/scripts/custom_components/block/cropComponent.js +0 -50
- package/examples/mob_chest/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/mob_chest/scripts/custom_components/registry.js +0 -25
- package/examples/mob_chest/scripts/index.js +0 -4
- package/examples/test/build.config +0 -29
- package/examples/test/dev/test_BP/blocks/sapdon_ore_cinnabar.json +0 -16
- package/examples/test/dev/test_BP/blocks/sapdon_test_block.json +0 -16
- package/examples/test/dev/test_BP/blocks/sapdon_test_crop.json +0 -192
- package/examples/test/dev/test_BP/blocks/sapdon_wire.json +0 -103
- package/examples/test/dev/test_BP/entities/sapdon_test_projectile.json +0 -57
- package/examples/test/dev/test_BP/feature_rules/ore_cinnabar_orefeatre_rule.json +0 -53
- package/examples/test/dev/test_BP/feature_rules/overworld_underground_titanite_ore_feature.json +0 -53
- package/examples/test/dev/test_BP/features/ore_cinnabar_ore_feature.json +0 -17
- package/examples/test/dev/test_BP/features/titanite_ore_feature.json +0 -23
- package/examples/test/dev/test_BP/items/sapdon_chest.json +0 -23
- package/examples/test/dev/test_BP/items/sapdon_test_book.json +0 -19
- package/examples/test/dev/test_BP/items/sapdon_test_food.json +0 -26
- package/examples/test/dev/test_BP/items/sapdon_test_item.json +0 -31
- package/examples/test/dev/test_BP/manifest.json +0 -64
- package/examples/test/dev/test_BP/pack_icon.png +0 -0
- package/examples/test/dev/test_BP/recipes/sapdon_test_furnace.json +0 -13
- package/examples/test/dev/test_BP/scripts/custom_components/cropComponent.js +0 -50
- package/examples/test/dev/test_BP/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/test/dev/test_BP/scripts/custom_components/registry.js +0 -20
- package/examples/test/dev/test_BP/scripts/index.js +0 -102
- package/examples/test/dev/test_RP/attachables/sapdon_chest.json +0 -25
- package/examples/test/dev/test_RP/blocks.json +0 -43
- package/examples/test/dev/test_RP/entity/sapdon_test_projectile.json +0 -28
- package/examples/test/dev/test_RP/manifest.json +0 -44
- package/examples/test/dev/test_RP/models/blocks/arcane_workbench.geo.json +0 -106
- package/examples/test/dev/test_RP/models/blocks/crop.geo.json +0 -147
- package/examples/test/dev/test_RP/models/blocks/jar_normal.geo.json +0 -47
- package/examples/test/dev/test_RP/models/blocks/jar_normal_0.geo.json +0 -59
- package/examples/test/dev/test_RP/models/blocks/jar_normal_1.geo.json +0 -59
- package/examples/test/dev/test_RP/models/blocks/jar_normal_2.geo.json +0 -59
- package/examples/test/dev/test_RP/models/blocks/jar_normal_3.geo.json +0 -59
- package/examples/test/dev/test_RP/models/blocks/wire.geo.json +0 -154
- 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 +0 -1
- package/examples/test/dev/test_RP/textures/item_texture.json +0 -789
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -11
- 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 +0 -11
- 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 +0 -3
- 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 +0 -3
- 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 +0 -3
- 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 +0 -3
- 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 +0 -3
- 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 +0 -45
- 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 +0 -45
- 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 +0 -137
- package/examples/test/dev/test_RP/ui/_ui_defs.json +0 -6
- package/examples/test/dev/test_RP/ui/guidebook.json +0 -446
- package/examples/test/dev/test_RP/ui/server_form.json +0 -91
- package/examples/test/lib/wire.js +0 -20
- package/examples/test/main.mjs +0 -157
- package/examples/test/mod.info +0 -7
- package/examples/test/pack_icon.png +0 -0
- package/examples/test/res/models/blocks/arcane_workbench.geo.json +0 -106
- package/examples/test/res/models/blocks/crop.geo.json +0 -147
- package/examples/test/res/models/blocks/jar_normal.geo.json +0 -47
- package/examples/test/res/models/blocks/jar_normal_0.geo.json +0 -59
- package/examples/test/res/models/blocks/jar_normal_1.geo.json +0 -59
- package/examples/test/res/models/blocks/jar_normal_2.geo.json +0 -59
- package/examples/test/res/models/blocks/jar_normal_3.geo.json +0 -59
- package/examples/test/res/models/blocks/wire.geo.json +0 -154
- 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 +0 -6
- package/examples/test/res/textures/items/seals/seal_butcher.png +0 -0
- package/examples/test/res/textures/items/seals/seal_butcher.png.mcmeta +0 -6
- package/examples/test/res/textures/items/seals/seal_empty.png +0 -0
- package/examples/test/res/textures/items/seals/seal_empty.png.mcmeta +0 -6
- 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 +0 -6
- package/examples/test/res/textures/items/seals/seal_fill.png +0 -0
- package/examples/test/res/textures/items/seals/seal_fill.png.mcmeta +0 -6
- 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 +0 -6
- package/examples/test/res/textures/items/seals/seal_guard.png +0 -0
- package/examples/test/res/textures/items/seals/seal_guard.png.mcmeta +0 -6
- 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 +0 -6
- package/examples/test/res/textures/items/seals/seal_harvest.png +0 -0
- package/examples/test/res/textures/items/seals/seal_harvest.png.mcmeta +0 -6
- package/examples/test/res/textures/items/seals/seal_lumber.png +0 -0
- package/examples/test/res/textures/items/seals/seal_lumber.png.mcmeta +0 -6
- package/examples/test/res/textures/items/seals/seal_pickup.png +0 -0
- package/examples/test/res/textures/items/seals/seal_pickup.png.mcmeta +0 -6
- 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 +0 -6
- package/examples/test/res/textures/items/seals/seal_provider.png +0 -0
- package/examples/test/res/textures/items/seals/seal_provider.png.mcmeta +0 -6
- package/examples/test/res/textures/items/seals/seal_use.png +0 -0
- package/examples/test/res/textures/items/seals/seal_use.png.mcmeta +0 -6
- 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 +0 -11
- 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 +0 -11
- 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 +0 -3
- package/examples/test/res/textures/items/wand/focus_portablehole.png +0 -0
- package/examples/test/res/textures/items/wand/focus_portablehole.png.mcmeta +0 -3
- package/examples/test/res/textures/items/wand/focus_primal.png +0 -0
- package/examples/test/res/textures/items/wand/focus_primal.png.mcmeta +0 -3
- package/examples/test/res/textures/items/wand/focus_shard.png +0 -0
- package/examples/test/res/textures/items/wand/focus_shard.png.mcmeta +0 -3
- 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 +0 -3
- 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 +0 -45
- 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 +0 -45
- 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 +0 -50
- package/examples/test/scripts/custom_components/items/gui_book.js +0 -37
- package/examples/test/scripts/custom_components/registry.js +0 -20
- package/examples/test/scripts/index.js +0 -102
- package/log.md +0 -83
- package/src/cli/build.js +0 -211
- package/src/cli/index.js +0 -150
- package/src/cli/init.js +0 -69
- package/src/cli/load.js +0 -117
- package/src/cli/tools/textureSet.js +0 -115
- package/src/cli/utils.js +0 -82
- package/src/core/addon/biome.js +0 -29
- package/src/core/addon/block/Block.js +0 -49
- package/src/core/addon/controllers/animation_controller.js +0 -80
- package/src/core/addon/entity/client_entity.js +0 -154
- package/src/core/addon/entity/entity.js +0 -53
- package/src/core/addon/feature/ore_feature.js +0 -26
- package/src/core/addon/feature_rule.js +0 -29
- package/src/core/addon/item/attachable.js +0 -138
- package/src/core/addon/item/item.js +0 -29
- package/src/core/addon/manifest.js +0 -71
- package/src/core/addon/menu_category.js +0 -7
- package/src/core/addon/recipe/data.js +0 -76
- package/src/core/addon/recipe/recipe.js +0 -27
- package/src/core/addon/recipe/recipeFurnace.js +0 -38
- package/src/core/addon/recipe/recipeShaped.js +0 -56
- package/src/core/addon/recipe/recipeShapeless.js +0 -35
- package/src/core/biome/Biome.js +0 -30
- package/src/core/biome/biomeComponent.js +0 -89
- package/src/core/block/BasicBlock.js +0 -127
- package/src/core/block/GeometryBlock.js +0 -22
- package/src/core/block/OreBlock.js +0 -30
- package/src/core/block/RotatableBlock.js +0 -161
- package/src/core/block/TileBlock.js +0 -117
- package/src/core/block/block.js +0 -107
- package/src/core/block/blockComponent.js +0 -558
- package/src/core/block/cropBlock.js +0 -42
- package/src/core/entity/BasicEntity.js +0 -196
- package/src/core/entity/ClientEntity.js +0 -41
- package/src/core/entity/Entity.js +0 -19
- package/src/core/entity/NativeEntity.js +0 -30
- package/src/core/entity/Projectile.js +0 -8
- package/src/core/entity/behavior/follow_mod.js +0 -43
- package/src/core/entity/behavior/follow_parent.js +0 -15
- package/src/core/entity/behavior/random_stroll.js +0 -69
- package/src/core/entity/behavior/tempt.js +0 -145
- package/src/core/entity/bundles/BasicBundle.js +0 -51
- package/src/core/entity/componets/EntityComponet.js +0 -485
- package/src/core/entity/data/NativeEntityData.js +0 -46
- package/src/core/entity/data/data_bp.json +0 -1
- package/src/core/entity/data/data_rp.json +0 -1
- package/src/core/entity/navigation/walk.js +0 -58
- package/src/core/factory/BiomeFactory.js +0 -15
- package/src/core/factory/BlockFactory.js +0 -167
- package/src/core/factory/EntityFactory.js +0 -83
- package/src/core/factory/FeatureFactory.js +0 -26
- package/src/core/factory/ItemFactory.js +0 -121
- package/src/core/factory/RecipeFactory.js +0 -47
- package/src/core/factory/UIFactory.js +0 -37
- package/src/core/feature/OreFeature.js +0 -19
- package/src/core/feature_rule/FeatureRule.js +0 -37
- package/src/core/feature_rule/condition/BiomeFilter.js +0 -39
- package/src/core/feature_rule/condition/FeatureConditions.js +0 -41
- package/src/core/feature_rule/distribution/CoordinateDistribution.js +0 -24
- package/src/core/feature_rule/distribution/FeatureDistribution.js +0 -45
- package/src/core/index.js +0 -36
- package/src/core/item/Item.js +0 -97
- package/src/core/item/ItemComponents.js +0 -252
- package/src/core/item/armor.js +0 -117
- package/src/core/item/attachable.js +0 -34
- package/src/core/item/food.js +0 -62
- package/src/core/registry.js +0 -17
- package/src/core/texture.js +0 -41
- package/src/core/ui/ButtonMapping.js +0 -144
- package/src/core/ui/DataBindingObject.js +0 -146
- package/src/core/ui/Properties/Control.js +0 -308
- package/src/core/ui/Properties/DataBinding.js +0 -14
- package/src/core/ui/Properties/Factory.js +0 -63
- package/src/core/ui/Properties/GridProp.js +0 -98
- package/src/core/ui/Properties/Input.js +0 -146
- package/src/core/ui/Properties/Layout.js +0 -158
- package/src/core/ui/Properties/ScrollView.js +0 -158
- package/src/core/ui/Properties/Sound.js +0 -72
- package/src/core/ui/Properties/Sprite.js +0 -242
- package/src/core/ui/Properties/Text.js +0 -204
- package/src/core/ui/elements/Button.js +0 -111
- package/src/core/ui/elements/CollectionPanel.js +0 -61
- package/src/core/ui/elements/Grid.js +0 -24
- package/src/core/ui/elements/Image.js +0 -66
- package/src/core/ui/elements/Label.js +0 -70
- package/src/core/ui/elements/Panel.js +0 -57
- package/src/core/ui/elements/ScrollingPanel.js +0 -68
- package/src/core/ui/elements/StackPanel.js +0 -40
- package/src/core/ui/elements/UIElement.js +0 -148
- package/src/core/ui/registry/UISystemRegistry.js +0 -35
- package/src/core/ui/systems/UISystem.js +0 -46
- package/src/core/ui/systems/guidebook.js +0 -299
- package/src/core/ui/systems/server_form.js +0 -111
- package/src/templates/test_sapdon/build.config +0 -29
- package/src/templates/test_sapdon/main.mjs +0 -0
- package/src/templates/test_sapdon/mod.info +0 -7
- package/src/templates/test_sapdon/pack_icon.png +0 -0
- package/src/templates/test_sapdon/res/animations/animation_item.animation.json +0 -34
- package/src/templates/test_sapdon/res/animations/large_item.animation.json +0 -27
- package/src/templates/test_sapdon/res/models/blocks/crop.geo.json +0 -48
- package/src/templates/test_sapdon/res/models/entity/animation/animation_item.geo.json +0 -26
- package/src/templates/test_sapdon/res/models/entity/animation/large_item.geo.json +0 -28
- package/src/templates/test_sapdon/res/textures/blocks/none.png +0 -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/custom_components/cropComponent.js +0 -50
- package/src/templates/test_sapdon/scripts/custom_components/items/gui_book.js +0 -37
- package/src/templates/test_sapdon/scripts/custom_components/registry.js +0 -25
- package/src/templates/test_sapdon/scripts/index.js +0 -0
package/README.md
CHANGED
|
@@ -1,26 +1,111 @@
|
|
|
1
|
-
Sapdon框架是一个功能强大的JavaScript框架,专门设计用于开发基岩版的模组。该框架致力于统一开发形式和简化开发过程,使开发者能够更轻松地创建基岩版的模组。
|
|
2
1
|
|
|
3
|
-
|
|
2
|
+
# Sapdon 框架
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+

|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
Sapdon 是一个基于 JavaScript 开发的 Minecraft 基岩版模组开发框架。它通过提供丰富的 API 和自动化工具,帮助开发者简化传统开发流程,降低 JSON 配置复杂度,让您专注于模组逻辑实现。
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
[](https://nodejs.org/)
|
|
9
|
+
[](https://www.npmjs.com/package/sapdon)
|
|
10
|
+
[](https://qm.qq.com/q/2HrXHcKq9j)
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
## ✨ 核心特性
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
sapdon create <project_name> 在当前目录下创建新项目文件夹,并初始化项目文件
|
|
14
|
+
- **JavaScript 驱动开发** - 告别繁琐的 JSON 配置,使用现代 JS 语法编写模组
|
|
15
|
+
- **模块化 API 设计** - 提供物品/方块/实体/配方等 30+ 核心 API 接口
|
|
16
|
+
- **智能编译系统** - 一键生成标准 mcaddon 包文件
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
sapdon build <project_name> 将指定项目编译为mcaddon包,并输出到指定目录
|
|
18
|
+
## 🚀 快速入门
|
|
20
19
|
|
|
21
|
-
###
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
### 环境准备
|
|
21
|
+
|
|
22
|
+
1. 安装 [Node.js](https://nodejs.org/) (推荐 v16+)
|
|
23
|
+
2. 安装 Visual Studio Code 或其他现代编辑器
|
|
24
|
+
|
|
25
|
+
### 安装 CLI
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g sapdon
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 创建新项目
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
sapdon create hello_sapdon
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
根据提示输入项目信息:
|
|
38
|
+
```text
|
|
39
|
+
✔ Project Name: hello_sapdon
|
|
40
|
+
✔ Project Description: 我的第一个 Sapdon 模组
|
|
41
|
+
✔ Author Name: YourName
|
|
42
|
+
✔ Project Version: 1.0.0
|
|
43
|
+
✔ Minimum Engine Version: 1.19.50
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 项目结构
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
hello_sapdon/
|
|
50
|
+
├── res/ # 资源文件(纹理/模型/音效)
|
|
51
|
+
├── scripts/ # 游戏脚本
|
|
52
|
+
├── build.config # 构建配置
|
|
53
|
+
├── main.mjs # 主入口文件
|
|
54
|
+
├── mod.info # 模组元数据
|
|
55
|
+
└── pack_icon.png # 模组图标
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 📦 核心 API 示例
|
|
59
|
+
|
|
60
|
+
### 创建一个基础物品
|
|
61
|
+
1. 打开 `main.mjs` 文件。
|
|
62
|
+
2. 写入以下内容以创建一个基础物品:
|
|
63
|
+
```javascript
|
|
64
|
+
import { ItemAPI } from "../src/core";
|
|
65
|
+
|
|
66
|
+
ItemAPI.createItem("hello_sapdon:my_item", "items", "masterball");
|
|
67
|
+
```
|
|
68
|
+
这段代码将创建一个名为 `my_item` 的物品,其命名空间为 `hello_sapdon`,类型为 `items`,并使用 `masterball` 作为图标。
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## 🛠 执行构建命令
|
|
72
|
+
|
|
73
|
+
1. 在终端中输入以下命令以构建 `hello_sapdon` 项目:
|
|
74
|
+
```bash
|
|
75
|
+
sapdon build hello_sapdon
|
|
76
|
+
```
|
|
77
|
+
2. 构建完成后,您将在 `hello_sapdon` 文件夹下看到一个 `dev` 文件夹,其中包含构建好的 Addon 包。
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
生成优化后的 mcaddon 包文件
|
|
81
|
+
|
|
82
|
+
## 📚 学习资源
|
|
83
|
+
|
|
84
|
+
- [官方文档](https://docs.sapdon.org)
|
|
85
|
+
- [示例模组仓库](https://github.com/Meteage/sapdon/examples)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
## ❓ 常见问题
|
|
89
|
+
|
|
90
|
+
### 如何更新框架版本?
|
|
91
|
+
```bash
|
|
92
|
+
npm update sapdon
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 如何添加依赖库?
|
|
96
|
+
在 `build.config` 中添加:
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"dependencies": [
|
|
100
|
+
{
|
|
101
|
+
"module_name": "@minecraft/server",
|
|
102
|
+
"version": "1.8.0"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 🤝 社区支持
|
|
109
|
+
|
|
110
|
+
- 官方 QQ 群:`810904181`
|
|
24
111
|
|
|
25
|
-
### 新特性
|
|
26
|
-
更适合npm的体质,可以读取nodejs的项目信息作为基础配置。
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function projectCanBuild(projectPath: any, projectName: any): boolean;
|
|
2
|
+
export namespace scriptBundler {
|
|
3
|
+
let __projectPath: string;
|
|
4
|
+
function js(source: any, target: any): void;
|
|
5
|
+
function ts(source: any, target: any, tname?: string, sname?: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export function buildProject(projectPath: string, projectName: string): Promise<void>;
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { pathNotExist, readFile, generateUUID, saveFile, copyFileSync, copyFolder, asyncImport } from "./utils.js";
|
|
3
|
+
import { generateAddonClient } from './load.js';
|
|
4
|
+
import { AddonManifestHeader, AddonManifestModule, AddonManifest, AddonManifestMetadata } from '../core/addon/manifest.js';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import fs from 'fs';
|
|
7
|
+
import { rollup } from 'rollup';
|
|
8
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
9
|
+
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
10
|
+
import ts from '@rollup/plugin-typescript';
|
|
11
|
+
import { typescriptPaths as paths } from 'rollup-plugin-typescript-paths';
|
|
12
|
+
import json from '@rollup/plugin-json';
|
|
13
|
+
import { visualizer } from 'rollup-plugin-visualizer';
|
|
14
|
+
import { syncDevFilesClient } from './dev-server/syncFiles.js';
|
|
15
|
+
import { hmr } from './dev-server/hmr.js';
|
|
16
|
+
import cp from 'child_process';
|
|
17
|
+
// 获取当前文件的目录路径
|
|
18
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
19
|
+
const __dirname = path.dirname(__filename);
|
|
20
|
+
//读取配置文件
|
|
21
|
+
// const pathConfig = JSON.parse(readFile(path.join(__dirname, "./build.config")))
|
|
22
|
+
const rollupIgnores = [
|
|
23
|
+
'rollup',
|
|
24
|
+
'typescript',
|
|
25
|
+
'@sapdon',
|
|
26
|
+
];
|
|
27
|
+
//脚本打包器
|
|
28
|
+
export const scriptBundler = {
|
|
29
|
+
__projectPath: path.join(__dirname, '../../'),
|
|
30
|
+
js: (source, target) => {
|
|
31
|
+
copyFolder(source, target);
|
|
32
|
+
},
|
|
33
|
+
//ts先通过rollup处理后再复制
|
|
34
|
+
ts: async (source, target, tname = 'index.js', sname = 'index.ts') => {
|
|
35
|
+
// console.log(source, target, tname)
|
|
36
|
+
const tmpFile = path.join(scriptBundler.__projectPath, '.tmp', `sapdon-${crypto.randomUUID()}.js`);
|
|
37
|
+
try {
|
|
38
|
+
const bundle = await rollup({
|
|
39
|
+
input: path.join(source, sname),
|
|
40
|
+
plugins: [
|
|
41
|
+
paths(),
|
|
42
|
+
nodeResolve({
|
|
43
|
+
preferBuiltins: true
|
|
44
|
+
}),
|
|
45
|
+
ts({
|
|
46
|
+
tsconfig: path.join(scriptBundler.__projectPath, 'tsconfig.json'),
|
|
47
|
+
}),
|
|
48
|
+
commonjs(),
|
|
49
|
+
json(),
|
|
50
|
+
// visualizer({ open: true }), //可视化分析, 打包出问题取消注释这一行
|
|
51
|
+
],
|
|
52
|
+
external(name) {
|
|
53
|
+
for (const candidate of rollupIgnores) {
|
|
54
|
+
if (name.includes(candidate)) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
await bundle.write({
|
|
62
|
+
file: tmpFile,
|
|
63
|
+
format: 'esm',
|
|
64
|
+
});
|
|
65
|
+
bundle.close();
|
|
66
|
+
fs.cpSync(tmpFile, path.join(target, tname));
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
console.error(e);
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
fs.rmSync(tmpFile, {
|
|
73
|
+
recursive: true,
|
|
74
|
+
force: true
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
async function bundleScripts(projectPath, scriptPath, element) {
|
|
80
|
+
const sourcePath = path.join(projectPath, element.path);
|
|
81
|
+
const elementType = element.type || 'js';
|
|
82
|
+
scriptBundler.__projectPath = projectPath;
|
|
83
|
+
scriptBundler[elementType](sourcePath, scriptPath);
|
|
84
|
+
}
|
|
85
|
+
function preload(filePath) {
|
|
86
|
+
fs.appendFileSync(filePath, `
|
|
87
|
+
;(async () => {
|
|
88
|
+
const { startDevServer } = await import('@sapdon/cli')
|
|
89
|
+
const { GRegistry, UISystemRegistry } = await import('@sapdon/core')
|
|
90
|
+
startDevServer(GRegistry, UISystemRegistry)
|
|
91
|
+
process.send('initialized')
|
|
92
|
+
})();
|
|
93
|
+
`);
|
|
94
|
+
}
|
|
95
|
+
async function runOnChild(targetFilePath) {
|
|
96
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
97
|
+
const child = cp.fork(targetFilePath, { stdio: 'inherit' });
|
|
98
|
+
child.once('message', message => {
|
|
99
|
+
if (message !== 'initialized') {
|
|
100
|
+
child.kill();
|
|
101
|
+
}
|
|
102
|
+
resolve();
|
|
103
|
+
});
|
|
104
|
+
await promise;
|
|
105
|
+
}
|
|
106
|
+
async function runScript(src) {
|
|
107
|
+
if (src.endsWith('.ts')) {
|
|
108
|
+
const randomName = crypto.randomUUID() + '.js';
|
|
109
|
+
const sourceDir = path.dirname(src);
|
|
110
|
+
const sourceFileName = src.replace(sourceDir, '');
|
|
111
|
+
const targetFilePath = path.join(sourceDir, randomName);
|
|
112
|
+
await scriptBundler.ts(sourceDir, sourceDir, randomName, sourceFileName);
|
|
113
|
+
preload(targetFilePath);
|
|
114
|
+
try {
|
|
115
|
+
await runOnChild(targetFilePath);
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
fs.rmSync(targetFilePath, { force: true });
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
await runOnChild(src);
|
|
123
|
+
}
|
|
124
|
+
export function projectCanBuild(projectPath, projectName) {
|
|
125
|
+
console.log("开始构建项目");
|
|
126
|
+
console.log("项目路径:" + projectPath);
|
|
127
|
+
//检查项目是否存在
|
|
128
|
+
if (pathNotExist(projectPath)) {
|
|
129
|
+
console.log("项目不存在");
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
//检查项目是否有build.config文件
|
|
133
|
+
if (pathNotExist(path.join(projectPath, "build.config"))) {
|
|
134
|
+
console.log("项目没有build.config文件");
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
//构建项目
|
|
140
|
+
/**
|
|
141
|
+
* `client`
|
|
142
|
+
*
|
|
143
|
+
* 在使用前使用 `projectCanBuild` 确保项目可以构建
|
|
144
|
+
* @param {string} projectPath
|
|
145
|
+
* @param {string} projectName
|
|
146
|
+
*/
|
|
147
|
+
export const buildProject = async (projectPath, projectName) => {
|
|
148
|
+
//读取build.config文件
|
|
149
|
+
const buildConfigPath = path.join(projectPath, "build.config");
|
|
150
|
+
const buildConfig = JSON.parse(readFile(buildConfigPath));
|
|
151
|
+
//console.log(buildConfig)
|
|
152
|
+
//读取mod.info文件
|
|
153
|
+
const modInfoPath = path.join(projectPath, "mod.info");
|
|
154
|
+
const modInfo = JSON.parse(readFile(modInfoPath));
|
|
155
|
+
const min_engine_version = versionStringToArray(modInfo.min_engine_version);
|
|
156
|
+
const buildDirPath = path.join(projectPath, buildConfig.defaultConfig.buildDir);
|
|
157
|
+
const buildBehDirPath = path.join(buildDirPath, `${projectName}_BP/`);
|
|
158
|
+
const buildResDirPath = path.join(buildDirPath, `${projectName}_RP/`);
|
|
159
|
+
//生成manifest.json文件
|
|
160
|
+
//判断manifest.json是否已经生成过了,生成过了就不用生成
|
|
161
|
+
const manifestPath = path.join(buildBehDirPath, "manifest.json");
|
|
162
|
+
if (pathNotExist(manifestPath)) {
|
|
163
|
+
const behManifest = generateBehManifest(modInfo.name, modInfo.description, modInfo.version, {
|
|
164
|
+
min_engine_version: min_engine_version,
|
|
165
|
+
}, buildConfig.defaultConfig.dependencies, buildConfig.defaultConfig.scriptEntry);
|
|
166
|
+
const resManifest = generateResManifest(modInfo.name, modInfo.description, modInfo.version, {
|
|
167
|
+
min_engine_version: min_engine_version,
|
|
168
|
+
}, []);
|
|
169
|
+
//BP
|
|
170
|
+
saveFile(path.join(buildBehDirPath, "manifest.json"), behManifest);
|
|
171
|
+
//RP
|
|
172
|
+
saveFile(path.join(buildResDirPath, "manifest.json"), resManifest);
|
|
173
|
+
}
|
|
174
|
+
//复制pack_icon.png
|
|
175
|
+
const packIconPath = path.join(projectPath, "pack_icon.png");
|
|
176
|
+
copyFileSync(packIconPath, path.join(buildBehDirPath, "pack_icon.png"));
|
|
177
|
+
copyFileSync(packIconPath, path.join(buildResDirPath, "pack_icon.png"));
|
|
178
|
+
const resources = buildConfig.resources;
|
|
179
|
+
resources.forEach(element => {
|
|
180
|
+
const sourcePath = path.join(projectPath, element.path);
|
|
181
|
+
copyFolder(sourcePath, buildResDirPath);
|
|
182
|
+
});
|
|
183
|
+
const scripts = buildConfig.scripts;
|
|
184
|
+
const scriptPath = path.join(buildBehDirPath, "scripts/");
|
|
185
|
+
for (const element of scripts) {
|
|
186
|
+
await bundleScripts(projectPath, scriptPath, element);
|
|
187
|
+
}
|
|
188
|
+
const absoluteModPath = path.join(projectPath, buildConfig.defaultConfig.buildEntry);
|
|
189
|
+
await runScript(absoluteModPath);
|
|
190
|
+
//只有当buildMode为development时才加载用户modjs文件
|
|
191
|
+
if (buildConfig.defaultConfig.buildMode === "development") {
|
|
192
|
+
//动态加载用户modjs文件
|
|
193
|
+
await generateAddonClient(absoluteModPath, buildDirPath, projectName);
|
|
194
|
+
}
|
|
195
|
+
syncDevFilesClient(projectPath, projectName);
|
|
196
|
+
if (buildConfig.useHMR === true) {
|
|
197
|
+
hmr(projectPath, projectName);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
function versionStringToArray(versionString) {
|
|
201
|
+
// 使用 split 方法将字符串按 '.' 分割成数组
|
|
202
|
+
const parts = versionString.split('.');
|
|
203
|
+
// 使用 map 方法将每个部分转换为数字
|
|
204
|
+
const versionArray = parts.map(part => Number(part));
|
|
205
|
+
return versionArray;
|
|
206
|
+
}
|
|
207
|
+
const generateBehManifest = (name, description, version, options = {}, dependencies = [], entry) => {
|
|
208
|
+
console.log("开始生成behavior_packs/manifest.json");
|
|
209
|
+
console.log("Entry:", entry);
|
|
210
|
+
const header = new AddonManifestHeader((name + "_BP"), description, versionStringToArray(version), generateUUID(), options);
|
|
211
|
+
const module = new AddonManifestModule("行为模块", "data", generateUUID(), versionStringToArray(version));
|
|
212
|
+
const script_module = new AddonManifestModule("脚本模块", "script", generateUUID(), versionStringToArray(version));
|
|
213
|
+
if (entry) {
|
|
214
|
+
script_module.entry = entry;
|
|
215
|
+
}
|
|
216
|
+
const metadata = new AddonManifestMetadata(["@sapdon"], "MIT", {
|
|
217
|
+
"sapdon": ["1.0.0"]
|
|
218
|
+
}, "addon", "https://github.com/junjun260/sapdon");
|
|
219
|
+
const manifest = new AddonManifest(2, //格式版本
|
|
220
|
+
header, [module, script_module], dependencies, null, metadata);
|
|
221
|
+
return JSON.stringify(manifest, null, 2);
|
|
222
|
+
};
|
|
223
|
+
const generateResManifest = (name, description, version, options = {}, dependencies = []) => {
|
|
224
|
+
const header = new AddonManifestHeader((name + "_RP"), description, versionStringToArray(version), generateUUID(), options);
|
|
225
|
+
const module = new AddonManifestModule("资源模块", "resources", generateUUID(), versionStringToArray(version));
|
|
226
|
+
const metadata = new AddonManifestMetadata(["@sapdon"], "MIT", {
|
|
227
|
+
"sapdon": ["1.0.0"]
|
|
228
|
+
}, "addon", "https://github.com/junjun260/sapdon");
|
|
229
|
+
const manifest = new AddonManifest(2, //格式版本
|
|
230
|
+
header, [module], [], null, metadata);
|
|
231
|
+
return JSON.stringify(manifest, null, 2);
|
|
232
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { devServerConfig } from './config.js';
|
|
2
|
+
const { port } = devServerConfig;
|
|
3
|
+
export async function cliRequest(path, ...params) {
|
|
4
|
+
try {
|
|
5
|
+
await fetch(`http://localhost:${port}/${path}`, {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
headers: {
|
|
8
|
+
'Content-Type': 'application/json'
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify(params)
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error(error);
|
|
15
|
+
console.error('尝试在构建脚本中使用 server.startDevServer() 启动开发服务器');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export async function writeAddon(modPath, buildPath, projectName) {
|
|
19
|
+
await cliRequest('write-addon', modPath, buildPath, projectName);
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function hmr(projectPath: any, projectName: any): void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import lodash from 'lodash';
|
|
3
|
+
import { buildProject } from '../build.js';
|
|
4
|
+
const debounce = lodash.debounce;
|
|
5
|
+
export function hmr(projectPath, projectName) {
|
|
6
|
+
// fs.watch(projectPath, { recursive: true }, debounce(async (eventType, filename) => {
|
|
7
|
+
// if (filename.endsWith('.js') || filename.endsWith('.ts')) {
|
|
8
|
+
// process.stdout.write(`File ${filename} changed, reloading...\r`)
|
|
9
|
+
// await buildProject(projectPath, projectName)
|
|
10
|
+
// console.log(`Reloaded ${filename}`)
|
|
11
|
+
// }
|
|
12
|
+
// }), 1000)
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { generateAddon } from "../load.js";
|
|
2
|
+
import { bootstrap, isListening, server } from "./server.js";
|
|
3
|
+
import { syncDevFilesServer } from "./syncFiles.js";
|
|
4
|
+
export function startDevServer(GRegistry, UIRegistry) {
|
|
5
|
+
if (!isListening()) {
|
|
6
|
+
bootstrap();
|
|
7
|
+
server.handle('write-addon', generateAddon(GRegistry, UIRegistry));
|
|
8
|
+
server.handle('sync-files', syncDevFilesServer);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export { server, };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import http from 'http';
|
|
2
|
+
import { devServerConfig } from './config.js';
|
|
3
|
+
const { port } = devServerConfig;
|
|
4
|
+
const cliServerHandlers = new Map();
|
|
5
|
+
let listening = false;
|
|
6
|
+
export function isListening() {
|
|
7
|
+
return listening;
|
|
8
|
+
}
|
|
9
|
+
// server
|
|
10
|
+
export function bootstrap() {
|
|
11
|
+
listening = true;
|
|
12
|
+
const svr = http.createServer(async (req, res) => {
|
|
13
|
+
const handler = cliServerHandlers.get(req.url.slice(1));
|
|
14
|
+
if (handler) {
|
|
15
|
+
try {
|
|
16
|
+
const { promise, resolve, reject } = Promise.withResolvers();
|
|
17
|
+
let buf = Buffer.alloc(0);
|
|
18
|
+
req.on('data', chunk => buf = Buffer.concat([buf, chunk]));
|
|
19
|
+
req.on('end', () => {
|
|
20
|
+
try {
|
|
21
|
+
resolve(JSON.parse(buf));
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
reject(error);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
await handler(...await promise);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(error);
|
|
31
|
+
res.writeHead(500);
|
|
32
|
+
res.end();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
res.writeHead(200);
|
|
36
|
+
res.end();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
res.writeHead(404);
|
|
40
|
+
res.end();
|
|
41
|
+
}
|
|
42
|
+
}).listen(port, () => console.log(`Dev Server listening on port ${port}`));
|
|
43
|
+
svr.on('error', () => listening = false);
|
|
44
|
+
return svr;
|
|
45
|
+
}
|
|
46
|
+
export const server = {
|
|
47
|
+
handle(url, handler) {
|
|
48
|
+
cliServerHandlers.set(url, handler);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { readFileSync } from "fs";
|
|
2
|
+
import { cliRequest } from "./client.js";
|
|
3
|
+
import { copyFolder, dirname } from "../utils.js";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
export async function syncDevFilesClient(projectPath, projectName) {
|
|
7
|
+
await cliRequest('sync-files', projectPath, projectName);
|
|
8
|
+
}
|
|
9
|
+
export async function syncDevFilesServer(projectPath, projectName) {
|
|
10
|
+
const buildConfig = JSON.parse(readFileSync(path.join(projectPath, "build.config")));
|
|
11
|
+
const buildDir = path.join(projectPath, buildConfig.defaultConfig.buildDir);
|
|
12
|
+
const buildBehDirPath = path.join(buildDir, `${projectName}_BP`);
|
|
13
|
+
const buildResDirPath = path.join(buildDir, `${projectName}_RP`);
|
|
14
|
+
copyFolder(buildBehDirPath, path.join(buildConfig.mojangPath, "development_behavior_packs/", `${projectName}_BP/`));
|
|
15
|
+
copyFolder(buildResDirPath, path.join(buildConfig.mojangPath, "development_resource_packs/", `${projectName}_RP/`));
|
|
16
|
+
}
|
|
17
|
+
export async function writeLib(projectPath) {
|
|
18
|
+
const projectModules = path.join(projectPath, "node_modules");
|
|
19
|
+
const rootDir = path.join(dirname(import.meta), '../../');
|
|
20
|
+
const corePath = path.join(rootDir, 'core');
|
|
21
|
+
const cliPath = path.join(rootDir, 'cli');
|
|
22
|
+
const targetCorePath = path.join(projectModules, '@sapdon/core');
|
|
23
|
+
const targetCliPath = path.join(projectModules, '@sapdon/cli');
|
|
24
|
+
fs.cpSync(corePath, targetCorePath, { recursive: true, force: true });
|
|
25
|
+
fs.cpSync(cliPath, targetCliPath, { recursive: true, force: true });
|
|
26
|
+
fs.writeFileSync(path.join(targetCorePath, 'package.json'), JSON.stringify({
|
|
27
|
+
name: '@sapdon/core',
|
|
28
|
+
main: 'index.js',
|
|
29
|
+
version: '1.0.0',
|
|
30
|
+
}));
|
|
31
|
+
fs.writeFileSync(path.join(targetCliPath, 'package.json'), JSON.stringify({
|
|
32
|
+
name: '@sapdon/cli',
|
|
33
|
+
main: 'index.js',
|
|
34
|
+
version: '1.0.0',
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { server as devServer, startDevServer } from "./dev-server/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { server as devServer, startDevServer, } from './dev-server/index.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function initMojangPath(projectPath: any): void;
|
|
2
|
+
export function initProject(projectPath: any, data: any): void;
|
|
3
|
+
export function initNPMProject(projectPath: any, data: any): void;
|
|
4
|
+
export function readPackageJson(dir: any): {
|
|
5
|
+
name: string;
|
|
6
|
+
description: any;
|
|
7
|
+
author: any;
|
|
8
|
+
version: any;
|
|
9
|
+
};
|
package/dist/cli/init.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import { pathNotExist, copyFolder, saveFile } from './utils.js';
|
|
4
|
+
import fs from "fs";
|
|
5
|
+
import cp from "child_process";
|
|
6
|
+
import os from "os";
|
|
7
|
+
// 获取当前文件的路径
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
// 获取当前文件的目录
|
|
10
|
+
const __dirname = path.dirname(__filename);
|
|
11
|
+
const templateMapping = {
|
|
12
|
+
js: 'test_sapdon',
|
|
13
|
+
ts: 'ts_sapdon'
|
|
14
|
+
};
|
|
15
|
+
export function initMojangPath(projectPath) {
|
|
16
|
+
const mojangPath = path.join(os.homedir(), "AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/");
|
|
17
|
+
const betaPath = path.join(os.homedir(), "AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/");
|
|
18
|
+
const buildConfigPath = path.join(projectPath, './build.config');
|
|
19
|
+
const buildConfig = JSON.parse(fs.readFileSync(buildConfigPath));
|
|
20
|
+
buildConfig.mojangPath = mojangPath;
|
|
21
|
+
buildConfig.betaPath = betaPath;
|
|
22
|
+
saveFile(buildConfigPath, JSON.stringify(buildConfig, null, 2));
|
|
23
|
+
}
|
|
24
|
+
export const initProject = (projectPath, data) => {
|
|
25
|
+
console.log(1, data);
|
|
26
|
+
//检查项目目录是否存在
|
|
27
|
+
//如果不存在则创建项目目录
|
|
28
|
+
//从模板下载项目文件
|
|
29
|
+
//根据用户输入的项目信息生成项目配置文件
|
|
30
|
+
//根据用户选择是否生成脚本文件,生成脚本文件
|
|
31
|
+
if (!pathNotExist(projectPath)) {
|
|
32
|
+
console.log("项目名称已存在,创建项目目录失败");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
//模版目录
|
|
36
|
+
const templateDir = path.join(__dirname, `../../src/templates/${templateMapping[data.language || 'js']}`);
|
|
37
|
+
copyFolder(templateDir, projectPath);
|
|
38
|
+
//生成模组介绍文件
|
|
39
|
+
saveFile(path.join(projectPath, "mod.info"), JSON.stringify(data, null, 2));
|
|
40
|
+
//执行npm i
|
|
41
|
+
cp.execSync('npm i', { cwd: projectPath, stdio: 'inherit' });
|
|
42
|
+
};
|
|
43
|
+
export const initNPMProject = (projectPath, data) => {
|
|
44
|
+
//检查项目文件是否存在
|
|
45
|
+
//如果不存在则创建项目
|
|
46
|
+
//从模板下载项目文件
|
|
47
|
+
//根据用户输入的项目信息生成项目配置文件
|
|
48
|
+
//根据用户选择是否生成脚本文件,生成脚本文件
|
|
49
|
+
if (!pathNotExist(path.join(projectPath, "mod.info")) || !pathNotExist(path.join(projectPath, "main.mjs")) || !pathNotExist(path.join(projectPath, "scripts")) || !pathNotExist(path.join(projectPath, "build.config"))) {
|
|
50
|
+
console.log("项目已存在...");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
//模版目录
|
|
54
|
+
const templateDir = path.join(__dirname, "../templates/test_sapdon");
|
|
55
|
+
copyFolder(templateDir, projectPath);
|
|
56
|
+
//生成模组介绍文件
|
|
57
|
+
saveFile(path.join(projectPath, "mod.info"), JSON.stringify(data, null, 2));
|
|
58
|
+
};
|
|
59
|
+
// 读取package.json文件并提取信息
|
|
60
|
+
export const readPackageJson = (dir) => {
|
|
61
|
+
const packageJsonPath = path.join(dir, 'package.json');
|
|
62
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
63
|
+
try {
|
|
64
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
65
|
+
return {
|
|
66
|
+
name: path.basename(dir),
|
|
67
|
+
description: packageJson.description || "A new sapdon project",
|
|
68
|
+
author: packageJson.author || "Sapdon",
|
|
69
|
+
version: packageJson.version || "1.0.0"
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error("读取package.json文件时出错:", error);
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export function processBlocksData(data: any): any;
|
|
2
|
+
export function generateAddonClient(modPath: any, buildPath: any, projectName: any): Promise<void>;
|
|
3
|
+
export function generateAddon(GRegistry: any, UISystemRegistry: any): (modPath: any, buildPath: any, projectName: any) => Promise<void>;
|