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

Leaderboard

Popular Content

Showing content with the highest reputation since 06/17/20 in Posts

  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. 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
  3. Thanks for the amazing work, it was such a fast release!
    4 points
  4. 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
    4 points
  5. 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
  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. 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 differs slig
    3 points
  9. 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
  10. 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
  11. 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.
    3 points
  12. 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
  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. use RenderTypeLookup#setRenderLayer in your FMLClientSetupEvent
    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. 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
  17. Why the fauk does your renderer change what blocks are in the world? That's not the job of a renderer.
    2 points
  18. GatherDataEvent only fires during data runs, not during client or server runs
    2 points
  19. Do not create a new LazyOptional every time. This defeats the entire purpose of LazyOptional.
    2 points
  20. 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
  21. TIL DataParameter's are DataManagers.... Seriously, this is just a giant thread of you messing up basic java systems, not listening to people who are trying to help you, and having no idea what you're doing...
    2 points
  22. 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
  23. GOSH MAYBE THERE'S A METHOD CALLED "getPrivateValue" IN THE CLASS. HAVE YOU TRIED READING THE AVAILABLE METHODS?
    2 points
  24. Alright, occasionally I get bored and I do one of these posts. I looked at their latest (as of the time of this post) video: https://youtu.be/F79DNgi5d_o. Here is what I found: [0:40] "Call this calls ModSpawnEggItem" - completely irrelevant how you call this class. [1:00] "Click here, to add constructor matching super" - why? How is this relevant to modding? This is basic Java knowledge. Either you explain what you do here (which means you need to explain what constructors are and what inheritance is) or you assume this knowledge, which means you don't need to talk a
    2 points
  25. You're trying to use the vanilla crafting GUI. The vanilla crafting gui checks to see if the block being accessed is The One And Only Vanilla Crafting Table. Your block is not The One And Only Vanilla Crafting Table. Therefor the use of that gui is invalid and thus closed.
    2 points
  26. Capabilities store "arbitrary data." If your magic system isn't "arbitrary data" then something is very wrong indeed.
    2 points
  27. There's a BiMap you need to add your structure to within Structure along with registering it as a feature and structure.
    2 points
  28. Take a look at the EntityRenderer#renderName method...to draw an image instead of text you could just use a textured quad
    2 points
  29. 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
  30. 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
  31. "Sometimes solving the issue is more important than what originated it." Jesus Christ! Do you have any basic programming knowledge?
    2 points
  32. If blender is too hard for you, you may use Blockbench.
    2 points
  33. 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
  34. About Suppliers: https://thejavacult.com/supplier-interface-java-util-function/
    2 points
  35. 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
  36. 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
  37. 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
  38. You put a `@ObjectHolder` annotation on `ItemInit.example_item` without specifying a modid in either the annotation on the field or on the class (through @Mod or @ObjectHolder). See the documentation on @ObjectHolder for its rules and examples. (ignore the 1.14.x version, it is the same up to 1.16.+)
    2 points
  39. You need to use the share tag (getShareTag, readShareTag).
    2 points
  40. My block class look like this: package ... import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraftforge.common.ToolType; public class MetalBlock extends Block { public MetalBlock() { super(Block.Properties .create(Material.IRON) .sound(SoundType.METAL) .hardnessAndResistance(5.0f, 6.0f) .harvestLevel(1) .harvestTool(ToolType.PICKAXE) .setRequiresTool() //or func_235861_h_() ); } } an
    2 points
  41. Seriously, stop pretending to know what the important bits are and post the whole thing. And your code. Preferably as a git repo
    2 points
  42. You never attach your capability to anything, because your AttachCapabilitiesEvent handler is not registered. @EventBusSubscriber registers the class to the event bus, meaning only static methods will be registered.
    2 points
  43. 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
  44. writeSpawnData only sometimes writes an int. readSpawnData always reads an int. The methods must be exactly symmetrical.
    2 points
  45. Then use the IFormattableTextComponent API, namely func_240701_a_ which applies a formatting to it.
    2 points
  46. Extend `WorldSavedData` and override `read()` and `write()`. You can also create a empty constructor calling the super constructor with the name of your WorldSavedData. If you have a `ServerWorld`, `ServerWorld#getSavedData` returns a `DimensionSavedDataManager`. Call `DimensionSavedDataManager#getOrCreate` (or `#get`), passing in a Supplier that gives new instances of your WorldSavedData, and a string data identifier. I'm not very sure if this is cross-dimensional.
    2 points
  47. Actually, I have no certain idea how FoV works in Minecraft. But I if we assume, that it works like an optical camera, I may help you. Here you can see how world is projected to the screen (or matrix in camera). So, to negate FoV deformations you should (using spherical trigonometry) calculate angle distance to center of the screen and take a tangent of it - now you have pure coordinate - distance to target in radius of some sphere. To find a pure coordinate of screen border, you may take tan(FoV/2). Then using screen resolution calculate distance in pixels on screen between center a
    2 points
  48. 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
    2 points
  49. 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


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