├── .gitignore ├── LICENSE ├── README.md ├── addon-templatinator ├── .browserslistrc ├── .eslintrc.cjs ├── .gitignore ├── babel.config.js ├── eslint ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── fonts │ │ └── kg-red-hands.outline.ttf │ ├── icons │ │ ├── anvil.svg │ │ ├── cargo-crane.svg │ │ ├── flowers.svg │ │ ├── power-generator.svg │ │ └── rolled-cloth.svg │ ├── images │ │ └── create-logo.png │ └── index.html ├── src │ ├── App.vue │ ├── api │ │ └── types │ │ │ └── FormTypes.ts │ ├── components │ │ ├── BannerVue.vue │ │ ├── BigCheckbox.vue │ │ ├── FooterVue.vue │ │ ├── FormSection.vue │ │ ├── TemplateForm.vue │ │ └── icons │ │ │ ├── ArchitecturyLogo.vue │ │ │ ├── DatagenIcon.vue │ │ │ ├── FabricLogo.vue │ │ │ ├── ForgeLogo.vue │ │ │ └── QuiltflowerIcon.vue │ ├── main.ts │ ├── router │ │ └── index.ts │ ├── shims-vue.d.ts │ ├── theme │ │ ├── global.scss │ │ └── theme.scss │ └── views │ │ ├── AboutView.vue │ │ └── HomeView.vue ├── tsconfig.json └── vue.config.js ├── dist ├── css │ └── app.9de3c8bd.css ├── favicon.ico ├── fonts │ ├── kg-red-hands.outline.82a6cb2e.ttf │ └── kg-red-hands.outline.ttf ├── icons │ ├── anvil.svg │ ├── cargo-crane.svg │ ├── flowers.svg │ ├── power-generator.svg │ └── rolled-cloth.svg ├── images │ └── create-logo.png ├── index.html └── js │ ├── about.50bec076.js │ ├── about.50bec076.js.map │ ├── app.7eaaf96f.js │ ├── app.7eaaf96f.js.map │ ├── chunk-vendors.b7d296e3.js │ └── chunk-vendors.b7d296e3.js.map ├── forge-template-legacy ├── .gitattributes ├── .gitignore ├── CREDITS.txt ├── LICENSE.txt ├── build.gradle ├── changelog.txt ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── main │ ├── java │ │ └── com │ │ │ └── rabbitminers │ │ │ └── addontemplate │ │ │ ├── AddonTemplate.java │ │ │ ├── index │ │ │ ├── AddonBlocks.java │ │ │ ├── AddonItems.java │ │ │ └── AddonTileEntities.java │ │ │ └── mixin │ │ │ └── MixinDemo.java │ └── resources │ │ ├── META-INF │ │ └── mods.toml │ │ ├── addontemplate.mixins.json │ │ ├── assets │ │ └── addontemplate │ │ │ └── lang │ │ │ └── en_us.json │ │ └── pack.mcmeta ├── readme.md └── workflows │ └── build.yml ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | .idea 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | 24 | # Files from Forge MDK 25 | forge*changelog.txt 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Create Addon Template Generator 2 | (The Template-inator) 3 | 4 | --- 5 | 6 | Based on the template generator for Fabric mods found [here](https://fabricmc.net/develop/template/) this generator allows you to quickly generate a template project for a create addon for numerous versions and platforms without the hastle of refactoring each file with your mods id and needs. 7 | 8 | --- 9 | 10 | You can still use the old template by pulling from the `master` branch 11 | -------------------------------------------------------------------------------- /addon-templatinator/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | not ie 11 5 | -------------------------------------------------------------------------------- /addon-templatinator/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | require('@rushstack/eslint-patch/modern-module-resolution') 3 | 4 | module.exports = { 5 | root: true, 6 | 'extends': [ 7 | 'plugin:vue/vue3-essential', 8 | 'eslint:recommended', 9 | '@vue/eslint-config-typescript', 10 | '@vue/eslint-config-prettier/skip-formatting' 11 | ], 12 | parserOptions: { 13 | ecmaVersion: 'latest' 14 | } 15 | } -------------------------------------------------------------------------------- /addon-templatinator/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /addon-templatinator/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /addon-templatinator/eslint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/addon-templatinator/eslint -------------------------------------------------------------------------------- /addon-templatinator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "addon-templatinator", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build" 8 | }, 9 | "dependencies": { 10 | "core-js": "^3.8.3", 11 | "oh-vue-icons": "^1.0.0-rc3", 12 | "vue": "^3.2.13", 13 | "vue-router": "^4.0.3" 14 | }, 15 | "devDependencies": { 16 | "@vue/cli-plugin-babel": "~5.0.0", 17 | "@vue/cli-plugin-router": "~5.0.0", 18 | "@vue/cli-plugin-typescript": "~5.0.0", 19 | "@vue/cli-service": "~5.0.0", 20 | "sass": "^1.32.7", 21 | "sass-loader": "^12.0.0", 22 | "typescript": "~4.5.5" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /addon-templatinator/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/addon-templatinator/public/favicon.ico -------------------------------------------------------------------------------- /addon-templatinator/public/fonts/kg-red-hands.outline.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/addon-templatinator/public/fonts/kg-red-hands.outline.ttf -------------------------------------------------------------------------------- /addon-templatinator/public/icons/anvil.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/public/icons/cargo-crane.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/public/icons/flowers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/public/icons/power-generator.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/public/icons/rolled-cloth.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/public/images/create-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/addon-templatinator/public/images/create-logo.png -------------------------------------------------------------------------------- /addon-templatinator/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /addon-templatinator/src/App.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | 21 | -------------------------------------------------------------------------------- /addon-templatinator/src/api/types/FormTypes.ts: -------------------------------------------------------------------------------- 1 | import { Component } from "vue"; 2 | 3 | export interface Section { 4 | title: string, 5 | timeline?: string, 6 | description?: string, 7 | icon: string, 8 | body: Component 9 | open: boolean 10 | }; 11 | 12 | export interface Input { 13 | type: InputType, 14 | label: string, 15 | platform: Platform 16 | icon?: string, 17 | placeholder?: string, 18 | description?: string, 19 | id: string 20 | }; 21 | 22 | export type Platform = "forge" | "fabric" | "architectury" | "all"; 23 | 24 | export type InputType = "text" | "textarea" | "radio" | "checkbox"; -------------------------------------------------------------------------------- /addon-templatinator/src/components/BannerVue.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/BigCheckbox.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 42 | 43 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/FooterVue.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 31 | 32 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/FormSection.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 54 | 55 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/TemplateForm.vue: -------------------------------------------------------------------------------- 1 | 126 | 127 | 149 | 150 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/icons/ArchitecturyLogo.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/icons/DatagenIcon.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/icons/FabricLogo.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/icons/ForgeLogo.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/src/components/icons/QuiltflowerIcon.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /addon-templatinator/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | 5 | import './theme/global.scss' 6 | import './theme/theme.scss' 7 | 8 | createApp(App).use(router).mount('#app') 9 | -------------------------------------------------------------------------------- /addon-templatinator/src/router/index.ts: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' 2 | import HomeView from '../views/HomeView.vue' 3 | 4 | const routes: Array = [ 5 | { 6 | path: '/', 7 | name: 'home', 8 | component: HomeView 9 | }, 10 | { 11 | path: '/about', 12 | name: 'about', 13 | // route level code-splitting 14 | // this generates a separate chunk (about.[hash].js) for this route 15 | // which is lazy-loaded when the route is visited. 16 | component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue') 17 | } 18 | ] 19 | 20 | const router = createRouter({ 21 | history: createWebHashHistory(), 22 | routes 23 | }) 24 | 25 | export default router 26 | -------------------------------------------------------------------------------- /addon-templatinator/src/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | declare module '*.vue' { 3 | import type { DefineComponent } from 'vue' 4 | const component: DefineComponent<{}, {}, any> 5 | export default component 6 | } 7 | -------------------------------------------------------------------------------- /addon-templatinator/src/theme/global.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | --colour-white: #ffffff; 3 | --colour-white-soft: #f8f8f8; 4 | --colour-white-mute: #f2f2f2; 5 | --colour-black: #181818; 6 | --colour-black-soft: #222222; 7 | --colour-black-mute: #282828; 8 | --colour-indigo: #2c3e50; 9 | --colour-divider-light-1: rgba(60, 60, 60, 0.29); 10 | --colour-divider-light-2: rgba(60, 60, 60, 0.12); 11 | --colour-divider-dark-1: rgba(84, 84, 84, 0.65); 12 | --colour-divider-dark-2: rgba(84, 84, 84, 0.48); 13 | --colour-text-light-1: var(--colour-indigo); 14 | --colour-text-light-2: rgba(60, 60, 60, 0.66); 15 | --colour-text-dark-1: var(--colour-white); 16 | --colour-text-dark-2: rgba(235, 235, 235, 0.64); 17 | --colour-primary: #7494f1; 18 | --colour-primary-light: #9eb9fb; 19 | --colour-primary-dark: #637fd4; 20 | --colour-primary-very-dark: #2e234e; 21 | --colour-off-white: #e9fdfe; 22 | --colour-off-white-dimmed: #dcf1f2; 23 | } 24 | 25 | :root { 26 | --color-background: var(--colour-white); 27 | --color-background-soft: var(--colour-white-soft); 28 | --color-background-mute: var(--colour-white-mute); 29 | --color-border: var(--colour-divider-light-2); 30 | --color-border-hover: var(--colour-divider-light-1); 31 | --color-heading: var(--colour-text-light-1); 32 | --color-text: var(--colour-text-light-1); 33 | --section-gap: 160px; 34 | } 35 | 36 | @media (prefers-color-scheme: dark) { 37 | :root { 38 | --color-background: var(--colour-black); 39 | --color-background-soft: var(--colour-black-soft); 40 | --color-background-mute: var(--colour-black-mute); 41 | --color-border: var(--colour-divider-dark-2); 42 | --color-border-hover: var(--colour-divider-dark-1); 43 | --color-heading: var(--colour-text-dark-1); 44 | --color-text: var(--colour-text-dark-2); 45 | } 46 | } -------------------------------------------------------------------------------- /addon-templatinator/src/theme/theme.scss: -------------------------------------------------------------------------------- 1 | *, 2 | *::before, 3 | *::after { 4 | box-sizing: border-box; 5 | margin: 0; 6 | position: relative; 7 | font-weight: normal; 8 | } 9 | 10 | body { 11 | min-height: 100vh; 12 | color: var(--color-text); 13 | background: var(--color-background-soft); 14 | transition: color 0.5s, background-color 0.5s; 15 | line-height: 1.6; 16 | font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; 17 | font-size: 15px; 18 | text-align: center; 19 | text-rendering: optimizeLegibility; 20 | -webkit-font-smoothing: antialiased; 21 | -moz-osx-font-smoothing: grayscale; 22 | } 23 | 24 | #app { 25 | margin: 0 auto; 26 | font-weight: normal; 27 | } 28 | 29 | a, 30 | .green { 31 | text-decoration: none; 32 | color: var(--colour-primary-light); 33 | transition: 0.4s; 34 | } 35 | 36 | .full-width { 37 | width: 100%; 38 | } 39 | 40 | .center { 41 | margin: auto; 42 | } 43 | 44 | .horizontal-spaced-row { 45 | display: flex; 46 | flex-direction: row; 47 | justify-content: space-around; 48 | } 49 | 50 | ::-webkit-scrollbar { 51 | background-color: var(--color-background); 52 | &-thumb { 53 | border-radius: 10px; 54 | border-color: var(--colour-primary-dark); 55 | background-color: var(--colour-primary); 56 | } 57 | } -------------------------------------------------------------------------------- /addon-templatinator/src/views/AboutView.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /addon-templatinator/src/views/HomeView.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | -------------------------------------------------------------------------------- /addon-templatinator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "moduleResolution": "node", 8 | "skipLibCheck": true, 9 | "esModuleInterop": true, 10 | "allowSyntheticDefaultImports": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "useDefineForClassFields": true, 13 | "sourceMap": true, 14 | "baseUrl": ".", 15 | "types": [ 16 | "webpack-env" 17 | ], 18 | "paths": { 19 | "@/*": [ 20 | "src/*" 21 | ] 22 | }, 23 | "lib": [ 24 | "esnext", 25 | "dom", 26 | "dom.iterable", 27 | "scripthost" 28 | ] 29 | }, 30 | "include": [ 31 | "src/**/*.ts", 32 | "src/**/*.tsx", 33 | "src/**/*.vue", 34 | "tests/**/*.ts", 35 | "tests/**/*.tsx" 36 | ], 37 | "exclude": [ 38 | "node_modules" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /addon-templatinator/vue.config.js: -------------------------------------------------------------------------------- 1 | const { defineConfig } = require('@vue/cli-service') 2 | module.exports = defineConfig({ 3 | transpileDependencies: true 4 | }) 5 | -------------------------------------------------------------------------------- /dist/css/app.9de3c8bd.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css?family=Raleway);@import url(http://weloveiconfonts.com/api/?family=entypo);.site-header{background-color:var(--colour-primary);justify-content:left;display:flex;height:7em;margin-bottom:3em}.site-header>*{box-sizing:border-box;border-radius:2em}.site-header-icon-image{width:7em;height:7em;padding:10px;position:relative}.site-header-icon-image:hover{border-radius:100%;box-shadow:10px 10px 10px #000}.site-header-title{font-size:1.5em;text-align:left;font-weight:800;padding:10px;color:var(--colour-off-white)}.site-footer{background-color:var(--colour-primary);color:var(--colour-off-white);height:-moz-fit-content;height:fit-content;display:flex;flex-wrap:wrap;gap:1em}.site-footer>*{box-sizing:border-box;padding:10px}.site-footer-section{padding:10px;flex:1 1;margin-right:10px;min-width:20em}.site-footer-section-title{text-decoration:underline}.site-footer-section-body{color:var(--colour-off-white-dimmed)}a{color:var(--colour-primary-dark)}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}@font-face{font-family:outlined;src:url(/fonts/kg-red-hands.outline.82a6cb2e.ttf) format("truetype")}.checkbox-input{clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.checkbox-input:checked+.checkbox-tile{border-color:var(--colour-primary);box-shadow:0 5px 10px rgba(0,0,0,.1);color:var(--colour-primary)}.checkbox-input:checked+.checkbox-tile:before{transform:scale(1);opacity:1;background-color:var(--colour-primary);border-color:var(--colour-primary)}.checkbox-input:checked+.checkbox-tile .checkbox-icon,.checkbox-input:checked+.checkbox-tile .checkbox-label{color:var(--colour-primary)}.checkbox-input:checked+.checkbox-tile path{fill:var(--colour-primary)}.checkbox-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;width:7rem;min-height:7rem;border-radius:.5rem;border:3px solid #b5bfd9;box-shadow:0 5px 10px rgba(0,0,0,.1);transition:.15s ease;cursor:pointer;position:relative}.checkbox-tile:before{content:"";position:absolute;display:block;width:1.25rem;height:1.25rem;border:2px solid #b5bfd9;border-radius:50%;top:.25rem;left:.25rem;opacity:0;transform:scale(0);transition:.25s ease;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' fill='%23FFF' viewBox='0 0 256 256'%3E%3Cpath fill='none' d='M0 0h256v256H0z'/%3E%3Cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='32' d='M216 72.005 104 184l-56-55.995'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:50% 50%}.checkbox-tile:hover{color:var(--colour-primary);border-color:var(--colour-primary)}.checkbox-tile:hover:before{transform:scale(1);opacity:1}.checkbox-tile:hover path{fill:var(--colour-primary)}.checkbox-icon{transition:.375s ease;color:var(--color-text);font-family:Courier New,Courier,monospace}.checkbox-icon h1{font-size:2.75em;font-family:outlined}.checkbox-icon h2{font-family:outlined;font-size:2.25em;padding-bottom:.15em;border-bottom:1px solid #777}.checkbox-icon svg{width:3rem;height:3rem}.checkbox-label{color:var(--color-text);transition:.375s ease;font-size:x-small;text-align:center}[class*=entypo-]:before{font-family:entypo,sans-serif}[class*=entypo-]{width:1em;height:1em}body{font-family:Raleway,sans-serif}a,h1,h2,h3,span{text-decoration:none;color:var(--colour-text)}a:hover{color:#777}h1,h2{font-family:Raleway,sans-serif;letter-spacing:1.5px;color:var(--colour-text);font-weight:100}h1{font-size:2.4em;margin:0;border-bottom:1px solid #777;padding-bottom:.2em}h2{font-size:1em}#content{flex-grow:1;margin-top:50px;margin:auto;text-align:center}.timeline{border-left:.25em solid var(--colour-primary);background:var(--color-background-mute);margin:2em auto;line-height:1.4em;padding:1em;padding-left:3em;list-style:none;text-align:left;margin-left:10em;margin-right:3em;border-radius:.5em;min-width:22em;max-width:50em}.timeline .event{min-width:20em;width:100%;vertical-align:middle;box-sizing:border-box;position:relative}.timeline .event:after,.timeline .event:before{position:absolute;display:block;top:1em}.timeline .event:before{left:-15em;color:var(--colour-text);content:attr(data-date);text-align:right;font-weight:100;font-size:.9em;min-width:9em}.timeline .event:after{box-shadow:0 0 0 .2em var(--colour-primary);left:-3.5em;background:var(--color-background-mute);border-radius:50%;height:.75em;width:.75em;content:""}.timeline .event .member-location,.timeline .event .member-parameters{max-height:0;overflow:hidden;transition:max-height .9s ease}.timeline .event .open{max-height:60em}.member-infos{padding:10px;text-align:left;position:relative}.member-infos>h1{font-weight:700;font-size:1.4em}.member-location a:before{margin-right:5px}.member-location{text-indent:2px}.follow,.options{width:30px;height:30px;text-align:center;line-height:30px;background:#d3d3d3;text-shadow:0 1px 0 hsla(0,0%,100%,.4);box-shadow:0 2px 0 0 silver;border-radius:3px;display:inline-block}.follow:hover,.options:hover{box-shadow:0 1px 0 0 silver;box-sizing:border-box;vertical-align:bottom;margin-bottom:-1px}.member-socials{font-weight:700;vertical-align:bottom;line-height:8px;float:right}.member-socials,.member-socials li{display:inline-block}.followers,.shots-number{font-weight:400;display:block;margin-top:10px;font-size:.9em}.member-contact{position:absolute;right:10px;top:10px}.member-contact li{display:inline-block;margin-left:10px}.member-input{display:flex;color:var(--colour-primary)}.member-input input[type=checkbox]{display:grid;place-content:center}.member-input input[type=checkbox]:before{content:"";width:.65em;height:.65em;transform:scale(0);transition:transform .12s ease-in-out;box-shadow:inset 1em 1em var(--colour-primary)}.member-input input[type=checkbox]:checked:before{transform:scale(1)}.member-shots-number{padding-right:6px;border-right:1px solid rgba(0,0,0,.06);margin-right:6px;margin-left:6px}.form-section-summary{padding-bottom:1em}.form-section-subheading{font-size:x-large;font-weight:500;text-align:center;padding-bottom:.7em}.mod-details{flex-direction:row;width:100%;display:flex;gap:2em}.mod-details label{width:50%}.mod-details label>h4{margin-bottom:.3em}.mod-details input[type=text]{width:100%;background-color:transparent;border-radius:2em;border-radius:.5rem;border:3px solid #b5bfd9;padding:10px;color:var(--colour-primary);transition:.25s ease}.mod-details input[type=text]::-moz-placeholder{color:var(--colour-text-light)}.mod-details input[type=text]::placeholder{color:var(--colour-text-light)}.mod-details input[type=text]:hover{border-color:var(--colour-primary)}input[type=submit]{font-family:Raleway,sans-serif;font-weight:800;background-color:transparent;border:none;text-align:left;font-size:1.5em;color:var(--colour-text);margin:0;padding-bottom:.2em;transition:.25s ease}input[type=submit]:hover{color:var(--colour-primary);border-color:var(--colour-primary)}:root{--colour-white:#fff;--colour-white-soft:#f8f8f8;--colour-white-mute:#f2f2f2;--colour-black:#181818;--colour-black-soft:#222;--colour-black-mute:#282828;--colour-indigo:#2c3e50;--colour-divider-light-1:rgba(60,60,60,.29);--colour-divider-light-2:rgba(60,60,60,.12);--colour-divider-dark-1:rgba(84,84,84,.65);--colour-divider-dark-2:rgba(84,84,84,.48);--colour-text-light-1:var(--colour-indigo);--colour-text-light-2:rgba(60,60,60,.66);--colour-text-dark-1:var(--colour-white);--colour-text-dark-2:hsla(0,0%,92%,.64);--colour-primary:#7494f1;--colour-primary-light:#9eb9fb;--colour-primary-dark:#637fd4;--colour-primary-very-dark:#2e234e;--colour-off-white:#e9fdfe;--colour-off-white-dimmed:#dcf1f2;--color-background:var(--colour-white);--color-background-soft:var(--colour-white-soft);--color-background-mute:var(--colour-white-mute);--color-border:var(--colour-divider-light-2);--color-border-hover:var(--colour-divider-light-1);--color-heading:var(--colour-text-light-1);--color-text:var(--colour-text-light-1);--section-gap:160px}@media(prefers-color-scheme:dark){:root{--color-background:var(--colour-black);--color-background-soft:var(--colour-black-soft);--color-background-mute:var(--colour-black-mute);--color-border:var(--colour-divider-dark-2);--color-border-hover:var(--colour-divider-dark-1);--color-heading:var(--colour-text-dark-1);--color-text:var(--colour-text-dark-2)}}*,:after,:before{box-sizing:border-box;margin:0;position:relative;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background-soft);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-align:center;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{margin:0 auto;font-weight:400}.green,a{text-decoration:none;color:var(--colour-primary-light);transition:.4s}.full-width{width:100%}.center{margin:auto}.horizontal-spaced-row{display:flex;flex-direction:row;justify-content:space-around}::-webkit-scrollbar{background-color:var(--color-background)}::-webkit-scrollbar-thumb{border-radius:10px;border-color:var(--colour-primary-dark);background-color:var(--colour-primary)} -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/dist/favicon.ico -------------------------------------------------------------------------------- /dist/fonts/kg-red-hands.outline.82a6cb2e.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/dist/fonts/kg-red-hands.outline.82a6cb2e.ttf -------------------------------------------------------------------------------- /dist/fonts/kg-red-hands.outline.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/dist/fonts/kg-red-hands.outline.ttf -------------------------------------------------------------------------------- /dist/icons/anvil.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/icons/cargo-crane.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/icons/flowers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/icons/power-generator.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/icons/rolled-cloth.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/images/create-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/dist/images/create-logo.png -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | addon-templatinator
-------------------------------------------------------------------------------- /dist/js/about.50bec076.js: -------------------------------------------------------------------------------- 1 | "use strict";(self["webpackChunkaddon_templatinator"]=self["webpackChunkaddon_templatinator"]||[]).push([[443],{4466:function(n,t,a){a.r(t),a.d(t,{default:function(){return l}});var e=a(3396);const r={class:"about"},u=(0,e._)("h1",null,"TODO",-1),o=[u];function c(n,t,a,u,c,s){return(0,e.wg)(),(0,e.iD)("div",r,o)}var s={name:"about"},d=a(89);const i=(0,d.Z)(s,[["render",c]]);var l=i}}]); 2 | //# sourceMappingURL=about.50bec076.js.map -------------------------------------------------------------------------------- /dist/js/about.50bec076.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"js/about.50bec076.js","mappings":"gMAEA,MAAMA,EAAa,CAAEC,MAAO,SACtBC,GAA0BC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,QAAS,GACnEC,EAAa,CACjBF,GAGI,SAAUG,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOb,EAAYI,EAC/D,CCTA,OACEU,KAAM,S,QCGR,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASV,KAEpE,O","sources":["webpack://addon-templatinator/./src/views/AboutView.vue?aeb2","webpack://addon-templatinator/./src/views/AboutView.vue?f245","webpack://addon-templatinator/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"about\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"TODO\", -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_3))\n}","\nexport default {\n name: \"about\"\n}\n","import { render } from \"./AboutView.vue?vue&type=template&id=7f983ab3&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/charlie/Projects/create-addon-template-inator/templatinator/addon-templatinator/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createElementVNode","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","name","__exports__"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/js/app.7eaaf96f.js: -------------------------------------------------------------------------------- 1 | (function(){"use strict";var e={9120:function(e,t,l){var n=l(9242),o=l(3396);const r={class:"site-wrapper"};function a(e,t,l,n,a,i){const c=(0,o.up)("banner-vue"),s=(0,o.up)("router-view"),u=(0,o.up)("footer-vue");return(0,o.wg)(),(0,o.iD)("article",r,[(0,o.Wm)(c),(0,o.Wm)(s),(0,o.Wm)(u)])}const i={class:"site-header full-width"},c=(0,o._)("section",{class:"site-header-icon"},[(0,o._)("img",{class:"site-header-icon-image",src:"images/create-logo.png",alt:"logo"})],-1),s=(0,o._)("section",{class:"site-header-title"}," Create Addon Template-intator ",-1),u=[c,s];function m(e,t,l,n,r,a){return(0,o.wg)(),(0,o.iD)("article",i,u)}var d={name:"Header"},f=l(89);const p=(0,f.Z)(d,[["render",m]]);var h=p,b=l(7139);const v={class:"site-footer full-width"},g={class:"site-footer-section"},w={class:"site-footer-section-title"},y=["innerHTML"];function _(e,t,l,n,r,a){return(0,o.wg)(),(0,o.iD)("article",v,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(r.sections,(e=>((0,o.wg)(),(0,o.iD)("section",g,[(0,o._)("h3",w,(0,b.zw)(e.title),1),(0,o._)("p",{class:"site-footer-section-body",innerHTML:e.body},null,8,y)])))),256))])}var z={name:"Footer",data(){return{sections:[{title:"About Us",body:"This project is open source you can find the source code here, and maintained by Rabbitminers' development team if you want to contact us, find any issues or would like a new feature you can contact us on Discord here"},{title:"Where From Here?",body:"Documentation about making create addons is limited to non-existent, but we reccomend reading through existing addon's source code aswell as create's"}]}}};const k=(0,f.Z)(z,[["render",_]]);var x=k,M={components:{BannerVue:h,FooterVue:x}};const W=(0,f.Z)(M,[["render",a]]);var D=W,F=l(2483);function C(e,t,l,n,r,a){const i=(0,o.up)("TemplateForm");return(0,o.wg)(),(0,o.j4)(i)}const L={id:"content"},j={class:"timeline"},T=(0,o._)("h3",{class:"form-section-subheading"},"Mod Platform",-1),H=(0,o._)("a",{class:"form-section-summary"},"Please note that features not available to your platform will be hidden, i.e in a forge mod Porting lib will not be made available",-1),S=(0,o._)("br",null,null,-1),O=(0,o._)("br",null,null,-1),Z={class:"horizontal-spaced-row"},B=(0,o._)("br",null,null,-1),E=(0,o._)("p",{class:"form-section-summary"},"Only one platform can be picked, Forge and Fabric will allow you to build to those respective platforms and architectury will allow you to build to both simultaneously, however keep in mind this can add additional complexity to the project especially when utilising platform specific features such as fluids or networking",-1),I=(0,o._)("h3",{class:"form-section-subheading"},"Mod Version",-1),P=(0,o._)("a",{class:"form-section-summary"},"More versions will be added as availabe, there are currently no plans to backport these templates prior to 1.18.2, if you would like to port them yourself we would appreciate the help",-1),A=(0,o._)("br",null,null,-1),U=(0,o._)("br",null,null,-1),N={class:"horizontal-spaced-row"},V=(0,o._)("h2",null,"1.18.2",-1),Q=(0,o._)("h2",null,"1.19.2",-1),R=(0,o._)("h2",null,"1.20",-1),q=(0,o._)("br",null,null,-1),Y=(0,o._)("p",{class:"form-section-summary"},"We reccomend you develop on 1.18.2 first then porting to future versions later in development to stay in parity with other addons and official development",-1),J=(0,o._)("h3",{class:"form-section-subheading"},"Mod Details",-1),$=(0,o._)("a",{class:"form-section-summary"},"These will automatically be used across your project saving you time refactoring, especially in architectury projects.",-1),G=(0,o._)("br",null,null,-1),K=(0,o._)("br",null,null,-1),X=(0,o._)("section",{class:"mod-details"},[(0,o._)("label",null,[(0,o._)("h4",null," Mod Name"),(0,o._)("input",{type:"text",placeholder:"Some Mod Name"})]),(0,o._)("label",null,[(0,o._)("h4",null," Package Name "),(0,o._)("input",{type:"text",placeholder:"com.yourname"})])],-1),ee=(0,o._)("br",null,null,-1),te=(0,o._)("p",{class:"form-section-summary"},'Your mods name will automatically be converted to a valid mod id, for example "Example Mod" will be converted to "example-mod"',-1),le=(0,o._)("a",{class:"form-section-summary"},"You can select as many recipe browsers as you like, they will all be added to the buildscript and can be switched between by changing the recipe_browser entry in gradle.properties",-1),ne=(0,o._)("br",null,null,-1),oe=(0,o._)("br",null,null,-1),re={class:"horizontal-spaced-row"},ae=(0,o._)("h1",null,"JEI",-1),ie=(0,o._)("h1",null,"REI",-1),ce=(0,o._)("h1",null,"EMI",-1),se=(0,o._)("br",null,null,-1),ue=(0,o._)("p",null,"Note EMI is only available for fabric (and quilt), and some builds of REI have had crashes with specific recipe types from create, this is not a bug with your recipes and is safe in production",-1),me=(0,o._)("a",{class:"form-section-summary"},"These are tools to help speed up development by making some tasks easier or removing repatative jobs",-1),de=(0,o._)("br",null,null,-1),fe=(0,o._)("br",null,null,-1),pe={class:"horizontal-spaced-row"},he=(0,o._)("br",null,null,-1),be=(0,o._)("p",null,"Quiltflower is a modern, general purpose decompiler focused on improving code quality, speed, and usability. Quiltflower is a fork of Fernflower and Forgeflower.",-1),ve=(0,o._)("ul",{class:"timeline"},[(0,o._)("input",{class:"event",type:"submit",value:"Download!"})],-1);function ge(e,t,l,n,r,a){const i=(0,o.up)("ArchitecturyLogo"),c=(0,o.up)("BigCheckbox"),s=(0,o.up)("ForgeLogo"),u=(0,o.up)("FabricLogo"),m=(0,o.up)("FormSection"),d=(0,o.up)("DatagenIcon"),f=(0,o.up)("QuiltflowerIcon");return(0,o.wg)(),(0,o.iD)("form",L,[(0,o._)("ul",j,[(0,o.Wm)(m,{title:"Project Structure",timeline:"General Settings",open_by_default:!0},{default:(0,o.w5)((()=>[T,H,S,(0,o.Uk)(),O,(0,o._)("section",Z,[(0,o.Wm)(c,{label:"Architectury",name:"platform",type:"radio",ref:"arch"},{default:(0,o.w5)((()=>[(0,o.Wm)(i)])),_:1},512),(0,o.Wm)(c,{label:"Forge",name:"platform",type:"radio",ref:"forge"},{default:(0,o.w5)((()=>[(0,o.Wm)(s)])),_:1},512),(0,o.Wm)(c,{label:"Fabric",name:"platform",type:"radio",ref:"fabric"},{default:(0,o.w5)((()=>[(0,o.Wm)(u)])),_:1},512)]),B,E,I,P,A,(0,o.Uk)(),U,(0,o._)("section",N,[(0,o.Wm)(c,{label:"Caves & Cliffs",name:"version",type:"radio",ref:"arch"},{default:(0,o.w5)((()=>[V])),_:1},512),(0,o.Wm)(c,{label:"Wild Update",name:"version",type:"radio",ref:"forge"},{default:(0,o.w5)((()=>[Q])),_:1},512),(0,o.Wm)(c,{label:"Tales & Trails",name:"version",type:"radio",ref:"forge"},{default:(0,o.w5)((()=>[R])),_:1},512)]),q,Y,J,$,G,(0,o.Uk)(),K,X,ee,te])),_:1}),(0,o.Wm)(m,{title:"Recipe Browsers",timeline:"Development QOL"},{default:(0,o.w5)((()=>[le,ne,(0,o.Uk)(),oe,(0,o._)("section",re,[(0,o.Wm)(c,{label:"Just enough items"},{default:(0,o.w5)((()=>[ae])),_:1}),(0,o.Wm)(c,{label:"Roughly enough items"},{default:(0,o.w5)((()=>[ie])),_:1}),(0,o.Wm)(c,{label:"There's no acronym"},{default:(0,o.w5)((()=>[ce])),_:1})]),se,ue])),_:1}),(0,o.Wm)(m,{title:"Development Features"},{default:(0,o.w5)((()=>[me,de,(0,o.Uk)(),fe,(0,o._)("section",pe,[(0,o.Wm)(c,{label:"Datagen"},{default:(0,o.w5)((()=>[(0,o.Wm)(d)])),_:1}),(0,o.Wm)(c,{label:"Quiltflower"},{default:(0,o.w5)((()=>[(0,o.Wm)(f)])),_:1})]),he,be])),_:1})]),ve])}const we={class:"checkbox"},ye={class:"checkbox-wrapper"},_e=["name","type"],ze={class:"checkbox-tile"},ke={class:"checkbox-icon"},xe={class:"checkbox-label"};function Me(e,t,l,r,a,i){return(0,o.wg)(),(0,o.iD)("div",we,[(0,o._)("label",ye,[(0,o.wy)((0,o._)("input",{class:"checkbox-input",name:l.name,type:l.type,"onUpdate:modelValue":t[0]||(t[0]=e=>a.isChecked=e)},null,8,_e),[[n.YZ,a.isChecked]]),(0,o._)("span",ze,[(0,o._)("span",ke,[(0,o.WI)(e.$slots,"default")]),(0,o._)("span",xe,(0,b.zw)(l.label),1)])])])}var We={name:"BigCheckbox",props:{label:{type:String,default:""},type:{type:String,default:"checkbox"},name:{type:String}},data(){return{isChecked:!1}}};const De=(0,f.Z)(We,[["render",Me]]);var Fe=De;const Ce=["data-date"],Le={class:"member-infos"},je={class:"member-contact"},Te={key:0,class:"member-website"},He=["href"],Se=(0,o._)("br",null,null,-1);function Oe(e,t,l,n,r,a){return(0,o.wg)(),(0,o.iD)("li",{key:l.title,class:"event","data-date":l.timeline},[(0,o._)("div",Le,[(0,o._)("h1",{class:"member-title",onClick:t[0]||(t[0]=e=>a.expand())},(0,b.zw)(l.title),1),(0,o._)("ul",je,[l.icon?((0,o.wg)(),(0,o.iD)("li",Te,[(0,o._)("a",{class:(0,b.C_)(l.icon),target:"_blank",href:l.icon},null,10,He)])):(0,o.kq)("",!0)]),(0,o._)("div",{class:(0,b.C_)(["member-parameters",{open:r.open}])},[Se,(0,o.WI)(e.$slots,"default")],2)])],8,Ce)}var Ze={name:"FormSection",props:{title:{type:String,default:"Invalid title"},timeline:{type:String,default:""},icon:{type:String,default:"entypo-globe"},open_by_default:{type:Boolean,default:!1}},data(){return{open:this.open_by_default}},methods:{expand(){this.open=!this.open}}};const Be=(0,f.Z)(Ze,[["render",Oe]]);var Ee=Be;const Ie={class:"checkbox-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},Pe=(0,o._)("path",{d:"M0 0h512v512H0z",fill:"#000","fill-opacity":"0"},null,-1),Ae=(0,o._)("g",{class:"",transform:"translate(0,0)",style:{}},[(0,o._)("path",{d:"M306.875 18.22c-.47-.002-.935.014-1.406.03-.158.005-.313.024-.47.03-1.583.056-3.176.204-4.78.47-3.61.597-7.01 1.7-10.158 3.22L49.595 120.062c-.918.42-1.808.877-2.688 1.343-.598.318-1.2.63-1.78.97-13.697 7.67-22.918 21.836-24.188 37.655-.058.635-.094 1.27-.125 1.907-.363 7.292.943 14.76 4.156 21.844 10.908 24.058 39.464 34.588 64.25 23.407l.093-.03L321.375 90.968l.156-.095.158-.063c19.685-8.925 28.3-31.436 19.656-50.5-6.28-13.85-19.92-22.07-34.47-22.093zm.28 18.718c8.924.308 16.542 6.77 18.064 15.968 1.737 10.51-5.208 20.23-15.72 21.97-10.512 1.738-20.2-5.21-21.938-15.72-1.738-10.51 5.208-20.23 15.72-21.968 1.313-.218 2.6-.295 3.874-.25zM354 86.656c-5.762 8.854-14.006 16.267-24.28 21-.108.05-.206.108-.314.156l-16.47 8.25 57.533 97.907c7.09-11.768 19.637-19.107 33.06-19.845 1.59-.087 3.18-.07 4.783.03L354 86.656zM67.906 135.03c.484-.005.96.015 1.438.032 13.393.478 24.876 10.217 27.156 24 2.606 15.75-7.873 30.426-23.625 33.032-15.752 2.606-30.426-7.906-33.03-23.656-2.607-15.75 7.903-30.395 23.655-33 1.477-.245 2.955-.387 4.406-.407zm60.188 73.595l-16.813 8.438 7.814 21.625-50.78-8.22-.064-.187c-7.272-.066-14.432-1.293-21.22-3.593l59.5 163.344-.405.783.75.187 16.906 46.406c4.612-4.79 9.704-9.125 15.22-12.875l-10.28-28.217 51.624 12.562h.03c3.962-.504 8-.78 12.095-.78 2.655 0 5.272.128 7.874.342l-72.25-199.812zm277.437 4.094c-.365 0-.73.012-1.092.03-8.72.434-16.66 5.983-19.844 14.78-4.244 11.733 1.706 24.414 13.437 28.657 11.733 4.244 24.445-1.705 28.69-13.437 4.243-11.734-1.707-24.412-13.44-28.656-2.565-.93-5.186-1.376-7.75-1.375zm39.158 9.81c2.728 8.395 2.806 17.714-.407 26.595-.456 1.264-.994 2.497-1.56 3.688l27.936 5-4.375 51.25-19.405 11.562 9.563 16.063 23.53-14.032 4.126-2.437.406-4.783 6.313-73.937.937-10.78-2.03.124-45.033-8.313zm-80.094 12.376l-44 26.78-.094.033v.03l-.063.03.157.158 4.47 9.5 31.498 67.187 2.032 4.344 4.72.874 26.905 5 3.436-18.375-22.22-4.126-21.467-45.813 26.842-16.186c-7.77-7.738-12.248-18.393-12.218-29.438zM75.656 250.594l35.156 5.687-18.593 39.845-16.564-45.53zm52.406 12.906l18.344 50.78-37.812-9.06 19.47-41.72zm-26.093 59.344l35.31 8.47-19.03 36.31-16.28-44.78zm52.968 15.03l18.093 49.97-39.28-9.53 21.188-40.44zm37.53 88.907c-39.29 0-71.475 29.325-76.062 67.345h22.5c4.46-25.5 26.83-45.03 53.563-45.03 26.73 0 49.074 19.53 53.53 45.03h22.5c-4.587-38.02-36.74-67.344-76.03-67.344zm0 41c-16.555 0-30.22 11.145-34.312 26.345h68.594c-4.092-15.2-17.725-26.344-34.28-26.344z",fill:"#fff","fill-opacity":"1"})],-1),Ue=[Pe,Ae];function Ne(e,t){return(0,o.wg)(),(0,o.iD)("svg",Ie,Ue)}const Ve={},Qe=(0,f.Z)(Ve,[["render",Ne]]);var Re=Qe;const qe={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},Ye=(0,o._)("path",{d:"M0 0h512v512H0z",fill:"#000","fill-opacity":"0"},null,-1),Je=(0,o._)("g",{class:"",transform:"translate(0,0)",style:{}},[(0,o._)("path",{d:"M128.688 115.594v147.75h285v-147.75h-285zm-111.844 20.47c17.374 47.14 54.372 80.413 94.906 93.81v-93.81H16.844zm414.375 12.31v88.657c21.457-9.083 42.92-25.257 64.374-47.374-21.52-22.562-42.633-35.173-64.375-41.28zm-226.25 132.47c-12.15 38.536-33.897 71.5-60.595 100.47l257.844-.002c-28.705-29.016-49.952-62.054-61.5-100.468H204.97zM101.843 400v43.78h337.562V400H101.844z",fill:"#fff","fill-opacity":"1"})],-1),$e=[Ye,Je];function Ge(e,t){return(0,o.wg)(),(0,o.iD)("svg",qe,$e)}const Ke={},Xe=(0,f.Z)(Ke,[["render",Ge]]);var et=Xe;const tt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},lt=(0,o._)("path",{d:"M0 0h512v512H0z",fill:"#000","fill-opacity":"0"},null,-1),nt=(0,o._)("g",{class:"",transform:"translate(0,0)",style:{}},[(0,o._)("path",{d:"M165.446 34.793c-23.17.023-45.634 12.97-54.612 36.323l-83.67 326.167c-12.673 94.537 81.04 88.742 137.957 65.396 81.422-33.396 181.723-29.213 263.244-8.26l6.45-17.218c-7.38-2.638-15.334-5.988-22.252-8.039.473-4.364.955-8.72 1.437-13.074l23.038 4.118 3.234-18.1c-8.074-1.441-16.147-2.885-24.221-4.328.615-5.403 1.238-10.799 1.87-16.189l22.134 3.278 2.693-18.186c-7.548-1.12-15.098-2.238-22.647-3.355.456-3.765.91-7.53 1.375-11.29 7.615 1.092 15.231 2.183 22.847 3.273l2.607-18.2-23.164-3.316c.46-3.593 1.29-9.988 1.76-13.577l22.781 2.55 2.045-17.57c-7.467-.834-14.935-1.671-22.402-2.508.783-5.767 1.917-11.182 2.728-16.943 7.67 1.12 15.341 2.244 23.012 3.368l2.31-17.139c-7.683-1.127-15.366-2.25-23.05-3.374.792-5.415 1.252-10.129 2.071-15.542 7.074 1.264 14.149 2.528 21.223 3.79l3.232-18.1-21.654-3.866c.736-4.676 1.473-9.35 2.23-14.026 6.978 1.673 13.955 3.347 20.932 5.022L465.276 208c-7.401-1.778-14.803-3.554-22.204-5.33a2809.25 2809.25 0 0 1 2.132-12.477c6.98 1.583 13.961 3.165 20.942 4.746l4.064-17.93c-7.271-1.65-14.543-3.298-21.815-4.946.769-4.267 1.55-8.535 2.342-12.805l20.742 5.151 4.431-17.843-21.751-5.405c.741-3.847 1.494-7.696 2.254-11.548l20.28 5.014 4.413-17.849-21.057-5.207a2444.47 2444.47 0 0 1 2.571-12.374c8.386 2.41 13.13 2.364 21.41 4.99L486 88.456c-83.808-26.776-179.25-33.22-244.192-6.453-24.337 114.036-37.305 221.4-68.032 338.64-3.407 13-14.47 21.89-27.342 28.064-27 11.608-64.033 13.778-84.63-4.91-10.971-10.34-16.174-27.036-12.467-47.579 2.303-12.762 10.883-21.986 20.834-26.378 19.749-7.074 43.492-4.25 58.893 7.95 12.463 9.302 12.318 38.283-3.882 31.82-9.639-6.17-1.964-11.851-8.615-17.378-11.6-7.428-26.42-10.872-38.972-5.57-5.564 2.455-8.887 5.737-10.166 12.822-2.94 16.29.685 24.996 6.985 30.933 18.333 13.49 45.279 10.495 64.068 1.712 10.045-4.82 16.277-11.436 17.511-16.147 30.538-116.518 43.443-224.123 68.293-339.964-11.796-28.344-35.67-41.247-58.84-41.225z",fill:"#fff","fill-opacity":"1"})],-1),ot=[lt,nt];function rt(e,t){return(0,o.wg)(),(0,o.iD)("svg",tt,ot)}const at={},it=(0,f.Z)(at,[["render",rt]]);var ct=it;const st={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},ut=(0,o._)("path",{d:"M0 0h512v512H0z",fill:"#000","fill-opacity":"0"},null,-1),mt=(0,o._)("g",{class:"",transform:"translate(0,0)",style:{}},[(0,o._)("path",{d:"M239.283 27.155l-29.615 59.229-12.412-37.23L153 71.281v20.125l33.742-16.87 19.59 58.767 34.387-68.77 47.998 80 35.308-70.613L359 91.407V71.282l-43.025-21.511-28.694 57.384zM89 70.845v46h46v-46zm288 0v46h46v-46zm-304 64v302h94v-112h178v112h94v-302h-79.973l-32 128H184.973l-32-128zm101.027 10l4.5 18h154.946l4.5-18zm8.5 34l4.5 18h137.946l4.5-18zm208.473 27c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-336 .816l-30 20v146.184h30zm136.027 6.184l4.5 18h120.946l4.5-18zm199.973 57c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm66 57v46h30v-46zm-66 7c13.7 0 25 11.3 25 25s-11.3 25-25 25-25-11.3-25-25 11.3-25 25-25zm-206 9v46h17.438L224 345.72l34.467 68.931 9.804-9.806H327v-62zm39 43.127l-10.438 20.873H185v46h142v-30h-51.271l-22.194 22.193zm233 4.873v46h30v-46zm-390 64l-40 30h108v-30zm310 0v30h108l-40-30z",fill:"#fff","fill-opacity":"1"})],-1),dt=[ut,mt];function ft(e,t){return(0,o.wg)(),(0,o.iD)("svg",st,dt)}const pt={},ht=(0,f.Z)(pt,[["render",ft]]);var bt=ht;const vt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},gt=(0,o._)("path",{d:"M0 0h512v512H0z",fill:"#000","fill-opacity":"0"},null,-1),wt=(0,o._)("g",{class:"",transform:"translate(0,0)",style:{}},[(0,o._)("path",{d:"M85.16 16.84c-29.3.38-53.4 25.41-42.7 70.22l40.3 11.46c3.92-16.7 20.04-27.12 35.34-29.94l1.9-40.46c-11.2-7.76-23.44-11.43-34.84-11.28zm87.64 1.79c-10.2-.1-21.8 3.62-34.2 12.26l-1.8 38.02c14.7 3.29 27.5 13.58 33.4 28.11l32.4-11.85c14.8-35.76-1.3-66.25-29.8-66.54zm230.3 1.06c-9.7-.1-19.5 4.95-16.3 15.6 6 20.14 23.7 16.73 31-.34 4.2-9.92-5.1-15.16-14.8-15.25zm-112.3 5.65c-12.4-.14-24.2 11.9-12.9 35.55-34.2-.71-21.3 46.81 4.4 33.51-13.4 41.4 40.7 47.9 33.5 4.92 32.3 20.28 46.9-12.15 14.7-27.33 42.2-9.17 7.4-59.04-19.8-23.92-.1-15.13-10.2-22.61-19.9-22.72zm10.3 39.21c6.3 0 11.4 5.08 11.4 11.34 0 6.27-5.1 11.34-11.4 11.34-6.3 0-11.3-5.07-11.3-11.34 0-6.26 5-11.34 11.3-11.34zm138.1 1.31c-17.4-.11-28.3 22.49 6.1 35.84-18.3 24.8 32.7 47.4 24.4 5.4 42.7-1.3 17.2-56.74-8-26.56-6.7-10.55-15.2-14.64-22.5-14.68zM119.4 87.38C104.1 91.46 95.36 106.9 99.36 122c4.04 15.3 19.44 24.2 34.64 20.1 15.2-4 24.1-19.5 20-34.7-3.4-12.9-15-21.25-27.7-21.01-2.3.1-4.9.46-6.9.99zm91.3 14.72l-37 13.5c-.3 11.7-4.8 22.6-12.4 31l28.3 28.8c43.7 3.5 62.4-49.3 21.1-73.3zm-178.64 1.4c-36.199 29.3 5.9 104.9 44.2 92l23.5-42.2c-13.88-10.5-19.37-21.5-19.9-36.2zm367.24 20.8c-15 .2-31.8 9.8-46.5 32l11.4 49.3c1.5-.1 3 0 4.5.1 12.5.9 24.5 6.3 33.4 15.6l39.4-27.7c5.4-39.9-14.8-68.7-40.8-69.3zm79.1 28.1c-21 .6-22.3 18.6-7.7 30.1 17 13.2 29.9-30.7 7.7-30.1zm-165.3 3.5c-40.1.4-74.3 32.3-43.4 88.4l46.1.1c3.3-18.7 15.2-28.7 30.1-35.1l-11.8-50.7c-6.9-1.9-14.1-2.8-21-2.7zm-167 1.8c-9.1 4.1-20.5 4.9-29.2 3.1l-22.14 39.9c35.34 42.4 66.94 18.7 77.84-16zm298 57L412.3 237c4.8 11.9 4.9 24.8.8 36.3l36 21.3c51.6-7.4 55.5-71.5-5-79.9zm-78.9 9.5c-5.5 0-11 1.4-16.1 4.3-15.5 9-20.7 28.5-11.8 44 9 15.5 28.5 20.8 44 11.8 15.5-8.9 20.8-28.5 11.8-44-5.6-9.7-15.3-15.4-25.6-16.1zM79.66 235.6c-34.7.5-57.8 31.9-33.3 81.6l53.2 16.7c7.64-14 21.24-24.2 37.44-27.3l-3-48.8c-18.1-15.5-37.54-22.5-54.34-22.2zm113.94 2.8c-13.1.2-27.7 6.9-40.7 22.4l2.8 45.4c13.3 2.1 25.1 9.1 33.4 19.1l39.2-22.2c15.1-35.7-6.5-65.2-34.7-64.7zm73 24.5c-30.8 56.4 24.9 96.3 68.2 80.7l11.3-40.1c-10.1-4.1-19.1-11.5-24.9-21.6-3.5-6-5.5-12.3-6.4-18.8zm137.2 26.6c-3.6 4.3-8 8-13.1 11-8.3 4.7-17.3 6.9-26.2 6.8l-12 42.6c33.6 38 90.6 1.2 86.5-39.6zM233 322l-34.6 19.5c5.7 15.8 2.9 34.4-5.1 47.4l30.2 31.7c67.6-28.1 48.5-74.9 9.5-98.6zm-85.7 2.2c-19.9 0-35.8 16-35.8 35.8 0 19.9 15.9 35.8 35.8 35.8 19.8 0 35.7-15.9 35.7-35.8 0-19.8-15.9-35.8-35.7-35.8zM40.46 334.9c-36.699 38.3-23 115.2 44 109.5l25.84-44.5c-14.61-13.3-19.79-30.8-16.74-48.3zm425.94 22c-15.5.1-41.5 23.1-13.8 29-3.3 38 49.1 5.5 23-14 2-11.1-2.7-15.1-9.2-15zm-119.2 24.4c-8 0-16.3 7.1-19.4 25.4-23.9-30.7-58.2 4.6-20.5 26.8-47.6 24.4 2.6 57 21.9 27.5 4.3 49.5 60.8 18.2 29.1-10.8 40.2 6.6 40.1-32.2 1-31 13.6-18.7 1.2-38-12.1-37.9zm-166.4 21.5c-18.1 11.8-36 15.2-54.8 7.3l-28.94 49.8C118.7 511.3 218.5 487 217.4 439.3l-.9.9zm156.4 20.8c6.3 0 11.3 5.1 11.3 11.3 0 6.3-5 11.4-11.3 11.4-6.3 0-11.3-5.1-11.3-11.4 0-6.2 5-11.3 11.3-11.3zm108.1 7c-12.2-.4-16.2 20.1 6.4 32.9-21.5 28.8 29.4 50.7 23.8 6.8 36.7 7 9.6-36.1-8.5-20.7-7.8-13.5-15.7-18.8-21.7-19z",fill:"#fff","fill-opacity":"1"})],-1),yt=[gt,wt];function _t(e,t){return(0,o.wg)(),(0,o.iD)("svg",vt,yt)}const zt={},kt=(0,f.Z)(zt,[["render",_t]]);var xt=kt,Mt={name:"Form",components:{BigCheckbox:Fe,FormSection:Ee,ArchitecturyLogo:Re,ForgeLogo:et,FabricLogo:ct,DatagenIcon:bt,QuiltflowerIcon:xt}};const Wt=(0,f.Z)(Mt,[["render",ge]]);var Dt=Wt,Ft={name:"HomeView",components:{TemplateForm:Dt}};const Ct=(0,f.Z)(Ft,[["render",C]]);var Lt=Ct;const jt=[{path:"/",name:"home",component:Lt},{path:"/about",name:"about",component:()=>l.e(443).then(l.bind(l,4466))}],Tt=(0,F.p7)({history:(0,F.r5)(),routes:jt});var Ht=Tt;(0,n.ri)(D).use(Ht).mount("#app")}},t={};function l(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n].call(r.exports,r,r.exports,l),r.exports}l.m=e,function(){var e=[];l.O=function(t,n,o,r){if(!n){var a=1/0;for(u=0;u=r)&&Object.keys(l.O).every((function(e){return l.O[e](n[c])}))?n.splice(c--,1):(i=!1,r0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[n,o,r]}}(),function(){l.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(t,{a:t}),t}}(),function(){l.d=function(e,t){for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce((function(t,n){return l.f[n](e,t),t}),[]))}}(),function(){l.u=function(e){return"js/about.50bec076.js"}}(),function(){l.miniCssF=function(e){}}(),function(){l.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="addon-templatinator:";l.l=function(n,o,r,a){if(e[n])e[n].push(o);else{var i,c;if(void 0!==r)for(var s=document.getElementsByTagName("script"),u=0;u 51 | - 40.1.43 [1.18] Avoid exclusive synchronisation in block render type lookups (#8476) 52 | - 40.1.42 [1.18] Fix command redirects by replacing Commands#fillUsableCommands (#8616) 53 | Commands#fillUsableCommands does not handle redirect nodes properly. It 54 | blindly pulls from the cached node map for a redirect node, which may 55 | have no result because the target node of the redirect has not been 56 | visited yet. 57 | CommandHelper#mergeCommandNode is better in this regard, because it 58 | visits the target node of the redirect instead of blindly pulling from 59 | the node map. 60 | Fixes #7551 61 | - 40.1.41 [1.18] Fix tags command suggestion to include dynamic registries (#8638) 62 | Manually entering the names of dynamic registries work as expected. The 63 | suggestions for registries didn't include dynamic registries because 64 | they queried the static registries rather than querying all registries 65 | from the server's `RegistryAccess` (which includes both static 66 | registries and dynamic registries). 67 | - 40.1.40 Low code language provider (#8633) 68 | Co-authored-by: Curle <42079760+TheCurle@users.noreply.github.com> 69 | - 40.1.39 [1.18.x] Add checkJarCompatibility task (#8644) 70 | - 40.1.38 [1.18.x] Fix Banner Patterns not being extensible (#8530) 71 | Co-authored-by: Curle <42079760+TheCurle@users.noreply.github.com> 72 | - 40.1.37 1.18.x Port BiomeDictionary over to biome tags (#8564) 73 | - 40.1.36 [1.18.x] Enable the Forge light pipeline by default (#8629) 74 | - 40.1.35 [1.18.x] Allow Modders to add custom data-pack registries through RegistryBuilder (#8630) 75 | Co-authored-by: Silverminer007 <66484505+Silverminer007@users.noreply.github.com> 76 | Co-authored-by: Curle <42079760+TheCurle@users.noreply.github.com> 77 | - 40.1.34 [1.18] Allow custom rarities to directly modify the style (#8648) 78 | - 40.1.33 [1.18] Fix reload listener registration in ModelLoaderRegistry (#8650) 79 | - 40.1.32 Fix wrong position in Level#hasChunk() call in IForgeBlockGetter (#8654) 80 | - 40.1.31 Add ItemStack context to Enchantment#getDamageBonus (#8635) 81 | - 40.1.30 Fix attack cooldown bar showing when out of reach of target. Closes #8639 (#8640) 82 | - 40.1.29 Improve TagsUpdatedEvent by adding update case information. (#8636) 83 | - 40.1.28 Deprecate patched-in Style methods for removal, vanilla variants exist. (#8615) 84 | - 40.1.27 Add pack-type-specific format versions in pack metadata. Fixes #8563 (#8612) 85 | - 40.1.26 Catch and aggregate exceptions during NewRegistryEvent (#8601) 86 | - 40.1.25 Added removeErroringEntities config option (#8627) 87 | Counterpart to removeErroringBlockEntities 88 | - 40.1.24 Add missing patches for not lowering mipmap level for small textures (#8622) 89 | - 40.1.23 Make TransformType enum extensible, includes the possibility to specify a fallback type for cases where models don't specify the transform explicitly. (#8566) 90 | Makes it possible to add new perspectives. 91 | - 40.1.22 Fix CheckSAS to actually validate that the SAS line will do something. 92 | This removes all method level lines as they are not necessary now. 93 | - 40.1.21 Add Attack Range attribute and Update Reach Distance (#8478) 94 | - 40.1.20 Implement PlayerNegotiationEvent (#8599) 95 | - 40.1.19 Fire EntityTravelToDimensionEvent in all expected cases (#8614) 96 | Fixes #8520 97 | - 40.1.18 Fix isEdible crash (#8613) 98 | Fixes #8602 99 | - 40.1.17 Fix typo in Snow Golem patch causing them to destroy blocks they shouldn't. Closes #8611 100 | - 40.1.16 Re-introduce an attribute for entity step height in a non-breaking way (#8607) 101 | - 40.1.15 Revert step height attribute (#8604) 102 | - 40.1.14 [1.18.x] Fix ContextNbtProvider serializing the wrong name (#8575) 103 | - 40.1.13 Let BaseRailBlock decide if the calculated RailShape for placement or connection to neighbors is valid (#8562) 104 | - 40.1.12 Fix shears not playing a breakage sound (#8600) 105 | - 40.1.11 Update IExtensionPoint javadoc to be correct (#8568) 106 | - 40.1.10 Fix IDs of Multi-part entities being desynced across client and server. (#8576) 107 | - 40.1.9 Expose ICondition$IContext to modded reload listeners. (#8596) 108 | - 40.1.8 Fix undead causing chunkloading leading to extensive lag (#8583) 109 | - 40.1.7 Accomodate Bukkit-like Servers not sending Command Args (#8582) 110 | Note to modded server devs: 111 | Please, please, please implement full compatibility with [Brigadier](https://github.com/Mojang/Brigadier) instead of hacking around it. 112 | - 40.1.6 Restore translation key comments to ForgeConfigSpec (#8584) 113 | - 40.1.5 Fix entity parts being ignored when collecting entities in an AABB (#8588) 114 | Previously entity parts are only taken into consideration when the parent entity is in a chunk that intersects with the AABB 115 | - 40.1.4 Fix EntityInteraction event running twice on client side (#8598) 116 | - 40.1.3 Introduce an attribute for step height additions (#8389) 117 | - 40.1.2 Fix shears passing on a client when interacting with a shearable entity (#8597) 118 | Caused the offhand item to also interact with the entity, possibly sending a packet to the server causing both hands to interact 119 | - 40.1.1 Allow Exception passed through CommandEvent to propagate (#8590) 120 | - 40.1.0 Mark 1.18.2 Recommended Build. 121 | Co-authored-by: sciwhiz12 122 | Co-authored-by: Marc Hermans 123 | Co-authored-by: Curle 124 | Co-authored-by: SizableShrimp 125 | Co-authored-by: David Quintana 126 | 127 | 40.0 128 | ==== 129 | - 40.0.54 Add event for hooking into StructuresBecomeConfiguredFix Fixes #8505 130 | Pass-through unknown structure IDs with "unknown." prefix 131 | This avoids the fixer throwing an exception due to the unknown 132 | structure, which causes the chunk data to be dropped (and freshly 133 | regenerated later). The deserializer logs and ignores the unknown 134 | structure ID, avoiding full chunk data loss. 135 | - 40.0.53 Fix missed patch for loading modded dimensions on Dedicated Server start (#8555) 136 | - 40.0.52 Fix potential concurrency issues with BiomeDictionary. Closes #8266 137 | - 40.0.51 Fix debug text being rendered slightly wrong. 138 | - 40.0.50 Fix intrusive handlers on dummy objects. 139 | - 40.0.49 Amend license header to include contributors and apply to FML subprojects (#8525) 140 | After internal discussion, it was decided that we need to include 141 | "contributors" to the license header. This avoids claiming that the 142 | Java source files are under the exclusive copyright ownership of Forge 143 | LLC, which excludes contributors that still hold copyright ownership 144 | over their contributions (but is licensed under the LGPLv2.1 as stated 145 | in the Forge CLA). 146 | - 40.0.48 Add modern implementation of the Slider widget and deprecate the old one (#8496) 147 | - 40.0.47 Implement ItemStack and LivingEntity sensitive method to get the FoodProperties for an Item (#8477) 148 | - 40.0.46 Add use context and simulate flag to getToolModifiedState, enabled HOE_TILL action. (#8557) 149 | - 40.0.45 Remove bad patch for AbstractFurnaceBlockEntity (#8561) 150 | The patch prevented the entity from being marked as changed when an 151 | item finished smelting. 152 | - 40.0.44 Fix issues with custom forge ingredients causing sub ingredients to be prematurely and invalidly cached (#8550) 153 | Add config option and skip checking for empty ingredients in shapeless recipe deserialization 154 | - 40.0.43 Add EnderManAngerEvent to make it possible to prevent endermen getting angry at a player based on more then their helmet. (#8406) 155 | - 40.0.42 Fix misaligned patch in BlockEntity.save. 156 | - 40.0.41 Expose `getHolder()` method on RegistryObject, as helper for when absolutely necessary to pass into Vanilla code. (#8548) 157 | It is recommended you avoid if you can. 158 | - 40.0.40 Fix return value of Recipe#isIncomplete being inaccurate for empty tags (#8549) 159 | - 40.0.39 Simplfy default behavior of isSimple (#8543) 160 | isSimple should only return true if the ingredient is any more sensitive then JUST itemA == itemB 161 | It used to take metadata and damage into account, but that was removed in the flattening. 162 | Also prevents fetching tag values too early, as tags are not ready during the ingredient constructor 163 | - 40.0.38 Implement IPlantable in BambooBlock (#8508) 164 | - 40.0.37 Fix compiler error in eclipse, bump MCPConfig for FF/Record fix. 165 | - 40.0.36 Fix TagEmptyCondition by passing tag context into conditional and recipe deserializers. (#8546) 166 | - 40.0.35 Allow using DeferredRegisters for vanilla registries (#8527) 167 | Catch and aggregate exceptions when applying object holders 168 | - 40.0.34 Remove cut copper from copper storage blocks tag. Closes #8403 (#8539) 169 | - 40.0.33 Fix brewing stand input placement not auto-splitting stackable potions. (#8534) 170 | - 40.0.32 Fix lost validation of registry data on singleplayer world load (#8533) 171 | Fix some leftover 1.18.2 TODOs 172 | - 40.0.31 1.18 Allow mod menus to have their own recipebook (#8028) 173 | - 40.0.30 [1.18.x] Add 3 new ingredient types, and make existing ingredients compatible with datagen (#8517) 174 | - 40.0.29 [1.18.x] Add the projectile search event. (#8322) 175 | Co-authored-by: noeppi_noeppi 176 | - 40.0.28 Allow confirm-and-save of the Experimental Settings warning. (#7275) 177 | - 40.0.27 Add hook for powdered-snow shoes (#8514) 178 | - 40.0.26 Add some helper Access Transformers (#8490) 179 | - 40.0.25 Fix incorrect method used in getStream (#8532) 180 | The original correct method is getPath, but the patch uses getLocation. 181 | The former is the actual resource path to the sound OGG file, while the 182 | latter is the sound's location. 183 | Fixes #8531 184 | - 40.0.24 [1.18] Make it easier to register custom skull blocks models (#8351) 185 | - 40.0.23 Rework fog events (#8492) 186 | - 40.0.22 Update Forge Auto Renaming Tool to the latest version (#8515) 187 | - 40.0.21 Add patches to enable MobEffects with IDs > 255 (#8380) 188 | - 40.0.20 Allow sound instances to play custom audio streams (#8295) 189 | - 40.0.19 Fix NPE caused by canceling onServerChatEvent (#8516) 190 | - 40.0.18 [1.18.2] Fix tags for custom forge registries. (#8495) 191 | Tag-enabled registries must now be registered to vanilla's root registry. See RegistryBuilder#hasTags. 192 | Modded tag-enabled registries have to use the format `data//tags///.json` 193 | This format is to prevent conflicts for registries with the same path but different namespaces 194 | EX: Registry name `AddonTemplate:shoe`, tag name `blue_shoes` would be `data//tags/AddonTemplate/shoe/blue_shoes.json` 195 | RegistryEvent.NewRegistry has been moved and renamed to NewRegistryEvent. 196 | RegistryBuilder#create has been made private. See NewRegistryEvent#create 197 | Created new ITagManager system for looking up Forge tags. See IForgeRegistry#tags. 198 | Add lookup methods for Holders from forge registries. See IForgeRegistry#getHolder. 199 | - 40.0.17 Lower custom item entity replacement from highest to high so mods can cancel it during a specific tick (#8417) 200 | - 40.0.16 Fix MC-176559 related to the Mending enchantment (#7606) 201 | - 40.0.15 [1.18.x] Allow blocks to hide faces on a neighboring block (#8300) 202 | * Allow blocks to hide faces on a neighboring block 203 | * Allow blocks to opt-out of external face hiding 204 | - 40.0.14 [1.18.x] Fix FMLOnly in forgedev and userdev (#8512) 205 | - 40.0.13 Clear local variable table on RuntimeEnumExtender transformation (#8502) 206 | - 40.0.12 Pass server resources to reload listener event (#8493) 207 | - 40.0.11 Use UTF-8 charset for Java compilation (#8486) 208 | - 40.0.10 Use wither as griefing entity when it indirectly hurts an entity (#8431) 209 | - 40.0.9 Provide access to the haveTime supplier in WorldTickEvent and ServerTickEvent (#8470) 210 | - 40.0.8 Fix durability bar not respecting an item's custom max damage (#8482) 211 | - 40.0.7 Add event for controlling potion indicators size (#8483) 212 | This event allows forcing the rendering of the potion indicators in the 213 | inventory screen to either compact mode (icons only) or classic mode 214 | (full width with potion effect name). 215 | - 40.0.6 Introduce system mods to mod loading (#8238) 216 | Core game mods are mods which are required to exist in the environment 217 | during mod loading. These may be specially provided mods (for example, 218 | the `minecraft` mod), or mods which are vital to the framework which 219 | FML is connected to (for example, Forge and the `forge` mod). 220 | These core game mods are used as the only existing mods in the mod list 221 | if mod sorting or dependency verification fails. This allows later 222 | steps in the which use resources from these mod files to work correctly 223 | (up to when the error screen is shown and the game exits). 224 | - 40.0.5 Add missing module exports arg to server arguments list (#8500) 225 | - 40.0.4 Fixed swim speed attribute (#8499) 226 | - 40.0.3 Fix incorrect movement distance calculation (#8497) 227 | - 40.0.2 Add support to Forge registry wrappers for new Holder system. Closes #8491 228 | Fix TagBasedToolTypesTest not generating needed data correctly. 229 | - 40.0.1 Fix JNA not working at runtime and causing issues with natives. 230 | - 40.0.0 Update to 1.18.2 231 | Co-authored-by: sciwhiz12 232 | Co-authored-by: Marc Hermans 233 | Co-authored-by: LexManos 234 | Co-authored-by: Curle 235 | 236 | 39.1 237 | ==== 238 | - 39.1.2 1.18.x Omnibus (#8239) 239 | - 39.1.1 Bump modlauncher and securejarhandler version (#8489) 240 | - 39.1.0 Update license headers to compact SPDX format. 241 | License has not changed, this is just more compact and doesn't include years. 242 | Bump version for RB. 243 | 244 | 39.0 245 | ==== 246 | - 39.0.91 Remove - from allowed characters in mod ids. 247 | The Java Module System does not allow them in module ids. 248 | Closes #8488 249 | - 39.0.90 Fix static initializer crash when loading BakedRenderable. 250 | - 39.0.89 Fix regressions for onAddedTo/RemovedFromWorld and related events (#8434) 251 | - 39.0.88 [1.18] Integrate the gametest framework with Forge (#8225) 252 | - 39.0.87 Re-add missing Shulker patch for EntityTeleportEvent (#8481) 253 | - 39.0.86 Fix entity type in conversion event to Drowned (#8479) 254 | - 39.0.85 Add VanillaGameEvent to allow for globally listening to vanilla's GameEvents (#8472) 255 | - 39.0.84 Provide damage source context to Item#onDestroyed(ItemEntity) (#8473) 256 | - 39.0.83 Add missing shear and elytra game events (#8471) 257 | - 39.0.82 Fix comment for permission handler config setting (#8466) 258 | - 39.0.81 Apply nullable annotations to LootingLevelEvent (#8422) 259 | - 39.0.80 Fix Mob Spawner logic with CustomSpawnRules. Closes #8398 260 | - 39.0.79 Fix LivingDropsEvent not having all drops for foxes (#8387) 261 | - 39.0.78 Add missing Locale parameter to String.format calls, Fixes getArmorResource functionality on some locaales. (#8463) 262 | - 39.0.77 Allow items to hide parts of their tooltips by default (#8358) 263 | - 39.0.76 Prevent 1.x Branches being treated as Pull Requests. (#8443) 264 | - 39.0.75 Fix RegistryObject not working if created after registry events (#8383) 265 | - 39.0.74 Add support for tagging StructureFeatures (#8408) 266 | - 39.0.73 Re-added the patch for LivingExperienceDropEvent and enable it for dragons (#8388) 267 | - 39.0.72 Implement getPickupSound on ForgeFlowingFluid (#8374) 268 | - 39.0.71 Add getCodec method in ForgeRegistry (#8333) 269 | - 39.0.70 Fix #8298 (MobBucketItem) and add test mod (#8313) 270 | - 39.0.69 Deprecate IForgeAbstractMinecart::getCartItem (#8283) 271 | - 39.0.68 Fix HoeItem patch incorrectly applied during migration. (#8384) 272 | - 39.0.67 Fix issues with client only commands in combination with server only commands not using MC's command system. (#8452) 273 | - 39.0.66 Fix FoliagePlacerType and TreeDecoratorType registry (#8394) 274 | - 39.0.65 Fix PlayerChangeGameModeEvent (#8441) 275 | - 39.0.64 Fix comparison of custom ParticleRenderTypes leading to broken particle effects. (#8385) 276 | - 39.0.63 Fix cases where null is potentially sent to Screen events. Closes #8432 277 | - 39.0.62 Ensure ScreenEvent doesn't accept null screens (#8296) 278 | - 39.0.61 Update cobblestone tags (#8292) 279 | - 39.0.60 Prevent release of custom payload packet buffer on the server side. (#8181) 280 | - 39.0.59 Make `MinecraftLocator` respect non-`MOD` FML Mod Types Fixes #8344 (#8346) 281 | - 39.0.58 Fix vanilla worlds being marked experimental (#8415) 282 | - 39.0.57 Simplify usage of IItemRenderProperties::getArmorModel (#8349) 283 | - 39.0.56 Hide mod update notification while screen is still fading in (#8386) 284 | - 39.0.55 Revert "Hooks to allow registering and managing custom DFU schemes and types. (#8242)" 285 | - 39.0.54 Provide NPE protection against out of order init of the TYPES and REF (#8410) 286 | - 39.0.53 Add ShieldBlockEvent (#8261) 287 | - 39.0.52 Add renderable API to allow easier rendering of OBJ and other custom models, from Entity and BlockEntity renderers. (#8259) 288 | This is a redesign of a discarded section of my initial model system rewrite, back in 1.14. 289 | In order to use it with the OBJ loader, you can use OBJLoader.INSTANCE.loadModel to get the OBJModel, and then call OBJModel#bakeRenderable() to get a SimpleRenderable object to render with. 290 | The SimpleRenderable support animation, by providing different transformation matrices for each part in the MultipartTransforms. 291 | Additionally, a BakedRenderable helper exists to turn an arbitrary BakedModel into a renderable. 292 | After trying to get the B3D loader to work, I decided it wasn't worth the trouble and marked it for removal instead. 293 | - 39.0.51 Merge values of defaulted optional tags, Fixes issue where multiple mods declare the same optional tag. (#8250) 294 | - 39.0.50 Added new 1.18 biomes to the BiomeDictionary (#8246) 295 | - 39.0.49 Hooks to allow registering and managing custom DFU schemes and types. (#8242) 296 | - 39.0.48 Ping data compression (#8169) 297 | - 39.0.47 Expand the LevelStem codec to allow dimension jsons to specify that the dimension's chunk generator should use the overworld/server's seed (#7955) 298 | - 39.0.46 Add Client Commands (#7754) 299 | - 39.0.45 Remove references to the now-broken `BlockEntity#save(CompoundTag)` method (#8235) 300 | - 39.0.44 update McModLauncher libraries to newer versions... 301 | - 39.0.43 add extra keystore properties 302 | - 39.0.42 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 303 | - 39.0.41 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 304 | - 39.0.40 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 305 | - 39.0.39 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 306 | - 39.0.38 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 307 | - 39.0.37 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 308 | - 39.0.36 fix crowdin key 309 | - 39.0.35 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 310 | - 39.0.34 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 311 | - 39.0.33 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 312 | - 39.0.32 fix secondary branches builds 313 | - 39.0.31 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated 314 | - 39.0.30 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated 315 | - 39.0.29 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated 316 | - 39.0.28 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated 317 | - 39.0.27 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated 318 | - 39.0.26 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated 319 | - 39.0.25 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated 320 | - 39.0.24 Remove primary branches from building on secondary branch configuration and publish crowdin data. (#8397) 321 | * Remove the normalized branch names also from the filter. 322 | * Add the additional publishing arguments to get the crowdin information. 323 | * TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 324 | * Fix the configuration. 325 | * Remove the required patch and use the base script. 326 | * Make a note about the reference. 327 | Co-authored-by: cpw 328 | - 39.0.23 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed 329 | - 39.0.22 Correct the build configuration to support a setup. (#8395) 330 | * Add a setup task and publish the correct versions. 331 | * Reconfigure build task and disable the normal build and test cycle on everything but pull requests, run an assemble there. 332 | * Fix the derp in the build configuration. 333 | - 39.0.21 Enable the TeamCity CI pipeline (#8368) 334 | * Setup the build.gradle 335 | * Setup the teamcity toolchain. 336 | * Revert the usage of the local build of GU. 337 | * Automatically add it now, it will always exist and is added to maven automatically by GU. 338 | * Implement the branch filter and move the constant for the minimal changelog tag to a constant in the extension. 339 | * Adding the JDK and Gradle version to the build script. 340 | - 39.0.20 Fix and improve Ingredient invalidation (#8361) 341 | - 39.0.19 Rework world persistence hooks to fix the double registry injection when loading single player worlds. (#8234) 342 | - 39.0.18 Update tags for new 1.17 and 1.18 content (#7891) 343 | - 39.0.17 Fix TerrainParticle rendering black under certain conditions (#8378) 344 | - 39.0.16 Allow modded tools to work on glow lichen (#8371) 345 | - 39.0.15 Fix custom climbable blocks not sending a death message (#8372) 346 | Fixes #8370 347 | - 39.0.14 Provide access to the blockstate in BucketPickup#getPickupSound for multiply-logged blocks (#8357) 348 | - 39.0.13 Fix clients being unable to deserialize tags for custom registries (#8352) 349 | - 39.0.12 Fix particles going fullbright for a few frames when first spawning (#8291) 350 | - 39.0.11 Also create parent directories when creating config files (#8364) 351 | - 39.0.10 Fix crash with PermissionsAPI (#8330) 352 | Fixes a crash in singleplayer, when the internal server didn't shut down correctly between world loads. 353 | - 39.0.9 Re-add missing default spawn lists in features (#8285) 354 | Fixes #8265 355 | Fixes #8301 356 | - 39.0.8 Fixed incorrect generic in PermissionAPI (#8317) 357 | - 39.0.7 Redo of the whole PermissionAPI (#7780) 358 | Co-authored-by: LexManos 359 | - 39.0.6 Fix misplaced patch in SpreadingSnowyDirtBlock. 360 | Fixes #8308. 361 | - 39.0.5 Add RenderArmEvent to make overriding just the arm rendering not require copying nearly as much vanilla code (#8254) 362 | - 39.0.4 Add MobEffect tags (#8231) 363 | - 39.0.3 Log missing or unsupported dependencies (#8218) 364 | - 39.0.2 Fix datagen test for sounds definitions provider (#8249) 365 | - 39.0.1 Fix wrong stage being declared in transition to common (#8267) 366 | - 39.0.0 Update to 1.18.1 367 | Co-Authored by: 368 | - Curle 369 | _ Orion 370 | 371 | -------------------------------------------------------------------------------- /forge-template-legacy/gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false 5 | mixingradle_version=0.7-SNAPSHOT 6 | 7 | jei_version=9.7.0.229 8 | 9 | # 1.18.2 10 | create_version = 0.5.0.i-249 11 | flywheel_version = 0.6.8.a-99 12 | registrate_version = MC1.18.2-1.1.3 13 | 14 | # 1.19.2 15 | # create_version = 0.5.0.i-23 16 | # flywheel_version = 0.6.8.a-14 17 | # registrate_version = MC1.19-1.1.5 18 | 19 | maven_group = com.rabbitminers 20 | archives_base_name = addontemplate 21 | mod_version = 0.0.1 22 | 23 | # For 1.19.2 use - 43.2.0 24 | forge_version = 40.1.68 25 | # For 1.19.2 use 1.19.2 26 | minecraft_version = 1.18.2 27 | 28 | -------------------------------------------------------------------------------- /forge-template-legacy/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/forge-template-legacy/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /forge-template-legacy/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /forge-template-legacy/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rabbitminers/Create-Mod-Addon-Template/924beebd9b53e6257cfd64af7b1b41ab838c9faf/forge-template-legacy/gradlew -------------------------------------------------------------------------------- /forge-template-legacy/gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /forge-template-legacy/main/java/com/rabbitminers/addontemplate/AddonTemplate.java: -------------------------------------------------------------------------------- 1 | package com.rabbitminers.addontemplate; 2 | 3 | import com.mojang.logging.LogUtils; 4 | import com.rabbitminers.addontemplate.index.AddonBlocks; 5 | import com.rabbitminers.addontemplate.index.AddonItems; 6 | import com.rabbitminers.addontemplate.index.AddonTileEntities; 7 | import com.simibubi.create.AllBlocks; 8 | import com.simibubi.create.foundation.data.CreateRegistrate; 9 | import com.tterrag.registrate.util.nullness.NonNullSupplier; 10 | import net.minecraft.world.item.CreativeModeTab; 11 | import net.minecraft.world.item.ItemStack; 12 | import net.minecraft.world.level.block.Block; 13 | import net.minecraft.world.level.block.Blocks; 14 | import net.minecraftforge.common.MinecraftForge; 15 | import net.minecraftforge.event.RegistryEvent; 16 | import net.minecraftforge.eventbus.api.IEventBus; 17 | import net.minecraftforge.eventbus.api.SubscribeEvent; 18 | import net.minecraftforge.fml.InterModComms; 19 | import net.minecraftforge.fml.common.Mod; 20 | import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; 21 | import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; 22 | import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; 23 | import net.minecraftforge.event.server.ServerStartingEvent; 24 | import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; 25 | import org.slf4j.Logger; 26 | 27 | import java.util.stream.Collectors; 28 | 29 | // The value here should match an entry in the META-INF/mods.toml file 30 | @Mod(AddonTemplate.MODID) 31 | public class AddonTemplate { 32 | public static final String MODID = "addontemplate"; 33 | private static final NonNullSupplier registrate = CreateRegistrate.lazy(AddonTemplate.MODID); 34 | // Directly reference a slf4j logger 35 | public static final Logger LOGGER = LogUtils.getLogger(); 36 | 37 | // TODO: Add new icon for your mod's item group 38 | public static final CreativeModeTab itemGroup = new CreativeModeTab(MODID) { 39 | @Override 40 | public ItemStack makeIcon() { 41 | return new ItemStack(AllBlocks.FLYWHEEL.get()); 42 | } 43 | }; 44 | 45 | public AddonTemplate() 46 | { 47 | IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus(); 48 | 49 | /* 50 | For adding simple kinetic blocks this is all you need but for fluids etc. 51 | see the Create GitHub repo - 52 | https://github.com/Creators-of-Create/Create/tree/mc1.18/dev/src/main/java/com/simibubi/create 53 | */ 54 | 55 | AddonBlocks.register(); 56 | AddonItems.register(eventBus); 57 | AddonTileEntities.register(); 58 | } 59 | 60 | private void setup(final FMLCommonSetupEvent event) {} 61 | 62 | public static CreateRegistrate registrate() { 63 | return registrate.get(); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /forge-template-legacy/main/java/com/rabbitminers/addontemplate/index/AddonBlocks.java: -------------------------------------------------------------------------------- 1 | package com.rabbitminers.addontemplate.index; 2 | 3 | import com.rabbitminers.addontemplate.AddonTemplate; 4 | import com.simibubi.create.foundation.data.CreateRegistrate; 5 | 6 | public class AddonBlocks { 7 | private static final CreateRegistrate REGISTRATE = AddonTemplate.registrate().creativeModeTab( 8 | () -> AddonTemplate.itemGroup 9 | ); 10 | 11 | // See create git for how to register blocks 12 | // - https://github.com/Creators-of-Create/Create/blob/mc1.18/dev/src/main/java/com/simibubi/create/AllBlocks.java 13 | 14 | public static void register() {} 15 | } 16 | -------------------------------------------------------------------------------- /forge-template-legacy/main/java/com/rabbitminers/addontemplate/index/AddonItems.java: -------------------------------------------------------------------------------- 1 | package com.rabbitminers.addontemplate.index; 2 | 3 | import com.rabbitminers.addontemplate.AddonTemplate; 4 | import com.simibubi.create.foundation.data.CreateRegistrate; 5 | import net.minecraftforge.eventbus.api.IEventBus; 6 | 7 | public class AddonItems { 8 | private static final CreateRegistrate REGISTRATE = AddonTemplate.registrate() 9 | .creativeModeTab(() -> AddonTemplate.itemGroup); 10 | 11 | // See create git for how to register items 12 | // - https://github.com/Creators-of-Create/Create/blob/mc1.18/dev/src/main/java/com/simibubi/create/AllItems.java 13 | public static void register(IEventBus eventBus) { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /forge-template-legacy/main/java/com/rabbitminers/addontemplate/index/AddonTileEntities.java: -------------------------------------------------------------------------------- 1 | package com.rabbitminers.addontemplate.index; 2 | 3 | import com.rabbitminers.addontemplate.AddonTemplate; 4 | import com.simibubi.create.foundation.data.CreateRegistrate; 5 | 6 | public class AddonTileEntities { 7 | private static final CreateRegistrate REGISTRATE = AddonTemplate.registrate(); 8 | 9 | // See create git for how to register tile entities 10 | // - https://github.com/Creators-of-Create/Create/blob/mc1.18/dev/src/main/java/com/simibubi/create/AllTileEntities.java 11 | public static void register() {} 12 | } 13 | -------------------------------------------------------------------------------- /forge-template-legacy/main/java/com/rabbitminers/addontemplate/mixin/MixinDemo.java: -------------------------------------------------------------------------------- 1 | package com.rabbitminers.addontemplate.mixin; 2 | 3 | import com.rabbitminers.addontemplate.AddonTemplate; 4 | import net.minecraft.client.gui.screens.TitleScreen; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(TitleScreen.class) 11 | public class MixinDemo { 12 | @Inject(method = "init", at = @At("TAIL")) 13 | private void exampleMixin(CallbackInfo ci) { 14 | AddonTemplate.LOGGER.info("Hello World From {}", AddonTemplate.MODID); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /forge-template-legacy/main/resources/META-INF/mods.toml: -------------------------------------------------------------------------------- 1 | modLoader="javafml" #mandatory 2 | 3 | loaderVersion="[40,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. 4 | 5 | license="All rights reserved" 6 | 7 | [[mods]] #mandatory 8 | 9 | modId="addontemplate" #mandatory 10 | 11 | # If you prefer this can be manually set 12 | version="${file.jarVersion}" #mandatory 13 | 14 | # TODO: Add your mods name 15 | displayName="Create Addon Template" #mandatory 16 | 17 | logoFile="AddonTemplate.png" #optional 18 | 19 | credits="Rabbitminers" #optional 20 | 21 | # TODO: Add your name here 22 | authors="yourname" #optional 23 | # The description text for the mod (multi line!) (#mandatory) 24 | # TODO: Describe your mod 25 | description=''' 26 | A template for create addons on Create 0.5.i 27 | ''' 28 | # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. 29 | [[dependencies.addontemplate]] #optional 30 | # the modid of the dependency 31 | modId="forge" #mandatory 32 | # Does this dependency have to exist - if not, ordering below must be specified 33 | mandatory=true #mandatory 34 | # The version range of the dependency 35 | versionRange="[40,)" #mandatory 36 | # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory 37 | ordering="NONE" 38 | # Side this dependency is applied on - BOTH, CLIENT or SERVER 39 | side="BOTH" 40 | # Here's another dependency 41 | [[dependencies.addontemplate]] 42 | modId="minecraft" 43 | mandatory=true 44 | # This version range declares a minimum of the current minecraft version up to but not including the next major version 45 | versionRange="[1.18.2,1.19)" 46 | ordering="NONE" 47 | side="BOTH" 48 | 49 | [[dependencies.addontemplate]] 50 | modId="create" 51 | mandatory=true 52 | versionRange="[0.5.0.d,)" 53 | ordering="NONE" 54 | side="BOTH" 55 | -------------------------------------------------------------------------------- /forge-template-legacy/main/resources/addontemplate.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8.2", 4 | "package": "com.rabbitminers.addontemplate.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "mixins": [ 7 | ], 8 | "client": [ 9 | "MixinDemo" 10 | ] 11 | } -------------------------------------------------------------------------------- /forge-template-legacy/main/resources/assets/addontemplate/lang/en_us.json: -------------------------------------------------------------------------------- 1 | { 2 | "itemGroup.addontemplate": "Create Addon Template" 3 | } -------------------------------------------------------------------------------- /forge-template-legacy/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "AddonTemplate resources", 4 | "pack_format": 9, 5 | "forge:resource_pack_format": 8, 6 | "forge:data_pack_format": 9 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /forge-template-legacy/readme.md: -------------------------------------------------------------------------------- 1 | # Create Addon Template 2 | [Forge 1.18.2] - (Update Instructions Included) A minimal template for creating Create 0.5 addons 3 | 4 | ## Setup 5 | 6 | Clone the repository or select "use this template" on the github page 7 | ``` 8 | git clone https://github.com/Rabbitminers/Create-Mod-Addon-Template 9 | ``` 10 | Open the project in an IDE of your choice, and generate the correct Gradle Runs for your IDE, Create, Flywheel 11 | Registrate and JEI (jei is not mandatory but can be useful when testing) have all been added to your enviroment already 12 | aswell as a registry for blocks, items and tile entities. 13 | 14 | Before running the client follow the provided list of TODO's which will guide you through what needs to be changed/updated 15 | from the default template such as your mod id. 16 | 17 | ## Documentation / Resources 18 | 19 | For more information on Forge you can find the docs here - 20 | 21 | https://docs.minecraftforge.net/en/1.18.x/ 22 | 23 | For more information on depending on Create you can find that here - 24 | 25 | https://github.com/Creators-of-Create/Create/wiki/Depending-on-Create 26 | 27 | For more information on working with create you can find that here - 28 | 29 | https://github.com/Creators-of-Create/Create/tree/mc1.18/dev/src 30 | -------------------------------------------------------------------------------- /forge-template-legacy/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | on: [ pull_request, push ] 3 | 4 | jobs: 5 | build: 6 | strategy: 7 | matrix: 8 | java: [ 17 ] 9 | runs-on: ubuntu-latest 10 | steps: 11 | 12 | - name: checkout repository 13 | uses: actions/checkout@v2 14 | 15 | - name: setup jdk ${{ matrix.java }} 16 | uses: actions/setup-java@v1 17 | with: 18 | java-version: ${{ matrix.java }} 19 | 20 | - uses: actions/cache@v2 21 | with: 22 | path: | 23 | ~/.gradle/caches 24 | ~/.gradle/wrapper 25 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/gradle-wrapper.properties') }} 26 | restore-keys: ${{ runner.os }}-gradle 27 | 28 | - name: make gradle wrapper executable 29 | run: chmod +x ./gradlew 30 | 31 | - name: build 32 | run: ./gradlew build 33 | 34 | - name: capture build artifacts 35 | uses: actions/upload-artifact@v2 36 | with: 37 | name: Artifacts 38 | path: build/libs/ -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "templatinator", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": {} 6 | } 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | {} 2 | --------------------------------------------------------------------------------