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

Leaderboard

Popular Content

Showing content with the highest reputation since 05/16/21 in all areas

  1. 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
    2 points
  2. 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
  3. 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
  4. Use https://gist.github.com/for large text files.
    2 points
  5. Post the updated debug.log from the server as well as the client that cannot join.
    2 points
  6. 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
  7. They are the same function. isRemote is MCP mappings, isClientSide is Official mappings, which are now the default shipped with the mdk.
    2 points
  8. use RenderTypeLookup#setRenderLayer in your FMLClientSetupEvent
    2 points
  9. I wasn't thinking of it! cool idea, it could be like lucky blocks
    1 point
  10. your code looks okay this will set the max height to 64, im not 100% sure but it can be that this overwrite your TopSolidRangeConfig if(!(event.getCategory().equals(Biome.Category.NETHER) || !(event.getCategory().equals(Biome.Category.THEEND)))) { This line is completely wrong, if you want to generate your ore in the overworld, because here it is checked whether it is not the end or not the nether, so minecraft will try to generate the ore in all dimensions replace || with && (is not absolutely necessary) you also need to register your ConfigureFeature
    1 point
  11. No problem, glad I could help Interesting mod idea, adding dice to Minecraft! Do you have any plans to add functionality/some effect when the dice lands on different numbers?
    1 point
  12. You have to remove the "the" in "thestoreofneedfulthings", since that is not part of the modid.
    1 point
  13. To us, this reads like "I'm not asking for support, but I'm asking for support"
    1 point
  14. Draco isn't correct here since you are spawning a new thread. However it is still terrible advice. Spawning a new thread just to sleep is an absolute waste of system resources. Threads are huge beasts. You cannot interact with the game from a separate thread as most of Minecraft's code is not threadsafe. This is the correct solution.
    1 point
  15. Try a Java version lower than 16
    1 point
  16. 1 point
  17. Once per world when the world is loaded. The block can't store data about the decay process, because blocks are singletons. Your options are either (a) a tile entity or (b) world capability data (that knows about the positions and times). Use world.getCapability to get your capability and store/retrieve/update the data as needed. Your capability will still be a map of postions -> times. The World class is already a capability provider, you don't need to create your own unless you want to have a capability attached to an option that is not already a capability provider. World
    1 point
  18. They really shouldn't be fields in the block class then and instead method parameters. The reason your cloned children immediately get removed is because you spawn them at 0, 0, 0. When BabyEntitySpawnEvent is triggered the baby animal is not at the correct position yet.
    1 point
  19. Forge isn't currently compatible with Java 16 due to a change in reflection restrictions. Forge for 1.17 should be compatible with Java 16 when it comes out, as that is the Java version Mojang will be shipping with the game then.
    1 point
  20. Try using a Java version lower than 16
    1 point
  21. You're welcome! 🙂 I think that may also be fixable with a custom RenderType. They can specify layering, blending, masking, etc.
    1 point
  22. I've finally got a solution to the positional problem. It turns out DrawHighlightEvent is fired before all the relevant batches are drawn, while RenderWorldLastEvent is fired after all the buffers have been drawn. (I would consider this a bug.) That means that while your buffer's waiting patiently to be drawn, other parts of the code can change the global projection matrix. Notably, GameRenderer#renderItemInHand starts mucking about with the projection matrix naught but 4 lines later. The result is all this unpredictable failure. The solution is to draw your buffer at the end of writing t
    1 point
  23. We don't have anyone on the dev team who uses an M1 Mac... in theory we could update pre-1.17 versions to the fixed versions of LWJGL, but we'd need someone who knows what they're doing to help make sure such a change would A) Work and B) Not screw anything else up
    1 point
  24. Thank you for that code, so that I could understand why you were returning values the way you were. The correct way to do this would be to return a boolean. for(DecayHandler decayHandler: decayHandlers){ if(decayHandler.OnTick()){ decayHandlersToBeRemoved.add(decayHandler); } } But as I said, this whole custom data structure is unnecessary. ...The heck? You don't need this entire block. Much less two loops and a temporary variable! decayHandlers.removeAll(decayHandlersToBeRemoved); Yes, but also no. Ye
    1 point
  25. 1 point
  26. 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    1 point
  27. 1.12.2 is no longer supported Please update to a modern version of minecraft to receive support
    1 point
  28. This statement is a bit incorrect. The methods still exist, they just use a different mapping set (MCP) than what forge ships with the mdk by default (mojmap). You can use forge-bot on the Forge Discord or Linkie on the Linkie Discord to translate from them. I would probably use a chunk capability instead and tick logic on loaded chunks since you'd have to check every block if it's loaded other than checking the loaded chunks. You could also use a world capability to store the chunks that have an active capability for more efficient usage.
    1 point
  29. The best way would probably to have a client-side registry (like Minecraft has for entity renderers) which map your spells to their respective renderers. All this code is then completely client side and only used from the render events.
    1 point
  30. Do not use the Chunk's tick list. Use ServerWorld#getBlockTicks to schedule ticks. Mojang uses deprecations in the block class usually to mean "do not call this", overriding th emethod is fine.
    1 point
  31. Probably through the use of PlayerEvent$PlayerLoggedInEvent and checking some boolean you added to the player via capability or stored as a WSD to check if the user has joined the world previously.
    1 point
  32. The way you make config files is the same between all config types. Simply choose the ModConfig.Type that is appropriate for you.
    1 point
  33. @Mod.EventBusSubscriber(Dist.CLIENT) - This is not what you want. Why are you doing this only on the client? When using Entity#getPersistentData you must store your data in a sub-compound namespaced by your Mod ID to avoid collisions. This is a global data dump where all mods have shared access to. A better option would be to use capabilities. Additionally, if you want the data to persist across respawns for players you must store the data in the PlayerEntity.PERSISTED_NBT_TAG sub compound. Again, a capability would be a better option.
    1 point
  34. First of all, this is only possible on servers on which your mod is running and yes you have to send a packet, take a look at the forge doc (networking) if you've read the doc here is a practical example
    1 point
  35. you can use events to modify blocks and tools - PlayerEvent#HarvestCheck -> harvestLevel - PlayerEvent#BreakSpeed -> breakSpeed - LivingDamageEvent -> damage of tools - LivingEntityUseItemEvent -> durablity read the description of the events for more information about the function of the events and what they do what kind of values do you mean exactly can you give an example of that what you want to change?
    1 point
  36. GatherDataEvent only fires during data runs, not during client or server runs
    1 point
  37. I'm with you on the 2-step process (except I have a step before step #1 - try stuff yourself first). We get a lot of repeats over on StackOverflow which has a nice way of handling repeat questions. On other forums it takes me 10 "valuable" seconds to point them to a link of someone else with the same question getting it answered, or sometimes I give them the answer if it's simple enough. My son wanted to learn to mod Minecraft. Searching gave me this result: https://codakid.com/guide-to-minecraft-modding-with-java/ Following the tutorial on there, I was setting up my son's computer using
    1 point
  38. “Research” in this context means searching (as opposed to asking). The proper method of finding a solution is as follow: 1. Use Google/any relevant method of searching in the specific topic. 2. If step 1 yields no results, ask other people. The reason why step 1 precedes step 2 is it doesn’t require other people’s attention/time. If everyone asks trivial questions/questions that has been asked numerous times before, then the forums would be flooded by the same question. This would take up other forum members/staffs’ time, making people who are really in need o
    1 point
  39. Actually it didn't quite work in the nether, but now it does. The reason I am posting this is, that if someone has the same problem in the future, they will find this. I searched for this on google for a good hour, but didn't find anything. New code: @SubscribeEvent public void render(RenderWorldLastEvent event) { IRenderTypeBuffer.Impl buffer = Minecraft.getInstance().getRenderTypeBuffers().getBufferSource(); IVertexBuilder builder = buffer.getBuffer(RenderType.LINES); MatrixStack matrixStack = event.getMatrixStack(); Playe
    1 point
  40. You're rather rude... You could just help people...
    1 point
  41. ...Which is still referenced in the 1.14.4 README.
    1 point
  42. Hi all, I'm working hard to create the best server in the Minecraft community. I have a server hosted in Apex and I'm looking for players that are interested in building and playing with me. I'm willing to give OP and will install useful plugins to enhancer game experience. Here are my server details: IP: 158.69.125.169 Port: 25595
    1 point
  43. 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.
    1 point
  44. I don't think he's asking how to edit the base code so to speak. It would depend on which behaviours you intended to implement/"override" really. Using @SubscribeEvent and writing custom event handlers to "add" or "tweak" some existing Minecraft behaviour could give the illusion of overriding base methods, but is far simpler than trying to reflect the code.
    1 point
  45. You installed something else into your jar that you shouldn't of. You need to clean the jars and re-install forge. Don't edit anything in your jar.
    1 point


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