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

Leaderboard

Popular Content

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

  1. Xironite Minecraft Server [1.8.x – 1.17.x] Xironite is a server dedicated to interacting with our community through hosting events and listening to player feedback! Our main feature is Towny! Towny gives our players a chance to work together and try to make the largest town while recruiting more players to help them. If competition is more your speed, you can compete against other towns in a variety of contests! You can do anything you want, from creating the largest town with your friends to dominating the economy and skill leaderboards! Xironite also adds a tonne of features to Survival, making it feel fresh once again. From custom enchants and tools to dungeons and bosses that will test your skills, Xironite has plenty to keep you busy! On top of all that, our player ranks can be earned in-game through playtime and resource gathering. No need to pay for cool perks! Xironite is constantly evolving based on player feedback and ideas from our amazing management. Join now before you miss our next event! How to Join? Join now using our IP: mc.xironite.org Features Bosses Dungeons Crates & Lootbags Events Robust Anti-Cheat Friendly & Active Community Custom Enchants Custom Tools & Armour PyroMining & PyroFishing Player Feedback & Suggestions Custom Textures ...and much more! Social Media Discord Instagram TikTok YouTube
    59 points
  2. 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. Do not use ITileEntityProvider or BlockContainer. These classes are legacy vanilla code. To add a TileEntity to your Block, override hasTileEntity and createTileEntity in your Block class. Do not use IInventory. Use the capability API with IItemHandler. Do not reach across logical sides. This will cause subtle and not-so-subtle issues that may occur randomly and very rarely. Read and understand the documentation about sides to understand why this is a bad idea. Do not use the unlocalized names for things other than displaying the name of a block/item. If you want to access the registry name for a registry entry, use IForgeRegistryEntry::getRegistryName. Do not use numerical IDs for registry entries. They can and will change. Use the static references in e.g. the Items class or use textual IDs (e.g. minecraft:stone) if you need dynamic references. Any IForgeRegistryEntry (commonly items and blocks) is singleton-like. That means that there is only once instance of your block class. There is not a new Block instance for every position in the world and there is not a new Item instance for every ItemStack. This means that you cannot store position-related things as instance fields in your block class, etc. You must use a TileEntity resp. the NBT data on ItemStack. Unlocalized names, TileEntity registration names and enum entries added using EnumHelper should contain your ModID to avoid collisions between mods. Note: This also applies to the unlocalized name for entities (set by EntityEntryBuilder::name resp. the entityName parameter of EntityRegistry.registerModEntity). A TileEntity class must have a no-argument constructor. As a general recommendation a TileEntity should not have more than this one constructor, to avoid confusion. An ItemStack variable should never be null and all of vanilla and Forge code expects this to be the case. Use ItemStack.EMPTY instead of null and ItemStack::isEmpty to check for empty stacks. Do not compare against ItemStack.EMPTY. Registry names and asset file names must be completely lowercase. Do not create registry entries (anything implementing IForgeRegistryEntry, like blocks and items) in a static initializer. Use the proper events. Do not access client-only code from common code, use the @SidedProxy system. See the documentation about sides (in particular the section about @SidedProxy) for more information. Do not implement IMessage and IMessageHandler on the same class. It does not make logical sense and leads to confusion and hard to trace bugs. Handle exceptions properly. Do not avoid a game crash at all costs, sometimes it is okay to crash the game. Read this article for more information.
    4 points
  3. 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 it) and then patches it, locally. As such, no Minecraft code is ever shipped by Forge. When you are making a mod using the MDK a similar thing happens. The MDK will download Minecraft and decompile it on your local machine. The MDK does not contain Minecraft's code, only the instructions for your computer to get to it. This is a very high level overview, there are a lot of intricacies to this process. This is inaccurate and has nothing to do with it.
    3 points
  4. Rules: Support is only provided for the current latest and LTS versions. Currently this is 1.17.1 and 1.16.5 respectively. Asking about versions other than Latest and LTS is against the rules and will get your thread locked. Providing support for versions other than Latest and LTS is against the rules and will earn you a warning and eventually a ban. Do not post in existing support threads even if you think you have the same problem. No two problems are alike. "But the crash looks the same" does not matter. You must include the log files in your post, otherwise we cannot help you. Use a service like Pastebin.com or GitHub Gist. Do not use a file sharing service like Mediafire, Google Drive, Dropbox, etc. and do not attach the file to your forum post. When asking about a problem with the installer: The installer log will be created in the same place as the installer and be called either installer.log or have the same name as the installer, but ".log" on the end. Otherwise: See "How do I get the debug.log" below. Piracy ("cracked launchers") are strictly forbidden and you will be banned for using them. Buy the game. How do I get the debug.log? Using Mojang's launcher directly: Using the Curseforge launcher: How do I install Forge? Make sure you have Java installed. Download the Forge Installer from the official Files page. Double-click the Installer to run it. If this does not work even if you have Java installed, you can use Jarfix (Windows only) or run the file from the command line instead. Make sure the Minecraft Launcher is not running. Choose the "Install Client" option and click "Ok". It is highly recommended you run any modded versions in separate folders using the Game Directory setting in the vanilla launcher. This will store all your save files, configs, mods, etc. in whatever folder you specify (instead of just .minecraft) so they do not interfere with your vanilla installation (or other modded versions you may have installed) and vice versa. To set it, click "Edit Profile" in your launcher and in the settings screen that pops up, modify the "Game Directory" setting How do I install Java? This depends on your operating system. We recommend using Adoptium. Why are mods not loaded from /mods/<version number> anymore? This feature was superseded by a vanilla launcher feature called Installations. Use the "Game directory" option to change where mods, worlds, configurations, etc. are stored. How do I set up a Forge server? Follow steps 1-3 of "How do I install Forge". Choose the "Install Server", select an empty directory and click "Ok". The generated server installation operates like a normal Minecraft server, except that you must run the forge-xxx.jar file instead of minecraft_server.xxx.jar. Do not rename the generated files, it will break your installation.
    2 points
  5. From the forge discord:
    2 points
  6. Keep avoiding answering my question by asking other unrelated questions. But i'll humor you. It's been something we've been thinking of doing ever since the first person ran the wrong jar. So probably about the 1.3 days. So, now answer my question.
    2 points
  7. I am currently using 1.17.1 - 37.0.33. I built three different Wither Skeleton farms of different designs and could not get a single skeleton to spawn. So I wandered around half a dozen different Nether Fortresses and found not a single mob spawning, with the exception of Blazes but only from spawners. I never saw more that two Blaze spawn at the same time and anecdotally, the spawn rate seemed a bit slow. Mobs spawned in the biomes outside of the fortress' bounding box, but nothing spawned in the fortresses themselves. There were Striders and Magma Cubes in lava below the fortresses, but I am not certain if they spawned there or moved there. I came across a couple of Bastions in my travels and found Piglins and Piglin Brutes where they should be. My first step in troubleshooting was to load the Vanilla 1.17.1 installation and almost immediately had Wither Skeletons falling into the kill chamber of my last farm build. I had Xaero's Minimap and Xaero's World Map mods loaded originally and removed them as I continued troubleshooting. When I loaded my game up with only the Forge 1.17.1-forge-37.0.33 installation, no more Wither Skeletons. So I never tried either of those mods out by themselves loaded with Forge as the problem seemed to be with Forge itself. Finally, according to this post by @Amun_Fortex they are seeing the same problem but also with Guardians. I have not yet bothered with an Ocean Monument in 1.17.1, but will find one and update if I am seeing the same issue. Also, the http://vazkii.us/br101/ link in the Rules and EAQ is broken, returning a 404 error.
    2 points
  8. the commands are: !mcp -c moj <name> -> convert from mcp mappings to mojang mappings !moj -c mcp <name> -> convert from mojang mappings to mcp mappings replace '<name>' in your case with 'getHorizontalIndex'
    2 points
  9. its strength, you can use the forge bot on discord to convert the mapping names (mcp -> moj & moj -> mcp)
    2 points
  10. I've noticed a bug that seems to be preventing Wither Skeletons and Guardians from spawning with minecraft forge installed. I have tried every version of forge for 1.17.1 (37.0.0 to 37.0.27) with no mods installed. I located a nether fortress and state for 30min with each instances and the only mobs that would spawn would be Blazes from the spawner itself, no skeletons or Wither Skeletons would be present at all. I then loaded a vanilla minecraft without forge and went to a nether fortress and within 4 minutes of being at the fortress 8 withers and a few normal skeletons spawned. I then went back to the modded version and double checked with a new world and the same result of nothing spawning happened. I traveled to the Ocean Monument and searched around only to find the bosses and cod would spawn. I've also tried other version of java ranging from jre-8u301x64, openJDK16Ux64 and older versions. I'm unsure as to what could be causing this and I'm up for running some more tests if there is anything I can help with. I'm also using CurseForge for my modded minecraft.
    2 points
  11. quote by diesieben07: "Optifine is not at all compatible with Forge on 1.17 yet." so don't use Optifine -> you can use the vanilla Spyglass😅
    2 points
  12. Note that I am no expert on mappings, and I think generally it is best to use the same mappings as most other people use to make life easier for everybody. However, with that said, this should work: 1. Add this to your build.gradle to create a local maven repo on your computer: repositories { maven { url "file:///${project.projectDir}/mappings" } } 2. Change back the mappings channel (the mappings channel is hardcoded to use 'official', 'snapshot' and 'stable' so you have to use one of those): mappings channel: 'snapshot', version: 'vemerion-mappings' You can of course change 'vemerion-mappings' to something else but then you have to change it in the mappings repo as well in the next few steps 3. Create the file structure 'mappings/de/oceanlabs/mcp/mcp_snapshot/vemerion-mappings/' in your mod project folder 4. Inside the file structure you just created, create a zip file named 'mcp_snapshot-vemerion-mappings.zip', that should contain the fields.csv and methods.csv files etc 5. Run ./gradlew clean and ./gradlew cleanEclipse 6. Run ./gradlew genEclipseRuns and ./gradlew eclipse 7. If gradle complains about duplicate mappings then everything will probably fail and you have to update your mappings files and redo the process 8. Import the project into Eclipse 9. Your custom mappings should now work Hope this helps! As a last word of caution, I just want to reiterate that IMO it is probably best to stick with the normal MCP or Mojang mappings.
    2 points
  13. 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
  14. 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
  15. Use https://gist.github.com/for large text files.
    2 points
  16. Post the updated debug.log from the server as well as the client that cannot join.
    2 points
  17. 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
  18. They are the same function. isRemote is MCP mappings, isClientSide is Official mappings, which are now the default shipped with the mdk.
    2 points
  19. use RenderTypeLookup#setRenderLayer in your FMLClientSetupEvent
    2 points
  20. 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
  21. 1.8 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    2 points
  22. You are still reaching across logical sides. Also, what you claim is impossible. It is literally impossible for the server to know that the client attacked before the client has pressed the mouse button. Unless of course Mojang has invented time travel technology.
    2 points
  23. 2 points
  24. *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 projects that will allow you to do it, your only choice is to learn to mod MC in Java until you are experienced enough to handle both the Java and C#(and possibly C++) stuff yourself. You do not sound experienced enough in any of those languages to pull it off. I've been around programmers my entire life (I'm almost 50) and experienced programmers...well, you can just tell when they are talking about what they're good at. Maybe I'm wrong(wouldn't be the first time) but my advice to you is to listen to the "elders" of the forum. It sounds like you do not want to do this anyway, so, *shrug* I guess that's that. And please don't take any of this as insult. It's not. It's just truth. Sometimes truth cuts deep. Life is like that.
    2 points
  25. Well, unfortunately, because of <thing you already know>, it isn't possible because <thing you already know.> As such what you want to do would require <doing things you don't want to do>.
    2 points
  26. 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
  27. Why the fauk does your renderer change what blocks are in the world? That's not the job of a renderer.
    2 points
  28. GatherDataEvent only fires during data runs, not during client or server runs
    2 points
  29. Do not create a new LazyOptional every time. This defeats the entire purpose of LazyOptional.
    2 points
  30. 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
  31. 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/8cvJFVPN
    2 points
  32. 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
    2 points
  33. The forge read the docs wiki is a little out of date. It is a lot easier now. I learnt how to do this from reverse engineering minecraft's and forge's code. I use blender to create my model. A fantastic tutorial on how to create pixel art based models in blender can be found here: To export: go to File>Export->Wavefront (.obj) Your settings should reflect this. This will convert the Blender coordinate system into Minecraft's. When you export your model you will get two files, an obj and a mtl. e.g. block_name.obj and block_name.mtl. The obj file describes the shape of the model while mtl file describes how it looks. Keep both files next to each other. Go into your mod resource directory and place these two files where you want them, e.g. assets/modid/models/block/path Within block_name.obj, make sure the mtllib points to the mtl file. Remember, your obj and mtl file should be next to each other. It should read: mtllib block_name.mtl Still within block_name.obj, make sure the correct material library is being loaded (Ill show you where this is declared in a sec.) (Just scroll down until you find the line, don't write your own) usemtl block_name_mat Your block_name.mtl file should look like something like this when you export it. If it doesn't have all of these lines, don't worry, Minecraft doesn't care too much about these numbers. # Blender MTL File: 'bloomery.blend' # Material Count: 1 newmtl block_name_mat Ns 323.999994 Ka 1.000000 1.000000 1.000000 Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 2 Pretty much everything here can stay as is. "newmtl" is where we declare the material the obj loads with "usemtl". Make sure these match. Next we need to let Minecraft know where to find out texture. Still within block_name.mtl add a map_Kd line below newmtl. If you forget this line, Forge will still load your model, but it will be all white. newmtl block_name_mat map_Kd modid:block/path/block_name Ns 323.999994 Ka 1.000000 1.000000 1.000000 Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 2 Place your texture within assets/modid/textures/block/path. The map_Kd should point to this location. Next, create a blockstate file for your block as normal. [block_name.json]. This will load a json model file. This has to be next to your obj and mtl files. { "variants": { "": { "model": "modid:block/path/block_name" } } } Block Model [block_name.json] { "loader": "forge:obj", "model": "modid:models/block/path/block_name.obj", "flip-v": true } Enabling flip-v will depend your model file. This just flips the way the texture is applied. If your texture looks upside down, change this to false. Your assets folder structure should look like this now: assets/modid/ blockstates/ block_name.json models/block/path/ block_name.json block_name.obj block_name.mtl textures/block/path/ block_name.png
    2 points
  34. Currently Supported Versions: Latest: 1.18.X LTS: 1.16.X, 1.17.X(grace period) 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 slightly from the latest version, in that any new features you may want to add to it, must target the latest version, only once it has been merged in, can it be backported. (The exception to this is if the feature is non-applicable to the latest version.) The Forge Team will also mostly be focusing on the latest. This is so the community has time to stabilize a bit and gives modpack developers some time to create something special. But still have Forge running full steam ahead. This thread is here as a landing page for the "Currently Supported" Announcement at the top of every forum page
    2 points
  35. 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 returned from getUpdateTag. By default this calls readFromNbt, which is a terrible default, but oh well. getUpdatePacket - Called to produce a subsequent update packet. You should return a SPacketUpdateTileEntity here if you need the data on the client to be updated from time to time. In theory you can return a partial update here, but usually it is best to just call getUpdateTag and pass that NBTTagCompound to the packet. The int parameter of the packet constructor can be set to whatever unsigned byte you like best. onDataPacket - Called on the client when the packet produced by getUpdatePacket is received. Usually you just need to call handleUpdateTag with the NBT data from the packet (SPacketUpdateTileEntity::getNbtCompound). getUpdateTag will always be called and it's data sent when the chunk is initially transferred to the client. You cannot stop this. If you need to update the client-side data later (i.e. you need the packet produced by getUpdatePacket to be sent), call World::notifyBlockUpdate on the server. You should care about when you call markDirty. You should not care when writeToNbt and readFromNbt are called. Remember, these are for saving the world to disk. Minecraft will do that when it sees fit. You need to call markDirty after doing the changes (so Minecraft knows to save to disk) and then call notifyBlockUpdate to notify the client of these changes (assuming you are using the syncing mechanism described above). Both happens server-side. That was in the context of "NBT is only used for saving to disk". ItemStacks have the terrible habit of using NBT for runtime storage, which is ugly, cumbersome and inefficient.
    2 points
  36. 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
  37. 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
  38. Kill your .gradle folder in your home directory and try having ti download again, seems your internet derped and corrupted something. Else you can install gradle manually.
    2 points
  39. Not wrong, just not finished. Until you create a class with the Mod annotation, there is no mod, and it does not build your src/package/directory structure for you. Without those things, there is nothing to build. My suggestion would be start with checking out the examplemod src and seeing how it is set up, and making it run.
    1 point
  40. Post the debug.log.
    1 point
  41. Forge has switched to using Mojang names by default. You can use forge-bot on the Forge discord to convert from MCP to Mojang mappings (and vice versa).
    1 point
  42. Something messed up in our promotions file, i'll take a look. It doesn't effect anything in game. Its just a messagge.
    1 point
  43. Looks to be an issue with GeckoLib.
    1 point
  44. Mojang targets Java 8, so that is what you should target as well. But Forge runs fine on Java 8-15.
    1 point
  45. @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
×
×
  • Create New...

Important Information

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