diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5adf394..a4e3e0b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,30 +12,26 @@ jobs: matrix: # Use these Java versions java: [ - 17, # Current Java LTS & minimum supported by Minecraft 21, # Current Java LTS ] - # and run on both Linux and Windows - os: [ubuntu-22.04, windows-2022] - runs-on: ${{ matrix.os }} + runs-on: ubuntu-22.04 steps: - name: checkout repository uses: actions/checkout@v4 - name: validate gradle wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/actions/wrapper-validation@v4 - name: setup jdk ${{ matrix.java }} uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'microsoft' - name: make gradle wrapper executable - if: ${{ runner.os != 'Windows' }} run: chmod +x ./gradlew - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '21' }} # Only upload artifacts built from latest java on one OS - uses: actions/upload-artifact@v3 + if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java + uses: actions/upload-artifact@v4 with: name: Artifacts path: build/libs/ \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 1625c17..0000000 --- a/LICENSE +++ /dev/null @@ -1,121 +0,0 @@ -Creative Commons Legal Code - -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. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..6fb6a01 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,157 @@ +# GNU LESSER GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +This version of the GNU Lesser General Public License incorporates the +terms and conditions of version 3 of the GNU General Public License, +supplemented by the additional permissions listed below. + +## 0. Additional Definitions. + +As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the +GNU General Public License. + +"The Library" refers to a covered work governed by this License, other +than an Application or a Combined Work as defined below. + +An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + +A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + +The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + +The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + +## 1. Exception to Section 3 of the GNU GPL. + +You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + +## 2. Conveying Modified Versions. + +If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + +- a) under this License, provided that you make a good faith effort + to ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or +- b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + +## 3. Object Code Incorporating Material from Library Header Files. + +The object code form of an Application may incorporate material from a +header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + +- a) Give prominent notice with each copy of the object code that + the Library is used in it and that the Library and its use are + covered by this License. +- b) Accompany the object code with a copy of the GNU GPL and this + license document. + +## 4. Combined Works. + +You may convey a Combined Work under terms of your choice that, taken +together, effectively do not restrict modification of the portions of +the Library contained in the Combined Work and reverse engineering for +debugging such modifications, if you also do each of the following: + +- a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. +- b) Accompany the Combined Work with a copy of the GNU GPL and this + license document. +- c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. +- d) Do one of the following: + - 0) Convey the Minimal Corresponding Source under the terms of + this License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + - 1) Use a suitable shared library mechanism for linking with + the Library. A suitable mechanism is one that (a) uses at run + time a copy of the Library already present on the user's + computer system, and (b) will operate properly with a modified + version of the Library that is interface-compatible with the + Linked Version. +- e) Provide Installation Information, but only if you would + otherwise be required to provide such information under section 6 + of the GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the Application + with a modified version of the Linked Version. (If you use option + 4d0, the Installation Information must accompany the Minimal + Corresponding Source and Corresponding Application Code. If you + use option 4d1, you must provide the Installation Information in + the manner specified by section 6 of the GNU GPL for conveying + Corresponding Source.) + +## 5. Combined Libraries. + +You may place library facilities that are a work based on the Library +side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + +- a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities, conveyed under the terms of this License. +- b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + +## 6. Revised Versions of the GNU Lesser General Public License. + +The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +as you received it specifies that a certain numbered version of the +GNU Lesser General Public License "or any later version" applies to +it, you have the option of following the terms and conditions either +of that published version or of any later version published by the +Free Software Foundation. If the Library as you received it does not +specify a version number of the GNU Lesser General Public License, you +may choose any version of the GNU Lesser General Public License ever +published by the Free Software Foundation. + +If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/README.md b/README.md index fd96346..0d45e8a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,14 @@ -# Fabric Example Mod +# Cursed Iron Mod -## Setup +The Cursed Iron mod makes iron gathered from iron golems distinct from iron gathered underground. +For now, the curse on the iron itself has few features tied to it, but if we come up with something good later we may add it. -For setup instructions please see the [fabric wiki page](https://fabricmc.net/wiki/tutorial:setup) that relates to the IDE that you are using. +## Dependencies + +This requires the Fabric launcher and the Fabric API. ## License -This template is available under the CC0 license. Feel free to learn from it and incorporate it in your own projects. +This mod is available under the LGPL-3.0 license. Roughly speaking, it can be shared for use alongside proprietary code like +Minecraft itself, but any changes to the Cursed Iron mod itself must be released under LGPL-3.0 as well. See the +[license](./LICENSE.md) for more details. \ No newline at end of file diff --git a/build.gradle b/build.gradle index cc8ecf6..87e86d3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.5-SNAPSHOT' + id 'fabric-loom' version '1.9-SNAPSHOT' id 'maven-publish' } @@ -19,7 +19,7 @@ repositories { } loom { - splitEnvironmentSourceSets() + splitEnvironmentSourceSets() mods { "cursed-iron" { @@ -31,7 +31,9 @@ loom { } fabricApi { - configureDataGeneration() + configureDataGeneration { + client = true + } } dependencies { @@ -43,10 +45,6 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - // Uncomment the following line to enable the deprecated Fabric API modules. - // These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time. - - // modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}" } processResources { @@ -55,8 +53,6 @@ processResources { filesMatching("fabric.mod.json") { expand "version": project.version } - - duplicatesStrategy(DuplicatesStrategy.EXCLUDE) } tasks.withType(JavaCompile).configureEach { @@ -82,7 +78,8 @@ jar { // configure the maven publication publishing { publications { - mavenJava(MavenPublication) { + create("mavenJava", MavenPublication) { + artifactId = project.archives_base_name from components.java } } @@ -94,14 +91,4 @@ publishing { // The repositories here will be used for publishing your artifact, not for // retrieving dependencies. } -} - -sourceSets { - main { - resources { - srcDirs += [ - 'src/main/generated' - ] - } - } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index df03063..327a021 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,9 +10,8 @@ loader_version=0.16.10 # Mod Properties mod_version=1.0.0 -maven_group=dev.williamknowleskellett.cursed_iron +maven_group=nl.birdswithlegs.cursed_iron archives_base_name=cursed-iron -modid=cursed-iron # Dependencies fabric_version=0.87.2+1.19.4 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1af9e09..e2847c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..f5feea6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (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/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 6689b85..9d21a21 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,92 +1,94 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@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 obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@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 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -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. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@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 obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@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 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +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. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/client/java/dev/williamknowleskellett/cursed_iron/mixin/client/ExampleClientMixin.java b/src/client/java/dev/williamknowleskellett/cursed_iron/mixin/client/ExampleClientMixin.java deleted file mode 100644 index 13d3ec6..0000000 --- a/src/client/java/dev/williamknowleskellett/cursed_iron/mixin/client/ExampleClientMixin.java +++ /dev/null @@ -1,15 +0,0 @@ -package dev.williamknowleskellett.cursed_iron.mixin.client; - -import net.minecraft.client.MinecraftClient; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(MinecraftClient.class) -public class ExampleClientMixin { - @Inject(at = @At("HEAD"), method = "run") - private void run(CallbackInfo info) { - // This code is injected into the start of MinecraftClient.run()V - } -} \ No newline at end of file diff --git a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronDataGenerator.java b/src/client/java/nl/birdswithlegs/cursed_iron/CursedIronDataGenerator.java similarity index 98% rename from src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronDataGenerator.java rename to src/client/java/nl/birdswithlegs/cursed_iron/CursedIronDataGenerator.java index 952b73f..95754e6 100644 --- a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronDataGenerator.java +++ b/src/client/java/nl/birdswithlegs/cursed_iron/CursedIronDataGenerator.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron; +package nl.birdswithlegs.cursed_iron; import java.util.List; import java.util.function.Consumer; @@ -66,7 +66,7 @@ public void generate(Consumer exporter) { .input('n', CursedIronMod.CURSED_IRON_NUGGET) .criterion(FabricRecipeProvider.hasItem(CursedIronMod.CURSED_IRON_NUGGET), FabricRecipeProvider.conditionsFromItem(CursedIronMod.CURSED_IRON_NUGGET)) - .offerTo(exporter); + .offerTo(exporter, new Identifier(CursedIronMod.MODID, "cursed_iron_ingot1")); //NUGGET from INGOT ShapelessRecipeJsonBuilder.create(RecipeCategory.MISC, CursedIronMod.CURSED_IRON_NUGGET, 9) diff --git a/src/client/java/dev/williamknowleskellett/cursed_iron/CursedIronModClient.java b/src/client/java/nl/birdswithlegs/cursed_iron/CursedIronModClient.java similarity index 84% rename from src/client/java/dev/williamknowleskellett/cursed_iron/CursedIronModClient.java rename to src/client/java/nl/birdswithlegs/cursed_iron/CursedIronModClient.java index 06210d6..a11cdc3 100644 --- a/src/client/java/dev/williamknowleskellett/cursed_iron/CursedIronModClient.java +++ b/src/client/java/nl/birdswithlegs/cursed_iron/CursedIronModClient.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron; +package nl.birdswithlegs.cursed_iron; import net.fabricmc.api.ClientModInitializer; diff --git a/src/client/resources/cursed-iron.client.mixins.json b/src/client/resources/cursed-iron.client.mixins.json index 76056f2..a8f9645 100644 --- a/src/client/resources/cursed-iron.client.mixins.json +++ b/src/client/resources/cursed-iron.client.mixins.json @@ -1,9 +1,8 @@ { "required": true, - "package": "dev.williamknowleskellett.cursed_iron.mixin.client", + "package": "nl.birdswithlegs.cursed_iron.mixin.client", "compatibilityLevel": "JAVA_17", "client": [ - "ExampleClientMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronArmorMaterial.java b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronArmorMaterial.java similarity index 96% rename from src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronArmorMaterial.java rename to src/main/java/nl/birdswithlegs/cursed_iron/CursedIronArmorMaterial.java index 16eac30..c6665f9 100644 --- a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronArmorMaterial.java +++ b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronArmorMaterial.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron; +package nl.birdswithlegs.cursed_iron; import net.minecraft.item.ArmorItem; import net.minecraft.item.ArmorMaterial; diff --git a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronMod.java b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronMod.java similarity index 99% rename from src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronMod.java rename to src/main/java/nl/birdswithlegs/cursed_iron/CursedIronMod.java index 28a837a..f3e66c4 100644 --- a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronMod.java +++ b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronMod.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron; +package nl.birdswithlegs.cursed_iron; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; diff --git a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronToolMaterial.java b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronToolMaterial.java similarity index 94% rename from src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronToolMaterial.java rename to src/main/java/nl/birdswithlegs/cursed_iron/CursedIronToolMaterial.java index 7fde3d1..6e2cd13 100644 --- a/src/main/java/dev/williamknowleskellett/cursed_iron/CursedIronToolMaterial.java +++ b/src/main/java/nl/birdswithlegs/cursed_iron/CursedIronToolMaterial.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron; +package nl.birdswithlegs.cursed_iron; import net.minecraft.item.ToolMaterial; import net.minecraft.item.ToolMaterials; diff --git a/src/main/java/dev/williamknowleskellett/cursed_iron/mixin/IronGolemEntityMixin.java b/src/main/java/nl/birdswithlegs/cursed_iron/mixin/IronGolemEntityMixin.java similarity index 94% rename from src/main/java/dev/williamknowleskellett/cursed_iron/mixin/IronGolemEntityMixin.java rename to src/main/java/nl/birdswithlegs/cursed_iron/mixin/IronGolemEntityMixin.java index 5d77060..3abcf12 100644 --- a/src/main/java/dev/williamknowleskellett/cursed_iron/mixin/IronGolemEntityMixin.java +++ b/src/main/java/nl/birdswithlegs/cursed_iron/mixin/IronGolemEntityMixin.java @@ -1,4 +1,4 @@ -package dev.williamknowleskellett.cursed_iron.mixin; +package nl.birdswithlegs.cursed_iron.mixin; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.callback.LocalCapture; -import dev.williamknowleskellett.cursed_iron.CursedIronMod; +import nl.birdswithlegs.cursed_iron.CursedIronMod; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.passive.IronGolemEntity; diff --git a/src/main/resources/assets/cursed-iron/icon.png b/src/main/resources/assets/cursed-iron/icon.png index 047b91f..70f2b34 100644 Binary files a/src/main/resources/assets/cursed-iron/icon.png and b/src/main/resources/assets/cursed-iron/icon.png differ diff --git a/src/main/resources/assets/cursed-iron/pack.png b/src/main/resources/assets/cursed-iron/pack.png deleted file mode 100644 index 4d9508a..0000000 Binary files a/src/main/resources/assets/cursed-iron/pack.png and /dev/null differ diff --git a/src/main/resources/cursed-iron.mixins.json b/src/main/resources/cursed-iron.mixins.json index 289b949..5e2ad5f 100644 --- a/src/main/resources/cursed-iron.mixins.json +++ b/src/main/resources/cursed-iron.mixins.json @@ -1,9 +1,9 @@ { "required": true, - "package": "dev.williamknowleskellett.cursed_iron.mixin", + "package": "nl.birdswithlegs.cursed_iron.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ - "IronGolemEntityMixin" + "IronGolemEntityMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index cc5bb14..1a54b97 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -5,24 +5,25 @@ "name": "Cursed Iron", "description": "This is an example description! Tell everyone what your mod is about!", "authors": [ - "William Knowles-Kellett" + "William Knowles-Kellett", + "Ike Osenberg" ], "contact": { - "homepage": "https://williamknowleskellett.dev/", - "sources": "https://github.com/FabricMC/fabric-example-mod" + "homepage": "https://birdswithlegs.nl/", + "sources": "https://github.com/Birds-With-Legs-Studio/Cursed-Iron" }, - "license": "CC0-1.0", + "license": "LGPL-3.0", "icon": "assets/cursed-iron/icon.png", "environment": "*", "entrypoints": { "main": [ - "dev.williamknowleskellett.cursed_iron.CursedIronMod" + "nl.birdswithlegs.cursed_iron.CursedIronMod" ], "client": [ - "dev.williamknowleskellett.cursed_iron.CursedIronModClient" + "nl.birdswithlegs.cursed_iron.CursedIronModClient" ], "fabric-datagen": [ - "dev.williamknowleskellett.cursed_iron.CursedIronDataGenerator" + "nl.birdswithlegs.cursed_iron.CursedIronDataGenerator" ] }, "mixins": [ @@ -33,7 +34,7 @@ } ], "depends": { - "fabricloader": ">=0.15.6", + "fabricloader": ">=0.16.10", "minecraft": "~1.19.4", "java": ">=17", "fabric-api": "*"