130 Commits

Author SHA1 Message Date
c0de 487a52593e First step to my own mod 2023-03-20 18:06:57 -05:00
modmuss50 d8cc0cabf4 1.19.4 2023-03-20 18:06:57 -05:00
modmuss50 366f86d3f0 Update deps 2023-03-20 18:06:57 -05:00
modmuss50 c1952b2336 Update to Gradle 8 2023-03-20 18:06:57 -05:00
modmuss50 9294a87010 Update to loom 1.1 (#229) 2023-03-20 18:06:57 -05:00
modmuss50 6bd22843be 1.19.3 2023-03-20 18:06:57 -05:00
altrisi 35a4246975 Update to Gradle 7.6 (#222) 2023-03-20 18:06:57 -05:00
kb1000 41897c6cf6 Add files the JVM may generate under certain conditions to .gitignore (#159) 2023-03-20 18:06:57 -05:00
modmuss50 d8ae38a5a6 Update dependencies (#220) 2023-03-20 18:06:57 -05:00
modmuss50 59e777fbcf Update Dependencies 2023-03-20 18:06:57 -05:00
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
14 changed files with 140 additions and 279 deletions
+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
A collection of mods for minecraft
# Fabric Example Mod
## Setup
@@ -8,4 +6,4 @@ For setup instructions please see the [fabric wiki page](https://fabricmc.net/wi
## 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.
+3 -3
View File
@@ -9,9 +9,9 @@ org.gradle.parallel=true
loader_version=0.14.17
# Mod Properties
mod_version = 0.0.1
maven_group = dev.c0de
archives_base_name = minecraft-mod
mod_version = 1.0.0
maven_group = com.example
archives_base_name = fabric-example-mod
# Dependencies
fabric_version=0.75.3+1.19.4
@@ -1,14 +1,19 @@
package dev.c0de.minecraft;
import dev.c0de.minecraft.config.SimpleConfig;
import net.fabricmc.api.ModInitializer;
public class c0deFoxMod implements ModInitializer {
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static SimpleConfig config;
public class c0deFoxMod implements ModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("c0defox")
@Override
public void onInitialize() {
config = new SimpleConfig("c0defox");
// 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 world!");
}
}
@@ -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();
}
}
}
@@ -1,7 +1,6 @@
package dev.c0de.minecraft.mixin;
// import dev.c0de.minecraft.c0deFoxMod;
import dev.c0de.minecraft.c0deFoxMod;
import net.minecraft.client.gui.screen.TitleScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -12,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class c0deFoxMixin {
@Inject(at = @At("HEAD"), method = "init()V")
private void init(CallbackInfo info) {
// c0deFoxMod.LOGGER.info("This line is printed by an example mod mixin!");
c0deFoxMod.LOGGER.info("This line is printed by an example mod mixin!");
}
}
@@ -1,4 +0,0 @@
{
"key.categories.c0defox": "c0de's mods",
"key.c0defox.fullbright": "Fullbright"
}
-1
View File
@@ -6,7 +6,6 @@
"mixins": [
],
"client": [
"BrightnessMixin",
"c0deFoxMixin"
],
"injectors": {
+4 -7
View File
@@ -14,25 +14,22 @@
},
"license": "MIT",
"icon": "assets/c0defox/icon.png",
"icon": "assets/modid/icon.png",
"environment": "client",
"environment": "*",
"entrypoints": {
"main": [
"dev.c0de.minecraft.c0deFoxMod"
],
"client": [
"dev.c0de.minecraft.client.c0deFoxModClient"
]
},
"mixins": [
"c0defox.mixins.json"
"modid.mixins.json"
],
"depends": {
"fabricloader": ">=0.14.17",
"fabric-api": "*",
"minecraft": ">=1.19.4",
"minecraft": "~1.19.4",
"java": ">=17"
},
"suggests": {