Skip to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ugdhar

Moderators
  • Joined

  • Last visited

Everything posted by Ugdhar

  1. You need to register TILE_ENTITIES on the mod event bus, as far as I've seen all deferred registers are usually registered on the mod event bus in the mod constructor.
  2. Can't run client mods on a server, remove xray. I think diesieben mentioned that a few posts up while asking for the debug,log.
  3. 1.12 is no longer supported due to age. Please update to a modern (1.14.4/1.15.2) version to receive support. More information on supported versions can be found in the LTS link at the top of every page.
  4. The filenames of many of your mods suggest you downloaded them from a Bad Website (such as 9 minecraft or something). Mods hosted on these sites are often doing so without permission, and may have outdated or modified/tampered with versions. You should only download mods from curseforge.com or directly from the mod authors website. See https://stopmodreposts.org/ for more information and a list of bad websites to definitely not download mods from. I would delete all of your mods, and redownload them from curseforge.
  5. That looks like the crashlog, not the debug.log
  6. The thing about Optifine is it is very finicky about what versions of forge it works with. If you look in the changelog for each Optifine version, it will tell you which version of forge it is compatible with. From my experience (watching, not using), if the versions don't match exactly, you could run into issues. The problem then is if you use an older build of forge to use Optifine, some of the other mods may be designed/built with a newer build, and won't work. So you have to pick and choose and decide what you can/can't live with.
  7. Does it work if you remove Optifine?
  8. I was messing with loot recently using global loot modifiers, and it worked pretty sweet. Looks very similar in setup to what you're doing here, just different way of registering I guess. Here's the link: https://github.com/MinecraftForge/MinecraftForge/blob/1.15.x/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java And here's a link to the thread I had started while trying to figure it out, hope it helps! https://www.minecraftforge.net/forum/topic/83671-1152-manipulate-actual-block-drops-not-what-can-drop/
  9. Please post the debug.log from the logs folder. It is possibly quite large, so you may have to host it on a paste site or a github gist or something and link back to it here. If you can post it here, please put it in spoiler tags
  10. Move the mods out of that 1.14.4-forge-28.2.4 folder and put them directly in the mods folder. If you'd like to split mods out by version, create separate installations for them with different game folders. That should fix it for ya hopefully!
  11. Very weird. Can you show a screenshot of your mods folder (include the full addressbar at the top) and your launcher installation settings page?
  12. Ok, have you downloaded other mods? Where did you save them? Mods need to be placed in the mods folder in your minecraft game directory (default in windows is %APPDATA%\.minecraft) If you changed the game directory in the installation settings, then there should be a mod folder in that folder you specified. Make sure you only download mods from curseforge or from the mod developers website, other sites can have outdated mod versions, or even pack mods with viruses or spyware.
  13. I figured it out though. Evidently, I either used DeferredRegister wrong, or this feature does not work with DeferredRegister. I rewrote it like this: in ModLootModifiers: @ObjectHolder("bunchostuff:sinaite_modifier") public static GlobalLootModifierSerializer<?> SINAITE_MODIFIER = null; and made a new class since I didn't have anything doing any registering: @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD) public class EventHandlerClass { @SubscribeEvent public static void regLootModifier(RegistryEvent.Register<GlobalLootModifierSerializer<?>> args) { args.getRegistry().register(new SinaiteModifier.Serializer().setRegistryName("bunchostuff", "sinaite_modifier")); } } and of course commented out the deferredregister stuff, and now I'm getting my logging as expected.
  14. public static final ForgeFlowingFluid.Properties MUDDY_WATER_PROPS = new ForgeFlowingFluid.Properties(MUDDY_WATER, MUDDY_WATER_FLOW, FluidAttributes.builder(STILL, FLOWING) .overlay(OVERLAY) .color(0x3F1080FF)) .bucket(ModItems.MUDDY_WATER_BUCKET) .block(ModBlocks.MUDDY_WATER);
  15. 1.15.2, using yesterdays mappings and current build of forge, I believe the one ending with .44
  16. Sorry, didn't see your post for some reason. Here's my whole fluid class: package ugdhar.mod.bunchostuff.fluid; import net.minecraft.fluid.Fluid; import net.minecraft.fluid.IFluidState; import net.minecraft.state.StateContainer.Builder; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fluids.ForgeFlowingFluid; import ugdhar.mod.bunchostuff.BunchOStuff; public abstract class MuddyWaterFluid extends ForgeFlowingFluid { public MuddyWaterFluid(Properties props) { super(props); } public static class Flowing extends MuddyWaterFluid { public Flowing(Properties props) { super(props); setDefaultState(getStateContainer().getBaseState().with(LEVEL_1_8, 7)); } @Override public boolean isSource(IFluidState state) { return false; } @Override protected void fillStateContainer(Builder<Fluid, IFluidState> builder) { super.fillStateContainer(builder); builder.add(LEVEL_1_8); } @Override public int getLevel(IFluidState fluidState) { return fluidState.get(LEVEL_1_8); } @Override public void tick(World worldIn, BlockPos pos, IFluidState state) { // TODO Auto-generated method stub super.tick(worldIn, pos, state); BunchOStuff.LOGGER.info("************FLOWING MUDDY WATER TICK ***********************"); } } public static class Source extends MuddyWaterFluid { public Source(Properties props) { super(props); } @Override public boolean isSource(IFluidState state) { return true; } @Override public int getLevel(IFluidState p_207192_1_) { return 8; // max fluid lvl since it's a source. } } } It's very basic, I was just tinkering, no goal in mind. Hope it helps ya!
  17. the forge installer requires java, I would get java 8.
  18. Thanks, I've been looking into this, and using the global_loot_test on github as an example. I'm using DeferredRegister, and adding it to the modbus in my mod constructor, and things seem all good, however I'm getting this error: DeferredRegister setup public static final DeferredRegister<GlobalLootModifierSerializer<?>> LOOT_MODIFIERS = new DeferredRegister<GlobalLootModifierSerializer<?>>(ForgeRegistries.LOOT_MODIFIER_SERIALIZERS, "bunchostuff"); public RegistryObject<GlobalLootModifierSerializer<?>> SINAITE_MODIFIER = LOOT_MODIFIERS.register("sinaite_modifier", () -> new SinaiteModifier.Serializer()); In my mod constructor: ModLootModifiers.LOOT_MODIFIERS.register(modEventBus); my loot modifier in data/bunchostuff/loot_modifiers/sinaite_modifier.json { "type": "bunchostuff:sinaite_modifier", "conditions": [ { "condition": "minecraft:match_tool", "predicate": { "item": "bunchostuff:sinaite_pickaxe" } } ] } and of course data/forge/loot_modifiers/global_loot_modifiers.json { "replace": false, "entries": [ "bunchostuff:sinaite_modifier" ] } Totally at a loss, everything looks right, debugging and stepping into it, the best I can come up with is something missing from conditions resulting in it being null, *edit: so it makes it here in LootModifierManager without any incident, as far as I can tell: return ForgeRegistries.LOOT_MODIFIER_SERIALIZERS.getValue(serializer).read(location, object, lootConditions); //line 139 but stepping into that, when it goes into ForgeRegistry, things just go null, despite checking serializer, location, object, and lootConditions, which all appear to have the correct stuff in them; both serializer and location are my modid:loot_modifier, object appears to be the entire json of my loot modifier, and lootConditions has MatchTool and the details of the tool I wanted it to match, so it seems to be finding that part. *end edit but it all looks right to me, and I can't see what's missing. I haven't made too many loot tables, so I'm sure I missed something or messed something up despite getting the basic idea of it. All I'm trying to do in the modifier is print to the log when the tool match is true. Modifier class if needed, but it's awful basic: package ugdhar.mod.bunchostuff.loot; import java.util.List; import com.google.gson.JsonObject; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.world.storage.loot.LootContext; import net.minecraft.world.storage.loot.conditions.ILootCondition; import net.minecraftforge.common.loot.GlobalLootModifierSerializer; import net.minecraftforge.common.loot.LootModifier; import ugdhar.mod.bunchostuff.BunchOStuff; public class SinaiteModifier extends LootModifier { public SinaiteModifier(ILootCondition[] conditionsIn) { super(conditionsIn); } @Override public List<ItemStack> doApply(List<ItemStack> generatedLoot, LootContext context) { BunchOStuff.LOGGER.info("Made it into the doApply method of our loot modifier!"); return generatedLoot; } public static class Serializer extends GlobalLootModifierSerializer<SinaiteModifier> { @Override public SinaiteModifier read(ResourceLocation name, JsonObject json, ILootCondition[] conditionsIn) { return new SinaiteModifier(conditionsIn); } } } *edit: This is with forge 1.15.2-31.1.44 and mappings from 20200413 Thanks for taking the time to check this out and give me pointers!
  19. Please show what you tried, screenshots/errors/logs. More information is needed
  20. 1.12 is no longer supported due to age. Please update to a modern (1.14.4/1.15.2) version to receive support. Even then, not sure how much spigot support can be received here. More information on supported versions can be found in the LTS link at the top of every page.
  21. 1.12 is no longer supported due to age. Please update to a modern (1.14.4/1.15.2) version to receive support. More information on supported versions can be found in the LTS link at the top of every page. *edit: I will say that the filenames of some of your mods indicate you downloaded them from risky websites like 9 minecraft or another non-reputable site. You should ONLY download mods from curseforge.com or directly from the mod author. More information on this and why it is bad, and a list of bad websites, can be found here: https://stopmodreposts.org/index.html
  22. Have you read the LTS link at the top of every page? That's from the devs on the subject.
  23. If you go to files.minecraftforge.net you will see that the forge versions are numbered like that, they do not have the same version numbers as Minecraft. Also, there are always logs, regardless of a crash, in your game directorys logs folder. Twitch does some funky stuff, but I think it still generates at least a latest.log which is probably better than nothing. Before that though, what exactly is your issue? Just that you see a strange looking version #? Or is something not working? The title says won't launch with mods, but you said you see it deep scan them, so I guess I'm confused. If that IS the case, then definitely post whatever logs you can find (even if there's no crash)
  24. They are still available, and as far as I know can be made to work. However no support is given for versions below 1.14.4, moderators lock threads and request the user upgrade if they wish to receive support. So development of anything < 1.14.4 and the dev is on their own, or free to look for support outside of forge's channels.
  25. Ugdhar replied to GabyTM's topic in Modder Support
    Well, that's a bit harsh for your first post The search on these forums are pretty good, and google works well too. MANY of the common questions have already been asked/answered, so searching here/google saves time waiting for an answer. Also, make sure to browse through the vanilla code for examples; find something in vanilla that does the same or similar as what you want, and go look at the code, gives great insight into how a bunch of things are done.

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.