diff --git a/build.gradle b/build.gradle index 6baf467c..d6c924b8 100644 --- a/build.gradle +++ b/build.gradle @@ -11,16 +11,13 @@ version = project.mod_version group = project.maven_group dependencies { - //to change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. - // You may need to force-disable transitiveness on them. + modRuntime "me.shedaniel:RoughlyEnoughItems:5.6.0" + modCompileOnly "me.shedaniel:RoughlyEnoughItems-api:5.6.0" } processResources { diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index 5900be72..bbed5cab 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -34,7 +34,7 @@ public class BetterEnd implements ModInitializer { AlloyingRecipes.register(); } - public static Identifier getResId(String path) { + public static Identifier getIdentifier(String path) { return new Identifier(MOD_ID, path); } diff --git a/src/main/java/ru/betterend/blocks/entities/render/EChestBlockEntityRenderer.java b/src/main/java/ru/betterend/blocks/entities/render/EChestBlockEntityRenderer.java index f2aef4a2..4791d612 100644 --- a/src/main/java/ru/betterend/blocks/entities/render/EChestBlockEntityRenderer.java +++ b/src/main/java/ru/betterend/blocks/entities/render/EChestBlockEntityRenderer.java @@ -168,9 +168,9 @@ public class EChestBlockEntityRenderer extends BlockEntityRenderer implements RecipeBookProvider { private final static Identifier RECIPE_BUTTON_TEXTURE = new Identifier("textures/gui/recipe_button.png"); - private final static Identifier BACKGROUND_TEXTURE = BetterEnd.getResId("textures/gui/smelter_gui.png"); + private final static Identifier BACKGROUND_TEXTURE = BetterEnd.getIdentifier("textures/gui/smelter_gui.png"); public final EndStoneSmelterRecipeBookScreen recipeBook; private boolean narrow; diff --git a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java index ce837bd4..b047b6f5 100644 --- a/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java +++ b/src/main/java/ru/betterend/client/gui/EndStoneSmelterScreenHandler.java @@ -28,7 +28,7 @@ import ru.betterend.recipe.AlloyingRecipe; public class EndStoneSmelterScreenHandler extends AbstractRecipeScreenHandler { public final static ScreenHandlerType HANDLER_TYPE = ScreenHandlerRegistry.registerSimple( - BetterEnd.getResId(EndStoneSmelter.ID), EndStoneSmelterScreenHandler::new); + BetterEnd.getIdentifier(EndStoneSmelter.ID), EndStoneSmelterScreenHandler::new); private final Inventory inventory; private final PropertyDelegate propertyDelegate; diff --git a/src/main/java/ru/betterend/compat/REIAlloyingCategory.java b/src/main/java/ru/betterend/compat/REIAlloyingCategory.java new file mode 100644 index 00000000..44013036 --- /dev/null +++ b/src/main/java/ru/betterend/compat/REIAlloyingCategory.java @@ -0,0 +1,87 @@ +package ru.betterend.compat; + +import java.text.DecimalFormat; +import java.util.Collections; +import java.util.List; + +import org.jetbrains.annotations.NotNull; + +import com.google.common.collect.Lists; + +import it.unimi.dsi.fastutil.ints.IntList; + +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.EntryStack; +import me.shedaniel.rei.api.TransferRecipeCategory; +import me.shedaniel.rei.api.widgets.Widgets; +import me.shedaniel.rei.gui.entries.RecipeEntry; +import me.shedaniel.rei.gui.entries.SimpleRecipeEntry; +import me.shedaniel.rei.gui.widget.Widget; + +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.Identifier; + +import ru.betterend.registry.BlockRegistry; +import ru.betterend.util.LangUtil; + +public class REIAlloyingCategory implements TransferRecipeCategory { + + @Override + public @NotNull Identifier getIdentifier() { + return REICompat.ALLOYING; + } + + @Override + public @NotNull String getCategoryName() { + return LangUtil.translate(BlockRegistry.END_STONE_SMELTER.getTranslationKey()); + } + + @Override + public @NotNull EntryStack getLogo() { + return REICompat.END_STONE_SMELTER; + } + + @Override + public @NotNull List setupDisplay(REIAlloyingDisplay display, Rectangle bounds) { + Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); + double smeltTime = display.getSmeltTime(); + DecimalFormat df = new DecimalFormat("###.##"); + List widgets = Lists.newArrayList(); + widgets.add(Widgets.createRecipeBase(bounds)); + widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); + widgets.add(Widgets.createBurningFire(new Point(startPoint.x - 9, startPoint.y + 20)).animationDurationMS(10000)); + widgets.add(Widgets.createLabel(new Point(bounds.x + bounds.width - 5, bounds.y + 5), + new TranslatableText("category.rei.cooking.time&xp", df.format(display.getXp()), df.format(smeltTime / 20D))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)).animationDurationTicks(smeltTime)); + widgets.add(Widgets.createSlot(new Point(startPoint.x - 20, startPoint.y + 1)).entries(display.getInputEntries().get(0)).markInput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(display.getInputEntries().get(1)).markInput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)).entries(display.getResultingEntries().get(0)).disableBackground().markOutput()); + return widgets; + } + + @Override + public void renderRedSlots(MatrixStack matrices, List widgets, Rectangle bounds, REIAlloyingDisplay display, + IntList redSlots) { + Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 27); + matrices.push(); + matrices.translate(0, 0, 400); + if (redSlots.contains(0)) { + DrawableHelper.fill(matrices, startPoint.x - 20, startPoint.y + 1, startPoint.x - 20 + 16, startPoint.y + 1 + 16, 1090453504); + DrawableHelper.fill(matrices, startPoint.x + 1, startPoint.y + 1, startPoint.x + 1 + 16, startPoint.y + 1 + 16, 1090453504); + } + matrices.pop(); + } + + @Override + public @NotNull RecipeEntry getSimpleRenderer(REIAlloyingDisplay recipe) { + return SimpleRecipeEntry.from(Collections.singletonList(recipe.getInputEntries().get(0)), recipe.getResultingEntries()); + } + + @Override + public int getDisplayHeight() { + return 49; + } +} diff --git a/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java b/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java new file mode 100644 index 00000000..8a54a012 --- /dev/null +++ b/src/main/java/ru/betterend/compat/REIAlloyingDisplay.java @@ -0,0 +1,104 @@ +package ru.betterend.compat; + +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.jetbrains.annotations.NotNull; + +import me.shedaniel.rei.api.EntryStack; +import me.shedaniel.rei.api.TransferRecipeDisplay; +import me.shedaniel.rei.server.ContainerInfo; + +import net.minecraft.item.Item; +import net.minecraft.screen.ScreenHandler; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.Formatting; +import net.minecraft.util.Identifier; + +import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; +import ru.betterend.recipe.AlloyingRecipe; + +public class REIAlloyingDisplay implements TransferRecipeDisplay { + + private static List fuel; + + private AlloyingRecipe recipe; + private List> input; + private List output; + private float xp; + private double smeltTime; + + public REIAlloyingDisplay(AlloyingRecipe recipe) { + this.recipe = recipe; + this.input = EntryStack.ofIngredients(recipe.getPreviewInputs()); + this.output = Collections.singletonList(EntryStack.create(recipe.getOutput())); + this.xp = recipe.getExperience(); + this.smeltTime = recipe.getSmeltTime(); + } + + public static List getFuel() { + return fuel; + } + + @Override + public @NotNull Optional getRecipeLocation() { + return Optional.ofNullable(recipe).map(AlloyingRecipe::getId); + } + + @Override + public @NotNull List> getInputEntries() { + return this.input; + } + + @Override + public @NotNull List> getResultingEntries() { + return Collections.singletonList(output); + } + + @Override + public @NotNull Identifier getRecipeCategory() { + return REICompat.ALLOYING; + } + + @Override + public @NotNull List> getRequiredEntries() { + return this.input; + } + + public float getXp() { + return this.xp; + } + + public double getSmeltTime() { + return this.smeltTime; + } + + public Optional getOptionalRecipe() { + return Optional.ofNullable(recipe); + } + + @Override + public int getWidth() { + return 2; + } + + @Override + public int getHeight() { + return 1; + } + + @Override + public List> getOrganisedInputEntries(ContainerInfo containerInfo, + ScreenHandler container) { + return input; + } + + static { + fuel = EndStoneSmelterBlockEntity.availableFuels().keySet().stream() + .map(Item::getStackForRender).map(EntryStack::create) + .map(e -> e.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.smelting.fuel") + .formatted(Formatting.YELLOW)))).collect(Collectors.toList()); + } +} diff --git a/src/main/java/ru/betterend/compat/REICompat.java b/src/main/java/ru/betterend/compat/REICompat.java new file mode 100644 index 00000000..ec2c9f92 --- /dev/null +++ b/src/main/java/ru/betterend/compat/REICompat.java @@ -0,0 +1,42 @@ +package ru.betterend.compat; + +import me.shedaniel.rei.api.EntryStack; +import me.shedaniel.rei.api.RecipeHelper; +import me.shedaniel.rei.api.plugins.REIPluginV0; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +import net.minecraft.util.Identifier; + +import ru.betterend.BetterEnd; +import ru.betterend.recipe.AlloyingRecipe; +import ru.betterend.registry.BlockRegistry; + +@Environment(EnvType.CLIENT) +public class REICompat implements REIPluginV0 { + + public final static Identifier PLUGIN_ID = BetterEnd.getIdentifier("rei_plugin"); + public final static Identifier ALLOYING = BetterEnd.getIdentifier("alloying"); + public final static EntryStack END_STONE_SMELTER = EntryStack.create(BlockRegistry.END_STONE_SMELTER); + + @Override + public Identifier getPluginIdentifier() { + return PLUGIN_ID; + } + + @Override + public void registerRecipeDisplays(RecipeHelper recipeHelper) { + recipeHelper.registerRecipes(ALLOYING, AlloyingRecipe.class, REIAlloyingDisplay::new); + } + + @Override + public void registerOthers(RecipeHelper recipeHelper) { + recipeHelper.registerWorkingStations(ALLOYING, END_STONE_SMELTER); + } + + @Override + public void registerPluginCategories(RecipeHelper recipeHelper) { + recipeHelper.registerCategory(new REIAlloyingCategory()); + } +} diff --git a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java index 8a81b009..e5cb8c5d 100644 --- a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java @@ -33,10 +33,10 @@ import ru.betterend.util.MHelper; @Mixin(WorldRenderer.class) public class WorldRendererMixin { - private static final Identifier NEBULA_1 = BetterEnd.getResId("textures/sky/nebula_2.png"); - private static final Identifier NEBULA_2 = BetterEnd.getResId("textures/sky/nebula_3.png"); - private static final Identifier HORIZON = BetterEnd.getResId("textures/sky/nebula_1.png"); - private static final Identifier FOG = BetterEnd.getResId("textures/sky/fog.png"); + private static final Identifier NEBULA_1 = BetterEnd.getIdentifier("textures/sky/nebula_2.png"); + private static final Identifier NEBULA_2 = BetterEnd.getIdentifier("textures/sky/nebula_3.png"); + private static final Identifier HORIZON = BetterEnd.getIdentifier("textures/sky/nebula_1.png"); + private static final Identifier FOG = BetterEnd.getIdentifier("textures/sky/fog.png"); private static VertexBuffer stars1; private static VertexBuffer stars2; diff --git a/src/main/java/ru/betterend/recipe/AlloyingRecipe.java b/src/main/java/ru/betterend/recipe/AlloyingRecipe.java index f92d5aac..3acbb1df 100644 --- a/src/main/java/ru/betterend/recipe/AlloyingRecipe.java +++ b/src/main/java/ru/betterend/recipe/AlloyingRecipe.java @@ -118,7 +118,7 @@ public class AlloyingRecipe implements Recipe { private final static Builder INSTANCE = new Builder(); public static Builder create(String id) { - INSTANCE.id = BetterEnd.getResId(id); + INSTANCE.id = BetterEnd.getIdentifier(id); INSTANCE.group = String.format("%s_%s", GROUP, id); INSTANCE.primaryInput = null; INSTANCE.secondaryInput = null; diff --git a/src/main/java/ru/betterend/recipe/EndRecipeManager.java b/src/main/java/ru/betterend/recipe/EndRecipeManager.java index 680510e3..8dbc77e6 100644 --- a/src/main/java/ru/betterend/recipe/EndRecipeManager.java +++ b/src/main/java/ru/betterend/recipe/EndRecipeManager.java @@ -65,7 +65,7 @@ public class EndRecipeManager { } public static > RecipeType registerType(String type) { - Identifier recipeTypeId = BetterEnd.getResId(type); + Identifier recipeTypeId = BetterEnd.getIdentifier(type); return Registry.register(Registry.RECIPE_TYPE, recipeTypeId, new RecipeType() { public String toString() { return type; diff --git a/src/main/java/ru/betterend/recipe/RecipeBuilder.java b/src/main/java/ru/betterend/recipe/RecipeBuilder.java index 19398485..fe2e70e1 100644 --- a/src/main/java/ru/betterend/recipe/RecipeBuilder.java +++ b/src/main/java/ru/betterend/recipe/RecipeBuilder.java @@ -97,7 +97,7 @@ public class RecipeBuilder { int height = shape.length; int width = shape[0].length(); ItemStack result = new ItemStack(output, count); - Identifier id = BetterEnd.getResId(name); + Identifier id = BetterEnd.getIdentifier(name); DefaultedList materials = this.getMaterials(width, height); CraftingRecipe recipe = shaped ? new ShapedRecipe(id, group, width, height, materials, result) : new ShapelessRecipe(id, group, result, materials); diff --git a/src/main/java/ru/betterend/registry/BlockEntityRegistry.java b/src/main/java/ru/betterend/registry/BlockEntityRegistry.java index 3eb75d17..b5f1684c 100644 --- a/src/main/java/ru/betterend/registry/BlockEntityRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockEntityRegistry.java @@ -30,7 +30,7 @@ public class BlockEntityRegistry { BlockEntityType.Builder.create(ESignBlockEntity::new, getSigns())); public static BlockEntityType registerBlockEntity(String id, BlockEntityType.Builder builder) { - return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.getResId(id), builder.build(null)); + return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.getIdentifier(id), builder.build(null)); } public static void register() {} diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index 0824f394..d5a51e63 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -55,12 +55,12 @@ public class BlockRegistry { public static void register() {} public static Block registerBlock(String name, Block block) { - Registry.register(Registry.BLOCK, BetterEnd.getResId(name), block); + Registry.register(Registry.BLOCK, BetterEnd.getIdentifier(name), block); ItemRegistry.registerItem(name, new BlockItem(block, new Item.Settings().group(CreativeTab.END_TAB))); return block; } public static Block registerBlockNI(String name, Block block) { - return Registry.register(Registry.BLOCK, BetterEnd.getResId(name), block); + return Registry.register(Registry.BLOCK, BetterEnd.getIdentifier(name), block); } } diff --git a/src/main/java/ru/betterend/registry/BlockTagRegistry.java b/src/main/java/ru/betterend/registry/BlockTagRegistry.java index a82cac0e..7a8ecbd6 100644 --- a/src/main/java/ru/betterend/registry/BlockTagRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockTagRegistry.java @@ -11,7 +11,7 @@ public class BlockTagRegistry { public static final Tag.Identified END_GROUND = makeTag("end_ground"); private static Tag.Identified makeTag(String name) { - return (Identified) TagRegistry.block(BetterEnd.getResId(name)); + return (Identified) TagRegistry.block(BetterEnd.getIdentifier(name)); } public static void register() { diff --git a/src/main/java/ru/betterend/registry/ItemRegistry.java b/src/main/java/ru/betterend/registry/ItemRegistry.java index 0e39096e..60a41da6 100644 --- a/src/main/java/ru/betterend/registry/ItemRegistry.java +++ b/src/main/java/ru/betterend/registry/ItemRegistry.java @@ -55,7 +55,7 @@ public class ItemRegistry { protected static Item registerItem(String name, Item item) { if (item != Items.AIR) { - Registry.register(Registry.ITEM, BetterEnd.getResId(name), item); + Registry.register(Registry.ITEM, BetterEnd.getIdentifier(name), item); if (item instanceof BlockItem) MOD_BLOCKS.add(item); else @@ -66,7 +66,7 @@ public class ItemRegistry { protected static ToolItem registerTool(String name, ToolItem item) { if (item != Items.AIR) { - Registry.register(Registry.ITEM, BetterEnd.getResId(name), item); + Registry.register(Registry.ITEM, BetterEnd.getIdentifier(name), item); MOD_ITEMS.add(item); } return item; diff --git a/src/main/java/ru/betterend/registry/ParticleRegistry.java b/src/main/java/ru/betterend/registry/ParticleRegistry.java index 51fe85b5..4a3b2095 100644 --- a/src/main/java/ru/betterend/registry/ParticleRegistry.java +++ b/src/main/java/ru/betterend/registry/ParticleRegistry.java @@ -15,6 +15,6 @@ public class ParticleRegistry { } private static DefaultParticleType register(String name) { - return Registry.register(Registry.PARTICLE_TYPE, BetterEnd.getResId(name), FabricParticleTypes.simple()); + return Registry.register(Registry.PARTICLE_TYPE, BetterEnd.getIdentifier(name), FabricParticleTypes.simple()); } } diff --git a/src/main/java/ru/betterend/tab/CreativeTab.java b/src/main/java/ru/betterend/tab/CreativeTab.java index 88b206d8..e0a2fd90 100644 --- a/src/main/java/ru/betterend/tab/CreativeTab.java +++ b/src/main/java/ru/betterend/tab/CreativeTab.java @@ -9,7 +9,7 @@ import ru.betterend.registry.BlockRegistry; import ru.betterend.registry.ItemRegistry; public class CreativeTab { - public static final ItemGroup END_TAB = FabricItemGroupBuilder.create(BetterEnd.getResId("items")) + public static final ItemGroup END_TAB = FabricItemGroupBuilder.create(BetterEnd.getIdentifier("items")) .icon(() -> new ItemStack(BlockRegistry.END_MYCELIUM)).appendItems(stacks -> { for (Item i : ItemRegistry.getModBlocks()) { stacks.add(new ItemStack(i)); diff --git a/src/main/java/ru/betterend/util/LangUtil.java b/src/main/java/ru/betterend/util/LangUtil.java index f2a16ed9..cc7826a4 100644 --- a/src/main/java/ru/betterend/util/LangUtil.java +++ b/src/main/java/ru/betterend/util/LangUtil.java @@ -2,11 +2,8 @@ package ru.betterend.util; import net.minecraft.client.resource.language.I18n; import net.minecraft.text.TranslatableText; -import ru.betterend.BetterEnd; public class LangUtil { - private final static String MODID = BetterEnd.MOD_ID; - public final static String CONFIG_ELEMENT = "configuration"; private String element; @@ -27,8 +24,12 @@ public class LangUtil { return getText(element, key); } + public static String translate(String key) { + return I18n.translate(key); + } + public static String getString(String element, String key) { - return I18n.translate(String.format("%s.%s.%s", MODID, element, key)); + return translate(String.format("%s.%s", element, key)); } public static TranslatableText getText(String element, String key) { diff --git a/src/main/java/ru/betterend/world/biome/BiomeDefinition.java b/src/main/java/ru/betterend/world/biome/BiomeDefinition.java index 96841fea..a8a87bee 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeDefinition.java +++ b/src/main/java/ru/betterend/world/biome/BiomeDefinition.java @@ -57,7 +57,7 @@ public class BiomeDefinition { private ConfiguredSurfaceBuilder surface; public BiomeDefinition(String name) { - this.id = BetterEnd.getResId(name); + this.id = BetterEnd.getIdentifier(name); } public BiomeDefinition setSurface(Block surfaceBlock) { diff --git a/src/main/java/ru/betterend/world/features/EndFeature.java b/src/main/java/ru/betterend/world/features/EndFeature.java index 21d0b3d6..209e5199 100644 --- a/src/main/java/ru/betterend/world/features/EndFeature.java +++ b/src/main/java/ru/betterend/world/features/EndFeature.java @@ -26,21 +26,21 @@ public class EndFeature { private EndFeature() {} public EndFeature(String name, Feature feature, GenerationStep.Feature featureStep, ConfiguredFeature configuredFeature) { - Identifier id = BetterEnd.getResId(name); + Identifier id = BetterEnd.getIdentifier(name); this.featureStep = featureStep; this.feature = Registry.register(Registry.FEATURE, id, feature); this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, configuredFeature); } public EndFeature(String name, Feature feature) { - Identifier id = BetterEnd.getResId(name); + Identifier id = BetterEnd.getIdentifier(name); this.featureStep = GenerationStep.Feature.VEGETAL_DECORATION; this.feature = Registry.register(Registry.FEATURE, id, feature); this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(Decorator.CHANCE.configure(new ChanceDecoratorConfig(100)))); } public EndFeature(String name, Feature feature, int density) { - Identifier id = BetterEnd.getResId(name); + Identifier id = BetterEnd.getIdentifier(name); this.featureStep = GenerationStep.Feature.VEGETAL_DECORATION; this.feature = Registry.register(Registry.FEATURE, id, feature); this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).repeatRandomly(density)); @@ -67,7 +67,7 @@ public class EndFeature { .repeat(veins); newFeature.feature = Feature.ORE; newFeature.featureStep = GenerationStep.Feature.UNDERGROUND_ORES; - newFeature.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, BetterEnd.getResId(name), oreFeature); + newFeature.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, BetterEnd.getIdentifier(name), oreFeature); return newFeature; } diff --git a/src/main/java/ru/betterend/world/generator/BetterEndBiomeSource.java b/src/main/java/ru/betterend/world/generator/BetterEndBiomeSource.java index df94483f..5ca0fdfc 100644 --- a/src/main/java/ru/betterend/world/generator/BetterEndBiomeSource.java +++ b/src/main/java/ru/betterend/world/generator/BetterEndBiomeSource.java @@ -75,6 +75,6 @@ public class BetterEndBiomeSource extends BiomeSource { } public static void register() { - Registry.register(Registry.BIOME_SOURCE, BetterEnd.getResId("better_end_biome_source"), CODEC); + Registry.register(Registry.BIOME_SOURCE, BetterEnd.getIdentifier("better_end_biome_source"), CODEC); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bfa65aae..daff9fc3 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,7 +24,10 @@ ], "client": [ "ru.betterend.client.BetterEndClient" - ] + ], + "rei_plugins": [ + "ru.betterend.compat.REICompat" + ] }, "mixins": [ "betterend.mixins.common.json",