120 Commits

Author SHA1 Message Date
modmuss50 b112389f3b 1.19.2 2023-03-20 18:06:57 -05:00
modmuss50 5c2762a253 1.19.1 2023-03-20 18:06:57 -05:00
modmuss50 6fbdbfd778 1.19 2023-03-20 18:06:57 -05:00
modmuss50 b3508c8a3d Update loom 2023-03-20 18:06:57 -05:00
modmuss50 6b5bc00fb7 Update loader, api & yarn 2023-03-20 18:06:57 -05:00
Player 257a4e864e Update MC dep to disallow 1.18.1 since it's usually incompatible 2023-03-20 18:06:57 -05:00
modmuss50 fdff9aeccf Update to 1.18.2
Also updates fabric loader.
2023-03-20 18:06:57 -05:00
modmuss50 ca6871c601 Update gradle. 2023-03-20 18:06:57 -05:00
modmuss50 1ae727fb8b Update API, yarn, minimum loader version and mixin compat level. 2023-03-20 18:06:57 -05:00
modmuss50 f6ccf26923 Update Loom & Gradle (#160) 2023-03-20 18:06:57 -05:00
modmuss50 17270ac78e Migrate to SLF4J (#157) 2023-03-20 18:06:57 -05:00
ap-1 f986147bc9 Update fabric latest versions link (#154)
The [old page](https://fabricmc.net/versions.html) is missing links to the online javadocs. It tells users to use the [new page](https://fabricmc.net/develop) instead, so we might as well provide the new one here to begin with.
2023-03-20 18:06:57 -05:00
Player 10418ddfb4 Update Fabric Loader to 0.12.12 2023-03-20 18:06:57 -05:00
Player 23a1cc505c Update Fabric Loader to 0.12.10 2023-03-20 18:06:57 -05:00
modmuss50 783060dd7b 1.18.1 2023-03-20 18:06:57 -05:00
modmuss50 7223d32932 Update deps 2023-03-20 18:06:57 -05:00
modmuss50 a112439e5a 1.18 2023-03-20 18:06:57 -05:00
Player 257a042d2d Revert compatibilityLevel bump
Using JAVA_17 is currently broken with the production server and not necessarily indicated by how Mixin treats this field
2023-03-20 18:06:57 -05:00
modmuss50 f64a1af368 1.18-pre2 2023-03-20 18:06:57 -05:00
modmuss50 4448cd0dd5 Small cleanup 2023-03-20 18:06:57 -05:00
modmuss50 6028a2d1bc Update Fabric Loader and API 2023-03-20 18:06:57 -05:00
modmuss50 b601ab4a82 Update to loom 0.10 2023-03-20 18:06:57 -05:00
modmuss50 750bfb03e1 Update to Gradle 7.3 and also build on Java 17 2023-03-20 18:06:57 -05:00
modmuss50 aa4c1cd81e Resolve plugin dependencies from maven central. (#138) 2023-03-20 18:06:57 -05:00
Jasmine Hegman 90ee12cdaf Update yarn and fabric load/api (#134)
* Update yarn and fabric load/api

To keep up to date with https://fabricmc.net/versions.html?&version=1.17.1

* Set loader to latest stable version
2023-03-20 18:06:57 -05:00
Levy Ehrstein e4b3afebf9 Use Logger instead of println (#126) 2023-03-20 18:06:57 -05:00
modmuss50 e32cf4dd03 Update fabric API 2023-03-20 18:06:57 -05:00
modmuss50 792855f003 Update Gradle, Loom, Yarn, Fabric 2023-03-20 18:06:57 -05:00
modmuss50 a03d7d7ca7 Update Minecraft and Gradle. 2023-03-20 18:06:57 -05:00
jackassmc 66f205566e Update Fabric versions link (#111) 2023-03-20 18:06:57 -05:00
Qwinci f9c2441da6 Update gradle.properties (#110) 2023-03-20 18:06:57 -05:00
modmuss50 ea5ee160cb 1.17 stable 2023-03-20 18:06:57 -05:00
modmuss50 90784b19dd 1.17-pre1 2023-03-20 18:06:57 -05:00
modmuss50 327294c23a Update to 21w19a and Java 16
This commit can be used as an example on how to update your mod to Java 16. You will need to ensure you have Java 16 installed and set as the active version to run this.

Gradle 7 is required along with loom 0.8
2023-03-20 18:06:57 -05:00
David Bailey 3945543493 Update dependencies (#92)
Co-authored-by: ByMartrixX <47987888+ByMartrixx@users.noreply.github.com>
2023-03-20 18:06:57 -05:00
Geolykt b4adbdb38d Unify inconsitent identation in build.gradle (#90) 2023-03-20 18:06:57 -05:00
modmuss50 5e90fcf973 Update loom, gradle, yarn, loader and api. 2023-03-20 18:06:57 -05:00
YTG123 24a2d6c4de Improve description of repositories blocks (#81)
* Update build.gradle

* Implements @liach's suggested changes

* Update build.gradle

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Update build.gradle

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Update build.gradle

* Update build.gradle

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2023-03-20 18:06:57 -05:00
modmuss50 521af1f442 Remove jcenter from settings.gradle as jcenter is shutting down.
Closes #78

This should have never been here, sadly not a lot I can do about the past.
2023-03-20 18:06:57 -05:00
modmuss50 239db7ac74 Update default maven group 2023-03-20 18:06:57 -05:00
modmuss50 ac2b8726bf Update minecraft, gradle, loader and api. 2023-03-20 18:06:57 -05:00
modmuss50 7e8187a36d Fix some IDE's (vsc) not detecting the correct java version to compile for. 2023-03-20 18:06:57 -05:00
modmuss50 2a6b759429 1.16.4 2023-03-20 18:06:57 -05:00
zml b47118c0c0 Modernize Gradle buildscript (#71)
* Modernize gradle buildscript

* Bump yarn/loader/fabric api versions

* Add GH actions to build example mod

* Update in response to feedback
2023-03-20 18:06:57 -05:00
Ned Loynd d418f29434 Simply processResources logic & make it compatible with future versions of Gradle (#69)
* Ignore commonly generated Mac OS junk files

This is optional, but it would be a huge quality of life improvement for anyone developing on Mac OS, as the first thing I do when starting a new project is always to add this to the .gitignore. Example: Just from the small changes I've made to the build script alone, I've generated 4 .DS_Store files, which would clutter up this PR if I included them.

* Simply processResources logic & make it compatible with future versions of Gradle

When the processResources task is currently run, it uses deprecated Gradle features. Running "gradle clean build --warning-mode all" should output a message along the lines of "Copying or archiving duplicate paths with the default duplicates strategy has been deprecated. This is scheduled to be removed in Gradle 7.0.". This is due to inlcuding all files twice, as the "from" blocks includes them for the second time (gradle includes these files by default). This PR simply edits the relevant files from the already selected resources directory. This also reduces the amount of repetition in the script.

* Switch to double quotes to match style

D'oh!
2023-03-20 18:06:57 -05:00
modmuss50 15702ab2d6 Update api, loader, loom, gradle 2023-03-20 18:06:57 -05:00
modmuss50 131529ef83 1.16.3 2023-03-20 18:06:57 -05:00
modmuss50 65c0816fd4 1.16.2 2023-03-20 18:06:57 -05:00
modmuss50 766f1dd165 1.16.1 2023-03-20 18:06:57 -05:00
modmuss50 fbfea881a5 1.16 2023-03-20 18:06:57 -05:00
modmuss50 fa81f68510 Update Gradle and dependencies 2023-03-20 18:06:57 -05:00
modmuss50 34822a9d8a Update Loom 2023-03-20 18:06:57 -05:00
modmuss50 94c6fdae11 Update loom, gradle and all other deps 2023-03-20 18:06:57 -05:00
modmuss50 d8a448f204 Update README.md 2023-03-20 18:06:57 -05:00
Caroline Joy Bell 38267590f2 Add Eclipse *.launch files to the gitignore (#37) 2023-03-20 18:06:57 -05:00
modmuss50 fa9bb5786e Update gradle, update deps, modCompile -> modImplementation 2023-03-20 18:06:57 -05:00
i509VCB 61f9ac40fe Add minVersion to template mixin config (#41)
* Add minVersion to mixin config

* Bump loader dep requriement to >=0.7.4
2023-03-20 18:06:57 -05:00
modmuss50 eae63a9b4f 1.15.2 2023-03-20 18:06:57 -05:00
modmuss50 75f6927373 1.15.1 2023-03-20 18:06:57 -05:00
modmuss50 048c27b612 Increase required loader version 2023-03-20 18:06:57 -05:00
modmuss50 3ac3537fba 1.15 2023-03-20 18:06:57 -05:00
Brad Erickson 11e84d5edd Update yarn, loader and api (#31)
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2023-03-20 18:06:57 -05:00
modmuss50 78d7ccb738 Update yarn, loader and api 2023-03-20 18:06:57 -05:00
modmuss50 fca96eeabe Update gradle to 5.5.1 2023-03-20 18:06:57 -05:00
modmuss50 be4e99199c Update loom + dependencies 2023-03-20 18:06:57 -05:00
MrIbby 3df02eb827 Fix #18 (#19) 2023-03-20 18:06:57 -05:00
modmuss50 88a72df56f 1.14.4 2023-03-20 18:06:57 -05:00
Modmuss50 6c83c71730 Update API version to fix a bug with crashes.
Sadly this bug snuck into previous versions, this has been fixed.
2023-03-20 18:06:57 -05:00
modmuss50 0a3b14d2d0 1.14.3 2023-03-20 18:06:57 -05:00
asie 68803953ba version updates 2023-03-20 18:06:57 -05:00
Alexander 262d4aa421 Update gradle.properties (#15) 2023-03-20 18:06:57 -05:00
asie dd1a7bf0f0 fix requires -> depends in mod JSON 2023-03-20 18:06:57 -05:00
modmuss50 4b63432aa6 Update to 1.14.2 2023-03-20 18:06:57 -05:00
Connor Scialdone 8e5adfbb87 Update Yarn mappings to 1.14.1+build.5
Yarn 1.14.1+build.4 had an issue with Hopper#getWorld being renamed to Hopper#getHopperWorld, which caused the world to crash when ticking hoppers in dev. 1.14.1+build.5 fixed this, but the example mod wasn't updated yet, so anyone following the dev install instructions on the site would run into the issue.
2023-03-20 18:06:57 -05:00
modmuss50 477eb10b53 Update to 1.14.1 and Fabric API 0.3.0 2023-03-20 18:06:57 -05:00
asie 52a1fb39d6 Minecraft 1.14, Loom 0.2.2 2023-03-20 18:06:57 -05:00
asie 7c685de353 actually update to Loom 0.2.1 2023-03-20 18:06:57 -05:00
modmuss50 d36788770b Update to pre 4 2023-03-20 18:06:57 -05:00
Bruno Ploumhans 8725b81acb Update to fabric 0.2.6.121 2023-03-20 18:06:56 -05:00
Selebrator d489812935 Update gradle to 4.10.3 (#9) 2023-03-20 18:06:56 -05:00
Adrian Siekierka f73966b745 update to Loader 0.4.0 2023-03-20 18:06:56 -05:00
modmuss50 35935343e6 Update to fixed fabric + yarn 2023-03-20 18:06:56 -05:00
modmuss50 2e17a483d2 19w12a 2023-03-20 18:06:56 -05:00
asie c97c923e09 fix typo 2023-03-20 18:06:56 -05:00
UpcraftLP e7fad09f14 remove javadoc jar 2019-02-15 22:41:11 +01:00
UpcraftLP 8243775b5c automatically set mod version on export 2019-02-15 22:39:48 +01:00
UpcraftLP 8c0584bbaf fix indentation 2019-02-15 22:29:42 +01:00
UpcraftLP 9101ee4ee9 fix maven publishing 2019-02-15 22:25:50 +01:00
UpcraftLP c114575354 update fabric URL 2019-02-15 22:16:07 +01:00
UpcraftLP 682afc73a4 add javadoc task and maven-publish plugin 2019-02-15 22:01:20 +01:00
UpcraftLP 133913f420 encoding fix for special characters 2019-02-15 21:55:33 +01:00
UpcraftLP 8bbfcdcb4b move properties out of the main buildscript 2019-02-15 21:54:29 +01:00
UpcraftLP 51bee1baf0 use constants for source/target compatibility levels 2019-02-15 21:52:41 +01:00
modmuss50 2931e41b5a Update to 19w06a and 0.2.0 fabric 2019-02-10 15:16:38 +00:00
modmuss50 210e0b014f Actually use gradle 4.10.2
Somewhere along the line the wrapper version was updated, but not the jar and the script.
2019-02-03 13:35:00 +00:00
modmuss50 8872b16f24 Update example mod to 19w05a 2019-02-02 06:43:11 +00:00
modmuss50 18e298356c Fix gradle.properties 2019-01-24 14:46:12 +00:00
modmuss50 23f49411a8 Update example to 19w03c and increase the memory for gradle. 2019-01-24 00:45:28 +00:00
modmuss50 5898ba99a5 Update to 19w02a 2019-01-09 20:47:06 +00:00
asie 2c09427cb1 use array initializer value as the default for example 2018-12-31 16:05:40 +01:00
Andrew Bond 21fe396a5e Update .gitignore for VSCode support (#6) 2018-12-23 11:52:58 -05:00
Adrian Siekierka 4d7ab690c3 important update 2018-12-22 21:34:15 +01:00
Adrian Siekierka b58680946a add sourcesJar 2018-12-22 17:37:14 +01:00
Adrian Siekierka e79420b9c7 update Loom, Fabric 2018-12-22 17:36:30 +01:00
Zsombor Prisznyák f74f4185ac Bumped version (#4) 2018-12-21 22:31:14 -05:00
Prospector 8b0e73fb9a Add description to example mod (#2) 2018-12-12 21:18:40 -05:00
asie c168b5b1f4 require fabric api for the example mod 2018-12-12 20:48:51 +01:00
asie 8215e4757d update build.gradle for 18w50a 2018-12-12 18:35:28 +01:00
asie 48c5c10977 update 2018-12-11 21:18:37 +01:00
asie 4bce6a728d update build.gradle 2018-12-11 14:13:45 +01:00
modmuss50 d620bd25cb Update Yarn and Fabric 2018-12-10 21:25:49 +00:00
Adrian Siekierka c5477b3e94 update build.gradle 2018-12-09 22:29:33 +01:00
Adrian Siekierka 97fda55582 update maven url 2018-12-09 17:51:48 +01:00
Adrian Siekierka e87fd77bcf update library versions 2018-12-09 17:49:28 +01:00
asie f3bb1c5fb0 Merge branch 'NikkyAI-master' 2018-12-01 17:23:52 +01:00
asie 6a975962b6 Merge branch 'master' of https://github.com/NikkyAI/fabric-example-mod into NikkyAI-master 2018-12-01 17:22:07 +01:00
Adrian Siekierka 4d0c364880 update to 48b, new fabric-loader definition 2018-11-30 16:54:05 +01:00
NikkyAI 33ecb40f61 use plugins block for fabric-loom
add .gitignore
2018-11-06 11:28:20 +01:00
asie 952a3d1787 update to 0.0.13 2018-11-06 10:51:23 +01:00
Adrian Siekierka b755e01769 first commit 2018-11-03 23:25:39 +01:00
24 changed files with 274 additions and 435 deletions
+4 -5
View File
@@ -15,18 +15,17 @@ jobs:
17, # Current Java LTS & minimum supported by Minecraft 17, # Current Java LTS & minimum supported by Minecraft
] ]
# and run on both Linux and Windows # and run on both Linux and Windows
os: [ubuntu-22.04, windows-2022] os: [ubuntu-20.04, windows-2022]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: checkout repository - name: checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: validate gradle wrapper - name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1 uses: gradle/wrapper-validation-action@v1
- name: setup jdk ${{ matrix.java }} - name: setup jdk ${{ matrix.java }}
uses: actions/setup-java@v3 uses: actions/setup-java@v1
with: with:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
distribution: 'microsoft'
- name: make gradle wrapper executable - name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }} if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew run: chmod +x ./gradlew
@@ -34,7 +33,7 @@ jobs:
run: ./gradlew build run: ./gradlew build
- name: capture build artifacts - name: capture build artifacts
if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: Artifacts name: Artifacts
path: build/libs/ path: build/libs/
-7
View File
@@ -31,10 +31,3 @@ bin/
# fabric # fabric
run/ run/
# java
hs_err_*.log
replay_*.log
*.hprof
*.jfr
+120 -2
View File
@@ -1,3 +1,121 @@
MIT License Creative Commons Legal Code
# TODO: Add license CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
+2 -4
View File
@@ -1,6 +1,4 @@
# c0de's mod # Fabric Example Mod
A collection of mods for minecraft
## Setup ## Setup
@@ -8,4 +6,4 @@ For setup instructions please see the [fabric wiki page](https://fabricmc.net/wi
## License ## License
This mod is released under the MIT license. This template is available under the CC0 license. Feel free to learn from it and incorporate it in your own projects.
+1 -1
View File
@@ -1,5 +1,5 @@
plugins { plugins {
id 'fabric-loom' version '1.1-SNAPSHOT' id 'fabric-loom' version '0.12-SNAPSHOT'
id 'maven-publish' id 'maven-publish'
} }
+7 -8
View File
@@ -1,17 +1,16 @@
# Done to increase the memory available to gradle. # Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true
# Fabric Properties # Fabric Properties
# check these on https://fabricmc.net/develop # check these on https://fabricmc.net/develop
minecraft_version=1.19.4 minecraft_version=1.19.2
yarn_mappings=1.19.4+build.1 yarn_mappings=1.19.2+build.1
loader_version=0.14.17 loader_version=0.14.8
# Mod Properties # Mod Properties
mod_version = 0.0.1 mod_version = 1.0.0
maven_group = dev.c0de maven_group = com.example
archives_base_name = minecraft-mod archives_base_name = fabric-example-mod
# Dependencies # Dependencies
fabric_version=0.75.3+1.19.4 fabric_version=0.58.6+1.19.2
Binary file not shown.
+1 -2
View File
@@ -1,6 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
Vendored
+9 -19
View File
@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# #
# Copyright © 2015-2021 the original authors. # Copyright © 2015-2021 the original authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -32,10 +32,10 @@
# Busybox and similar reduced shells will NOT work, because this script # Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features: # requires all of these POSIX shell features:
# * functions; # * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»; # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»; # * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit». # * various built-in commands including «command», «set», and «ulimit».
# #
# Important for patching: # Important for patching:
# #
@@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop. # Darwin, MinGW, and NonStop.
# #
# (3) This script is generated from the Groovy template # (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project. # within the Gradle project.
# #
# You can find Gradle at https://github.com/gradle/gradle/. # You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,11 +80,11 @@ do
esac esac
done done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
@@ -143,16 +143,12 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #( case $MAX_FD in #(
max*) max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) || MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit" warn "Could not query maximum file descriptor limit"
esac esac
case $MAX_FD in #( case $MAX_FD in #(
'' | soft) :;; #( '' | soft) :;; #(
*) *)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" || ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD" warn "Could not set maximum file descriptor limit to $MAX_FD"
esac esac
@@ -209,12 +205,6 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \ org.gradle.wrapper.GradleWrapperMain \
"$@" "$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args. # Use "xargs" to parse quoted args.
# #
# With -n1 it outputs one arg per line, with the quotes and backslashes removed. # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
Vendored
+89 -92
View File
@@ -1,92 +1,89 @@
@rem @rem
@rem Copyright 2015 the original author or authors. @rem Copyright 2015 the original author or authors.
@rem @rem
@rem Licensed under the Apache License, Version 2.0 (the "License"); @rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License. @rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at @rem You may obtain a copy of the License at
@rem @rem
@rem https://www.apache.org/licenses/LICENSE-2.0 @rem https://www.apache.org/licenses/LICENSE-2.0
@rem @rem
@rem Unless required by applicable law or agreed to in writing, software @rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS, @rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and @rem See the License for the specific language governing permissions and
@rem limitations under the License. @rem limitations under the License.
@rem @rem
@if "%DEBUG%"=="" @echo off @if "%DEBUG%" == "" @echo off
@rem ########################################################################## @rem ##########################################################################
@rem @rem
@rem Gradle startup script for Windows @rem Gradle startup script for Windows
@rem @rem
@rem ########################################################################## @rem ##########################################################################
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
@rem This is normally unused set APP_BASE_NAME=%~n0
set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME%
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
@rem Resolve any "." and ".." in APP_HOME to make it shorter. for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
@rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1
%JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto execute
if %ERRORLEVEL% equ 0 goto execute
echo.
echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo.
echo. echo Please set the JAVA_HOME variable in your environment to match the
echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation.
echo location of your Java installation.
goto fail
goto fail
:findJavaFromJavaHome
:findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
if exist "%JAVA_EXE%" goto execute
echo.
echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo.
echo. echo Please set the JAVA_HOME variable in your environment to match the
echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation.
echo location of your Java installation.
goto fail
goto fail
:execute
:execute @rem Setup the command line
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
@rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
:end @rem End local scope for the variables with windows NT shell
@rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
:fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code!
rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
set EXIT_CODE=%ERRORLEVEL% exit /b 1
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% :mainEnd
exit /b %EXIT_CODE% if "%OS%"=="Windows_NT" endlocal
:mainEnd :omega
if "%OS%"=="Windows_NT" endlocal
:omega
@@ -1,14 +0,0 @@
package dev.c0de.minecraft;
import dev.c0de.minecraft.config.SimpleConfig;
import net.fabricmc.api.ModInitializer;
public class c0deFoxMod implements ModInitializer {
public static SimpleConfig config;
@Override
public void onInitialize() {
config = new SimpleConfig("c0defox");
}
}
@@ -1,48 +0,0 @@
package dev.c0de.minecraft.client;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
public abstract class Module {
protected KeyBinding key;
protected boolean state;
public void onTick(MinecraftClient client) {
}
public void onToggle(MinecraftClient client) {
}
public void registerKey(String translationKey, int glfw_key, String category) {
this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding(
translationKey,
InputUtil.Type.KEYSYM,
glfw_key,
category
));
}
public void setState(boolean state) {
this.state = state;
}
public KeyBinding getKey() {
return this.key;
}
public void toggleKey() {
if (this.key != null) {
if (this.key.wasPressed()) {
this.setState(!this.isState());
}
}
}
public boolean isState() {
return this.state;
}
}
@@ -1,43 +0,0 @@
package dev.c0de.minecraft.client;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import dev.c0de.minecraft.client.modules.Fullbright;
@Environment(EnvType.CLIENT)
public class c0deFoxModClient implements ClientModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("c0defox");
private static c0deFoxModClient self;
private static Module fullbright;
@Override
public void onInitializeClient() {
ClientTickEvents.END_CLIENT_TICK.register(this::tick);
self = this;
fullbright = new Fullbright();
LOGGER.info("Ready");
}
public static c0deFoxModClient getSelf() {
return self;
}
// Called on every game tick
public void tick(MinecraftClient client) {
fullbright.onTick(client);
}
}
@@ -1,37 +0,0 @@
package dev.c0de.minecraft.client.modules;
import dev.c0de.minecraft.c0deFoxMod;
import dev.c0de.minecraft.client.Module;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import org.lwjgl.glfw.GLFW;
public class Fullbright extends Module {
double DEFAULT = 1.0;
public Fullbright() {
this.registerKey("key.c0defox.fullbright", GLFW.GLFW_KEY_B, "key.categories.c0defox");
}
@Override
public void onTick(MinecraftClient client) {
this.toggleKey();
if (this.isState()) {
this.update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA);
return;
}
this.update(client, DEFAULT);
}
private void update(MinecraftClient client, double value) {
if (client == null) return;
if (client.options.getGamma().getValue() == value) return;
client.options.getGamma().setValue(value);
if (client.player != null) client.player.sendMessage(Text.of(String.valueOf(value)), true);
}
}
@@ -1,6 +0,0 @@
package dev.c0de.minecraft.config;
// Configuration options for the client
public class ClientConfig {
public double FULLBRIGHT_GAMMA = 5.5;
}
@@ -1,80 +0,0 @@
package dev.c0de.minecraft.config;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.fabricmc.loader.api.FabricLoader;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
public class SimpleConfig {
private static final Logger LOGGER = LogManager.getLogger("SimpleConfig");
private boolean broken = false;
private final File file;
private ClientConfig config = new ClientConfig();
public ClientConfig getConfig() {
return config;
}
public void createConfig() throws IOException {
// try creating missing files
file.getParentFile().mkdirs();
if (Files.notExists(file.toPath()))
Files.createFile(file.toPath());
// write default config data
Gson gson = new GsonBuilder()
.enableComplexMapKeySerialization()
.setPrettyPrinting()
.create();
PrintWriter writer = new PrintWriter(file, StandardCharsets.UTF_8);
gson.toJson(config, writer);
writer.close();
}
private void loadConfig() throws IOException {
Gson gson = new Gson();
Reader reader = Files.newBufferedReader(file.toPath());
config = gson.fromJson(reader, ClientConfig.class);
reader.close();
}
public SimpleConfig(String modID) {
Path path = FabricLoader.getInstance().getConfigDir();
file = new File(path.toAbsolutePath().toString(), modID + ".json");
if (!file.exists()) {
LOGGER.info(modID + " is missing, generating default one...");
try {
createConfig();
} catch (IOException e) {
LOGGER.error(modID + " failed to generate!");
LOGGER.trace(e);
broken = true;
}
}
if (!broken) {
try {
loadConfig();
} catch (Exception e) {
LOGGER.error(modID + " failed to load!");
LOGGER.trace(e);
broken = true;
}
}
}
}
@@ -1,37 +0,0 @@
package dev.c0de.minecraft.mixin;
import com.mojang.serialization.Codec;
import net.minecraft.client.option.SimpleOption;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(SimpleOption.class)
public class BrightnessMixin<T> {
@Shadow @Final
Text text;
@Shadow
T value;
@Inject(method = "getCodec", at = @At("HEAD"), cancellable = true)
private void returnFakeCodec(CallbackInfoReturnable<Codec<Double>> info) {
if (text.getString().equals(I18n.translate("options.gamma"))) {
info.setReturnValue(Codec.DOUBLE);
}
}
@Inject(method = "setValue", at = @At("HEAD"), cancellable = true)
private void setRealValue(T value, CallbackInfo info) {
if (text.getString().equals(I18n.translate("options.gamma"))) {
this.value = value;
info.cancel();
}
}
}
@@ -0,0 +1,21 @@
package net.fabricmc.example;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExampleMod implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final Logger LOGGER = LoggerFactory.getLogger("modid");
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
}
}
@@ -1,7 +1,6 @@
package dev.c0de.minecraft.mixin; package net.fabricmc.example.mixin;
// import dev.c0de.minecraft.c0deFoxMod;
import net.fabricmc.example.ExampleMod;
import net.minecraft.client.gui.screen.TitleScreen; import net.minecraft.client.gui.screen.TitleScreen;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -9,10 +8,9 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(TitleScreen.class) @Mixin(TitleScreen.class)
public class c0deFoxMixin { public class ExampleMixin {
@Inject(at = @At("HEAD"), method = "init()V") @Inject(at = @At("HEAD"), method = "init()V")
private void init(CallbackInfo info) { private void init(CallbackInfo info) {
// c0deFoxMod.LOGGER.info("This line is printed by an example mod mixin!"); ExampleMod.LOGGER.info("This line is printed by an example mod mixin!");
} }
} }
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -1,4 +0,0 @@
{
"key.categories.c0defox": "c0de's mods",
"key.c0defox.fullbright": "Fullbright"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

+14 -17
View File
@@ -1,38 +1,35 @@
{ {
"schemaVersion": 1, "schemaVersion": 1,
"id": "c0defox", "id": "modid",
"version": "${version}", "version": "${version}",
"name": "c0de's client mod", "name": "Example Mod",
"description": "Various tweaks and functions to play around with minecraft", "description": "This is an example description! Tell everyone what your mod is about!",
"authors": [ "authors": [
"c0de" "Me!"
], ],
"contact": { "contact": {
"homepage": "https://c0defox.es", "homepage": "https://fabricmc.net/",
"sources": "https://c0de.dev/c0de/minecraft-mod" "sources": "https://github.com/FabricMC/fabric-example-mod"
}, },
"license": "MIT", "license": "CC0-1.0",
"icon": "assets/c0defox/icon.png", "icon": "assets/modid/icon.png",
"environment": "client", "environment": "*",
"entrypoints": { "entrypoints": {
"main": [ "main": [
"dev.c0de.minecraft.c0deFoxMod" "net.fabricmc.example.ExampleMod"
],
"client": [
"dev.c0de.minecraft.client.c0deFoxModClient"
] ]
}, },
"mixins": [ "mixins": [
"c0defox.mixins.json" "modid.mixins.json"
], ],
"depends": { "depends": {
"fabricloader": ">=0.14.17", "fabricloader": ">=0.14.6",
"fabric-api": "*", "fabric": "*",
"minecraft": ">=1.19.4", "minecraft": "~1.19",
"java": ">=17" "java": ">=17"
}, },
"suggests": { "suggests": {
@@ -1,13 +1,12 @@
{ {
"required": true, "required": true,
"minVersion": "0.8", "minVersion": "0.8",
"package": "dev.c0de.minecraft.mixin", "package": "net.fabricmc.example.mixin",
"compatibilityLevel": "JAVA_17", "compatibilityLevel": "JAVA_17",
"mixins": [ "mixins": [
], ],
"client": [ "client": [
"BrightnessMixin", "ExampleMixin"
"c0deFoxMixin"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1