From 9f8869194bc175adc9d7529158f07ba0b674915d Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 21:23:05 -0500 Subject: [PATCH 1/8] Create AGENTS.md --- AGENTS.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..6b1f8411 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,13 @@ +Target: NeoForge 1.21.1 + +Java: 21 + +Goal: ./gradlew build succeeds + +Keep behavior identical unless required for compatibility + +Prefer minimal diffs; don’t reformat everything + +After build passes, run a client dev run if available (runClient / runGameTestServer depending on setup) + +If the project is Architectury multi-loader: keep common logic shared; put loader specifics in the NeoForge module From 5e0bcd1649a1e107fb1bd55354f6c2d5aa42de99 Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:03:21 -0500 Subject: [PATCH 2/8] Add CI build workflow --- .github/workflows/build.yml | 27 ++++++++++++ .github/workflows/publish_github_packages.yml | 24 +++++++++++ README.md | 22 +++++++++- build.gradle | 12 ++++-- common/build.gradle | 10 ++++- .../advancement/ModInvolvementTrigger.java | 2 +- .../entity/ClientPlayerInfoManager.java | 2 +- .../gui/components/base/OEBaseComponent.java | 2 +- .../client/shape/ClientIVShapeLoader.java | 2 +- .../client/shape/ClientIVShapeManager.java | 2 +- .../client/util/OETextureUtils.java | 4 +- .../BlockStateAndModelProviderAccess.java | 2 +- .../data/model/ItemModelProviderAccess.java | 4 +- .../BlockStateAndModelProviderWrapper.java | 4 +- .../provider/DataProviderWrapperBase.java | 2 +- .../provider/InputBaseProviderWrapper.java | 2 +- ...ivisionModelProcessSubProviderWrapper.java | 2 +- .../item/location/PlayerItemLocations.java | 4 +- .../otyacraftengine/networking/OEPackets.java | 8 ++-- .../shape/IkisugiVoxelShapes.java | 2 +- fabric/build.gradle | 12 +++++- .../BlockStateAndModelProviderAccessImpl.java | 4 +- .../model/ItemModelProviderAccessImpl.java | 4 +- .../fabric/tag/OEFabricItemTags.java | 2 +- fabric/src/main/resources/fabric.mod.json | 8 ++-- forge/build.gradle | 42 +++++++++++-------- forge/gradle.properties | 2 +- .../forge/OEDataGenExpectPlatformImpl.java | 2 +- .../forge/OEExpectPlatformImpl.java | 4 +- .../forge/OERegisterExpectPlatformImpl.java | 4 +- .../forge/OETagsExpectPlatformImpl.java | 2 +- .../forge/OtyacraftEngineForge.java | 10 ++--- .../client/handler/ClientBusHandler.java | 16 +++---- .../client/handler/ClientHandlerForge.java | 8 ++-- .../forge/client/handler/ModelHandler.java | 8 ++-- .../client/handler/RenderHandlerForge.java | 4 +- .../item/ItemRendererRegisterForge.java | 4 +- .../data/CrossDataGeneratorAccessImpl.java | 6 +-- .../data/CrossDataGeneratorAccesses.java | 2 +- .../forge/data/WrappedBlockStateBuilder.java | 2 +- .../data/model/BlockMutableFileModelImpl.java | 2 +- .../BlockStateAndModelProviderAccessImpl.java | 12 +++--- .../forge/data/model/FileModelImpl.java | 2 +- .../model/ItemModelProviderAccessImpl.java | 22 +++++----- .../data/model/ItemMutableFileModelImpl.java | 2 +- .../data/model/MutableFileModelImpl.java | 2 +- .../provider/WrappedBiomeTagsProvider.java | 2 +- .../provider/WrappedBlockStateProvider.java | 4 +- .../provider/WrappedBlockTagsProvider.java | 4 +- .../WrappedDamageTypeTagsProvider.java | 2 +- .../provider/WrappedFluidTagsProvider.java | 2 +- .../WrappedIntrinsicHolderTagsProvider.java | 2 +- .../provider/WrappedItemModelProvider.java | 4 +- .../provider/WrappedItemTagsProvider.java | 2 +- .../provider/WrappedPoiTypeTagsProvider.java | 2 +- .../data/provider/WrappedTagsProvider.java | 2 +- .../forge/handler/CommonHandlerForge.java | 6 +-- .../data/BlockStateProviderAccessor.java | 4 +- .../forge/mixin/data/ModelBuilderMixin.java | 2 +- .../mixin/self/EquipmentItemExtender.java | 2 +- .../mixin/self/OEBaseBlockEntityMixin.java | 2 +- .../self/OEBaseContainerBlockEntityMixin.java | 2 +- .../StackAttributeModifierItemExtender.java | 2 +- .../forge/tag/OEForgeItemTags.java | 2 +- forge/src/main/resources/META-INF/mods.toml | 14 +++---- gradle.properties | 20 ++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 0 settings.gradle | 2 +- .../block/TestShapeBlock.java | 2 +- .../block/TestShapeDirectionBlock.java | 2 +- .../gui/screen/ComponentsTestScreen.java | 2 +- .../client/guiold/screen/TestCode1Screen.java | 2 +- .../client/guiold/screen/TestCode3Screen.java | 2 +- .../client/guiold/screen/TestScreen.java | 2 +- .../client/model/TestModelBundle.java | 2 +- .../client/model/TestModels.java | 6 +-- .../blockentity/TestRotedRenderer.java | 2 +- .../data/OETestRecipeProvider.java | 2 +- .../item/TestItemTags.java | 2 +- .../server/handler/ServerHandler.java | 2 +- .../server/level/OETestDimensions.java | 6 +-- .../server/level/OETestNoiseRouter.java | 4 +- testmod-forge/build.gradle | 18 ++++---- testmod-forge/gradle.properties | 2 +- .../forge/OtyacraftEngineTestForge.java | 6 +-- .../client/handler/ClientBusHandler.java | 8 ++-- ...tyacraftEngineTestDataGeneratorsForge.java | 6 +-- .../src/main/resources/META-INF/mods.toml | 4 +- 89 files changed, 298 insertions(+), 197 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/publish_github_packages.yml mode change 100644 => 100755 gradlew diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..0bc77a40 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,27 @@ +name: Build + +on: + push: + branches: + - '**' + tags-ignore: + - 'v*' + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '21' + cache: 'gradle' + - name: Build + run: ./gradlew clean build + - name: Upload NeoForge jars + uses: actions/upload-artifact@v4 + with: + name: neoforge-jars + path: "**/build/libs/*.jar" diff --git a/.github/workflows/publish_github_packages.yml b/.github/workflows/publish_github_packages.yml new file mode 100644 index 00000000..c6603e0d --- /dev/null +++ b/.github/workflows/publish_github_packages.yml @@ -0,0 +1,24 @@ +name: Publish GitHub Packages + +on: + push: + tags: + - 'v*' + +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '21' + cache: 'gradle' + - name: Publish to GitHub Packages + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: ./gradlew publish diff --git a/README.md b/README.md index f4e90bc1..5fafc3bc 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,30 @@ Felnull integration mod library. [CurseForge](https://www.curseforge.com/minecraft/mc-mods/otyacraft-engine) [Modrinth](https://modrinth.com/mod/otyacraft-engine) +# Maven coordinates + +Group: `dev.felnull` +Artifact: `otyacraftengine` (common), `otyacraftengine-fabric`, `otyacraftengine-forge` +Version: see tags/releases + +GitHub Packages (Maven): `https://maven.pkg.github.com/TeamFelnull/OtyacraftEngine` + +```gradle +repositories { + maven { + url = uri("https://maven.pkg.github.com/TeamFelnull/OtyacraftEngine") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } +} +``` + # Using libraries The following libraries are used for this mod, but they are included in the mod's jar file and do not need to be installed separately. [Animated GIF library for Java](https://github.com/rtyley/animated-gif-lib-for-java) -[Felnull Java library](https://github.com/TeamFelnull/FelNullJavaLibrary) \ No newline at end of file +[Felnull Java library](https://github.com/TeamFelnull/FelNullJavaLibrary) diff --git a/build.gradle b/build.gradle index b2ef5f57..5422b314 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.1-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false id 'org.jetbrains.changelog' version "2.0.0" } @@ -41,12 +41,18 @@ allprojects { group = rootProject.maven_group repositories { - + mavenCentral() + maven { url "https://maven.fabricmc.net/" } + maven { url "https://maven.architectury.dev/" } + maven { url "https://maven.neoforged.net/releases" } + maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.terraformersmc.com/releases/" } + maven { url "https://maven.felnull.dev/" } } tasks.withType(JavaCompile) { options.encoding = "UTF-8" - options.release = 17 + options.release = 21 } java { diff --git a/common/build.gradle b/common/build.gradle index efc6e511..66fcfccb 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -54,5 +54,13 @@ publishing { password = "${project.maven_put_pass}" != '' ? "${project.maven_put_pass}" : System.getenv('mavenpassword') } } + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/TeamFelnull/OtyacraftEngine" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } } -} \ No newline at end of file +} diff --git a/common/src/main/java/dev/felnull/otyacraftengine/advancement/ModInvolvementTrigger.java b/common/src/main/java/dev/felnull/otyacraftengine/advancement/ModInvolvementTrigger.java index d1566bc9..6ac8430b 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/advancement/ModInvolvementTrigger.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/advancement/ModInvolvementTrigger.java @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; public class ModInvolvementTrigger extends SimpleCriterionTrigger { - static final ResourceLocation ID = new ResourceLocation(OtyacraftEngine.MODID, "mod_involvement"); + static final ResourceLocation ID = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "mod_involvement"); @Override public ResourceLocation getId() { diff --git a/common/src/main/java/dev/felnull/otyacraftengine/client/entity/ClientPlayerInfoManager.java b/common/src/main/java/dev/felnull/otyacraftengine/client/entity/ClientPlayerInfoManager.java index 456b334a..ba2ebfa9 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/client/entity/ClientPlayerInfoManager.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/client/entity/ClientPlayerInfoManager.java @@ -45,7 +45,7 @@ public void clear() { private Function createSkinTextureLocationCache() { return FNDataUtil.memoize(url -> { String hashStr = Hashing.sha1().hashUnencodedChars(FilenameUtils.getBaseName(url)).toString(); - return new ResourceLocation("skins/" + hashStr); + return ResourceLocation.parse("skins/" + hashStr); }); } diff --git a/common/src/main/java/dev/felnull/otyacraftengine/client/gui/components/base/OEBaseComponent.java b/common/src/main/java/dev/felnull/otyacraftengine/client/gui/components/base/OEBaseComponent.java index 77abe3bd..80d0a77d 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/client/gui/components/base/OEBaseComponent.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/client/gui/components/base/OEBaseComponent.java @@ -9,7 +9,7 @@ public interface OEBaseComponent extends OEBaseGUI { - ResourceLocation OE_WIDGETS = new ResourceLocation(OtyacraftEngine.MODID, "textures/gui/widgets.png"); + ResourceLocation OE_WIDGETS = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "textures/gui/widgets.png"); @NotNull TextureRegion getTexture(); diff --git a/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeLoader.java b/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeLoader.java index b1f826b3..7e7e77e6 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeLoader.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeLoader.java @@ -33,7 +33,7 @@ protected ClientIVShapeLoader(@NotNull ResourceManager resourceManager, @NotNull var p = location.getPath(); var vs = VoxelClientShape.parse(jo); if (vs != null) - builder.put(new ResourceLocation(location.getNamespace(), p.substring("voxel_shape/".length(), p.length() - ".json".length())), vs); + builder.put(ResourceLocation.fromNamespaceAndPath(location.getNamespace(), p.substring("voxel_shape/".length(), p.length() - ".json".length())), vs); } catch (Exception e) { LOGGER.error("Error occurred while loading shape resource json " + location, e); } diff --git a/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeManager.java b/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeManager.java index 7777ed61..a02b688b 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeManager.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/client/shape/ClientIVShapeManager.java @@ -17,7 +17,7 @@ public class ClientIVShapeManager extends PlatformResourceReloadListener { private static final ClientIVShapeManager INSTANCE = new ClientIVShapeManager(); - private static final ResourceLocation VOXEL_SHAPE = new ResourceLocation(OtyacraftEngine.MODID, "voxel_shape"); + private static final ResourceLocation VOXEL_SHAPE = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "voxel_shape"); private Map voxelClientShapes; private Map legacyVoxelClientShapes = new HashMap<>(); diff --git a/common/src/main/java/dev/felnull/otyacraftengine/client/util/OETextureUtils.java b/common/src/main/java/dev/felnull/otyacraftengine/client/util/OETextureUtils.java index efb5a416..e72d6a15 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/client/util/OETextureUtils.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/client/util/OETextureUtils.java @@ -33,7 +33,7 @@ */ public final class OETextureUtils { private static final Minecraft mc = Minecraft.getInstance(); - private static final ResourceLocation ERROR_ICON = new ResourceLocation(OtyacraftEngine.MODID, "textures/gui/error_icon.png"); + private static final ResourceLocation ERROR_ICON = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "textures/gui/error_icon.png"); private static ResourceLocation LOADING_ICON; /** @@ -131,7 +131,7 @@ public static TextureLoadResult getAndLoadURLTextureAsync(@NotNull String url, b public static ResourceLocation getLoadingIcon() { if (LOADING_ICON == null) { ResourceManager rm = mc.getResourceManager(); - var r = rm.getResource(new ResourceLocation(OtyacraftEngine.MODID, "textures/gui/loading_icon.gif")); + var r = rm.getResource(ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "textures/gui/loading_icon.gif")); if (r.isPresent()) { try (var st = r.get().open()) { var ret = getAndLoadNativeTexture(UUID.randomUUID(), st); diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/model/BlockStateAndModelProviderAccess.java b/common/src/main/java/dev/felnull/otyacraftengine/data/model/BlockStateAndModelProviderAccess.java index 40e6cc4a..1f5bd73e 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/model/BlockStateAndModelProviderAccess.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/model/BlockStateAndModelProviderAccess.java @@ -296,7 +296,7 @@ default FileModel particleOnlyModel(@NotNull Block block, @NotNull ResourceLocat * @param block ブロック */ default void builtinEntityBlockItemModel(@NotNull Block block) { - parentedBlockItemModel(block, new ResourceLocation("builtin/entity")); + parentedBlockItemModel(block, ResourceLocation.parse("builtin/entity")); } /** diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/model/ItemModelProviderAccess.java b/common/src/main/java/dev/felnull/otyacraftengine/data/model/ItemModelProviderAccess.java index aef16a9d..705990e1 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/model/ItemModelProviderAccess.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/model/ItemModelProviderAccess.java @@ -118,7 +118,7 @@ default MutableFileModel handheldFlatItem(@NotNull ResourceLocation itemLocation */ @NotNull default MutableFileModel builtinEntityItem(@NotNull Item item) { - return parentedItem(item, new ResourceLocation("builtin/entity")); + return parentedItem(item, ResourceLocation.parse("builtin/entity")); } /** @@ -129,7 +129,7 @@ default MutableFileModel builtinEntityItem(@NotNull Item item) { */ @NotNull default MutableFileModel builtinEntityItem(@NotNull ResourceLocation itemLocation) { - return parentedItem(itemLocation, new ResourceLocation("builtin/entity")); + return parentedItem(itemLocation, ResourceLocation.parse("builtin/entity")); } /** diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/BlockStateAndModelProviderWrapper.java b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/BlockStateAndModelProviderWrapper.java index 1f31165d..cf82d2ff 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/BlockStateAndModelProviderWrapper.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/BlockStateAndModelProviderWrapper.java @@ -14,8 +14,8 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty; public abstract class BlockStateAndModelProviderWrapper extends DataProviderWrapper { - public static final ResourceLocation OE_BASE_BLOCK_ENTITY_MODEL = new ResourceLocation(OtyacraftEngine.MODID, "base/block_entity"); - public static final ResourceLocation OE_BASE_BLOCK_ENTITY_APPEARANCE_MODEL = new ResourceLocation(OtyacraftEngine.MODID, "base/block_entity_appearance"); + public static final ResourceLocation OE_BASE_BLOCK_ENTITY_MODEL = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "base/block_entity"); + public static final ResourceLocation OE_BASE_BLOCK_ENTITY_APPEARANCE_MODEL = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "base/block_entity_appearance"); private final DataProvider blockStateAndModelProvider; public BlockStateAndModelProviderWrapper(PackOutput packOutput, CrossDataGeneratorAccess crossDataGeneratorAccess) { diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/DataProviderWrapperBase.java b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/DataProviderWrapperBase.java index 9bded792..e666b6a4 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/DataProviderWrapperBase.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/DataProviderWrapperBase.java @@ -8,7 +8,7 @@ public interface DataProviderWrapperBase { CrossDataGeneratorAccess getCrossGeneratorAccess(); default ResourceLocation modLoc(String id) { - return new ResourceLocation(getCrossGeneratorAccess().getMod().getModId(), id); + return ResourceLocation.fromNamespaceAndPath(getCrossGeneratorAccess().getMod().getModId(), id); } default DataGenerator getGenerator() { diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/InputBaseProviderWrapper.java b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/InputBaseProviderWrapper.java index c9543356..961469ae 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/InputBaseProviderWrapper.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/InputBaseProviderWrapper.java @@ -99,6 +99,6 @@ protected Pair toResourceLocationAndExtension(Path inp } } - return Pair.of(new ResourceLocation(relativePath.getName(1).toFile().getName(), sb.toString()), ex); + return Pair.of(ResourceLocation.fromNamespaceAndPath(relativePath.getName(1).toFile().getName(), sb.toString()), ex); } } diff --git a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/model/DivisionModelProcessSubProviderWrapper.java b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/model/DivisionModelProcessSubProviderWrapper.java index a35d5435..4c01dc6f 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/data/provider/model/DivisionModelProcessSubProviderWrapper.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/data/provider/model/DivisionModelProcessSubProviderWrapper.java @@ -28,7 +28,7 @@ public List process(CachedOutput cachedOu var p = modelData.location().getPath(); var ps = p.split("/"); ps[ps.length - 1] = n.getKey(); - return new ModelProcessProviderWrapper.ModelData(new ResourceLocation(modelData.location().getNamespace(), String.join("/", ps)), n.getValue()); + return new ModelProcessProviderWrapper.ModelData(ResourceLocation.fromNamespaceAndPath(modelData.location().getNamespace(), String.join("/", ps)), n.getValue()); }).toList(); } diff --git a/common/src/main/java/dev/felnull/otyacraftengine/item/location/PlayerItemLocations.java b/common/src/main/java/dev/felnull/otyacraftengine/item/location/PlayerItemLocations.java index 38ceb30c..151a9cab 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/item/location/PlayerItemLocations.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/item/location/PlayerItemLocations.java @@ -13,7 +13,7 @@ public class PlayerItemLocations { public static final HandItemLocationFactory HAND_ITEM = new HandItemLocationFactory(); public static void init() { - register(new ResourceLocation(OtyacraftEngine.MODID, "hand"), HAND_ITEM); + register(ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "hand"), HAND_ITEM); } private static void register(ResourceLocation location, PlayerItemLocationFactory factory) { @@ -35,7 +35,7 @@ public static CompoundTag saveToTag(PlayerItemLocation location) { } public static PlayerItemLocation loadFromTag(CompoundTag tag) { - var rl = new ResourceLocation(tag.getString("id")); + var rl = ResourceLocation.parse(tag.getString("id")); var factory = FACTORS.get(rl); if (factory == null) throw new IllegalArgumentException("Unregistered player item location"); diff --git a/common/src/main/java/dev/felnull/otyacraftengine/networking/OEPackets.java b/common/src/main/java/dev/felnull/otyacraftengine/networking/OEPackets.java index 19719473..fdce1868 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/networking/OEPackets.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/networking/OEPackets.java @@ -13,10 +13,10 @@ import java.util.UUID; public class OEPackets { - public static final ResourceLocation BLOCK_ENTITY_INSTRUCTION = new ResourceLocation(OtyacraftEngine.MODID, "block_entity_instruction"); - public static final ResourceLocation BLOCK_ENTITY_INSTRUCTION_RETURN = new ResourceLocation(OtyacraftEngine.MODID, "block_entity_instruction_return"); - public static final ResourceLocation ITEM_INSTRUCTION = new ResourceLocation(OtyacraftEngine.MODID, "item_instruction"); - public static final ResourceLocation ITEM_INSTRUCTION_RETURN = new ResourceLocation(OtyacraftEngine.MODID, "item_instruction_return"); + public static final ResourceLocation BLOCK_ENTITY_INSTRUCTION = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "block_entity_instruction"); + public static final ResourceLocation BLOCK_ENTITY_INSTRUCTION_RETURN = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "block_entity_instruction_return"); + public static final ResourceLocation ITEM_INSTRUCTION = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "item_instruction"); + public static final ResourceLocation ITEM_INSTRUCTION_RETURN = ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "item_instruction_return"); public static void init() { NetworkManager.registerReceiver(NetworkManager.c2s(), BLOCK_ENTITY_INSTRUCTION, (friendlyByteBuf, packetContext) -> ServerMessageHandler.onBlockEntityInstructionMessage(new BlockEntityInstructionMessage(friendlyByteBuf), packetContext)); diff --git a/common/src/main/java/dev/felnull/otyacraftengine/shape/IkisugiVoxelShapes.java b/common/src/main/java/dev/felnull/otyacraftengine/shape/IkisugiVoxelShapes.java index 50918a87..30a6113a 100644 --- a/common/src/main/java/dev/felnull/otyacraftengine/shape/IkisugiVoxelShapes.java +++ b/common/src/main/java/dev/felnull/otyacraftengine/shape/IkisugiVoxelShapes.java @@ -81,7 +81,7 @@ private VoxelShape getShapeFromJsonV3(JsonObject shapeJ, ResourceLocation locati ResourceLocation relocation; if (shapeJ.has("render_edges") && shapeJ.get("render_edges").isJsonPrimitive()) { var reloc = shapeJ.get("render_edges").getAsString(); - relocation = new ResourceLocation(reloc); + relocation = ResourceLocation.parse(reloc); } else { relocation = location; } diff --git a/fabric/build.gradle b/fabric/build.gradle index 07970ddb..4b8b7285 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -127,6 +127,14 @@ publishing { password = "${project.maven_put_pass}" != '' ? "${project.maven_put_pass}" : System.getenv('mavenpassword') } } + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/TeamFelnull/OtyacraftEngine" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } } } @@ -141,7 +149,7 @@ curseforge { releaseType = "${rootProject.release_type}" addGameVersion "${rootProject.minecraft_version}" - addGameVersion 'Java 17' + addGameVersion 'Java 21' addGameVersion "Fabric" addGameVersion "Quilt" @@ -189,4 +197,4 @@ if (System.getenv('modrinthapikey') != null && "${modrinth_id}" != '') { } changelog = file('../LATEST_CHANGELOG.md').text } -} \ No newline at end of file +} diff --git a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/BlockStateAndModelProviderAccessImpl.java b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/BlockStateAndModelProviderAccessImpl.java index ab81c829..c0af97b7 100644 --- a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/BlockStateAndModelProviderAccessImpl.java +++ b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/BlockStateAndModelProviderAccessImpl.java @@ -141,11 +141,11 @@ private FileModel of(ResourceLocation location) { } private ResourceLocation blockLoc(ResourceLocation loc) { - return new ResourceLocation(loc.getNamespace(), "block/" + loc.getPath()); + return ResourceLocation.fromNamespaceAndPath(loc.getNamespace(), "block/" + loc.getPath()); } private ResourceLocation blockLoc(String name) { - return new ResourceLocation(crossDataGeneratorAccess.getMod().getModId(), "block/" + name); + return ResourceLocation.fromNamespaceAndPath(crossDataGeneratorAccess.getMod().getModId(), "block/" + name); } @Override diff --git a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/ItemModelProviderAccessImpl.java b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/ItemModelProviderAccessImpl.java index a72c45c4..9d3696cc 100644 --- a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/ItemModelProviderAccessImpl.java +++ b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/data/model/ItemModelProviderAccessImpl.java @@ -95,6 +95,6 @@ private MutableFileModelImpl createModel(ModelTemplate modelTemplate, TextureMap } private static ResourceLocation decorateItemModelLocation(ResourceLocation location) { - return new ResourceLocation(location.getNamespace(), "item/" + location.getPath()); + return ResourceLocation.fromNamespaceAndPath(location.getNamespace(), "item/" + location.getPath()); } -} \ No newline at end of file +} diff --git a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/tag/OEFabricItemTags.java b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/tag/OEFabricItemTags.java index 5baff1b4..45f5b9cf 100644 --- a/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/tag/OEFabricItemTags.java +++ b/fabric/src/main/java/dev/felnull/otyacraftengine/fabric/tag/OEFabricItemTags.java @@ -51,7 +51,7 @@ private static Supplier> bind(String id) { } private static ResourceLocation cLoc(String path) { - return new ResourceLocation("c", path); + return ResourceLocation.fromNamespaceAndPath("c", path); } private static ResourceLocation[] drinks() { diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index c378bd4c..db050a1c 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -33,9 +33,9 @@ ], "depends": { "fabric": "*", - "minecraft": ">=1.20", - "architectury": ">=9.0.8", - "cloth-config2": ">=11.0.99" + "minecraft": ">=1.21.1", + "architectury": ">=13.0.6", + "cloth-config2": ">=15.0.128" }, "custom": { "modmenu": { @@ -44,4 +44,4 @@ ] } } -} \ No newline at end of file +} diff --git a/forge/build.gradle b/forge/build.gradle index 7aeb507b..4980f8d4 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -6,13 +6,13 @@ plugins { architectury { platformSetupLoomIde() - forge() + neoForge() } loom { accessWidenerPath = project(":common").loom.accessWidenerPath - forge { + neoForge { convertAccessWideners = true extraAccessWideners.add loom.accessWidenerPath.get().asFile.name @@ -26,21 +26,21 @@ configurations { shadowCommon compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common - developmentForge.extendsFrom common - forgeDependencies.extendsFrom shadowIn + developmentNeoForge.extendsFrom common + neoForgeDependencies.extendsFrom shadowIn shadowCommon.extendsFrom shadowIn } dependencies { - forge "net.minecraftforge:forge:${rootProject.forge_version}" + neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}" - modApi "dev.architectury:architectury-forge:${rootProject.architectury_version}" + modApi "dev.architectury:architectury-neoforge:${rootProject.architectury_version}" common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } + shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } - modApi "me.shedaniel.cloth:cloth-config-forge:${rootProject.cloth_config_version}" - modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-forge:${rootProject.rei_version}" + modApi "me.shedaniel.cloth:cloth-config-neoforge:${rootProject.cloth_config_version}" + modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-neoforge:${rootProject.rei_version}" shadowIn "dev.felnull:felnull-java-library:${rootProject.felnull_version}" shadowIn 'com.madgag:animated-gif-lib:1.4' @@ -128,6 +128,14 @@ publishing { password = "${project.maven_put_pass}" != '' ? "${project.maven_put_pass}" : System.getenv('mavenpassword') } } + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/TeamFelnull/OtyacraftEngine" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } } } @@ -142,8 +150,8 @@ curseforge { releaseType = "${rootProject.release_type}" addGameVersion "${rootProject.minecraft_version}" - addGameVersion 'Java 17' - addGameVersion "Forge" + addGameVersion 'Java 21' + addGameVersion "NeoForge" project.support_versions.split(",").each { String version -> addGameVersion version @@ -155,11 +163,11 @@ curseforge { } mainArtifact(file("${project.buildDir}/libs/${rootProject.archives_base_name}-${project.name}-mc${rootProject.minecraft_version}-${project.mod_version}.jar")) { - displayName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-Forge" + displayName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-NeoForge" } addArtifact(file("${project.buildDir}/libs/${rootProject.archives_base_name}-${project.name}-mc${rootProject.minecraft_version}-${project.mod_version}-sources.jar")) { - displayName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-Forge-sources" + displayName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-NeoForge-sources" } } } @@ -169,16 +177,16 @@ if (System.getenv('modrinthapikey') != null && "${modrinth_id}" != '') { modrinth { token = System.getenv('modrinthapikey') projectId = "${rootProject.modrinth_id}" - versionName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-Forge" - versionNumber = "${rootProject.minecraft_version}-${project.mod_version}-Forge" + versionName = "${rootProject.mod_display_name}-${rootProject.minecraft_version}-${project.mod_version}-NeoForge" + versionNumber = "${rootProject.minecraft_version}-${project.mod_version}-NeoForge" versionType = "${project.release_type}" uploadFile = file("${project.buildDir}/libs/${rootProject.archives_base_name}-${project.name}-mc${rootProject.minecraft_version}-${project.mod_version}.jar") gameVersions = List.of(project.support_versions.split(",")) - loaders = ["forge"] + loaders = ["neoforge"] dependencies { required.project("9s6osm5g")//Cloth Config API required.project("lhGA9TYQ")//Architectury API } changelog = file('../LATEST_CHANGELOG.md').text } -} \ No newline at end of file +} diff --git a/forge/gradle.properties b/forge/gradle.properties index 32f842a6..7da18ea6 100644 --- a/forge/gradle.properties +++ b/forge/gradle.properties @@ -1 +1 @@ -loom.platform=forge \ No newline at end of file +loom.platform=neoforge diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEDataGenExpectPlatformImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEDataGenExpectPlatformImpl.java index 529ce8e5..ba20d5ec 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEDataGenExpectPlatformImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEDataGenExpectPlatformImpl.java @@ -1,6 +1,6 @@ package dev.felnull.otyacraftengine.explatform.forge; -import net.minecraftforge.data.loading.DatagenModLoader; +import net.neoforged.neoforge.data.loading.DatagenModLoader; public class OEDataGenExpectPlatformImpl { public static boolean isDataGenerating() { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEExpectPlatformImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEExpectPlatformImpl.java index 19d8307d..66af5f7a 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEExpectPlatformImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OEExpectPlatformImpl.java @@ -8,8 +8,8 @@ import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.MobBucketItem; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.forgespi.language.ModFileScanData; +import net.neoforged.fml.ModList; +import net.neoforged.fml.loading.moddiscovery.ModFileScanData; import org.objectweb.asm.Type; import java.util.ArrayList; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OERegisterExpectPlatformImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OERegisterExpectPlatformImpl.java index f2e4b54e..d11daf4a 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OERegisterExpectPlatformImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OERegisterExpectPlatformImpl.java @@ -9,8 +9,8 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.common.ForgeTier; -import net.minecraftforge.common.TierSortingRegistry; +import net.neoforged.neoforge.common.ForgeTier; +import net.neoforged.neoforge.common.TierSortingRegistry; import org.jetbrains.annotations.NotNull; import java.util.function.Supplier; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OETagsExpectPlatformImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OETagsExpectPlatformImpl.java index e5d0e4d7..457e7222 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OETagsExpectPlatformImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/explatform/forge/OETagsExpectPlatformImpl.java @@ -5,7 +5,7 @@ import dev.felnull.otyacraftengine.tag.ManualTagHolder; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import java.util.List; import java.util.Optional; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/OtyacraftEngineForge.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/OtyacraftEngineForge.java index be30e9c6..84d11534 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/OtyacraftEngineForge.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/OtyacraftEngineForge.java @@ -1,16 +1,16 @@ package dev.felnull.otyacraftengine.forge; -import dev.architectury.platform.forge.EventBuses; +import dev.architectury.platform.neoforge.EventBuses; import dev.felnull.otyacraftengine.OtyacraftEngine; import dev.felnull.otyacraftengine.forge.handler.CommonHandlerForge; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; @Mod(OtyacraftEngine.MODID) public class OtyacraftEngineForge { public OtyacraftEngineForge() { - MinecraftForge.EVENT_BUS.register(CommonHandlerForge.class); + NeoForge.EVENT_BUS.register(CommonHandlerForge.class); EventBuses.registerModEventBus(OtyacraftEngine.MODID, FMLJavaModLoadingContext.get().getModEventBus()); OtyacraftEngine.init(); } diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientBusHandler.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientBusHandler.java index 77742a51..3b8c3ff7 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientBusHandler.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientBusHandler.java @@ -10,19 +10,19 @@ import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.EntityRenderersEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.neoforge.client.event.EntityRenderersEvent; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; @Mod.EventBusSubscriber(modid = OtyacraftEngine.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ClientBusHandler { @SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { - MinecraftForge.EVENT_BUS.register(ClientHandlerForge.class); - MinecraftForge.EVENT_BUS.register(RenderHandlerForge.class); + NeoForge.EVENT_BUS.register(ClientHandlerForge.class); + NeoForge.EVENT_BUS.register(RenderHandlerForge.class); OtyacraftEngineClient.init(); } diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientHandlerForge.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientHandlerForge.java index 2d4e8ed1..20d7d89d 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientHandlerForge.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ClientHandlerForge.java @@ -5,10 +5,10 @@ import dev.felnull.otyacraftengine.client.event.OEClientEventHooks; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraftforge.client.event.InputEvent; -import net.minecraftforge.client.event.ViewportEvent; -import net.minecraftforge.event.level.LevelEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.neoforged.neoforge.client.event.InputEvent; +import net.neoforged.neoforge.client.event.ViewportEvent; +import net.neoforged.neoforge.event.level.LevelEvent; +import net.neoforged.bus.api.SubscribeEvent; public class ClientHandlerForge { private static final Minecraft mc = Minecraft.getInstance(); diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ModelHandler.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ModelHandler.java index f63e46e3..5dad5aa4 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ModelHandler.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/ModelHandler.java @@ -1,10 +1,10 @@ package dev.felnull.otyacraftengine.forge.client.handler; import dev.felnull.otyacraftengine.client.callpoint.ClientCallPointManager; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.ModelEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.neoforge.client.event.ModelEvent; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ModelHandler { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/RenderHandlerForge.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/RenderHandlerForge.java index 59cae49b..76cc3ef8 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/RenderHandlerForge.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/handler/RenderHandlerForge.java @@ -1,8 +1,8 @@ package dev.felnull.otyacraftengine.forge.client.handler; import dev.felnull.otyacraftengine.client.event.OEClientEventHooks; -import net.minecraftforge.client.event.RenderHandEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.neoforged.neoforge.client.event.RenderHandEvent; +import net.neoforged.bus.api.SubscribeEvent; public class RenderHandlerForge { @SubscribeEvent diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/renderer/item/ItemRendererRegisterForge.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/renderer/item/ItemRendererRegisterForge.java index aca5f116..b1ea1c61 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/renderer/item/ItemRendererRegisterForge.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/client/renderer/item/ItemRendererRegisterForge.java @@ -3,7 +3,7 @@ import dev.felnull.otyacraftengine.client.renderer.item.BEWLItemRenderer; import net.minecraft.world.item.Item; import net.minecraft.world.level.ItemLike; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.registries.NeoForgeRegistries; import java.util.HashMap; import java.util.Map; @@ -18,7 +18,7 @@ public static void register(ItemLike item, BEWLItemRenderer renderer) { Objects.requireNonNull(renderer, "renderer is null"); if (RENDERERS.putIfAbsent(item.asItem(), renderer) != null) - throw new IllegalArgumentException("Item " + ForgeRegistries.ITEMS.getKey(item.asItem()) + " already has a builtin renderer!"); + throw new IllegalArgumentException("Item " + NeoForgeRegistries.ITEMS.getKey(item.asItem()) + " already has a builtin renderer!"); } public static BEWLItemRenderer getRenderer(Item item) { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccessImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccessImpl.java index 88243c85..1f91bd54 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccessImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccessImpl.java @@ -21,9 +21,9 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; -import net.minecraftforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; +import net.neoforged.neoforge.data.event.GatherDataEvent; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccesses.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccesses.java index e60cc653..3e9a45f5 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccesses.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/CrossDataGeneratorAccesses.java @@ -1,7 +1,7 @@ package dev.felnull.otyacraftengine.forge.data; import dev.felnull.otyacraftengine.data.CrossDataGeneratorAccess; -import net.minecraftforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.data.event.GatherDataEvent; import org.jetbrains.annotations.NotNull; public interface CrossDataGeneratorAccesses { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/WrappedBlockStateBuilder.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/WrappedBlockStateBuilder.java index 5e9348c5..79ab8b5d 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/WrappedBlockStateBuilder.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/WrappedBlockStateBuilder.java @@ -2,7 +2,7 @@ import com.google.gson.JsonObject; import net.minecraft.data.models.blockstates.BlockStateGenerator; -import net.minecraftforge.client.model.generators.IGeneratedBlockState; +import net.neoforged.neoforge.client.model.generators.IGeneratedBlockState; public record WrappedBlockStateBuilder(BlockStateGenerator blockStateGenerator) implements IGeneratedBlockState { @Override diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockMutableFileModelImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockMutableFileModelImpl.java index 5c4c883b..1569db42 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockMutableFileModelImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockMutableFileModelImpl.java @@ -3,7 +3,7 @@ import dev.felnull.otyacraftengine.data.model.FileModel; import dev.felnull.otyacraftengine.data.model.MutableFileModel; import dev.felnull.otyacraftengine.data.model.OverridePredicate; -import net.minecraftforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; import org.jetbrains.annotations.NotNull; import java.util.List; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockStateAndModelProviderAccessImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockStateAndModelProviderAccessImpl.java index c9b7a475..290b68f0 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockStateAndModelProviderAccessImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/BlockStateAndModelProviderAccessImpl.java @@ -13,9 +13,9 @@ import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.StairBlock; -import net.minecraftforge.client.model.generators.*; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.*; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.registries.NeoForgeRegistries; import org.jetbrains.annotations.NotNull; import java.util.Objects; @@ -219,7 +219,7 @@ public void horizontalBlockState(@NotNull Block block, @NotNull FileModel model) @Override public void parentedBlockItemModel(@NotNull Block block, @NotNull ResourceLocation parentLocation) { - var name = Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(block.asItem())); + var name = Objects.requireNonNull(NeoForgeRegistries.ITEMS.getKey(block.asItem())); this.blockStateProvider.itemModels().getBuilder(name.toString()).parent(new ModelFile.UncheckedModelFile(parentLocation)); } @@ -242,7 +242,7 @@ private String name(Block block) { } private ResourceLocation key(Block block) { - return ForgeRegistries.BLOCKS.getKey(block); + return NeoForgeRegistries.BLOCKS.getKey(block); } private BlockModelBuilder setTexture(BlockModelBuilder blockModelBuilder, String key, FileTexture fileTexture) { @@ -267,4 +267,4 @@ public JsonObject toJson() { return jsonObject; } } -} \ No newline at end of file +} diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/FileModelImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/FileModelImpl.java index b5d758ca..fdbc8dec 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/FileModelImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/FileModelImpl.java @@ -2,7 +2,7 @@ import dev.felnull.otyacraftengine.data.model.FileModel; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.client.model.generators.ModelFile; import org.jetbrains.annotations.NotNull; public class FileModelImpl implements FileModel { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemModelProviderAccessImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemModelProviderAccessImpl.java index 2c91ec8e..457dc764 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemModelProviderAccessImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemModelProviderAccessImpl.java @@ -6,10 +6,10 @@ import dev.felnull.otyacraftengine.data.model.MutableFileModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; -import net.minecraftforge.client.model.generators.ItemModelBuilder; -import net.minecraftforge.client.model.generators.ItemModelProvider; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.ItemModelBuilder; +import net.neoforged.neoforge.client.model.generators.ItemModelProvider; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.registries.NeoForgeRegistries; import org.jetbrains.annotations.NotNull; import java.util.Objects; @@ -41,17 +41,17 @@ private MutableFileModel of(ItemModelBuilder itemModelBuilder) { .parent(new ModelFile.UncheckedModelFile("item/generated")); var loc = itemTexture.getLocation(); - return of(setTexture(mb, "layer0", FileTexture.of(new ResourceLocation(loc.getNamespace(), "item/" + loc.getPath()), itemTexture.isExistingCheck()))); + return of(setTexture(mb, "layer0", FileTexture.of(ResourceLocation.fromNamespaceAndPath(loc.getNamespace(), "item/" + loc.getPath()), itemTexture.isExistingCheck()))); } @Override public @NotNull MutableFileModel basicFlatItem(@NotNull Item item, @NotNull ResourceLocation texture) { - return basicFlatItem(Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item)), texture); + return basicFlatItem(Objects.requireNonNull(NeoForgeRegistries.ITEMS.getKey(item)), texture); } @Override public @NotNull MutableFileModel basicFlatItem(@NotNull Item item, @NotNull FileTexture itemTexture) { - return basicFlatItem(Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item)), itemTexture); + return basicFlatItem(Objects.requireNonNull(NeoForgeRegistries.ITEMS.getKey(item)), itemTexture); } @Override @@ -71,14 +71,14 @@ private MutableFileModel of(ItemModelBuilder itemModelBuilder) { @Override public @NotNull MutableFileModel handheldFlatItem(@NotNull Item item) { - return handheldFlatItem(Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item))); + return handheldFlatItem(Objects.requireNonNull(NeoForgeRegistries.ITEMS.getKey(item))); } @Override public @NotNull MutableFileModel handheldFlatItem(@NotNull ResourceLocation itemLocation) { return of(this.itemModelProvider.getBuilder(itemLocation.toString()) .parent(new ModelFile.UncheckedModelFile("item/handheld")) - .texture("layer0", new ResourceLocation(itemLocation.getNamespace(), "item/" + itemLocation.getPath()))); + .texture("layer0", ResourceLocation.fromNamespaceAndPath(itemLocation.getNamespace(), "item/" + itemLocation.getPath()))); } @Override @@ -87,12 +87,12 @@ private MutableFileModel of(ItemModelBuilder itemModelBuilder) { .parent(new ModelFile.UncheckedModelFile("item/handheld")); var loc = itemTexture.getLocation(); - return of(setTexture(mb, "layer0", FileTexture.of(new ResourceLocation(loc.getNamespace(), "item/" + loc.getPath()), itemTexture.isExistingCheck()))); + return of(setTexture(mb, "layer0", FileTexture.of(ResourceLocation.fromNamespaceAndPath(loc.getNamespace(), "item/" + loc.getPath()), itemTexture.isExistingCheck()))); } @Override public @NotNull MutableFileModel parentedItem(@NotNull Item item, @NotNull ResourceLocation parentLocation) { - return parentedItem(Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item)), parentLocation); + return parentedItem(Objects.requireNonNull(NeoForgeRegistries.ITEMS.getKey(item)), parentLocation); } @Override diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemMutableFileModelImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemMutableFileModelImpl.java index fe47dec8..fc114d39 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemMutableFileModelImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/ItemMutableFileModelImpl.java @@ -3,7 +3,7 @@ import dev.felnull.otyacraftengine.data.model.FileModel; import dev.felnull.otyacraftengine.data.model.MutableFileModel; import dev.felnull.otyacraftengine.data.model.OverridePredicate; -import net.minecraftforge.client.model.generators.ItemModelBuilder; +import net.neoforged.neoforge.client.model.generators.ItemModelBuilder; import org.jetbrains.annotations.NotNull; import java.util.List; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/MutableFileModelImpl.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/MutableFileModelImpl.java index 07ed5df0..b594e514 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/MutableFileModelImpl.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/model/MutableFileModelImpl.java @@ -2,7 +2,7 @@ import dev.felnull.otyacraftengine.data.model.MutableFileModel; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.model.generators.ModelBuilder; +import net.neoforged.neoforge.client.model.generators.ModelBuilder; import org.jetbrains.annotations.NotNull; public abstract class MutableFileModelImpl extends FileModelImpl implements MutableFileModel { diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBiomeTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBiomeTagsProvider.java index 0d1d86b3..6b859dae 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBiomeTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBiomeTagsProvider.java @@ -7,7 +7,7 @@ import net.minecraft.data.tags.BiomeTagsProvider; import net.minecraft.tags.TagKey; import net.minecraft.world.level.biome.Biome; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockStateProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockStateProvider.java index ace07e3d..4b78edc9 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockStateProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockStateProvider.java @@ -3,8 +3,8 @@ import dev.felnull.otyacraftengine.data.provider.BlockStateAndModelProviderWrapper; import dev.felnull.otyacraftengine.forge.data.model.BlockStateAndModelProviderAccessImpl; import net.minecraft.data.PackOutput; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; public class WrappedBlockStateProvider extends BlockStateProvider { private final BlockStateAndModelProviderWrapper blockStateAndModelProviderWrapper; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockTagsProvider.java index 36e01433..11139926 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedBlockTagsProvider.java @@ -6,8 +6,8 @@ import net.minecraft.data.PackOutput; import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedDamageTypeTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedDamageTypeTagsProvider.java index 76429086..392e3eb9 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedDamageTypeTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedDamageTypeTagsProvider.java @@ -8,7 +8,7 @@ import net.minecraft.data.tags.TagsProvider; import net.minecraft.tags.TagKey; import net.minecraft.world.damagesource.DamageType; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedFluidTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedFluidTagsProvider.java index 63e86f07..e8972648 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedFluidTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedFluidTagsProvider.java @@ -7,7 +7,7 @@ import net.minecraft.data.tags.FluidTagsProvider; import net.minecraft.tags.TagKey; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedIntrinsicHolderTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedIntrinsicHolderTagsProvider.java index 6015542f..79589333 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedIntrinsicHolderTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedIntrinsicHolderTagsProvider.java @@ -7,7 +7,7 @@ import net.minecraft.data.tags.IntrinsicHolderTagsProvider; import net.minecraft.resources.ResourceKey; import net.minecraft.tags.TagKey; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemModelProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemModelProvider.java index 676212ee..e29df038 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemModelProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemModelProvider.java @@ -3,8 +3,8 @@ import dev.felnull.otyacraftengine.data.provider.ItemModelProviderWrapper; import dev.felnull.otyacraftengine.forge.data.model.ItemModelProviderAccessImpl; import net.minecraft.data.PackOutput; -import net.minecraftforge.client.model.generators.ItemModelProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.ItemModelProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; public class WrappedItemModelProvider extends ItemModelProvider { private final ItemModelProviderWrapper itemModelProviderWrapper; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemTagsProvider.java index 35092efd..e995dbdb 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedItemTagsProvider.java @@ -9,7 +9,7 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedPoiTypeTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedPoiTypeTagsProvider.java index 976c3d9e..d3e77110 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedPoiTypeTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedPoiTypeTagsProvider.java @@ -7,7 +7,7 @@ import net.minecraft.data.tags.PoiTypeTagsProvider; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.ai.village.poi.PoiType; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedTagsProvider.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedTagsProvider.java index a8724951..53af9d80 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedTagsProvider.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/data/provider/WrappedTagsProvider.java @@ -8,7 +8,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/handler/CommonHandlerForge.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/handler/CommonHandlerForge.java index dd2038d0..5ac75684 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/handler/CommonHandlerForge.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/handler/CommonHandlerForge.java @@ -1,9 +1,9 @@ package dev.felnull.otyacraftengine.forge.handler; import dev.felnull.otyacraftengine.event.OECommonEventHooks; -import net.minecraftforge.event.entity.EntityEvent; -import net.minecraftforge.event.entity.living.LivingEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.neoforged.neoforge.event.entity.EntityEvent; +import net.neoforged.neoforge.event.entity.living.LivingEvent; +import net.neoforged.bus.api.SubscribeEvent; public class CommonHandlerForge { @SubscribeEvent diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/BlockStateProviderAccessor.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/BlockStateProviderAccessor.java index f4632fbe..cec7a1bc 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/BlockStateProviderAccessor.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/BlockStateProviderAccessor.java @@ -1,8 +1,8 @@ package dev.felnull.otyacraftengine.forge.mixin.data; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.client.model.generators.IGeneratedBlockState; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.IGeneratedBlockState; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/ModelBuilderMixin.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/ModelBuilderMixin.java index 2f7de18b..74dfac88 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/ModelBuilderMixin.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/data/ModelBuilderMixin.java @@ -3,7 +3,7 @@ import com.google.common.base.Preconditions; import dev.felnull.otyacraftengine.forge.data.model.UncheckedTextureModelBuilder; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.model.generators.ModelBuilder; +import net.neoforged.neoforge.client.model.generators.ModelBuilder; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/EquipmentItemExtender.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/EquipmentItemExtender.java index 111dbe70..5f4a5acd 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/EquipmentItemExtender.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/EquipmentItemExtender.java @@ -3,7 +3,7 @@ import dev.felnull.otyacraftengine.item.EquipmentItem; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.common.extensions.IForgeItem; +import net.neoforged.neoforge.common.extensions.IForgeItem; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseBlockEntityMixin.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseBlockEntityMixin.java index 1a6ad0db..ecc7bbf3 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseBlockEntityMixin.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseBlockEntityMixin.java @@ -5,7 +5,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; -import net.minecraftforge.common.extensions.IForgeBlockEntity; +import net.neoforged.neoforge.common.extensions.IForgeBlockEntity; import org.spongepowered.asm.mixin.Mixin; @Mixin(OEBaseBlockEntity.class) diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseContainerBlockEntityMixin.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseContainerBlockEntityMixin.java index 4b6e3903..f5d6d554 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseContainerBlockEntityMixin.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/OEBaseContainerBlockEntityMixin.java @@ -5,7 +5,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; -import net.minecraftforge.common.extensions.IForgeBlockEntity; +import net.neoforged.neoforge.common.extensions.IForgeBlockEntity; import org.spongepowered.asm.mixin.Mixin; @Mixin(OEBaseContainerBlockEntity.class) diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/StackAttributeModifierItemExtender.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/StackAttributeModifierItemExtender.java index dd67f0b0..664e0f0f 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/StackAttributeModifierItemExtender.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/mixin/self/StackAttributeModifierItemExtender.java @@ -6,7 +6,7 @@ import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.common.extensions.IForgeItem; +import net.neoforged.neoforge.common.extensions.IForgeItem; import org.spongepowered.asm.mixin.Mixin; @Mixin(value = StackAttributeModifierItem.class, remap = false) diff --git a/forge/src/main/java/dev/felnull/otyacraftengine/forge/tag/OEForgeItemTags.java b/forge/src/main/java/dev/felnull/otyacraftengine/forge/tag/OEForgeItemTags.java index 2e70ab14..76e33e95 100644 --- a/forge/src/main/java/dev/felnull/otyacraftengine/forge/tag/OEForgeItemTags.java +++ b/forge/src/main/java/dev/felnull/otyacraftengine/forge/tag/OEForgeItemTags.java @@ -37,7 +37,7 @@ private static Supplier> bind(String id, Consumer { - public static final ResourceLocation TEST_TEXTURE = new ResourceLocation(OtyacraftEngineTest.MODID, "textures/gui/test.png"); + public static final ResourceLocation TEST_TEXTURE = ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, "textures/gui/test.png"); private static final Minecraft mc = Minecraft.getInstance(); private static final UUID morimoriUUID = UUID.fromString("0f286fc2-0c86-42d5-8518-c306cad74f03"); private static final String morimoriName = "MoriMori_0317_jp"; diff --git a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/data/OETestRecipeProvider.java b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/data/OETestRecipeProvider.java index 51f9b6b9..f942533c 100644 --- a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/data/OETestRecipeProvider.java +++ b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/data/OETestRecipeProvider.java @@ -23,6 +23,6 @@ public void generateRecipe(Consumer exporter, RecipeProviderAcce ShapelessRecipeBuilder.shapeless(RecipeCategory.FOOD, Items.APPLE, 1) .requires(Items.EGG) .unlockedBy("has_item", providerAccess.has(Items.EGG)) - .save(exporter, new ResourceLocation(OtyacraftEngineTest.MODID, "test")); + .save(exporter, ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, "test")); } } diff --git a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/item/TestItemTags.java b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/item/TestItemTags.java index 50c8d562..08760612 100644 --- a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/item/TestItemTags.java +++ b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/item/TestItemTags.java @@ -10,6 +10,6 @@ public class TestItemTags { /*public static final TagKey TEST_TAG = reg("test_tag"); private static TagKey reg(String name) { - return TagKey.create(Registry.ITEM_REGISTRY, new ResourceLocation(OtyacraftEngineTest.MODID, name)); + return TagKey.create(Registry.ITEM_REGISTRY, ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, name)); }*/ } diff --git a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/handler/ServerHandler.java b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/handler/ServerHandler.java index eb38e92b..6bee1ff2 100644 --- a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/handler/ServerHandler.java +++ b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/handler/ServerHandler.java @@ -12,7 +12,7 @@ private static void onLootTableModify(LootTables lootManager, ResourceLocation i .when(LootItemRandomChanceCondition.randomChance(1f)) .add(LootItem.lootTableItem(Items.APPLE).setWeight(1)) .add(LootItem.lootTableItem(Items.APPLE).setWeight(4)); - modifyAccess.addLootPool(new ResourceLocation(OtyacraftEngine.MODID, "test"), antennaPoolB);*//* + modifyAccess.addLootPool(ResourceLocation.fromNamespaceAndPath(OtyacraftEngine.MODID, "test"), antennaPoolB);*//* } private static CompoundEventResult onLootTableReplace(LootTables lootManager, ResourceLocation id, LootTable original) { diff --git a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestDimensions.java b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestDimensions.java index 9f29c449..8f666a41 100644 --- a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestDimensions.java +++ b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestDimensions.java @@ -23,9 +23,9 @@ import java.util.OptionalLong; public class OETestDimensions { - public static final ResourceKey IKISUGI_DIM_TYPE = ResourceKey.create(Registries.DIMENSION_TYPE, new ResourceLocation(OtyacraftEngineTest.MODID, "ikisugi_dimension")); - public static final ResourceKey IKISUGI_LEVEL_STEM = ResourceKey.create(Registries.LEVEL_STEM, new ResourceLocation(OtyacraftEngineTest.MODID, "ikisugi_dimension")); - public static final ResourceKey IKISUGI_NOISE_GENERATOR_SETTINGS = ResourceKey.create(Registries.NOISE_SETTINGS, new ResourceLocation(OtyacraftEngineTest.MODID, "ikisugi_level_stem_noise_generator_settings")); + public static final ResourceKey IKISUGI_DIM_TYPE = ResourceKey.create(Registries.DIMENSION_TYPE, ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, "ikisugi_dimension")); + public static final ResourceKey IKISUGI_LEVEL_STEM = ResourceKey.create(Registries.LEVEL_STEM, ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, "ikisugi_dimension")); + public static final ResourceKey IKISUGI_NOISE_GENERATOR_SETTINGS = ResourceKey.create(Registries.NOISE_SETTINGS, ResourceLocation.fromNamespaceAndPath(OtyacraftEngineTest.MODID, "ikisugi_level_stem_noise_generator_settings")); protected static final NoiseSettings IKISUGI_NOISE_SETTINGS = NoiseSettings.create(0, 128, 1, 2); diff --git a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestNoiseRouter.java b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestNoiseRouter.java index 25ca4ce9..3b53ca5e 100644 --- a/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestNoiseRouter.java +++ b/testmod-common/src/main/java/dev/felnull/otyacraftenginetest/server/level/OETestNoiseRouter.java @@ -37,8 +37,8 @@ protected static NoiseRouter createIkisugiNoiseRouter(BootstapContext SHIFT_X = ResourceKey.create(Registries.DENSITY_FUNCTION, new ResourceLocation("shift_x")); - private static final ResourceKey SHIFT_Z = ResourceKey.create(Registries.DENSITY_FUNCTION, new ResourceLocation("shift_z")); + private static final ResourceKey SHIFT_X = ResourceKey.create(Registries.DENSITY_FUNCTION, ResourceLocation.parse("shift_x")); + private static final ResourceKey SHIFT_Z = ResourceKey.create(Registries.DENSITY_FUNCTION, ResourceLocation.parse("shift_z")); private static NoiseRouter noNewCaves(HolderGetter p_255724_, HolderGetter p_255986_, DensityFunction p_256378_) { DensityFunction densityfunction = getFunction(p_255724_, SHIFT_X); diff --git a/testmod-forge/build.gradle b/testmod-forge/build.gradle index e9f99a24..11e1c876 100644 --- a/testmod-forge/build.gradle +++ b/testmod-forge/build.gradle @@ -1,10 +1,10 @@ plugins { - id "com.github.johnrengelman.shadow" version "7.1.2" + id "com.github.johnrengelman.shadow" version "8.1.1" } architectury { platformSetupLoomIde() - forge() + neoForge() } def generatedResources = file("src/generated") @@ -18,11 +18,11 @@ sourceSets { loom { accessWidenerPath = project(":common").loom.accessWidenerPath - forge { + neoForge { mixinConfig "otyacraftengine.mixins.json" mods { - forge { + neoforge { sourceSet project(":forge").sourceSets.main } } @@ -44,11 +44,11 @@ configurations { common compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common - developmentForge.extendsFrom common + developmentNeoForge.extendsFrom common } dependencies { - forge "net.minecraftforge:forge:${rootProject.forge_version}" + neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}" implementation project(path: ":forge", configuration: "namedElements") common(project(path: ":common", configuration: "namedElements")) { transitive false } @@ -57,7 +57,7 @@ dependencies { runtimeOnly "dev.felnull:felnull-java-library:${rootProject.felnull_version}" runtimeOnly "dev.felnull:felnull-java-library-natives:${rootProject.felnull_version}" runtimeOnly 'com.madgag:animated-gif-lib:1.4' - forgeDependencies "dev.felnull:felnull-java-library:${rootProject.felnull_version}" - forgeDependencies "dev.felnull:felnull-java-library-natives:${rootProject.felnull_version}" - forgeDependencies 'com.madgag:animated-gif-lib:1.4' + neoForgeDependencies "dev.felnull:felnull-java-library:${rootProject.felnull_version}" + neoForgeDependencies "dev.felnull:felnull-java-library-natives:${rootProject.felnull_version}" + neoForgeDependencies 'com.madgag:animated-gif-lib:1.4' } diff --git a/testmod-forge/gradle.properties b/testmod-forge/gradle.properties index 32f842a6..7da18ea6 100644 --- a/testmod-forge/gradle.properties +++ b/testmod-forge/gradle.properties @@ -1 +1 @@ -loom.platform=forge \ No newline at end of file +loom.platform=neoforge diff --git a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/OtyacraftEngineTestForge.java b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/OtyacraftEngineTestForge.java index 3f9d56b7..cfdd6484 100644 --- a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/OtyacraftEngineTestForge.java +++ b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/OtyacraftEngineTestForge.java @@ -1,9 +1,9 @@ package dev.felnull.otyacraftenginetest.forge; -import dev.architectury.platform.forge.EventBuses; +import dev.architectury.platform.neoforge.EventBuses; import dev.felnull.otyacraftenginetest.OtyacraftEngineTest; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; @Mod(OtyacraftEngineTest.MODID) public class OtyacraftEngineTestForge { diff --git a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/client/handler/ClientBusHandler.java b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/client/handler/ClientBusHandler.java index cf5d2d53..cd9544e4 100644 --- a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/client/handler/ClientBusHandler.java +++ b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/client/handler/ClientBusHandler.java @@ -2,10 +2,10 @@ import dev.felnull.otyacraftenginetest.OtyacraftEngineTest; import dev.felnull.otyacraftenginetest.client.OtyacraftEngineTestClient; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; @Mod.EventBusSubscriber(modid = OtyacraftEngineTest.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ClientBusHandler { diff --git a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/data/OtyacraftEngineTestDataGeneratorsForge.java b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/data/OtyacraftEngineTestDataGeneratorsForge.java index 887a46b7..06734bcd 100644 --- a/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/data/OtyacraftEngineTestDataGeneratorsForge.java +++ b/testmod-forge/src/main/java/dev/felnull/otyacraftenginetest/forge/data/OtyacraftEngineTestDataGeneratorsForge.java @@ -3,9 +3,9 @@ import dev.felnull.otyacraftengine.forge.data.CrossDataGeneratorAccesses; import dev.felnull.otyacraftenginetest.OtyacraftEngineTest; import dev.felnull.otyacraftenginetest.data.OtyacraftEngineTestDataGenerators; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; @Mod.EventBusSubscriber(modid = OtyacraftEngineTest.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class OtyacraftEngineTestDataGeneratorsForge { diff --git a/testmod-forge/src/main/resources/META-INF/mods.toml b/testmod-forge/src/main/resources/META-INF/mods.toml index ad922ac7..03680632 100644 --- a/testmod-forge/src/main/resources/META-INF/mods.toml +++ b/testmod-forge/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader = "javafml" -loaderVersion = "[43,)" +loaderVersion = "[2,)" license = "IKISUIG LICENSE" [[mods]] @@ -10,4 +10,4 @@ authors = "MORIMORI0317" description = ''' The otyacraft engine test mod. ''' -#logoFile = "" \ No newline at end of file +#logoFile = "" From fc2a153e4eb39d0a457be5477afc21ffd89ef331 Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:19:06 -0500 Subject: [PATCH 3/8] Update build.gradle --- forge/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/forge/build.gradle b/forge/build.gradle index 4980f8d4..28041a62 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -13,7 +13,6 @@ loom { accessWidenerPath = project(":common").loom.accessWidenerPath neoForge { - convertAccessWideners = true extraAccessWideners.add loom.accessWidenerPath.get().asFile.name mixinConfig "otyacraftengine-common.mixins.json" From 4f73257940106ca7d516c6279362308f5b1e6afa Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:26:20 -0500 Subject: [PATCH 4/8] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0bc77a40..c9630a1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,7 @@ on: tags-ignore: - 'v*' pull_request: + workflow_dispatch: jobs: build: From 92ce7f8aa2a3d7aaeefc749bf5a1dc69dd19eea4 Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:27:11 -0500 Subject: [PATCH 5/8] Update build.yml --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9630a1d..0bc77a40 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,6 @@ on: tags-ignore: - 'v*' pull_request: - workflow_dispatch: jobs: build: From 9277527d3e2e3189e640ed578160e2683f0766f3 Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:31:39 -0500 Subject: [PATCH 6/8] Update build.gradle --- forge/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/forge/build.gradle b/forge/build.gradle index 28041a62..75ecd2e9 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -13,7 +13,6 @@ loom { accessWidenerPath = project(":common").loom.accessWidenerPath neoForge { - extraAccessWideners.add loom.accessWidenerPath.get().asFile.name mixinConfig "otyacraftengine-common.mixins.json" mixinConfig "otyacraftengine.mixins.json" From 2c3a40abaac78d5bcf71913dc58f519285469ecd Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:50:17 -0500 Subject: [PATCH 7/8] Update build.gradle --- forge/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/forge/build.gradle b/forge/build.gradle index 75ecd2e9..8fc2d707 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -14,8 +14,6 @@ loom { neoForge { - mixinConfig "otyacraftengine-common.mixins.json" - mixinConfig "otyacraftengine.mixins.json" } } From 5a4a8f85fb50cf4b5a2dd198a4b799e5cdd01d13 Mon Sep 17 00:00:00 2001 From: MoneyMantra1 Date: Wed, 14 Jan 2026 23:51:30 -0500 Subject: [PATCH 8/8] Update mods.toml --- forge/src/main/resources/META-INF/mods.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 93d81f6b..39781ee2 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -3,6 +3,12 @@ loaderVersion = "[2,)" issueTrackerURL = "https://github.com/TeamFelnull/OtyacraftEngine/issues" license = "GNU LGPLv3" +[[mixins]] +config="otyacraftengine-common.mixins.json" + +[[mixins]] +config="otyacraftengine.mixins.json" + [[mods]] modId = "otyacraftengine" version = "${version}"