Skip to content

Commit

Permalink
Update to 1.21.4
Browse files Browse the repository at this point in the history
  • Loading branch information
UnRealDinnerbone committed Dec 9, 2024
1 parent 4af57bf commit 946b095
Show file tree
Hide file tree
Showing 18 changed files with 57 additions and 40 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
### 6.1.1
### 21.4.0

- Pass Holder to Support Atrributes
- Update to Minecraft 1.21.4
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
plugins {
id("dev.nanite.mlp") version("0.3.0")
id("dev.nanite.mlp") version("0.4.0")
id("java-library")
id("maven-publish")
id("me.modmuss50.mod-publish-plugin") version "0.3.0"
id("me.modmuss50.mod-publish-plugin") version "0.8.1"
id 'org.jetbrains.gradle.plugin.idea-ext' version '1.0'
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public static void init() {
ServiceLoader.load(IRegistry.class).forEach(iRegistry -> {
List<RegistryObjects<?>> registryObjects = iRegistry.getRegistryObjects();
registryObjects.forEach(registryObject -> Services.PLATFORM.registryRegistryObjects(iRegistry.getModID(), registryObject));
iRegistry.afterRegistered();
iRegistry.afterRegistered(Services.PLATFORM);
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class ConfigManger {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();

@Deprecated
@ApiStatus.ScheduledForRemoval(inVersion = "6.0.0")
@ApiStatus.ScheduledForRemoval(inVersion = "22.0.0")
public static <T> T getOrCreateConfig(String name, Class<T> tClass, Supplier<T> defaultValue) {
Path configPath = Services.PLATFORM.getConfigPath();
Path config = configPath.resolve(name + ".json");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.unrealdinnerbone.trenzalore.api.platform.services;

import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import org.jetbrains.annotations.ApiStatus;

import java.util.List;
import java.util.function.Supplier;

public interface ICreativeTabRegister {

@ApiStatus.Internal
void addItemToCreativeTab(ResourceKey<CreativeModeTab> tabResourceKey, List<Supplier<? extends Item>> item);
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,14 @@
import java.util.List;
import java.util.function.Supplier;

public interface IPlatformHelper {
public interface IPlatformHelper extends ICreativeTabRegister {

String getPlatform();

Path getConfigPath();

boolean isModLoaded(String modId);

@ApiStatus.Internal
void addItemToCreativeTab(ResourceKey<CreativeModeTab> tabResourceKey, List<Supplier<? extends Item>> item);

@ApiStatus.Internal
<T> void registryRegistryObjects(String modId, RegistryObjects<T> registryObjects);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ public interface IRegistry {

String getModID();

default void afterRegistered() {}
default void afterRegistered(ICreativeTabRegister creativeTabRegister) {}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import net.minecraft.world.level.block.state.BlockState;

import java.util.List;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.function.Supplier;

Expand All @@ -33,8 +34,8 @@ public static void addItemsToCreateTab(ResourceKey<CreativeModeTab> tabResourceK
Services.PLATFORM.addItemToCreativeTab(tabResourceKey, item);
}

public static <T extends BlockEntity> BlockEntityType<T> createBlockEntityType(BiFunction<BlockPos, BlockState, T> creator, Block... validBlocks) {
return BlockEntityType.Builder.of(creator::apply, validBlocks).build(null);
public static <T extends BlockEntity> BlockEntityType<T> createBlockEntityType(BlockEntityType.BlockEntitySupplier<T> creator, Block... validBlocks) {
return new BlockEntityType<>(creator, Set.of(validBlocks));
}

public static <T extends AbstractContainerMenu> MenuType<T> createMenuType(BiFunction<Integer, Inventory, T> supplier) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
package com.unrealdinnerbone.trenzalore.api.registry;

import com.mojang.datafixers.util.Either;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderOwner;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import org.jetbrains.annotations.ApiStatus;

import java.util.Optional;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Stream;

public class RegistryEntry<T> implements Supplier<T> {

Expand All @@ -23,7 +16,11 @@ public RegistryEntry(String name, Supplier<T> entry) {
this.entry = entry;
}

@ApiStatus.Internal
public <B> void setHolder(Holder<B> register) {
if(holder != null) {
throw new RuntimeException("Holder already set");
}
this.holder = (Holder<T>) register;
}

Expand Down
2 changes: 1 addition & 1 deletion common/src/main/resources/trenzalore.accesswidener
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ accessible field net/minecraft/world/item/CreativeModeTabs FOOD_AND_DRINKS Lnet/
accessible field net/minecraft/world/item/CreativeModeTabs INGREDIENTS Lnet/minecraft/resources/ResourceKey;
accessible field net/minecraft/world/item/CreativeModeTabs SPAWN_EGGS Lnet/minecraft/resources/ResourceKey;
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 method net/minecraft/world/level/block/entity/BlockEntityType <init> (Lnet/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier;Ljava/util/Set;)V
accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier
accessible method net/minecraft/world/inventory/MenuType <init> (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V
accessible class net/minecraft/world/inventory/MenuType$MenuSupplier
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.unrealdinnerbone.trenzalore.platform;

import com.mojang.logging.LogUtils;
import com.unrealdinnerbone.trenzalore.api.platform.services.IPlatformHelper;
import com.unrealdinnerbone.trenzalore.api.registry.RegistryEntry;
import com.unrealdinnerbone.trenzalore.api.registry.RegistryObjects;
Expand All @@ -15,6 +16,7 @@
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import org.jetbrains.annotations.ApiStatus;
import org.slf4j.Logger;

import java.nio.file.Path;
import java.util.HashMap;
Expand All @@ -24,6 +26,8 @@

public class FabricPlatformHelper implements IPlatformHelper {

private static final Logger LOGGER = LogUtils.getLogger();

private static final Map<ResourceKey<CreativeModeTab>, Event<ItemGroupEvents.ModifyEntries>> creativeTabEvents = new HashMap<>();

@Override
Expand Down Expand Up @@ -53,12 +57,16 @@ public void addItemToCreativeTab(ResourceKey<CreativeModeTab> tabResourceKey, Li
@Override
public <T> void registryRegistryObjects(String modId, RegistryObjects<T> registryObjects) {
ResourceKey<Registry<T>> registryKey = registryObjects.registryKey();
Registry<T> registry = (Registry<T>) BuiltInRegistries.REGISTRY.get(registryKey.location());
for (RegistryEntry<? extends T> object : registryObjects.objects()) {
ResourceLocation id = RLUtils.rl(modId, object.name());
T register = Registry.register(registry, id, object.get());
object.setHolder(Holder.direct(register));
}
BuiltInRegistries.REGISTRY.get(registryKey.location()).ifPresentOrElse(registry -> {
Registry<T> theRegistry = (Registry<T>) registry;
for (RegistryEntry<? extends T> object : registryObjects.objects()) {
ResourceLocation id = RLUtils.rl(modId, object.name());
T register = Registry.register(theRegistry, id, object.get());
object.setHolder(Holder.direct(register));
}
}, () -> LOGGER.error("Failed to find registry: {}", registryKey.location()));

}


}
10 changes: 5 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Project
mod_version=6.1.1
mod_version=21.4.0
maven_group=com.unrealdinnerbone
mod_name=Trenzalore
mod_author=UnRealDinnerbone
mod_id=trenzalore
curse_id=870210

# Common
minecraft_version=1.21.1
minecraft_version=1.21.4

# Forge
#//forge_version=49.0.31

neo_version=21.1.4
neo_version=21.4.12-beta

fabric_version=0.102.0+1.21.1
fabric_loader_version=0.15.11
fabric_version=0.111.0+1.21.4
fabric_loader_version=0.16.9

# Gradle
org.gradle.jvmargs=-Xmx3G
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
import net.neoforged.neoforge.event.entity.EntityAttributeModificationEvent;

@Mod(Trenzalore.MOD_ID)
public class TrenzaloreNeo {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

public class AddItemModifier extends LootModifier {


public static final MapCodec<AddItemModifier> 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));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
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;
Expand All @@ -18,7 +17,7 @@ public class ReplaceItemModifier extends LootModifier {
private final ItemStack stack;
public static final MapCodec<ReplaceItemModifier> CODEC = RecordCodecBuilder.mapCodec(builder ->
codecStart(builder)
.and(Ingredient.CODEC_NONEMPTY.fieldOf("item")
.and(Ingredient.CODEC.fieldOf("item")
.forGetter((modifier) -> modifier.ingredient))
.and(ItemStack.CODEC.fieldOf("stack")
.forGetter((modifier) -> modifier.stack))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ public <T> void registryRegistryObjects(String modId, RegistryObjects<T> registr
Holder<T> register = deferredRegister.register(registryEntry.name(), registryEntry.entry());
registryEntry.setHolder(register);
});
IEventBus modEventBus = ModList.get().getModContainerById(modId).orElseThrow(() -> new IllegalArgumentException("Mod Not Found: " + modId)).getEventBus();
IEventBus modEventBus = ModList.get().getModContainerById(modId)
.orElseThrow(() -> new IllegalArgumentException("Mod Not Found: " + modId))
.getEventBus();
if(modEventBus == null) {
throw new IllegalArgumentException("Mod Does not have and event bus: " + modId);
}
Expand Down
2 changes: 1 addition & 1 deletion neo/src/main/resources/META-INF/accesstransformer.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public net.minecraft.world.item.CreativeModeTabs FOOD_AND_DRINKS
public net.minecraft.world.item.CreativeModeTabs INGREDIENTS
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 <init>(Lnet/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier;Ljava/util/Set;)V
public net.minecraft.world.level.block.entity.BlockEntityType$BlockEntitySupplier
public net.minecraft.world.inventory.MenuType <init>(Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V
public net.minecraft.world.inventory.MenuType$MenuSupplier

0 comments on commit 946b095

Please sign in to comment.