diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..624851b --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,19 @@ +name: deploy +on: + push: + branches: + - master +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + cache: 'pip' + - run: | + pip install -r dependencies.txt + mkdocs gh-deploy --force \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25da6e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.obsidian \ No newline at end of file diff --git a/dependencies.txt b/dependencies.txt new file mode 100644 index 0000000..93a41f3 --- /dev/null +++ b/dependencies.txt @@ -0,0 +1,6 @@ +markdown>=3.4.4 +mkdocs>=1.5.2 +mkdocs-material>=9.2.7 +mkdocs-material-extensions>=1.1.1 +pygments>=2.16.1 +pymdown-extensions>=10.3 \ No newline at end of file diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 0000000..58f91c9 --- /dev/null +++ b/docs/about.md @@ -0,0 +1,3 @@ +# About + +CleanroomMC is a GitHub/Discord-based organization that concentrates on ~~making the world a better place~~ maintaining existing mods, as well as innovating newer toolchains, mods and libraries to carry on the version of Minecraft 1.12.2. diff --git a/docs/assets/icon.png b/docs/assets/icon.png new file mode 100644 index 0000000..972a320 Binary files /dev/null and b/docs/assets/icon.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..2339bc0 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,7 @@ +Here you will find information on all of Cleanroom's **mods, libraries and toolchains.** + +As well as information on an ever-growing information database of **Minecraft 1.12.2 and its modding environment.** + +## ^^Contribution^^ + +If you want to contribute to this wiki, please head towards our [:fontawesome-brands-github: GitHub Repository](https://github.com/CleanroomMC/Encyclopedia) and open up a Pull Request! diff --git a/mod_development/behaviours/neighbours.md b/docs/mod-development/behaviour/neighbours.md similarity index 100% rename from mod_development/behaviours/neighbours.md rename to docs/mod-development/behaviour/neighbours.md diff --git a/docs/mod-development/debugging.md b/docs/mod-development/debugging.md new file mode 100644 index 0000000..54062c4 --- /dev/null +++ b/docs/mod-development/debugging.md @@ -0,0 +1,15 @@ + +![Depiction of Steps Taken to Debug](debugging_example.png){ width="550" align=right } + +

+1. Run :material-menu-right:`Run Client` or :material-menu-right:`Run Server` in :material-bug:`Debug Mode` +

+2. Whenever you change parts of your code, use the :hammer:`Build Project` next to the dropdown menu for run configurations. + +

