Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Leaderboard

Popular Content

Showing content with the highest reputation since 07/29/20 in Posts

  1. Don't tell ppl "do your research before posting here" as the README.txt file that comes with the MDK of Forge 1.13.2 25.0.9 and 25.0.10 says to use setupDecomWorkspace its obvious that the README.txt file was not updated but you don't have to be a dick.
    4 points
  2. The Forge Git repository only contains patches to the decompiled Minecraft source code. In very simplified terms this means "remove this line from this file" or "add this code here". It does not contain the decompiled game source code. When the Forge installer is built, these patch files are converted to binary patches to the compiled code, these binary patch files are then shipped with the installer. As such the installer again does not contain any Minecraft code. When you then run the installer it takes the vanilla Minecraft jar (or downloads it from Mojang's servers if you don't have i
    3 points
  3. I got into minecraft modding recently and was surprised by how hard it is to find useful up-to-date information. Because of that, I decided to document my learning journey and write a book about Minecraft modding for beginners. It applies to Minecraft 1.16.1 and the latest version of forge. Keep in mind it is still a work in progress. More chapters will be added in the coming days. Suggestions and questions also are welcomed. Link: https://thebookofmodding.ml/
    3 points
  4. There may be a primer for 1.15 -> 1.16.1; however, in the current state of 1.16.2 onwards and with the release of 1.16.4 coming soon, I doubt you will be able to find one. Not many people understand the new system of world generation through data driven systems, so a primer will probably not be out for a while. However, since I'm not a fan of leaving any post unanswered, I'll try and take a basic stab at it. - Blocks have been abstracted even more (AbstractBlock). You'll find that the properties have been turned into functions of some kind to allow for even fewer blocks. For ex
    3 points
  5. Currently Supported Versions: Latest: 1.17.X LTS: 1.16.X LTS(Grace Period): 1.15.X User Support FAQ Modder Support FAQ and Common Issues We do not currently provide support or updates for any other versions except in cases of severe security issues. On LTS's: Forge's support for Minecraft versions will try to follow a predictable cycle, assuming Mojang also follows a predictable cycle. We will always actively target the latest Minecraft version as ever, however we will also support the most recent non-latest version as an "LTS" version. An LTS version d
    3 points
  6. Forge Version: 34.1.0 Minecraft Version: 1.16.3 Downloads: Changelog: (Direct) Installer: (AdFocus) (Direct) MDK: (AdFocus) (Direct) Intro: Hello everyone, it's finally that time. A recommended 1.16 build is here. We had to wait longer then I wanted to because there were a lot of problems with the initial 1.16 release from Mojang, enough that it was obvious that a .1/.2 was needed. So we waited for Mojang to stabilize the 1.16 branch, out came .1, .2, and .3. Each one same with its own surprises, the main one we have to mention is 1.16.2's major re-write to b
    3 points
  7. No. Stop. writeToNbt and readFromNbt are for saving to disk. Server-side. If you want to sync stuff to the client (assuming you want to use the vanilla mechanic, which uses NBT), you need to override a couple of methods (warning, this is a giant mess): getUpdateTag - Returns the data that should be sent to the client on initial chunk load (i.e. when it gets into render distance, etc.). Call super here and put whatever data you need to have available on the client in the NBTTagCompound returned from super. Then return it. handleUpdateTag - Called on the client with whatever tag was
    3 points
  8. Problematic Code Please use the registry events to register your blocks, items and other registry entries. Use ModelLoader.setCustomModelResourceLocation in ModelRegistryEvent to register your item models. Do not use the ItemModelMesher. Do not use methods that are deprecated in Forge or vanilla Minecraft. Usually there will be an explanatory method next to the method explaining what to use instead. There is an exception for methods in the Block class, these may be overridden. Instead of calling them, use the one in IBlockState resp. it's supertypes.
    3 points
  9. From what I can tell there is over 2 megabytes of advancement data being sent to the client. So far Forge only splits overly large recipe and tag packets, it seems the advancement packet needs to be added to this list as well. I will make a pull request to add it.
    2 points
  10. Try 1.16.5-36.1.25 and provide us with the logs from both sides. I added some extra logging to make it easier to figure out what packet is being bad.
    2 points
  11. Use https://gist.github.com/for large text files.
    2 points
  12. Post the updated debug.log from the server as well as the client that cannot join.
    2 points
  13. It looks like this may be an issue with Waila, since it is the last thing in the log mentioning networking ("syncing config"). Check with the Waila authors.
    2 points
  14. They are the same function. isRemote is MCP mappings, isClientSide is Official mappings, which are now the default shipped with the mdk.
    2 points
  15. Hey guys, after some weeks of getting experienced with Minecraft modding, I want to submit an issue here that occurs when you use the IDE IntelliJ for your mods. I started with a very basic mod to implement my own items. Therefor, I had to learn about modding and first of all, gradle. Since I am no Java newbie, I know how projects were structured and how to handle with IDEs. I've always used IntelliJ. Eclipse is good and has a ton of features but I am still preferring IntelliJ. So here is the problem. There are several articles and forum topics men
    2 points
  16. Why the fauk does your renderer change what blocks are in the world? That's not the job of a renderer.
    2 points
  17. GatherDataEvent only fires during data runs, not during client or server runs
    2 points
  18. Do not create a new LazyOptional every time. This defeats the entire purpose of LazyOptional.
    2 points
  19. You know how when you buy a pair of headphones, they come in a box? You have a box labeled "headphones" right now and you're trying to plug it into your computer, but it doesn't have an audio jack.
    2 points
  20. So I just recently wiped my hard drive and I wanted to re-install forge to run wynntils on the wynncraft server but everytime I try to install it it always gives this error: https://imgur.com/CswUiZi I've already tried to restart my pc and disabling the firewall, though it seems other versions (1.16.4) work so I don't know what I'm doing wrong. I did play once on the 1.12.2 version and Java should be the latest version since I just downloaded it off of their site (windows offline 64bit one) so I don't know what I'm doing wrong. Here's the link to the log: https://pastebin.com/8cvJFVP
    2 points
  21. 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    2 points
  22. Vouch! I have worked on a lot of Minecraft and Discord servers over the past few years, but unfortunately I eventually started getting quite bored of Minecraft, I then discovered Verade's server which caught my eye, his ideas are interesting and have been helping him out with it since - working with him has been amazing, Verade is a good guy who is extremely dedicated to his server and always welcomes suggestions. He has also helped me gain a lot of crucial experience with moderation and planning.
    2 points
  23. Expanding on this: If you intend for your capability to ever be used by other mods (i.e. you're making it part of your mod's API) then using an interface is very strongly advised, simply as good programming practice (expose the interface, not the implementation). If you only ever intend for your capability to be used for storing data for your own purposes, an interface is very much optional. You might decide it's useful to have one, just for tidiness in your own code, but then again you're free just to use a class.
    2 points
  24. Your answer ("please learn basic Java programming before making a mod.") was of no help at all either way. This question wasn't even about basic Java--the RegistryObject class and all of its methods are part of Minecraft Forge, and so it is completely reasonable not to know a specific function from it. Moomallowz, I appreciate your attitude and I hope your mod is going well! You are not a dunce, those are understandable and clear questions, and you are working to improve.
    2 points
  25. Call the WandererTradesEvent event and add your own custom ITrades to the list in the event.
    2 points
  26. With my system, each capability type that needs to be synced to the client has several sync-related classes: A single update network message (extending UpdateContainerCapabilityMessage) that syncs the capability data for a single slot of a Container. A bulk update network message (extending BulkUpdateContainerCapabilityMessage) that syncs the capability data for all slots of a Container. A "functions" class containing static methods used by both the single and bulk update messages. A container listener class (extending CapabilityContainerListener) that sends the singl
    2 points
  27. About Suppliers...https://www.geeksforgeeks.org/supplier-interface-in-java-with-examples/
    2 points
  28. A jar file in your gradle cache is corrupted. The easiest, but brute-force, method is to just delete .gradle in your user home folder. But that will mean you need to re-import any Gradle project.
    2 points
  29. Try deleting your build folder and %USERPROFILE%/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/forge-1.15.2-31.2.0_mapped_snapshot_20200514-1.15.1
    2 points
  30. The correct way is to check if the Block implements IPlantable. If it does, and IPlantable#getPlantType returns CROP then it can be planted on farmland.
    2 points
  31. I'm not so sure about this either but when I last check the version with forge bot in discord it is 20200723-1.16.1
    2 points
  32. "Sometimes solving the issue is more important than what originated it." Jesus Christ! Do you have any basic programming knowledge?
    2 points
  33. If blender is too hard for you, you may use Blockbench.
    2 points
  34. If you haven't already I would recommend giving these a read. They're just Forge Docs. but they explain most of it pretty well. Blender Addon: https://github.com/phonon/blender-minecraft-json Docs: https://mcforge.readthedocs.io/en/latest/models/files/#model-files https://mcforge.readthedocs.io/en/latest/animation/intro/
    2 points
  35. About Suppliers: https://thejavacult.com/supplier-interface-java-util-function/
    2 points
  36. As I said, this has NOTHING to do with Forge's code or how we build the classpath. We could technically put the jar whever the hell we want. This is wholy issues with SERVER HOSTS and other users. And the drama/bitching that will come from it. This is just a case of... don't be dumb and run the vanilla server... Unfortunately there isn't anything we can do to mark the world as not loadable by the vanilla jar. As it's not code we control so there isn't any way to add protections into it. Many Many external things can corrupt your world.
    2 points
  37. This has been suggested time and time again. The answer is no. Forge will never download and then execute code due to the inherent extremely high security problems.
    2 points
  38. Here, this may help you if you're familiar with 1.12, as a LOT of stuff has changed since then. https://gist.github.com/williewillus/353c872bcf1a6ace9921189f6100d09a
    2 points
  39. Those tutorials are bad then. Unfortunately most modding tutorials are written by amateurs, who don't even come here to ask for feedback before posting it as just "the way to do it" on Youtube, etc. Registration must happen exactly when Forge tells you. Forge does so by firing the registry event. If you use a static initializer you completely bypass this system. This prevents Forge from doing improvements in the future, such as reloading mods at runtime or even disabling/enabling them. Yes, it's fine now. However if you do write a tutorial I would recommend y
    2 points
  40. "Please do your research before posting here." is rude. The OP's question in itself is an act of research. "Please do your research before posting here" is not a fact. It's an imperative. The OP comes here asking for help and he is being told to "do your research." Get over yourselves. If you don't want to be helpful then what are you doing here besides berating people? Or is this forum only for the "elite"?
    2 points
  41. Forge Version: 31.2.0 Minecraft Version: 1.15.2 Downloads: Changelog: (Direct) Installer: (AdFocus) (Direct) MDK: (AdFocus) (Direct) Intro: Here we go again for 1.15.2, this has a ton of bug fixes, developer improvements, as well as preliminary support for Java 13+ so we'll see how that goes. Changelog: New: Added hook to allow customized overlays when swimming in custom fluids. Added support for suppliers in FoodItem, allow easier modder extension. Added model data to BlockModelRenderer Added system for global loot functions, allowing m
    2 points
  42. You're rather rude... You could just help people...
    2 points
  43. Finally. Give me a couple hours and I’ll have pushed my changes to ExampleMod and my tutorials that make all registration use DeferredRegisty.
    2 points
  44. Update Regarding LTS System: Please read The Big Forge Update Earlier this year, 1.13 was announced and the snapshots started coming out, the update was relatively small, but enough to be a hurdle for mod developers. This combined with 1.12 stabilizing, and a few fundamental Java changes that broke modding in general, made the Forge team decide to use this opportunity and work on cleaning the years of technical debt that Forge had accrued. During this time, it was discovered that a lot of things needed updating. In fact, well, everything did. And so, it was done, a
    2 points
  45. Some recent version seems to have changed the default way IntelliJ compiles Gradle project. It used to be that it still used the IntelliJ build system, which puts resources and classes in one folder. Now "Delegate to gradle" seems to be the default, and gradle puts resources and classes in two separate folders. Make sure to set IntelliJ to not delegate to Gradle (https://www.jetbrains.com/help/idea/work-with-gradle-projects.html#delegate_build_actions).
    2 points
  46. IPacket is a vanilla class, do not use it. SimpleChannel no longer requires your packets to implement a certain interface. Instead you need to supply the following things: An encoder (BiConsumer<MSG, PacketBuffer>). This will be called with your packet instance and a PacketBuffer to write the packet data to the byte stream. This used to be toBytes in IMessage. A decoder (Function<PacketBuffer, MSG>). This will be called with the byte stream data and must decode it into an instance of your packet. This used to be done via a reflective constructor call and fromBytes.
    2 points
  47. General issues Do not use the "export" or "create jar file" functionalities of your IDE or other means to create your final mod file. You must use the Gradle build task. See the documentation for more info. When creating a Git repository for your mod, the repository root should be where your build.gradle file is. The MDK ships with a default .gitignore file so that only the necessary files will be added to version control.
    2 points
  48. What is this? This is a collection of common issues and recommendations for the Modder Support subforum. Instead of repeating these things over and over again, a link to this thread can be used instead. This post will be updated as needed. Suggestions either via PM to me or in a separate thread to keep this topic clean.
    2 points


  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.