diff --git a/Writerside/images/console_patterns.png b/Writerside/images/console_patterns.png new file mode 100644 index 0000000..b63593f Binary files /dev/null and b/Writerside/images/console_patterns.png differ diff --git a/Writerside/images/desktop_basic_structure.png b/Writerside/images/desktop_basic_structure.png new file mode 100644 index 0000000..438f5b7 Binary files /dev/null and b/Writerside/images/desktop_basic_structure.png differ diff --git a/Writerside/images/shell_change_gui.png b/Writerside/images/shell_change_gui.png new file mode 100644 index 0000000..1d14d19 Binary files /dev/null and b/Writerside/images/shell_change_gui.png differ diff --git a/Writerside/images/shell_patterns.png b/Writerside/images/shell_patterns.png new file mode 100644 index 0000000..743dccd Binary files /dev/null and b/Writerside/images/shell_patterns.png differ diff --git a/Writerside/topics/Console-Unit-Patterns.md b/Writerside/topics/Console-Unit-Patterns.md new file mode 100644 index 0000000..e4bb7ec --- /dev/null +++ b/Writerside/topics/Console-Unit-Patterns.md @@ -0,0 +1,83 @@ +# Console Unit Patterns + +A console unit design can be modified by interacting with a Console Configurator on the side of a console using the Pattern Manipulator item. Users can select from a range of available patterns and designs to customize the look of their console unit. + +## Datapack + +### File Structure +Console patterns follow the following structure: +``` +* data + * [your_datapack_pack_namespace] + * tardis_refined + * patterns + * console + * [console_theme_id].json +``` + +### Pattern JSON + +Inside the datapack you need to create a ``.json`` file to define the properties of the Console Pattern. + +The name of this JSON file MUST match the name of the shell theme you are modifying. E.g. If you are modifying the Copper Console theme you must use its id of copper. + +> To see the list of Console theme IDs, you can find them inside the mod's JAR file using a computer program such as 7zip. The directory inside the JAR file is data/tardis_refined/tardis_refined/patterns/console. + +A JSON must follow the following structure: + +``copper.json`` +```json +{ + "patterns": [ + { + "id": "example:copper", + "name_component": "{\"color\":\"yellow\",\"text\":\"Copper\"}", + "texture_definition": { + "emissive": true, + "texture": "tardis_refined:textures/patterns/console/copper/copper_console.png" + } + }, + { + "id": "example:sculk", + "name_component": "{\"color\":\"yellow\",\"text\":\"Sculk\"}", + "texture_definition": { + "emissive": false, + "texture": "example:textures/patterns/console/copper/copper_console_sculk.png" + } + } + ] +} +``` + +## Resource Pack +You also need to create a Minecraft Resource Pack that contains all the textures you will be using in each pattern. + +The structure of the resource pack should match what you have defined in the pattern JSON. + +Example: + +For instance, in the ``example:sculk`` example of the example patterns shown above, the texture path is defined as: + +``example:textures/patterns/console/copper/copper_console_sculk.png`` + +This means our Resource pack that contains the texture file will need to be structured according to the full path, like so: + +``` +* assets + * example + * textures + * patterns + * console + * copper_console_sculk.png +``` + +> NOTE: The image file MUST be a .png file type because Minecraft will only accept these type of image files. + +### Emissive Texture Files + +You can allow your Patterns to be emissive, meaning it will glow in the dark like Minecraft Glow Squids! + +This is disabled by default, however you can enable it by using the following steps: + +1. Inside the pattern JSON file, set the ``emissive`` field for the texture object of a Pattern to be ``true``. +2. Rename the texture file to append the word ``_emissive`` to the end. You MUST use this exact spelling or the texture won't be picked up by the mod. i.e. ``copper_console_sculk.png`` --> ``copper_console_sculk_emissive.png`` diff --git a/Writerside/topics/Desktops.md b/Writerside/topics/Desktops.md new file mode 100644 index 0000000..5f8de3a --- /dev/null +++ b/Writerside/topics/Desktops.md @@ -0,0 +1,72 @@ +# Desktops + +Through the use of Datapacks, it is possible to implement custom desktops which can be taken from the save file and reused in other areas. + +## Datapack Work + + +### Requirements +In order to create desktop, there are only two requirements. + +1. The TARDIS Door +2. The Airlock Generator + +``` +/give @p tardis_refined:air_lock_generator +``` + +The Airlock Generator will place the airlock upon generating the desktop. It will be placed SOUTH of the block. + +![desktop_basic_structure.png](desktop_basic_structure.png) + + +### Desktop Export Command + +As a handy tool, we have provided the following command. This command will generate all the required datapack files for a new desktop, and automatically load it into the datapack folder of the world save so you don't have to! + +``` +/tardis_refined data export desktop +``` + +``X1, Y1, Z1`` +: A BlockPos, the first corner of the built structure. + +``X2 Y2 Z2`` +: A BlockPos, the direct opposite corner of the built structure. + +``include_entities`` +: True or False, Includes saving entities in the structure. Can be useful for if item frames or armor stands are present in the build. + +``name_space`` +: String, The namespace of the datapack. +: Examples: ``tardis_refined_tweaks``, ``panda`` + +``desktop_id`` +: String, Unique identifier for the desktop. +: Examples: ``neon``, ``hartnell_lounge`` + +``datapack_name`` +: String, Name of the datapack. +: Examples: ``cool_pack``, ``custom_name_here`` + +``display_name`` +: NBTComponent, Display Text for the UI. +: ONLY USE the Minecraft Tellraw generated text, DO NOT include the tellraw command syntax. You can find a generator here. +: Example: ``{\"color\":\"gold\",\"text\":\"Copper\"}`` + +## Resource Pack +### Desktop Preview Texture +By default, the desktop preview texture will show a placeholder texture. If you want to show a texture for the desktops, you need to create a Minecraft Resource Pack that follows the following structure: + +``` +* assets + * [your_resource_pack_namespace] + * textures + * ui + * desktops + * [your_desktop_id].png +``` + +>Note: It is very important that this EXACT folder structure is used, because Tardis Desktops will only look from this exact type of folder structure. +> +> {style="warning"} \ No newline at end of file diff --git a/Writerside/topics/External-Shell-Patterns.md b/Writerside/topics/External-Shell-Patterns.md new file mode 100644 index 0000000..e2c6751 --- /dev/null +++ b/Writerside/topics/External-Shell-Patterns.md @@ -0,0 +1,99 @@ +# Shell Patterns + +The external shell of the Tardis can be customised in the External Shell Selection Screen, which can be accessed from the Computer Bank Control on a Tardis Console unit. + +![shell_change_gui.png](shell_change_gui.png) + +This feature provides users the ability to match their console with their personal preferences and style. + +![shell_patterns.png](shell_patterns.png) + +## Datapack + +### File Structure +Shell patterns follow the following structure: +``` +* data + * [your_datapack_pack_namespace] + * tardis_refined + * patterns + * shell + * [shell_theme_id].json +``` + +### Pattern JSON + +Inside the datapack you need to create a ``.json`` file to define the properties of the Shell Pattern. + +The name of this JSON file MUST match the name of the shell theme you are modifying. E.g. If you are modifying the Police Box Shell theme you must use its id of police_box. + +> To see the list of Shell theme IDs, you can find them inside the mod's JAR file using a computer program such as 7zip. The directory inside the JAR file is data/tardis_refined/tardis_refined/patterns/shell. + +The JSON structure for Shell Patterns differ slightly from that of Console Patterns, most notably, the exterior and interior fields, which define the texture for the Exterior Shell and Internal Door model respectively. + +``police_box.json`` +```json +{ + "patterns": [ + { + "id": "example:police_box_green", + "exterior": { + "emissive": false, + "texture": "example:textures/blockentity/shell/police_box/police_box_green.png" + }, + "interior": { + "emissive": false, + "texture": "example:textures/blockentity/shell/police_box/police_box_green_door.png" + }, + "name_component": "{\"color\":\"yellow\",\"text\":\"Green\"}" + }, + { + "id": "example:missing_key", + "exterior": { + "emissive": false, + "texture": "example:textures/blockentity/shell/police_box/missing_key.png" + }, + "interior": { + "emissive": false, + "texture": "example:textures/blockentity/shell/police_box/missing_key_door.png" + }, + "name_component": "{\"color\":\"yellow\",\"text\":\"Missing Key\"}" + } + ] +} +``` + +## Resource Pack +You also need to create a Minecraft Resource Pack that contains all the textures you will be using in each pattern. + +The structure of the resource pack should match what you have defined in the pattern JSON. + +Example: + +For instance, in the ``example:missing_key`` example of the example patterns shown above, the texture path is defined as: + +``example:textures/patterns/shell/police_box/missing_key.png`` +``example:textures/patterns/shell/police_box/missing_key_door.png`` + +This means our Resource pack that contains the texture file will need to be structured according to the full path, like so: + +``` +* assets + * example + * textures + * patterns + * shell + * missing_key.png + * missing_key_door.png +``` + +> NOTE: The image file MUST be a .png file type because Minecraft will only accept these type of image files. + +### Emissive Texture Files + +You can allow your Patterns to be emissive, meaning it will glow in the dark like Minecraft Glow Squids! + +This is disabled by default, however you can enable it by using the following steps: + +1. Inside the pattern JSON file, set the ``emissive`` field for the texture object of a Pattern to be ``true``. +2. Rename the texture file to append the word ``_emissive`` to the end. You MUST use this exact spelling or the texture won't be picked up by the mod. i.e. ``missing_key.png`` --> ``missing_key_emissive.png`` diff --git a/Writerside/topics/Patterns.md b/Writerside/topics/Patterns.md new file mode 100644 index 0000000..76810bb --- /dev/null +++ b/Writerside/topics/Patterns.md @@ -0,0 +1,8 @@ +# Patterns + +## What are Patterns? +Patterns allow you to customise the existing texture of a Tardis Console Unit or External Shell. + +![console_patterns.png](console_patterns.png) + +![shell_patterns.png](shell_patterns.png) diff --git a/Writerside/topics/Piloting-the-TARDIS.md b/Writerside/topics/Piloting-the-TARDIS.md new file mode 100644 index 0000000..69f240d --- /dev/null +++ b/Writerside/topics/Piloting-the-TARDIS.md @@ -0,0 +1,3 @@ +# Piloting the TARDIS + +Start typing here... \ No newline at end of file diff --git a/Writerside/tr.tree b/Writerside/tr.tree index aae2adb..c7d4665 100644 --- a/Writerside/tr.tree +++ b/Writerside/tr.tree @@ -16,6 +16,7 @@ + @@ -36,7 +37,13 @@ - + + + + + + + \ No newline at end of file