+ +!!! info + When using either ForgeGradle 2.3 or RetroFuturaGradle. The steps are the same! Though, this may change once CleanroomGradle is released. + +!!! warning + This will not work for certain parts of the code, very noticeable checks (such as console log) in changed code are strongly advised! diff --git a/docs/mod-development/debugging_example.png b/docs/mod-development/debugging_example.png new file mode 100644 index 0000000..5385c3c Binary files /dev/null and b/docs/mod-development/debugging_example.png differ diff --git a/mod_development/events/events.md b/docs/mod-development/event/overview.md similarity index 63% rename from mod_development/events/events.md rename to docs/mod-development/event/overview.md index 85681a1..a667b05 100644 --- a/mod_development/events/events.md +++ b/docs/mod-development/event/overview.md @@ -1,7 +1,6 @@ -## Events - Events are the backbone of Forge's modding ecosystem, there are two major event types. - - FMLEvent - - Event + - `FMLEvent` + - `Event` - FMLEvents are events for different aspects of mod loading. 1. `FMLFingerprintViolationEvent`: fires when the mod that is running has mismatched fingerprints. @@ -33,15 +32,90 @@ - Different event types have their own ways of being listened to and unique ways of being posted. - FMLEvents are listened to by having the `@EventHandler` annotation on methods within `@Mod` annotated classes. These must be member methods. **These listeners are called reflectively** +??? abstract "Example" + ```java title="ExampleClass.java" + @Mod(modid = "modid", name = "Mod Name", version = "1.0") + public class ExampleClass { + + @EventHandler + public void runOnPreInit(FMLPreInitializationEvent event) { + // This block of code will run when FMLPreInitializationEvent is happening + } + + } + ``` - Other types of events are more flexible in how they're being registered. **These listeners are called natively** 1. Annotation Magic: `@EventBusSubscriber` class level annotation - These classes must withhold from being loaded before annotations are processed. - If it is annotated with `@Mod`, the `modid` argument isn't needed, otherwise it is needed for recognition sake. - Any methods in here that wants to listen to an event **must** be static. + ??? abstract "Example" + ```java title="ExampleClass.java" + @EventBusSubscriber(modid = "modid") + public class ExampleClass { + + @SubscribeEvent + public static void thisIsAEventListener(Event event) { + // This block of code will run when whichever Event is denoted in the argument + } + + } + ``` + 2. EVENT_BUS interaction: - Events are ran on different event buses, Forge originally wanted to differentiate events properly, then realised that EventBuses are really confusing. - All the EventBuses can be found in `MinecraftForge.class`, those being `EVENT_BUS`, `TERRAIN_GEN_BUS` and `ORE_GEN_BUS`. - - Technically a mod can implement their own buses, but I have never seen one. + - Technically a mod can implement their own buses, but there doesn't seem to be any in the wild. - Call `register` on any EventBuses and pass through either a class or an object that you want the buses to fire events to. - **Class = static methods accepted only.** + ??? abstract "Example" + ```java title="StaticExample.java" + public class StaticExample { + + public static void register() { + MinecraftForge.EVENT_BUS.register(EventListener.class); + } + + public static class EventListener { + + @SubscribeEvent + public static void thisListenerWillRun(Event event) { + // This method is static + // This block of code will run when whichever Event is denoted in the argument + } + + @SubscribeEvent + public void thisListenerWillNeverRun(Event event) { + // This method is not static + } + + } + + } + ``` - **Object = member methods accepted only.** + ??? abstract "Example" + ```java title="MemberExample.java" + public class MemberExample { + + public static void register() { + MinecraftForge.EVENT_BUS.register(new EventListener()); + } + + public static class EventListener { + + @SubscribeEvent + public void thisListenerWillRun(Event event) { + // This method is not static + // This block of code will run when whichever Event is denoted in the argument + } + + @SubscribeEvent + public static void thisListenerWillNeverRun(Event event) { + // This method is static + } + + } + + } + ``` diff --git a/mod_development/events/player/PlayerDestroyItemEvent.md b/docs/mod-development/event/player-destroy-item-event.md similarity index 100% rename from mod_development/events/player/PlayerDestroyItemEvent.md rename to docs/mod-development/event/player-destroy-item-event.md diff --git a/mod_development/sounds/play_sound.md b/docs/mod-development/game-object/sound/play.md similarity index 99% rename from mod_development/sounds/play_sound.md rename to docs/mod-development/game-object/sound/play.md index e800851..bfd1593 100644 --- a/mod_development/sounds/play_sound.md +++ b/docs/mod-development/game-object/sound/play.md @@ -1,4 +1,3 @@ -## Playing Sounds - There are numerous of ways to play a sound within Minecraft. - The methods of doing so frequently get mixed up as the overload parameters are very alike. - They also differ depending on which logical side you are on, and how you want the sound to be perceived. diff --git a/mod_development/client/colours/colouring_blocks_and_items.md b/docs/mod-development/rendering/colouring-blocks-and-items.md similarity index 100% rename from mod_development/client/colours/colouring_blocks_and_items.md rename to docs/mod-development/rendering/colouring-blocks-and-items.md diff --git a/mod_development/sidedness.md b/docs/mod-development/sidedness.md similarity index 83% rename from mod_development/sidedness.md rename to docs/mod-development/sidedness.md index 3d3ac78..12f1484 100644 --- a/mod_development/sidedness.md +++ b/docs/mod-development/sidedness.md @@ -1,14 +1,4 @@ -## Sidedness - -#### *Index:* - -0. Definitions & Explanations -1. `@Mod` parameters: `clientSideOnly` and `serverSideOnly` -2. `@SideOnly` Annotation -3. `@NetworkCheckHandler` Annotation -4. Credits - -#### 0. Introduction +### ^^Introduction^^ There are two ***sides*** in Minecraft, `client` and `server`. Not only are there two ***sides***, each ***side*** has a `physical` and `logical` differentiation. - `Physical Client`: The program that runs whenever you launch Minecraft. All threads and processes that run during the game’s graphical, interact-able lifetime are part of it. @@ -16,14 +6,14 @@ There are two ***sides*** in Minecraft, `client` and `server`. Not only are ther - `Logical Client`: Anything that happens in the `Client Thread`. It accepts inputs from the player and sends them to the `Server Thread`, it also accepts information from the `Server Thread` so it can display information corresponding to the game logic graphically for the player. - `Logical Server`: Anything that happens in the `Server Thread`. This thread will spawn on both the `Physical Client` and `Physical Server`. This thread deals with the game logic: mob spawning, weather, inventories, health and more. -#### 1. `@Mod` parameters: `clientSideOnly` and `serverSideOnly` -Does exactly what it says on the tin. +### ^^`@Mod`^^ +The parameters for `@Mod`: `clientSideOnly` and `serverSideOnly` - does exactly what it says on the tin. This is by far the best way to control your mod from only loading on a specific **physical side**. As it does this at the very beginning of mod loading process. However, the mod will not show up on the mod list, if that is less than desired, you will have to check out the annotations below. -#### 2. `@SideOnly` Annotation +### ^^`@SideOnly`^^ Annotation a class, field, method or constructor will tell Forge that this particular member should be **stripped** out of the loading process on the specified **physical side** (see: `net.minecraftforge.fml.common.asm.transformers.SideTransformer`). Usually only Minecraft and Forge code utilizes this. For Minecraft, Forge uses it to mark the members that Mojang's obfuscator had stripped out. @@ -31,12 +21,12 @@ Usually only Minecraft and Forge code utilizes this. For Minecraft, Forge uses i You should only annotate `@SideOnly` when you are **100% sure** that the member isn't needed for a particular **physical side**. Misusing this annotation may bring up crashes that are extremely hard to read (especially during class transformation). -#### 3. `@NetworkCheckHandler` Annotation +### ^^`@NetworkCheckHandler`^^ A somewhat obscure annotation that helps when you are creating a mod that needs to query **physical side** information. - Syntax: In your `@Mod` class, create a method of any name that takes in the parameters `(Map, net.minecraftforge.fml.relauncher.Side)` and allow it to return a `boolean`. During handshaking, when the `Physical Client` loads into a `Physical Server`, two things happen. On the `Physical Server`, it calls the `@NetworkCheckHandler` annotated method (if present) to see if the player should be stopped from joining, and vice-versa on the `Physical Client`. -#### 4. Credits -- Thanks to [Forge Community Wiki](https://forge.gemwire.uk/wiki/Sides) for a fleshed out description. \ No newline at end of file +[^1]: + Thanks to [Forge Community Wiki](https://forge.gemwire.uk/wiki/Sides) for a fleshed out description. \ No newline at end of file diff --git a/docs/proposal/standard/mtms.md b/docs/proposal/standard/mtms.md new file mode 100644 index 0000000..c852604 --- /dev/null +++ b/docs/proposal/standard/mtms.md @@ -0,0 +1,136 @@ +Below is the full extract (with format modifications) taken from [**Gliese832's** `minecraft-technical-metric-system` repository](https://github.com/Gliese-832-c/minecraft-technical-metric-system/blob/version_1.2.0), with his consent: + +

