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

Leaderboard

Popular Content

Showing content with the highest reputation since 04/21/20 in all areas

  1. Forge for 1.16.1 The first Forge build for 1.16.1 is now live thanks to the hard work of: covers, illy, jd, garrett, giga, and the rest of the forge crew. With their help we were also able to release the updates to MCPConfig for 1.16 and 1.16.1 the same day that vanilla did. The Nether Update has brought a lot of changes to many systems, and as with any update there are likely to be bugs. We are still evaluating and working on some of the systems like dimensions and trees to come up with the best system to allow for modders to integrate with vanilla’s new dimension system. We are also expect
    9 points
  2. 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
    7 points
  3. 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.
    6 points
  4. 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/
    5 points
  5. Thanks for the amazing work, it was such a fast release!
    4 points
  6. 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.
    4 points
  7. 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
  8. 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
  9. and because you use MCreator you got this far and are now bitching because you can't get something to work and you feel we should just do the work for you when you haven't even put in the effort to learn Java. There is a reason we dislike MCreator and you are only reinforcing that opinion. Learn Java.
    3 points
  10. 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
    3 points
  11. I know this topic is a bit old, but I just had the same issue and a Google search points here. If your packet is working correctly, and its just the warning in the log, you've likely made the same mistake as me. Inside the "messageConsumer" you provided when registering your packet, you need to set the packet handled flag to true. "context.get().setPacketHandled(true);" If it isn't set to true, NetworkHooks.onCustomPayload will return false, and ClientPlayNetHandler.handleCustomPayload will post the warning
    3 points
  12. 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.
    3 points
  13. 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
  14. 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.
    3 points
  15. I’m trying to install forge’s recommended version for 1.8.9 on windows 10 with Java 64bit latest version but it just absolutely will not open. Anytime I click the installer it just gives me a second icon as a notepad page but will not run the installer, I’ve tried reinstalling Java I’ve tried it all... any solutions or recommendations would be appreciated
    2 points
  16. *sigh* <people who know what they're talking about> have already spoken up and told you what you needed to know. You didn't like what they had to say and now you're just being rude. You had some very insightful responses from people. Bottom line, it really isn't done because it really isn't feasible or worth the time. Minecraft is written in Java. I get that that may not be your favorite language, but if you want to do MC in C#, there are no known projects that will let you do this, so you'll have to do it yourself. You do not have the Java chops to do it yet and since there are no proje
    2 points
  17. 1.12.2 is not supported anymore due to its age, but here's something for you to google: "minecraft launcher installation game directory"
    2 points
  18. Why the fauk does your renderer change what blocks are in the world? That's not the job of a renderer.
    2 points
  19. 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    2 points
  20. 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
  21. A PR was just opened that should fix this: https://github.com/MinecraftForge/MinecraftForge/pull/7446 Keep an eye on that, and we'll let you know when the fix is pulled. Thanks to 7
    2 points
  22. This is a small guide for people how want to Speed up their development by swapping changed code during run time, which eliminates the need to constantly restart the Minecraft-Client. To reach our goal we need to install Hotswap and DCEVM. To install DCEVM you first need to download the newest release for java 8 form this link: https://github.com/dcevm/dcevm/releases Before you continue installing DCEVM you need to first install the right java version that matches your download. Most likely this will be the version 1.8.0_181. The download list can
    2 points
  23. There's a BiMap you need to add your structure to within Structure along with registering it as a feature and structure.
    2 points
  24. Take a look at the EntityRenderer#renderName method...to draw an image instead of text you could just use a textured quad
    2 points
  25. If you only copied over the relevant files from a different project, then those source folders won't exist normally. You will need to create them manually and then rerun your gradle commands to tell everything that "hey, I exist now".
    2 points
  26. Currently Supported Versions: Latest: 1.16.X LTS: 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 diff
    2 points
  27. double x = event.getPlayer().getPosX(); double y = event.getPlayer().getPosX <--------??? (); double z = event.getPlayer().getPosX <--------??? ();
    2 points
  28. 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
  29. 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
  30. You need to use the share tag (getShareTag, readShareTag).
    2 points
  31. Assuming you are using ItemStackHandler (you should, change it if you are not!), override onContentsChanged. It will be called whenever the contents of a slot changes.
    2 points
  32. writeSpawnData only sometimes writes an int. readSpawnData always reads an int. The methods must be exactly symmetrical.
    2 points
  33. Then use the IFormattableTextComponent API, namely func_240701_a_ which applies a formatting to it.
    2 points
  34. 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
  35. It's a pretty complicated system to set up a custom village, but definitely do-able. The current Minecraft villages are created using a "Jigsaw" system. In order to do anything with custom villages, you need to understand how these function. This video is a really good explanation of the system, make sure to watch the whole thing. It's from 1.14, but for the most part the Jigsaw system hasn't changed much since then. The 1.15.2 mod "The Farlanders", which creates custom villages, has all of their code available on Github, so if you were to use that code as well as vanilla village fil
    2 points
  36. Watch this: https://www.youtube.com/watch?v=FyCYva9DhsI
    2 points
  37. If it is your item, override getContainerItem(ItemStack) in your item class and return whatever you want returned to the player. If it's not, you need a custom IRecipe class (you need to register an IRecipeSerializer for it) and override getRemainingItems.
    2 points
  38. Here is a forum. It operates under "forum" rules: threads stay "open" by default. The only reason to close threads (as in, a moderator locks it) is if it has been necro'd or is off topic (asking for help with unsupported versions falls into "off topic"). I don't know why so many people think that this place operates likes Stack Overflow.
    2 points
  39. Hi, used Minecraft 1.16.1 and forge-1.16.1-32.0.7-installer.jar on Ubuntu 20.04. Tried different openjdk versions from 8-14, none worked. Minecraft was running once, stopped via console, this was a fresh install. My install command : java -jar forge-1.16.1-32.0.7-installer.jar --installServer the part where it fails : Data io/netty/internal/ Processor failed, invalid outputs: /home/regnator/mc/./libraries/net/minecraft/server/1.16.1/server-1.16.1-slim.jar Expected: 6cbe49c4d26497791d1d511c2d3b7d1fa46fa2e9 A
    2 points
  40. Forge 1.16.1 32.0.7 just dropped and that *does* use vertical biome detection (visible in the nether from the vanilla F3 screen). Doubt many people know much about this right now... Time to investigate...
    2 points
  41. You use @CapabilityInject to inject the other mod's capability. You can put this annotation on a method too (see the javadocs) and that method will then only be called if the other mod is present. In that method you can then enable your mod's compatibility features. If you put this method in a separate class that class will never load unless the other mod is present.
    2 points
  42. "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
  43. SlotItemHandler#isItemValid already calls IItemHandler#isItemValid. No need to duplicate the logic and no need for a custom slot class. You can just put the logic in IItemHandler and the slot will respect it.
    2 points
  44. There is no reason to use the marker. It does not save you from accessing client only code. Take the following scenario: Class A accesses Minecraft (a client only class). So you mark Class A with @OnlyIn. But now Class A is client only as well, and you have just pushed the problem to a different place. The proper way to access dist-only classes is (imho) @EventBusSubscriber with a Dist parameter. There is DistExecutor, but it's usage requires intricate knowledge of how javac compiles lambdas, how the JDK runtime loads them and it relies on an optimization implementation detail in the byte
    2 points
  45. Its exactly as useful as the normal Java Optional. isPresent replaces the null check if you just want to check if something is present. It also doesn't call the resolve function so that's where the Lazy part comes in. Your examples are also pretty bad. The way you would want to do it is like: cap.map(e -> e.amount() * e.amountMultiplier()).orElse(0) But ya the point is that LazyOptional gives you metadata about if it's present if all you care about is if it exists and delays the actual creation of the object you want until someone actually wants it.
    2 points
  46. My recommendation would be to use World#isRaining in conjunction with Biome#getTemperature (with the biome obtained via World#getBiome). Though, it sounds like you're already doing that; why won't getBiome work for you? Edit: My bad, I was a little too hasty; I've edited my answer.
    2 points
  47. Have an example usage https://github.com/Draco18s/ReasonableRealism/blob/1.14.4/src/main/java/com/draco18s/harderores/item/ModItemTier.java Just be aware that the suppliers are absolutely required.
    2 points
  48. 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


  • 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.