-
Posts
38 -
Joined
-
Last visited
-
Days Won
1
Everything posted by DroidCrafter23
-
I have followed a tutorial on how to generate ores for my mod though the data files have not been generated despite me running data in my IDE. I have looked over and compared my code multiple times and the only differences are either with the IDs or with unnecessary code because of what my mod is (The mod is for the End so I don't need the Overworld or Nether ores), my folders are all in the right structure and no warnings are present when ran. I have been trying to figure this out for a few days now so help would be much appreciated. The tutorial I was following. My code - public class ModBiomeModifiers { public static final ResourceKey<BiomeModifier> ADD_GAZITE_ORE = registerKey("add_gazite_ore"); public static final ResourceKey<BiomeModifier> TRANSCENDINE_GAZITE_ORE = registerKey("add_transcendine_ore"); public static void bootstrap(BootstrapContext<BiomeModifier> context) { var placedFeature = context.lookup(Registries.PLACED_FEATURE); var biomes = context.lookup(Registries.BIOME); context.register(ADD_GAZITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_END), HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.GAZITE_ORE_PLACED_KEY)), GenerationStep.Decoration.UNDERGROUND_ORES)); context.register(TRANSCENDINE_GAZITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_END), HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.TRANSCENDINE_ORE_PLACED_KEY)), GenerationStep.Decoration.UNDERGROUND_ORES)); } private static ResourceKey<BiomeModifier> registerKey(String name) { return ResourceKey.create(ForgeRegistries.Keys.BIOME_MODIFIERS, ResourceLocation.fromNamespaceAndPath(EchoingEnd.MOD_ID, name)); } } The tutorial's code - public class ModBiomeModifiers { public static final ResourceKey<BiomeModifier> ADD_ALEXANDRITE_ORE = registerKey("add_alexandrite_ore"); public static final ResourceKey<BiomeModifier> ADD_NETHER_ALEXANDRITE_ORE = registerKey("add_nether_alexandrite_ore"); public static final ResourceKey<BiomeModifier> ADD_END_ALEXANDRITE_ORE = registerKey("add_end_alexandrite_ore"); public static void bootstrap(BootstrapContext<BiomeModifier> context) { var placedFeature = context.lookup(Registries.PLACED_FEATURE); var biomes = context.lookup(Registries.BIOME); context.register(ADD_ALEXANDRITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_OVERWORLD), HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.ALEXANDRITE_ORE_PLACED_KEY)), GenerationStep.Decoration.UNDERGROUND_ORES)); // Individual Biomes // context.register(ADD_ALEXANDRITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( // HolderSet.direct(biomes.getOrThrow(Biomes.PLAINS), biomes.getOrThrow(Biomes.BAMBOO_JUNGLE)), // HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.ALEXANDRITE_ORE_PLACED_KEY)), // GenerationStep.Decoration.UNDERGROUND_ORES)); context.register(ADD_NETHER_ALEXANDRITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_NETHER), HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.NETHER_ALEXANDRITE_ORE_PLACED_KEY)), GenerationStep.Decoration.UNDERGROUND_ORES)); context.register(ADD_END_ALEXANDRITE_ORE, new ForgeBiomeModifiers.AddFeaturesBiomeModifier( biomes.getOrThrow(BiomeTags.IS_END), HolderSet.direct(placedFeature.getOrThrow(ModPlacedFeatures.END_ALEXANDRITE_ORE_PLACED_KEY)), GenerationStep.Decoration.UNDERGROUND_ORES)); } private static ResourceKey<BiomeModifier> registerKey(String name) { return ResourceKey.create(ForgeRegistries.Keys.BIOME_MODIFIERS, ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name)); } } ModConfiguredFeatures: My code - public class ModConfiguredFeatures { public static final ResourceKey<ConfiguredFeature<?, ?>> GAZITE_ORE_KEY = registerKey("gazite_ore"); public static final ResourceKey<ConfiguredFeature<?, ?>> TRANSCENDINE_ORE_KEY = registerKey("transcendine_ore"); public static void bootstrap(BootstrapContext<ConfiguredFeature<?, ?>> context) { RuleTest endReplaceables = new BlockMatchTest(Blocks.END_STONE); register(context, GAZITE_ORE_KEY, Feature.ORE, new OreConfiguration(endReplaceables, ModBlocks.GAZITE_ORE.get().defaultBlockState(), 4)); register(context, TRANSCENDINE_ORE_KEY, Feature.ORE, new OreConfiguration(endReplaceables, ModBlocks.TRANSCENDINE_ORE.get().defaultBlockState(), 8)); List<OreConfiguration.TargetBlockState> EndOres = List.of( OreConfiguration.target(endReplaceables, ModBlocks.GAZITE_ORE.get().defaultBlockState()), OreConfiguration.target(endReplaceables, ModBlocks.TRANSCENDINE_ORE.get().defaultBlockState())); } public static ResourceKey<ConfiguredFeature<?, ?>> registerKey(String name) { return ResourceKey.create(Registries.CONFIGURED_FEATURE, ResourceLocation.fromNamespaceAndPath(EchoingEnd.MOD_ID, name)); } private static <FC extends FeatureConfiguration, F extends Feature<FC>> void register(BootstrapContext<ConfiguredFeature<?, ?>> context, ResourceKey<ConfiguredFeature<?, ?>> key, F feature, FC configuration) { context.register(key, new ConfiguredFeature<>(feature, configuration)); } } The tutorial's code - public class ModConfiguredFeatures { public static final ResourceKey<ConfiguredFeature<?, ?>> OVERWORLD_ALEXANDRITE_ORE_KEY = registerKey("alexandrite_ore"); public static final ResourceKey<ConfiguredFeature<?, ?>> NETHER_ALEXANDRITE_ORE_KEY = registerKey("nether_alexandrite_ore"); public static final ResourceKey<ConfiguredFeature<?, ?>> END_ALEXANDRITE_ORE_KEY = registerKey("end_alexandrite_ore"); public static void bootstrap(BootstrapContext<ConfiguredFeature<?, ?>> context) { RuleTest stoneReplaceables = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); RuleTest deepslateReplaceables = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); RuleTest netherrackReplaceables = new BlockMatchTest(Blocks.NETHERRACK); RuleTest endReplaceables = new BlockMatchTest(Blocks.END_STONE); List<OreConfiguration.TargetBlockState> overworldAlexandriteOres = List.of( OreConfiguration.target(stoneReplaceables, ModBlocks.ALEXANDRITE_ORE.get().defaultBlockState()), OreConfiguration.target(deepslateReplaceables, ModBlocks.ALEXANDRITE_DEEPSLATE_ORE.get().defaultBlockState())); register(context, OVERWORLD_ALEXANDRITE_ORE_KEY, Feature.ORE, new OreConfiguration(overworldAlexandriteOres, 9)); register(context, NETHER_ALEXANDRITE_ORE_KEY, Feature.ORE, new OreConfiguration(netherrackReplaceables, ModBlocks.ALEXANDRITE_NETHER_ORE.get().defaultBlockState(), 9)); register(context, END_ALEXANDRITE_ORE_KEY, Feature.ORE, new OreConfiguration(endReplaceables, ModBlocks.ALEXANDRITE_END_ORE.get().defaultBlockState(), 9)); } public static ResourceKey<ConfiguredFeature<?, ?>> registerKey(String name) { return ResourceKey.create(Registries.CONFIGURED_FEATURE, ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name)); } private static <FC extends FeatureConfiguration, F extends Feature<FC>> void register(BootstrapContext<ConfiguredFeature<?, ?>> context, ResourceKey<ConfiguredFeature<?, ?>> key, F feature, FC configuration) { context.register(key, new ConfiguredFeature<>(feature, configuration)); } } ModPlacedFeatures: My code - public class ModPlacedFeatures { public static final ResourceKey<PlacedFeature> GAZITE_ORE_PLACED_KEY = registerKey("gazite_ore_placed"); public static final ResourceKey<PlacedFeature> TRANSCENDINE_ORE_PLACED_KEY = registerKey("transcendine_ore_placed"); public static void bootstrap(BootstrapContext<PlacedFeature> context) { var configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE); register(context, GAZITE_ORE_PLACED_KEY, configuredFeatures.getOrThrow(ModConfiguredFeatures.GAZITE_ORE_KEY), ModOrePlacement.commonOrePlacement(9, HeightRangePlacement.uniform(VerticalAnchor.absolute(-64), VerticalAnchor.absolute(71)))); register(context, TRANSCENDINE_ORE_PLACED_KEY, configuredFeatures.getOrThrow(ModConfiguredFeatures.GAZITE_ORE_KEY), ModOrePlacement.rareOrePlacement(6, HeightRangePlacement.uniform(VerticalAnchor.absolute(-32), VerticalAnchor.absolute(71)))); } private static ResourceKey<PlacedFeature> registerKey(String name) { return ResourceKey.create(Registries.PLACED_FEATURE, ResourceLocation.fromNamespaceAndPath(EchoingEnd.MOD_ID, name)); } private static void register(BootstrapContext<PlacedFeature> context, ResourceKey<PlacedFeature> key, Holder<ConfiguredFeature<?, ?>> configuration, List<PlacementModifier> modifiers) { context.register(key, new PlacedFeature(configuration, List.copyOf(modifiers))); } } the tutorial's code - public class ModPlacedFeatures { public static final ResourceKey<PlacedFeature> ALEXANDRITE_ORE_PLACED_KEY = registerKey("alexandrite_ore_placed"); public static final ResourceKey<PlacedFeature> NETHER_ALEXANDRITE_ORE_PLACED_KEY = registerKey("nether_alexandrite_ore_placed"); public static final ResourceKey<PlacedFeature> END_ALEXANDRITE_ORE_PLACED_KEY = registerKey("end_alexandrite_ore_placed"); public static void bootstrap(BootstrapContext<PlacedFeature> context) { var configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE); register(context, ALEXANDRITE_ORE_PLACED_KEY, configuredFeatures.getOrThrow(ModConfiguredFeatures.OVERWORLD_ALEXANDRITE_ORE_KEY), ModOrePlacement.commonOrePlacement(12, HeightRangePlacement.uniform(VerticalAnchor.absolute(-64), VerticalAnchor.absolute(80)))); register(context, NETHER_ALEXANDRITE_ORE_PLACED_KEY, configuredFeatures.getOrThrow(ModConfiguredFeatures.NETHER_ALEXANDRITE_ORE_KEY), ModOrePlacement.commonOrePlacement(12, HeightRangePlacement.uniform(VerticalAnchor.absolute(-64), VerticalAnchor.absolute(80)))); register(context, END_ALEXANDRITE_ORE_PLACED_KEY, configuredFeatures.getOrThrow(ModConfiguredFeatures.END_ALEXANDRITE_ORE_KEY), ModOrePlacement.commonOrePlacement(12, HeightRangePlacement.uniform(VerticalAnchor.absolute(-64), VerticalAnchor.absolute(80)))); } private static ResourceKey<PlacedFeature> registerKey(String name) { return ResourceKey.create(Registries.PLACED_FEATURE, ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name)); } private static void register(BootstrapContext<PlacedFeature> context, ResourceKey<PlacedFeature> key, Holder<ConfiguredFeature<?, ?>> configuration, List<PlacementModifier> modifiers) { context.register(key, new PlacedFeature(configuration, List.copyOf(modifiers))); } } ModOrePlacement: My code - public class ModOrePlacement { public static List<PlacementModifier> orePlacement(PlacementModifier pCountPlacement, PlacementModifier pHeightRange) { return List.of(pCountPlacement, InSquarePlacement.spread(), pHeightRange, BiomeFilter.biome()); } public static List<PlacementModifier> commonOrePlacement(int pCount, PlacementModifier pHeightRange) { return orePlacement(CountPlacement.of(pCount), pHeightRange); } public static List<PlacementModifier> rareOrePlacement(int pChance, PlacementModifier pHeightRange) { return orePlacement(RarityFilter.onAverageOnceEvery(pChance), pHeightRange); } } The tutorial's code - public class ModOrePlacement { public static List<PlacementModifier> orePlacement(PlacementModifier pCountPlacement, PlacementModifier pHeightRange) { return List.of(pCountPlacement, InSquarePlacement.spread(), pHeightRange, BiomeFilter.biome()); } public static List<PlacementModifier> commonOrePlacement(int pCount, PlacementModifier pHeightRange) { return orePlacement(CountPlacement.of(pCount), pHeightRange); } public static List<PlacementModifier> rareOrePlacement(int pChance, PlacementModifier pHeightRange) { return orePlacement(RarityFilter.onAverageOnceEvery(pChance), pHeightRange); } }
-
Okay, thank you so much for your help. I will try out your first idea over the coming days; the second one will probably take a while to complete, even more so due to the fact I'm inexperienced with modding, though your idea for it seems plausible. I will post updates here as I go along, including issues, to both keep track of progress and to get help for it. Your contributions are much appreciated.
-
I am wanting to give the armour in my mod special properties, but I have no idea how to do so. For the first armour set I want it to be the case that when the full set is worn it has the properties of a carved pumpkin, making it so you won't aggravate endermen when you look at them. The second, and presumably harder property is that for the second set I would like it to be the case that when the full set is worn, you can walk over the void without falling. (I was considering using the levitation to accomplish this but I wanted to check beforehand). Would both of these specialities be achievable for each armour set and how exactly would they both be done? Help would be much appreciated.
-
recipes Recipes not working as intended (1.21)
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
This problem has now been resolved. No action is needed towards it. -
I have been working on recipes for my mod and have come across two errors. ERROR ONE: [19:38:01] [Render thread/ERROR] [minecraft/RecipeManager]: Parsing error loading recipe echoingend:gazite_block com.google.gson.JsonParseException: Map entry 'A' : Failed to parse either. First: Input does not contain a key [type]: MapLike[{"item":"echoingend:gazite"}]; Second: Failed to parse either. First: Not a json array: {"item":"echoingend:gazite"}; Second: No key tag in MapLike[{"item":"echoingend:gazite"}]; Unknown registry key in ResourceKey[minecraft:root / minecraft:item]: echoingend:gazite LINKED CODE: { "type": "minecraft:crafting_shaped", "category": "misc", "key": { "A": { "item": "echoingend:gazite" } }, "pattern": [ "AAA", "AAA", "AAA" ], "result": { "count": 1, "id": "echoingend:gazite_block" } } ERROR TWO: [19:38:01] [Render thread/ERROR] [minecraft/RecipeManager]: Parsing error loading recipe echoingend:gazite com.google.gson.JsonParseException: Unknown registry key in ResourceKey[minecraft:root / minecraft:item]: echoingend:gazite LINKED CODE: { "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ { "item": "echoingend:gazite_block" } ], "result": { "count": 9, "id": "echoingend:gazite" } } The tutorial I was following. The GitHub Repository from the tutorial. My file structure is: data/[MOD ID]/recipe/[ITEM/BLOCK], as it is in the tutorial.
-
I am setting up a modded server using Aternos and I have gotten this error: [06Oct2024 18:53:53.588] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER I removed JEI from the server to see if that would fix anything. All I know is that Minecolonies is the main problem, I have seen similar errors though I still am unsure. I am not wanting to remove Minecolonies as it will be a major part of the server I am setting up. FULL LOG: [06Oct2024 18:53:37.486] [main/INFO] [Arclight/]: ___ ___ __ /\ / | ________/ (_)__ / / / / / /| |/ __/ __/ / / _ / _ \/__/ / ___ / / / /_/ / / / / // / / /_/ |/_/ \__/_/_/\_ /_//_/ / /__/ \/ Version 顿顽 (Trials) / arclight-1.20.1-1.0.6-SNAPSHOT-b2cde4a Build Date 2024-08-11 16:15:13 [06Oct2024 18:53:37.535] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, arclightserver, --fml.forgeVersion, 47.2.20, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, nogui] [06Oct2024 18:53:37.537] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.12 by Eclipse Adoptium; OS Linux arch amd64 version 5.15.0-112-generic [06Oct2024 18:53:39.238] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is arclightserver [06Oct2024 18:53:39.272] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/server/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2399!/ Service=ModLauncher Env=SERVER [06Oct2024 18:53:40.002] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/fmlcore/1.20.1-47.2.20/fmlcore-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.002] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/javafmllanguage/1.20.1-47.2.20/javafmllanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.003] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/lowcodelanguage/1.20.1-47.2.20/lowcodelanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.003] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/mclanguage/1.20.1-47.2.20/mclanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.502] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: aeroblender. Using Mod File: /server/mods/aeroblender-1.20.1-1.0.1-neoforge.jar [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: expandability. Using Mod File: /server/mods/expandability-9.0.4.jar [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: curios. Using Mod File: /server/mods/curios-forge-5.10.0+1.20.1.jar [06Oct2024 18:53:40.504] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 15 dependencies adding them to mods collection [06Oct2024 18:53:48.289] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [06Oct2024 18:53:49.330] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [io.izzel.arclight.common.mod.ArclightConnector] [06Oct2024 18:53:49.359] [main/INFO] [Arclight/]: Arclight core mixin added. [06Oct2024 18:53:49.362] [main/INFO] [Arclight/]: Arclight optimization mixin added. [06Oct2024 18:53:49.367] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'arclightserver' with arguments [nogui] [06Oct2024 18:53:49.491] [main/INFO] [ModernFix/]: Loaded configuration file for ModernFix 5.19.4+mc1.20.1: 84 options available, 0 override(s) found [06Oct2024 18:53:49.492] [main/INFO] [ModernFix/]: Applying Nashorn fix [06Oct2024 18:53:49.544] [main/INFO] [ModernFix/]: Applied Forge config corruption patch [06Oct2024 18:53:49.646] [main/WARN] [mixin/]: Reference map 'expanded_ecosphere-forge-refmap.json' for wwoo.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.669] [main/WARN] [mixin/]: Reference map 'nitrogen_internals.refmap.json' for nitrogen_internals.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.845] [main/WARN] [mixin/]: Reference map 'AxesAreWeapons-forge-refmap.json' for axesareweapons.forge.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.957] [main/INFO] [Puzzles Lib/]: Loading 209 mods: - additionalbanners 14.0.4 - additionalstructures 4.2.2 - aeroblender 1.20.1-1.0.1-neoforge - aether 0.0NONE |-- cumulus_menus 0.0NONE |-- mixinextras 0.2.0-beta.9 \-- nitrogen_internals 0.0NONE - aether_protect_your_moa 1.20.1-1.0.0-neoforge - aether_villages 1.0.7 - aethersdelight 0.1.1-1.20.1 - alexsdelight 1.5 - alexsmobs 1.22.9 - amendments 1.20-1.2.11 - appleskin 2.5.1+mc1.20.1 - aquamirae 6.API15 - architectury 9.2.14 - arclight 1.20.1-1.0.6-SNAPSHOT-b2cde4a - armorstatues 8.0.6 |-- puzzlesaccessapi 8.0.7 \-- puzzlesapi 8.1.4 - artifacts 9.5.13 - axesareweapons 1.7.3 - backported_wolves 1.0.3-1.20.1 - bagus_lib 1.20.1-5.3.0 - balm 7.3.9 \-- kuma_api 20.1.8 - beekeeperhut 2.0.1 - bettercombat 1.8.6+1.20.1 - betterdeserttemples 1.20-Forge-3.0.3 - betterdungeons 1.20-Forge-4.0.4 - betterendisland 1.20-Forge-2.0.6 - betterfortresses 1.20-Forge-2.0.6 - betterjungletemples 1.20-Forge-2.0.5 - bettermineshafts 1.20-Forge-4.0.4 - betteroceanmonuments 1.20-Forge-3.0.4 - betterstrongholds 1.20-Forge-4.0.3 - bettertridents 8.0.1 - betterwitchhuts 1.20-Forge-3.0.3 - betterwithminecolonies 1.20-1.19.19 - bfendcities 1.0 - biome_backlog 1.3.0 - blockrunner 8.0.4 - blockui 1.20.1-1.0.186-beta - blueprint 7.1.0 - boatload 5.0.1 - bookshelf 20.2.13 - born_in_chaos_v1 1.0.0 - brutalbosses 1.20.1-7.1 - buzzier_bees 6.0.0 - bygonenether 1.3.2 - caelus 3.2.0+1.20.1 - cataclysm 2.05 - cataclysmiccombat 1.3.5 - caveore 1.20.1-3.7 - cavesanddepths 1.2.7 - charmofundying 6.5.0+1.20.1 \-- spectrelib 0.13.15+1.20.1 - charms 2.0.1-1.20.1 - chefsdelight 1.0.3-forge-1.20.1 - citadel 2.6.0 - clayworks 3.0.1 - cloth_config 11.1.136 - clumps 12.0.0.4 - cobweb 1.0.0 - collective 7.84 - comforts 6.4.0+1.20.1 - connectivity 1.20.1-5.6 - corgilib 4.0.3.2 - cosmeticarmorreworked 1.20.1-v1a - cristellib 1.1.5 - crittersandcompanions 1.20.1-2.1.7 - ctov 3.4.9b - cupboard 1.20.1-2.7 - curios 5.10.0+1.20.1 - curiosquarkobp 1.2.5 - curious_armor_stands 1.20-5.1.0 - curiouslanterns 1.20.1-1.3.3 - deep_aether 1.20.1-1.0.4 - deeperdarker 1.3.2 - domum_ornamentum 1.20.1-1.0.282-snapshot - dragonfight 1.20.1-4.6 - dragonmounts 1.2.3-beta - dynamiclights 1.20.1.2 - earthmobsmod 1.20.1-10.5.0 - easyanvils 8.0.2 - echochest 8.0.0 - elytraslot 6.4.4+1.20.1 \-- mixinsquared 0.1.2-beta.6 - enchantwithmob 1.20.1-11.13.1 - endrem 5.3.3-R-1.20.1 - ends_delight 2.4 - everycomp 1.20-2.6.80 - expandability 9.0.4 - expanded_ecosphere 3.2.4 - explorify 1.6.2 - farmersdelight 1.20.1-1.2.4 - ferritecore 6.0.1 - flowerymooblooms 2.0.2 - followersteleporttoo 2.6 - forge 47.2.20 - formations 1.0.2+a - formationsnether 1.0.5 - formationsoverworld 1.0.4 - friendsandfoes 3.0.3 - geckolib 4.4.9 - geode_plus 1.2.5 - guardvillagers 1.20.1-1.6.7 - hoporp 1.3.7 - hopour 1.1.4 - horsecombatcontrols 1.20.1-1.0.2 - hunters_return 1.20.1-11.5.0 - iceandfire 1.19.2-2.1.13+build.beta-2 - illagerinvasion 8.0.6 - immersive_armors 1.6.1+1.20.1 - immersive_weathering 1.20.1-2.0.3 - irons_spellbooks 1.20.1-3.4.0.2 - iter_rpg 0.7.3 - leaky 1.20.1-2.1 - lionfishapi 1.9 - lithostitched 1.3.0 - lolmha 2.0.0 - 1.20.1 - lootintegrationaddonyung 1.18-1.20.1-1.1 - lootintegrations 1.20.1-3.7 - luminoustag 1.0.0 - luminousworld 1.4.42 - magistuarmory 9.16 - mavapi 1.1.4 - mavm 1.2.6 - mcwbridges 3.0.0 - mcwdoors 1.1.1 - mcwfences 1.1.2 - mcwfurnitures 3.3.0 - mcwlights 1.1.0 - mcwpaintings 1.0.5 - mcwpaths 1.0.5 - mcwroofs 2.3.1 - mcwtrpdoors 1.1.3 - mcwwindows 2.3.0 - minecolonies 1.20.1-1.1.683-snapshot - minecolonies_compatibility 2.43 - minecolonies_tweaks 2.36 - minecraft 1.20.1 - modernfix 5.19.4+mc1.20.1 - moonlight 1.20-2.13.3 - moreadvancementsmod 1.3.0-1.20.1 - moremobvariants 1.3.0.1 - mowziesdelight 1.0.3.1-1.20.1 - mowziesmobs 1.6.4 - mr_ctov_domesticatedinnovationcompat 2.0 - mr_ctov_farmersdelightcompat 2.1 - mr_ctov_friendsandfoescompat 2.0 - mr_ctov_ironsspellsnspellbookscompat 1.2 - multipiston 1.20-1.2.43-RELEASE - nameless_trinkets 1.20.1-1.7.8 - netherdepthsupgrade 3.1.5-1.20 - nethersdelight 1.20.1-4.0 - obscure_api 15 - onlyhammersandexcavators 1.20.1-0.3 - openpartiesandclaims 0.23.2 - personality 4.0.0 - pet_cemetery 2.0.0 - phantasm 0.4.1 - philipsruins 4.6 - playeranimator 1.0.2-rc1+1.20 - polymorph 0.49.5+1.20.1 - proplacer 8.0.2 - puzzleslib 8.1.24 - quark 4.0-460 - quarkoddities 1.20.1 - radiantgear 2.1.5+1.20.1 - resource_ghouls 1.8.0 - sawmill 1.20-1.4.3 - sereneseasons 9.0.0.46 - simple_weapons 1.4.4 - simplecorinthium 1.2.2 - smoothchunk 1.20.1-3.6 - sophisticatedbackpacks 3.20.11.1115 - sophisticatedcore 0.6.33.711 - soul_fire_d 4.0.4 - spelunkers_charm 3.6.0 - stoneworks 8.0.0 - strongersnowballs 13.0.2 - structureessentials 1.20.1-3.4 - structurize 1.20.1-1.0.760-snapshot - supplementaries 1.20-2.8.17 - swordblockingmechanics 8.0.1 - t_and_t 0.0NONE - terrablender 3.0.1.7 - the_fletching_table_mod 1.3 - totw_additions 1.3.1 - totw_modded 1.0.5 - towntalk 1.1.0 - treechop 0.19.0 - twilightdelight 2.0.12 \-- l2library 2.4.16 - twilightforest 4.3.2508 - upgrade_aquatic 6.0.1 - valhelsia_core 1.1.2 - valhelsia_structures 1.20.1-1.1.2 - villagernames 8.1 - w2w2 1.0 - waystones 14.1.5 - woodworks 3.0.1 - wwoo_forge 2.0.0 - xaerominimap 24.5.0 - xaeroworldmap 1.39.0 - yungsapi 1.20-Forge-4.0.6 - yungsbridges 1.20-Forge-4.0.3 - zeta 1.0-24 [06Oct2024 18:53:49.973] [main/WARN] [mixin/]: Reference map 'Aquamirae.refmap.json' for aquamirae.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.980] [main/WARN] [mixin/]: Reference map 'cristellib-forge-refmap.json' for cristellib.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:50.064] [main/WARN] [mixin/]: Reference map 'cobweb.refmap.json' for cobweb.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:50.066] [main/WARN] [mixin/]: Reference map 'cobweb.refmap.json' for cobweb.forge.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:50.287] [main/WARN] [mixin/]: Reference map 'netherdepthsupgrade.refmap.json' for netherdepthsupgrade.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:53.145] [main/WARN] [mixin/]: Error loading class: com/legacy/lost_aether/entity/AerwhaleKingEntity (java.lang.ClassNotFoundException: com.legacy.lost_aether.entity.AerwhaleKingEntity) [06Oct2024 18:53:53.588] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER [06Oct2024 18:53:53.589] [main/WARN] [mixin/]: Error loading class: com/minecolonies/core/compatibility/jei/GenericRecipeCategory (java.lang.RuntimeException: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER) [06Oct2024 18:53:53.589] [main/WARN] [mixin/]: @Mixin target com.minecolonies.core.compatibility.jei.GenericRecipeCategory was not found minecolonies_compatibility.mixin.common.json:minecolonies.GenericRecipeCategoryMixin [06Oct2024 18:53:53.640] [main/WARN] [mixin/]: Error loading class: com/legacy/blue_skies/blocks/natural/BrewberryBushBlock (java.lang.ClassNotFoundException: com.legacy.blue_skies.blocks.natural.BrewberryBushBlock) [06Oct2024 18:53:53.640] [main/WARN] [mixin/]: @Mixin target com.legacy.blue_skies.blocks.natural.BrewberryBushBlock was not found minecolonies_compatibility.mixin.common.json:blue_skies.BrewberryBushBlockAccessor [06Oct2024 18:53:53.645] [main/WARN] [mixin/]: Error loading class: com/cobblemon/mod/common/block/BerryBlock (java.lang.ClassNotFoundException: com.cobblemon.mod.common.block.BerryBlock) [06Oct2024 18:53:53.645] [main/WARN] [mixin/]: @Mixin target com.cobblemon.mod.common.block.BerryBlock was not found minecolonies_compatibility.mixin.common.json:cobblemon.BerryBlockAccessor [06Oct2024 18:53:53.654] [main/WARN] [mixin/]: Error loading class: com/lothrazar/cyclic/block/apple/AppleCropBlock (java.lang.ClassNotFoundException: com.lothrazar.cyclic.block.apple.AppleCropBlock) [06Oct2024 18:53:53.654] [main/WARN] [mixin/]: @Mixin target com.lothrazar.cyclic.block.apple.AppleCropBlock was not found minecolonies_compatibility.mixin.common.json:cyclic.AppleCropBlockAccessor [06Oct2024 18:53:53.659] [main/WARN] [mixin/]: Error loading class: com/mrbysco/oreberriesreplanted/block/OreBerryBushBlock (java.lang.ClassNotFoundException: com.mrbysco.oreberriesreplanted.block.OreBerryBushBlock) [06Oct2024 18:53:53.659] [main/WARN] [mixin/]: @Mixin target com.mrbysco.oreberriesreplanted.block.OreBerryBushBlock was not found minecolonies_compatibility.mixin.common.json:oreberries.OreBerryBushBlockAccessor [06Oct2024 18:53:53.664] [main/WARN] [mixin/]: Error loading class: reliquary/items/HandgunItem (java.lang.ClassNotFoundException: reliquary.items.HandgunItem) [06Oct2024 18:53:53.664] [main/WARN] [mixin/]: @Mixin target reliquary.items.HandgunItem was not found minecolonies_compatibility.mixin.common.json:reliquary.HandgunItemAccessor [06Oct2024 18:53:53.669] [main/WARN] [mixin/]: Error loading class: reliquary/entities/shot/NeutralShotEntity (java.lang.ClassNotFoundException: reliquary.entities.shot.NeutralShotEntity) [06Oct2024 18:53:53.669] [main/WARN] [mixin/]: @Mixin target reliquary.entities.shot.NeutralShotEntity was not found minecolonies_compatibility.mixin.common.json:reliquary.NeutralShotEntityMixin [06Oct2024 18:53:53.674] [main/WARN] [mixin/]: Error loading class: com/lothrazar/storagenetwork/block/main/NetworkModule (java.lang.ClassNotFoundException: com.lothrazar.storagenetwork.block.main.NetworkModule) [06Oct2024 18:53:53.674] [main/WARN] [mixin/]: @Mixin target com.lothrazar.storagenetwork.block.main.NetworkModule was not found minecolonies_compatibility.mixin.common.json:storagenetwork.NetworkModuleAccessor [06Oct2024 18:53:53.678] [main/WARN] [mixin/]: Error loading class: com/lothrazar/storagenetwork/util/UtilConnections (java.lang.ClassNotFoundException: com.lothrazar.storagenetwork.util.UtilConnections) [06Oct2024 18:53:53.678] [main/WARN] [mixin/]: @Mixin target com.lothrazar.storagenetwork.util.UtilConnections was not found minecolonies_compatibility.mixin.common.json:storagenetwork.UtilConnectionsMixin [06Oct2024 18:53:53.683] [main/WARN] [mixin/]: Error loading class: cofh/lib/common/block/CropBlockCoFH (java.lang.ClassNotFoundException: cofh.lib.common.block.CropBlockCoFH) [06Oct2024 18:53:53.683] [main/WARN] [mixin/]: @Mixin target cofh.lib.common.block.CropBlockCoFH was not found minecolonies_compatibility.mixin.common.json:thermal.CropBlockCoFHAccessor [06Oct2024 18:53:54.080] [main/INFO] [com.cupboard.Cupboard/]: Loaded config for: structureessentials.json [06Oct2024 18:53:54.236] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/model/geom/builders/LayerDefinition (java.lang.ClassNotFoundException: net.minecraft.client.model.geom.builders.LayerDefinition) [06Oct2024 18:53:54.236] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.model.geom.builders.LayerDefinition was not found aether_protect_your_moa.mixins.json:client.accessor.LayerDefinitionAccessor [06Oct2024 18:53:54.351] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/renderer/entity/PhantomRenderer (java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.PhantomRenderer) [06Oct2024 18:53:54.351] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.renderer.entity.PhantomRenderer was not found mixins.deeperdarker.json:PhantomRendererMixin [06Oct2024 18:53:55.165] [main/WARN] [mixin/]: Error loading class: noobanidus/mods/lootr/config/ConfigManager (java.lang.ClassNotFoundException: noobanidus.mods.lootr.config.ConfigManager) [06Oct2024 18:53:57.039] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.0). [06Oct2024 18:53:57.861] [main/INFO] [net.minecraft.server.Bootstrap/]: ModernFix reached bootstrap stage (24.02 s after launch) [06Oct2024 18:53:57.999] [main/WARN] [mixin/]: @Final field delegatesByName:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [06Oct2024 18:53:58.000] [main/WARN] [mixin/]: @Final field delegatesByValue:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [06Oct2024 18:53:58.647] [main/WARN] [mixin/]: @Redirect conflict. Skipping mixins.arclight.core.json:world.entity.EntityMixin->@Redirect::arclight$setOnFireFromLava$bukkitEvent(Lnet/minecraft/world/entity/Entity;I)V with priority 500, already redirected by soul_fire_d.mixins.json:EntityMixin->@Redirect::redirectSetSecondsOnFire(Lnet/minecraft/world/entity/Entity;I)V with priority 1000
-
I am wanting my block to be used as fuel but I am not sure how. How would I do this? Here is my code for reference: public static final RegistryObject<Block> BLOCK_OF_FIREWOOD = registerBlock("block_of_firewood", () -> new Block(BlockBehaviour.Properties.copy(Blocks.STRIPPED_OAK_LOG))); private static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block) { RegistryObject<T> toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); return toReturn; } The YouTube video I was following:
-
I have noticed recently that in the tags, beginner, intermediate and advanced are all missing. Is there a reason for this?
-
How would I add a tool without a recipe?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
Could some fixed code be given for the item? I am still not sure what to do regarding the weapon. (Sorry if it is a bit much to ask for). -
The Minecraft Launcher refuses to open. I click the icon on my taskbar, nothing loads. I have used Task Manager and the launcher is running, but the window just won't open. Does anyone have any suggestions on how to fix it? NOTE: The legacy launcher works completely fine, it is just the "new" launcher that has an issue.
-
How would I add a tool without a recipe?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
@scientistknight1 The tutorial I am following is by the legendary ModdingByKaupenjoe, who's series I have been following for a while. The video I was using is his tools tutorial, linked here. -
How would I add a tool without a recipe?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
It will be a custom structure. The plan for my mod is to expand on the features of 1.20 by adding a new place to explore, being a warrior civilisation. I have not yet started on the structures yet so do you recommend I start working on them before adding the weapon? -
(Note: I am reiterating what I said in my previous post to reach a broader amount of people and hopefully find a solution quicker). I have been trying to add a weapon to the game though I am finding it difficult as the code I have followed from the tutorial uses a recipe, among other things. I am not wanting to use these as I want the weapon to be found in structures. public static final Tier DAMAGED_WAR_AXE = TierSortingRegistry.registerTier( new ForgeTier(1, 175, 5f, 4.0F, 1.5F, ModTags.Blocks.NEEDS_X_TOOL, () -> Ingredient.of(ModItems.X.get())), new ResourceLocation(DroidsAncientRelics.MOD_ID, "x"), List.of(Tiers.X), List.of()); This is what the code looks like, I have used X's to replace what may/may not be needed or what is yet to be used. I am looking for some advice or/and fixed code.
-
The tutorial I have been following uses the recipe in the code, could you give a replacement I could use? It would be much appreciated. public static final Tier DAMAGED_WAR_AXE = TierSortingRegistry.registerTier( new ForgeTier(1, 175, 5f, 4.0F, 1.5F, ModTags.Blocks.NEEDS_X_TOOL, () -> Ingredient.of(ModItems.X.get())), new ResourceLocation(DroidsAncientRelics.MOD_ID, "x"), List.of(Tiers.X), List.of()); X's show what is yet to be added. I am unsure whether the ModTag is necessary or not as I want the War Axe to be used as if it were an Iron Axe for that purpose.
-
I am wanting to add an axe to my mod though I do not want it to have a recipe, the reason for this being that I want you to only be able to find it in a structure. I have looked on both here and elsewhere on the internet and have found nothing... How would this be done? (Video for reference.)
-
I have tried what you have said and it has worked, thank you for your help!
-
Thank you again for the help! I should probably improve on inspecting my code more before asking questions here... 😅
-
Here! public class ModRecipeProvider extends RecipeProvider implements IConditionBuilder { public ModRecipeProvider(PackOutput pOutput) { super(pOutput); } @Override protected void buildRecipes(Consumer<FinishedRecipe> pWriter) { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.PLACEHOLDER_BLOCK.get()) .pattern("SSS") .pattern("SSS") .pattern("SSS") .define('S', ModItems.PLACEHOLDER_ITEM.get()) .unlockedBy(getHasName(ModItems.PLACEHOLDER_ITEM.get()), has(ModItems.PLACEHOLDER_ITEM.get())) .save(pWriter); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.LEMON_JUICE.get(), 4) .requires(ModItems.LEMON.get()) .requires(Items.GLASS_BOTTLE, 4) .save(pWriter); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.ORANGE_JUICE.get(), 4) .requires(ModItems.ORANGE.get()) .requires(Items.GLASS_BOTTLE, 4) .save(pWriter); } protected static void oreSmelting(Consumer<FinishedRecipe> pFinishedRecipeConsumer, List<ItemLike> pIngredients, RecipeCategory pCategory, ItemLike pResult, float pExperience, int pCookingTIme, String pGroup) { oreCooking(pFinishedRecipeConsumer, RecipeSerializer.SMELTING_RECIPE, pIngredients, pCategory, pResult, pExperience, pCookingTIme, pGroup, "_from_smelting"); } protected static void oreBlasting(Consumer<FinishedRecipe> pFinishedRecipeConsumer, List<ItemLike> pIngredients, RecipeCategory pCategory, ItemLike pResult, float pExperience, int pCookingTime, String pGroup) { oreCooking(pFinishedRecipeConsumer, RecipeSerializer.BLASTING_RECIPE, pIngredients, pCategory, pResult, pExperience, pCookingTime, pGroup, "_from_blasting"); } protected static void oreCooking(Consumer<FinishedRecipe> pFinishedRecipeConsumer, RecipeSerializer<? extends AbstractCookingRecipe> pCookingSerializer, List<ItemLike> pIngredients, RecipeCategory pCategory, ItemLike pResult, float pExperience, int pCookingTime, String pGroup, String pRecipeName) { for(ItemLike itemlike : pIngredients) { SimpleCookingRecipeBuilder.generic(Ingredient.of(itemlike), pCategory, pResult, pExperience, pCookingTime, pCookingSerializer).group(pGroup).unlockedBy(getHasName(itemlike), has(itemlike)).save(pFinishedRecipeConsumer, DroidsAncientRelics.MOD_ID + ":" + getItemName(pResult) + pRecipeName + "_" + getItemName(itemlike)); } } } (The smelting, blasting and cooking are going unused for now). I have just realised that inside the recipe import there is a star, would this be because the original .json file is deleted? import net.minecraft.data.recipes.*;
-
For a while now I have been following a tutorial on YouTube for DataGen that I am using for my mod. I have come across an error that I wanted to check on here before acting on anything that could mess up my progress. The error is as follows: Caused by: java.lang.IllegalStateException: No way of obtaining recipe droidsancientrelics:lemon_juice Curiously, It has worked fine with the "orange_juice" item but not the "lemon_juice," even though their code is the same. I am basically just reposting the same thing as before, though I am yet to get a reply. Video link for reference. PLEASE HELP!!!!
-
I have been following a tutorial for DataGen for my Minecraft Mod and I have come across an error. Caused by: java.lang.IllegalStateException: No way of obtaining recipe droidsancientrelics:lemon_juice I am not sure why this has happened for the Lemon Juice specifically, as no error is present for the Orange Juice even though the code is the same. I thought I would make a post before acting on anything in case I would create unnecessary work for myself, though I know that a possible outcome would be to go to an earlier version of the mod where the data files are still separate and go from there. Video link for reference.
-
1.20.1 DataGen: Help with multiple items for a recipe.
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
Oh wow, It was really that simple? Sometimes I get so confused... -
1.20.1 DataGen: Help with multiple items for a recipe.
DroidCrafter23 posted a topic in Modder Support
I have been following this tutorial for my mod, though I am wondering how I add multiple items in the ModRecipeProvider class. ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.LEMON_JUICE.get(), 4) .requires(ModItems.LEMON.get()) .save(pWriter); I am wanting to add the Glass Bottle to the recipe though I am not sure how. (As seen in the .json file below). { "category": "misc", "ingredients": [ { "item": "droidsancientrelics:lemon" }, { "item": "minecraft:glass_bottle" }, { "item": "minecraft:glass_bottle" }, { "item": "minecraft:glass_bottle" }, { "item": "minecraft:glass_bottle" } ], "result": { "count": 4, "item": "droidsancientrelics:lemon_juice" }, "type": "minecraft:crafting_shapeless" } Would this be easy to perform? -
1.20.1 How do I make a drink item?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
Thank you so much @Xoroshio, I don't know why I didn't think of this! It has worked and my problem is finally fixed. -
1.20.1 How do I make a drink item?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
Okay, I shall look into this problem more in depth and look at Kaupenjoe's Java tutorials on YouTube. Thank you so much for all of your support over these last two weeks, you have helped me so much and I think that now I have a better understanding of Java thanks to you. 😊 -
1.20.1 How do I make a drink item?
DroidCrafter23 replied to DroidCrafter23's topic in Modder Support
I have made the changes to the creative mode tab and have managed to run the game successfully and to join my test world. Though, disappointingly, the Lemon Juice and Orange Juice items have not changed at all, their properties are exactly the same as how they were when I originally asked for help: (making the food eating sound and producing particles). I have absolutely no idea what to do and I am wondering why it has not worked at all, would you know how to fix this?