+ +![MTMS Banner](https://user-images.githubusercontent.com/55159077/167264687-0a35853f-3e7c-4bbb-9044-6811ecd891c7.png) + +A standard aiming at making modded Minecraft processing chains, in particularly - but not limited to - tech mods/modpacks far more realistic and consistent. Version 1.2.0. + +If you use this in your project, I would really appreciate it if you could link back to this exact page on your own main page or in any scripts or code classes that handle recipes using this system. While that is not required, it would greatly help the spread of this system. + +**The dark ages of modded Minecraft are about to end. The revolution is coming very soon.** + +### Term Definitions +- **Material**: Anything that is somehow used or created in processing. For example: Items, Blocks, Fluids. +- **Project**: Mods, modpacks, and anything similar that can use **MTMS** for its processing chains and the like. + +### Introduction +Named after how in the 18th century the metric system aimed to reduce confusion and unify the scattered and inconsistent measurement systems present at the time, **Gliese 832 c's Minecraft Technical Metric System**, also abbreviated as **Gliese's MTMS** or simply just **MTMS**, is a system/standard designed to unify all kinds of processing chains in modded Minecraft, particulary in, but not limited to, tech projects. + +Oftentimes amounts of things like chemicals and metals are all over the place, and it's very hard to design realistic chemical processing chains based off of real values. This system aims to do away with things like different materials of the same type (like liquid) having different amounts. (Such as gems being 666mB and metals 144mb.) Not only will it highly increase the realism and internal consistency of your project, since it's actually grounded in reality through the use of the unit mol, you could - if you wanted to put that much effort into your project - calculate realistic values like the RF/GTEU to Joule convertion ratio, which would further allow you to design even more realistic processes, power storage, fuel values, etc. + + +### **1** - Amount Based In-Game Amounts +All amounts are relative to the count of a particles in a material (commonly known as mol). For example, 1000mB of hydrogen gas and 1000mB of oxygen gas represent the same amount of molecules of these two materials. Volume and weight, as well as thermal expansion are ignored for the sake of simplicity as it would turn everything into a mess. + +### **2** - Materials Follow the Following Ratios +**1000 Mol **(IRL Unit)**** : +**100 Liquid** : **1600 Gas** : **1 Item** : **400 Compressed Gas** : +**100 Very Compressed Gas** : **100 Supercritical Fluid** : **50 Supercompressed Supercritical Fluid** : **25 Hypercompressed Supercritical Fluid** +(The last two will rarely be encountered, but are still listed for completeness' sake.) +*Note: 1000 mols was chosen as the number to represent 1 item, as it feels like a good value to emulate real life materials. For example, 1000 mols of iron would be 55.845kg, which seems like a decent value to represent one ingot. That much iron would be 7.092 liters.* + +**For example:** Let's try to represent the following chemical equation: `HCl + H₂O → H₃0⁺•Cl⁻` Hydrogen chloride is a gas, whereas water is a liquid. Using the ratios above, the recipe would look like this in-game: `0.16mB Hydrogen Chloride + 0.1mB Water → 0.1mB Hydrochloric Acid`. Since `H₃0⁺•Cl⁻` is one seen as one single "unit"/molecule, it's represented as 0.1mB, *not* 0.2mB. More on that in paragraph **5**. + +Since those values are impossibly low, you may, of course, use bigger batches of material to represent recipes. `1600mB Hydrogen Chloride + 100mB Water → 100mB Hydrochloric Acid` is a completely valid recipe, representing the reaction of 1000 mols of water and 1000 mols of hydrogen chloride into 1000 mols of hydrochloric acid IRL, that could exist in a machine such as a chemical reactor. + +**Another example:** Let's try representing a more complex chemical equation, like: `Acrolein + Acetaldehyde + Ammonia → Pyridine + 2 Water + Hydrogen`, or `C₃H₄O + C₂H₄O + NH₃ → C₅H₅N + 2H₂O + H₂` Ammonia and hydrogen are gases, the rest are liquids. Translated to **MTMS**, and with a multiplication factor of 1000, it would look like this: `100mB Acrolein + 100mB Acetaldehyde + 1600mB Ammonia → 100mB Pyridine + 200mB Water + 1600mB Hydrogen.` + +Lastly, let's use some of the less common material types and unconventional materials in **an example**: `4Fe + 3O₂ → 2Fe₂O₃` Assuming that air is exactly 1/5 oxygen, we could have a recipe like this: `2 Iron Dust + 3000mB Compressed Air → 1 Iron Oxide + 9600mB Deoxygenated Air` This recipe is trickier, as we have to do more math to reach a result. Since the ratio between an item and a compressed gas is 1:400 and we have 2 items, that gives us 800mB. However, you only need 3 oxygen for every iron as seen in the chemical equation above, so dividing that by 4/3 gives us 600mB of compressed oxygen that we would need. In addition to that, since this recipe actually uses compressed air which we assumed to be 1/5 oxygen, we need to multiply the amount of compressed oxygen by a value of 5, giving us 3000mB of compressed air that you need to react with 2 iron to get 1 iron oxide. Since we only actually used the 600mB of oxygen in the air, we would have 2400mB remaining. But if we say that the air decompressed, we have to adjust for that. Since the ratio of compressed gas to gas is 1:4, we simply multiply that number by 4. + +### **3** - Item Material Splitting +Sometimes you might want to use only tiny amounts of materials. While you can just use low amounts of millibuckets with fluids, that is not possible with items. So the following system has been devised for splitting items: + +This: | Equals to That: +-------- | ----------------------------------------------------- +1 Block | 25 Ingots = 625 Nuggets = 15625 Flakes = 390625 Specs = 9765625 Tiny Specs +1 Ingot | 25 Nuggets = 625 Flakes = 15625 Specs = 390625 Tiny Specs +1 Nugget | 25 Flakes = 625 Specs = 15625 Tiny Specs +1 Flake | 25 Specs = 625 Tiny Specs +1 Spec | 25 Tiny Specs + +While most of the time you are not going to go lower than flakes, specs and tiny specs have been added so you can deal with things like realistic gold extraction, where IRL sometimes less than a gram of metal is extracted from a metric ton of ore. + +*Note: I am aware that this makes the manual crafting of nuggets into ingots, ingots into blocks, etc. impossible. This is completely intended design as **MTMS** is aiming to allow strong realism while maintaining high levels of internal consistency, the best results of which are achieved with ratios such as above, and it's not very realistic to just stick chunks of things like metal together to make bigger ones anyways. The intended path of action is for project authors to add recipes to various metal melting and casting machines to turn the smaller units into the bigger ones. If you do not like this system, feel free to create your own "fork" of **MTMS** to deal with such things. I recommend going with a value that is far better to do math with in a decimal system instead of the default 9. The only good ones that fit into the 3x3 crafting grid are 5 and 4. Alternatively, perhaps add/use a mod that adds a 5x5 crafting table.* + +### **4** - Naming +The names of materials shall use either IUPAC's naming convention, or any commonly used name for the compound in question. If neither exists, it is permissible to create your own name. If possible, it should resemble IUPAC convention as closely as possible. **Examples:** +- `Dihydrogen Monoxide` → `Water` +- `1 to 16 Diluted Acetic Acid` → `Vinegar` +- `7 Nitric Acid to 1 Dinitrogen Tetroxide Mixture` → `Red Fuming Nitric Acid` + +### **5** - Solutions and Other Compound Mixtures: +To avoid a messy system of solubility, solutions are always treated as one part solute and one part solvent. +**For example:** `1 Sodium Chloride Dust + 100mB Water → 100mB Sodium Chloride Solution` + +For other compound mixtures, where the individual parts of the compounds *do not connect on a molecular/atomic level*, it is added instead, as realistically mixing two immisible substances would actually increase the volume of the total output product: +**Example:** `1 Iron Oxide Dust + 100mB Water → 200mB Iron Oxide Suspension` + +### **6** - Name Standardization + +#### 6.A - Solutions +Solutions follow the format of `x z Solution(y)`, where x is the name of the solute, y is the name of the solvent, and z is the state of matter of the solution. When the solvent is water, `(y)`may be omitted. When the state of matter of the solution is liquid, `z ` may be omitted. **Examples:** +- `Sodium Chloride Solution` +- `Iodine Solution(Carbon Tetrachloride)` +- `Germanium Solid Solution(Silicon)` +*Note: In real life, both solid and gaseous solutions are not called that way and instead have different names. This name convention is only supposed to be used when another name for a solid or gaseous solution does not exist. In fact, these cases are so rare that I had trouble finding one for an example, so I used something that's actually usually known as Silicon-Germanium Alloy.* + +There is one exception to the above and that is if the solution is an acid. In that case, the name of the acid is used. **Examples:** +- `Propanoic Acid` +- `Perchloric Acid` +- `Nitrous Acid` + + +#### 6.B - Diluted and Concentrated Solutions +Sometimes you want to use more diluted or concentrated solutions such as diluted acids for certain processes. In the following table, `x` is the name of the 1:1 solution as described in **6.A** and the value at the left side of the table is the solute to solvent ratio: + +Ratio | Name +----- | --------------------- +8:1 | Extremely Concentrated x +7:1 | Highly Concentrated x +6:1 | Strongly Concentrated x +5:1 | Moderately Concentrated x +4:1 | Concentrated x +3:1 | Somewhat Concentrated x +2:1 | Lightly Concentrated x +1:1 | x +1:2 | Lightly Diluted x +1:3 | Somewhat Diluted x +1:4 | Diluted x +1:5 | Moderately Diluted x +1:6 | Strongly Diluted x +1:7 | Highly Diluted x +1:8 | Extremely Diluted x + +**I.e.:** `1000mB Sulfuric Acid + 7000mB Water → 8000mB Extremely Diluted Sulfuric Acid` +While it does not have to be called that way directly, if referring to solutions with 1:1 ratios in descriptions and tutorials and such, the word undiluted may be used. + +For all other dilution levels, you may use either of the following systems: + +##### 6.B.I - Ratios +If the solute to solvent ratio is lower than 1, use `x to y Diluted z`. If it's higher than one, use `x to y Concentrated z`. In both cases, `x` and `y` are the ratio of solute to solvent, `z` the name of the 1:1 solution as described in **6.A**. If the solvent is water, `z ` may be omitted. **Examples:** +- Mixing 1000mB of Sodium Carbonate Solution with 12000mB of water yields you `1 to 12 Diluted Sodium Carbonate Solution` +- 1000mB of Ethene Solution(Dichloromethane) and 9000mB of Dichloromethane turn into: `1 to 9 Diluted Ethene Solution(Dichloromethane)` +- 10000mB of Ammonia and 1000mB of Water turn into: `10 to 1 Concentrated Ammonia Solution` + +While non-integer numbers may be used, it is highly recommended to use integer ratios, and, if possible, normalize to a solute value of 1. (If not possible, try aiming for the lowest integer solute value instead.) Examples: `50 to 100` → `1 to 2` | `10 to 15` → `2 to 3` | `5 to 7` (cannot be converted to smaller numbers) + +##### 6.B.II - Percentages +If a ratio using low integer numbers cannot be achieved, you may use a percentage in the format of `x% y(z)` instead, where x is the solute percentage of the solution, y is the name of the solute, and z is the name of the solvent. `(z)`, similar to the above formats, may be omitted when the solvent is water. Decimal numbers are to be stated to no less than 3 significant figures if 3 or more are present. More are allowed, if not required. Repeating decimals are to be represented by the use of brackets. **Examples:** +- `14% Potassium Carbonate Solution` +- `37.462% Sodium Nitrate Solution(Ammonia)` +- `33.[3]% Iodine Solution(Ethanol)` (This one would be equivalent to a 1 to 2 Lightly Diluted Solution.) + +#### 6.C - Mixtures +For mixtures of fluids that are not necessarily solutions, use `x y to z w Mixture`, where x is the amount and y the name of the first constituent of the mixture, and z is the amount and w the name of the second constituent of the mixture. This may be extended ad infinitum with more constituents. The constituents must be sorted from highest fraction of total amount to lowest. +**Examples:** +- `5 Ethanol to 3 Water Mixture` +- `6 Ammonia to 4 Water to 2 Hydrogen Peroxide to 1 Mineral Oil Mixture` + + +### License +``` +--8<-- +https://raw.githubusercontent.com/Gliese-832-c/minecraft-technical-metric-system/version_1.2.0/LICENSE +--8<-- +``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..329a806 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,86 @@ +site_name: Cleanroom Encyclopedia +repo_url: https://github.com/CleanroomMC/Encyclopedia +repo_name: CleanroomMC/Encyclopedia + +nav: + - Home: index.md + - About: about.md + - Mod Development: + - Debugging: mod-development/debugging.md + - Sidedness: mod-development/sidedness.md + - Behaviour: + - Neighbours: mod-development/behaviour/neighbours.md + - Event: + - Overview: mod-development/event/overview.md + - PlayerDestroyItemEvent: mod-development/event/player-destroy-item-event.md + - Game Object: + - Sound: + - Play Sound: mod-development/game-object/sound/play.md + - Rendering: + - Colouring Blocks and Items: mod-development/rendering/colouring-blocks-and-items.md + - Proposal: + - Standard: + - Minecraft Technical Metric System: proposal/standard/mtms.md + +theme: + name: material + custom_dir: theme + language: en + logo: assets/icon.png + favicon: assets/icon.png + font: + text: Ubuntu + code: JetBrains Mono + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: indigo + accent: pink + toggle: + icon: material/brightness-7 + name: Switch to Dark Mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: teal + accent: pink + toggle: + icon: material/brightness-4 + name: Switch to Light Mode + features: + - header.autohide + - announce.dismiss + - search.highlight + - search.share + +plugins: + - search + +markdown_extensions: + - admonition + - attr_list + - md_in_html + - footnotes + - pymdownx.details + - pymdownx.superfences + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.snippets: + url_download: true + +# extra: +# alternate: +# - name: English +# link: /en/ +# lang: en +# - name: 繁體中文 +# link: /tw/ +# lang: zh-TW +# - name: 简体中文 +# link: /cn/ +# lang: zh \ No newline at end of file diff --git a/mod_development/debugging.md b/mod_development/debugging.md deleted file mode 100644 index 2d1f933..0000000 --- a/mod_development/debugging.md +++ /dev/null @@ -1,5 +0,0 @@ -## Debugging - -#### Note: This is subjected to change when CleanroomGradle and related toolchains are matured. - -![Screenshot](https://i.imgur.com/5CGzcpa.png) diff --git a/standards/minecraft-technical-metric-system.md b/standards/minecraft-technical-metric-system.md deleted file mode 100644 index b005109..0000000 --- a/standards/minecraft-technical-metric-system.md +++ /dev/null @@ -1 +0,0 @@ -[![Gliese 832 c's Minecraft Technical Metric System](https://user-images.githubusercontent.com/55159077/167264687-0a35853f-3e7c-4bbb-9044-6811ecd891c7.png)](https://github.com/Gliese-832-c/minecraft-technical-metric-system)