From 0652b1d8299124ad6ff69646b7a355b18006e33e Mon Sep 17 00:00:00 2001 From: UnRealDinnerbone Date: Tue, 23 Apr 2024 20:00:18 -0500 Subject: [PATCH] 1.20.5 --- CHANGELOG.md | 4 ++-- build.gradle | 18 ++++++++++-------- .../trenzalore/api/config/ConfigManger.java | 2 +- .../trenzalore/api/platform/Services.java | 1 + .../api/platform/services/IPlatformHelper.java | 2 ++ .../api/platform/services/IRegistry.java | 1 + .../trenzalore/api/registry/Regeneration.java | 11 ++++++++--- .../trenzalore/api/registry/RegistryEntry.java | 1 + .../api/registry/RegistryObjects.java | 1 + .../main/resources/trenzalore.accesswidener | 2 ++ .../resources/META-INF/accesstransformer.cfg | 2 ++ gradle.properties | 12 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- ...TrenzaloreForge.java => TrenzaloreNeo.java} | 8 +++----- .../trenzalore/TrenzaloreNeoRegistry.java | 7 ++++--- .../trenzalore/events/AddItemModifier.java | 15 +++++++-------- .../trenzalore/events/ReplaceItemModifier.java | 5 +++-- .../resources/META-INF/accesstransformer.cfg | 2 ++ settings.gradle | 2 +- 19 files changed, 58 insertions(+), 40 deletions(-) rename neo/src/main/java/com/unrealdinnerbone/trenzalore/{TrenzaloreForge.java => TrenzaloreNeo.java} (71%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 944f163..13d06e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ -### 4.0.1 +### 5.0.0 -- Fixed Maven Publishing \ No newline at end of file +- Update to 1.20.5 \ No newline at end of file diff --git a/build.gradle b/build.gradle index d801238..3481e2f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,13 @@ plugins { - id("dev.nanite.mlp") version("0.1.1") + id("dev.nanite.mlp") version("0.1.6") id("java-library") id("maven-publish") id("me.modmuss50.mod-publish-plugin") version "0.3.0" + id 'org.jetbrains.gradle.plugin.idea-ext' version '1.0' } -java.toolchain.languageVersion = JavaLanguageVersion.of(17) +java.toolchain.languageVersion = JavaLanguageVersion.of(21) multiLoader.root() { minecraftVersion.set(project.property("minecraft_version")) @@ -22,7 +23,12 @@ allprojects { setArchivesBaseName("${mod_name}-${project.name}".toLowerCase()) group = "com.unrealdinnerbone" - + idea { + module { + downloadSources = true + downloadJavadoc = true + } + } } subprojects { @@ -35,7 +41,7 @@ subprojects { sourceSets.main.resources.srcDir project.file('src/generated/resources') - java.toolchain.languageVersion = JavaLanguageVersion.of(17) + java.toolchain.languageVersion = JavaLanguageVersion.of(21) base { @@ -46,10 +52,6 @@ subprojects { name = "Creeperhost" url = uri("https://maven.creeperhost.net/") } - maven { - name = "UnRealDinnerbone" - url = "https://maven.unreal.codes/releases" - } } tasks.withType(ProcessResources).configureEach { outputs.upToDateWhen { false } diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/config/ConfigManger.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/config/ConfigManger.java index a26b5ae..28748c0 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/config/ConfigManger.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/config/ConfigManger.java @@ -19,7 +19,7 @@ public class ConfigManger { private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); @Deprecated - @ApiStatus.ScheduledForRemoval(inVersion = "5.0.0") + @ApiStatus.ScheduledForRemoval(inVersion = "6.0.0") public static T getOrCreateConfig(String name, Class tClass, Supplier defaultValue) { Path configPath = Services.PLATFORM.getConfigPath(); Path config = configPath.resolve(name + ".json"); diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/Services.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/Services.java index cad60b6..4caaeb4 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/Services.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/Services.java @@ -5,6 +5,7 @@ import java.util.ServiceLoader; public class Services { + public static final IPlatformHelper PLATFORM = load(IPlatformHelper.class); public static T load(Class clazz) { diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IPlatformHelper.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IPlatformHelper.java index e114c14..30ce51c 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IPlatformHelper.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IPlatformHelper.java @@ -32,8 +32,10 @@ public interface IPlatformHelper { @Nullable @ApiStatus.Internal Entity teleport(T entity, ServerLevel level, PortalInfo portalInfo); + @ApiStatus.Internal void addItemToCreativeTab(ResourceKey tabResourceKey, List> item); + @ApiStatus.Internal void registryRegistryObjects(String modId, RegistryObjects registryObjects); diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IRegistry.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IRegistry.java index 48a6166..e44319a 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IRegistry.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/platform/services/IRegistry.java @@ -6,6 +6,7 @@ import java.util.List; public interface IRegistry { + List> getRegistryObjects(); String getModID(); diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/Regeneration.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/Regeneration.java index f02f01d..5d760b3 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/Regeneration.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/Regeneration.java @@ -7,6 +7,10 @@ import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.flag.FeatureFlagSet; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; @@ -25,9 +29,6 @@ public static RegistryObjects create(ResourceKey> registry) { return RegistryObjects.of(registry); } - public static > T registerCriterion(ResourceLocation name, T criterion) { - return CriteriaTriggers.register(name.toString(), criterion); - } public static void addItemToCreateTab(ResourceKey tabResourceKey, Supplier item) { Services.PLATFORM.addItemToCreativeTab(tabResourceKey, List.of(item)); } @@ -40,4 +41,8 @@ public static BlockEntityType createBlockEntityType(B return BlockEntityType.Builder.of(creator::apply, validBlocks).build(null); } + public static MenuType createMenuType(BiFunction supplier) { + return new MenuType<>(supplier::apply, FeatureFlagSet.of()); + } + } diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryEntry.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryEntry.java index 743ab98..49d3969 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryEntry.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryEntry.java @@ -3,6 +3,7 @@ import java.util.function.Supplier; public record RegistryEntry(String name, Supplier entry) implements Supplier { + @Override public T get() { return entry.get(); diff --git a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryObjects.java b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryObjects.java index 747cb71..a3b0df0 100644 --- a/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryObjects.java +++ b/common/src/main/java/com/unrealdinnerbone/trenzalore/api/registry/RegistryObjects.java @@ -13,6 +13,7 @@ public record RegistryObjects(ResourceKey> registryKey, List RegistryObjects of(ResourceKey> registryKey) { return new RegistryObjects<>(registryKey, new ArrayList<>()); } + public RegistryEntry register(String name, Supplier object) { RegistryEntry entry = new RegistryEntry<>(name, Suppliers.memoize(object::get)); objects.add(entry); diff --git a/common/src/main/resources/trenzalore.accesswidener b/common/src/main/resources/trenzalore.accesswidener index 75cdca1..227cd5c 100644 --- a/common/src/main/resources/trenzalore.accesswidener +++ b/common/src/main/resources/trenzalore.accesswidener @@ -13,4 +13,6 @@ accessible field net/minecraft/world/item/CreativeModeTabs SPAWN_EGGS Lnet/minec accessible field net/minecraft/world/item/CreativeModeTabs OP_BLOCKS Lnet/minecraft/resources/ResourceKey; accessible method net/minecraft/world/level/block/entity/BlockEntityType$Builder of (Lnet/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier;[Lnet/minecraft/world/level/block/Block;)Lnet/minecraft/world/level/block/entity/BlockEntityType$Builder; accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier +accessible method net/minecraft/world/inventory/MenuType (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V +accessible class net/minecraft/world/inventory/MenuType$MenuSupplier diff --git a/forge/src/main/resources/META-INF/accesstransformer.cfg b/forge/src/main/resources/META-INF/accesstransformer.cfg index 57a18a0..32a5a2d 100644 --- a/forge/src/main/resources/META-INF/accesstransformer.cfg +++ b/forge/src/main/resources/META-INF/accesstransformer.cfg @@ -12,3 +12,5 @@ public net.minecraft.world.item.CreativeModeTabs f_256731_ public net.minecraft.world.item.CreativeModeTabs f_256837_ public net.minecraft.world.level.block.entity.BlockEntityType$Builder m_155273_(Lnet/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier;[Lnet/minecraft/world/level/block/Block;)Lnet/minecraft/world/level/block/entity/BlockEntityType$Builder; public net.minecraft.world.level.block.entity.BlockEntityType$BlockEntitySupplier +public net.minecraft.world.inventory.MenuType (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V +public net.minecraft.world.inventory.MenuType$MenuSupplier diff --git a/gradle.properties b/gradle.properties index 189ee44..f2cc15e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Project -mod_version=4.0.1 +mod_version=5.0.0 maven_group=com.unrealdinnerbone mod_name=Trenzalore mod_author=UnRealDinnerbone @@ -7,15 +7,15 @@ mod_id=trenzalore curse_id=870210 # Common -minecraft_version=1.20.4 +minecraft_version=1.20.5 # Forge -forge_version=49.0.13 +#//forge_version=49.0.31 -neo_version=20.4.70-beta +neo_version=20.5.0-beta # Fabric -fabric_version=0.91.2+1.20.4 -fabric_loader_version=0.15.1 +fabric_version=0.97.6+1.20.5 +fabric_loader_version=0.15.10 # Gradle org.gradle.jvmargs=-Xmx3G diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a595206..48c0a02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ 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.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreForge.java b/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeo.java similarity index 71% rename from neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreForge.java rename to neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeo.java index da97439..0073e9a 100644 --- a/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreForge.java +++ b/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeo.java @@ -3,16 +3,14 @@ import com.unrealdinnerbone.trenzalore.platform.NeoPlatformHelper; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.common.Mod; -import net.neoforged.fml.event.IModBusEvent; -import net.neoforged.fml.javafmlmod.FMLJavaModLoadingContext; import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; @Mod(Trenzalore.MOD_ID) -public class TrenzaloreForge { +public class TrenzaloreNeo { - public TrenzaloreForge(IEventBus modEventBus) { + public TrenzaloreNeo(IEventBus modEventBus) { Trenzalore.init(); - modEventBus.addListener(TrenzaloreForge::onCreativeTab); + modEventBus.addListener(TrenzaloreNeo::onCreativeTab); } public static void onCreativeTab(BuildCreativeModeTabContentsEvent event) { diff --git a/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeoRegistry.java b/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeoRegistry.java index 23f730f..ed8ee05 100644 --- a/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeoRegistry.java +++ b/neo/src/main/java/com/unrealdinnerbone/trenzalore/TrenzaloreNeoRegistry.java @@ -1,6 +1,7 @@ package com.unrealdinnerbone.trenzalore; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.unrealdinnerbone.trenzalore.api.platform.services.IRegistry; import com.unrealdinnerbone.trenzalore.api.registry.Regeneration; import com.unrealdinnerbone.trenzalore.api.registry.RegistryEntry; @@ -13,9 +14,9 @@ import java.util.List; public class TrenzaloreNeoRegistry implements IRegistry { - private static final RegistryObjects> GLOBAL_LOOT_MODIFIERS = Regeneration.create(NeoForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS); - public static final RegistryEntry> SIMPLE_LOOT_MODIFIER = GLOBAL_LOOT_MODIFIERS.register("replace", () -> ReplaceItemModifier.CODEC); - public static final RegistryEntry> ADD_ITEM_MODIFIER = GLOBAL_LOOT_MODIFIERS.register("add", () -> AddItemModifier.CODEC); + private static final RegistryObjects> GLOBAL_LOOT_MODIFIERS = Regeneration.create(NeoForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS); + public static final RegistryEntry> SIMPLE_LOOT_MODIFIER = GLOBAL_LOOT_MODIFIERS.register("replace", () -> ReplaceItemModifier.CODEC); + public static final RegistryEntry> ADD_ITEM_MODIFIER = GLOBAL_LOOT_MODIFIERS.register("add", () -> AddItemModifier.CODEC); @Override public List> getRegistryObjects() { diff --git a/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/AddItemModifier.java b/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/AddItemModifier.java index 4c4bec4..7238e30 100644 --- a/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/AddItemModifier.java +++ b/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/AddItemModifier.java @@ -1,6 +1,6 @@ package com.unrealdinnerbone.trenzalore.events; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.world.item.ItemStack; @@ -13,13 +13,12 @@ public class AddItemModifier extends LootModifier { - private final ItemStack stack; - public static final Codec CODEC = RecordCodecBuilder.create((builder) -> - codecStart(builder) - .and(ItemStack.CODEC.fieldOf("stack") - .forGetter((modifier) -> modifier.stack)) - .apply(builder, AddItemModifier::new)); + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + IGlobalLootModifier.LOOT_CONDITIONS_CODEC.fieldOf("conditions").forGetter(glm -> glm.conditions), + ItemStack.CODEC.fieldOf("table").forGetter(addItemModifier -> addItemModifier.stack)).apply(instance, AddItemModifier::new)); + + private final ItemStack stack; public AddItemModifier(LootItemCondition[] conditionsIn, ItemStack itemStack) { super(conditionsIn); @@ -34,7 +33,7 @@ protected ObjectArrayList doApply(ObjectArrayList generate } @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } } diff --git a/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/ReplaceItemModifier.java b/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/ReplaceItemModifier.java index f376875..2400de0 100644 --- a/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/ReplaceItemModifier.java +++ b/neo/src/main/java/com/unrealdinnerbone/trenzalore/events/ReplaceItemModifier.java @@ -1,6 +1,7 @@ package com.unrealdinnerbone.trenzalore.events; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.world.item.ItemStack; @@ -15,7 +16,7 @@ public class ReplaceItemModifier extends LootModifier { private final Ingredient ingredient; private final ItemStack stack; - public static final Codec CODEC = RecordCodecBuilder.create(builder -> + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(builder -> codecStart(builder) .and(Ingredient.CODEC_NONEMPTY.fieldOf("item") .forGetter((modifier) -> modifier.ingredient)) @@ -42,7 +43,7 @@ protected ObjectArrayList doApply(ObjectArrayList generate } @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } } diff --git a/neo/src/main/resources/META-INF/accesstransformer.cfg b/neo/src/main/resources/META-INF/accesstransformer.cfg index 38c4530..3913b15 100644 --- a/neo/src/main/resources/META-INF/accesstransformer.cfg +++ b/neo/src/main/resources/META-INF/accesstransformer.cfg @@ -12,3 +12,5 @@ public net.minecraft.world.item.CreativeModeTabs SPAWN_EGGS public net.minecraft.world.item.CreativeModeTabs OP_BLOCKS public net.minecraft.world.level.block.entity.BlockEntityType$Builder of(Lnet/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier;[Lnet/minecraft/world/level/block/Block;)Lnet/minecraft/world/level/block/entity/BlockEntityType$Builder; public net.minecraft.world.level.block.entity.BlockEntityType$BlockEntitySupplier +public net.minecraft.world.inventory.MenuType (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V +public net.minecraft.world.inventory.MenuType$MenuSupplier diff --git a/settings.gradle b/settings.gradle index 6ce624f..b534184 100644 --- a/settings.gradle +++ b/settings.gradle @@ -23,4 +23,4 @@ pluginManagement { -include("common", "neo", "fabric", "forge") \ No newline at end of file +include("common", "neo", "fabric") \ No newline at end of file