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/25/21 in all areas

  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
    27 points
  2. A mod is a Java program. It can do anything a Java program can do. Whether it is a good idea to do so is a different story.
    2 points
  3. EntityDataAccessor is for syncing to the client. You can also only use it for your own entities. Do not attempt to use it for other entities, you will break things even if it might not seem so if only your mod is installed. For making capability data persistent, you need to implement INBTSerializable on your attached ICapabilityProvider. Its methods will then be called to save and restore any persistent data.
    2 points
  4. Lovely server that’s perfect for you if you’re interested in a friendly community, pyrofishing/pyromining, custom weapons and more!
    2 points
  5. Refer to the hoster's documentation.
    1 point
  6. You need to call generateFile (not sure why you named it like that) whenever you want access to your data. You do not need WorldEvent.Save or WorldEvent.Load.
    1 point
  7. Create fields in your class holding the data you want to save. In your case an integer. Then you need to save the data to the provided CompoundTag in the save method. Your load, create and generateFile methods need to be static. In load you then load the data and apply it to the newly created instance. Whenever you change anything about the data you need to call setDirty, so that Minecraft knows your data needs saving.
    1 point
  8. 1 point
  9. Just like you did previously. Except show the debug.log like I asked, not the crash report.
    1 point
  10. Show the updated log.
    1 point
  11. delete this client config file
    1 point
  12. Post the debug.log from the client that is crashing.
    1 point
  13. Then, by definition, you do not have the same problem. Make your own thread and post details.
    1 point
  14. LivingHurtEvent (as well as just hurt in general) is server side only. addParticles only works on the client. You have to use ServerLevel#sendParticles to spawn particles server side or make a custom packet.
    1 point
  15. first of all codes are not from Forge it's from vanilla (mojang), you could start here: https://forge.gemwire.uk/wiki/Codecs
    1 point
  16. the Villager interaction on Doors is handelt via the DoorBlock and the WoodenDoors Tag, a custom DoorBlock which does not extends the vanilla DoorBlock would break the Villager interaction you need to overwrite the complete behaviour, create custom Enums for BlockStateProperties, ... replace it with a custom one if you want to do it like that then yes, since you overwrite the block completely it doesn't matter But I would recommend you to use UPPER, MIDDLE, LOWER. it would make the whole thing clearer
    1 point
  17. the Features class from 1.17 has been split into separate classes, the Tree Features are now in net.minecraft.data.worldgen.features.TreeFeatures in 1.18 you need also a PlacedFeature for each ConfiguredFeature, you can find the vanilla Tree examples in net.minecraft.data.worldgen.placement.TreePlacements
    1 point
  18. This document covers all that you need to know: https://gist.github.com/TheCurle/f15a6b63ceee3be58bff5e7a97c3a4e6.
    1 point
  19. you need a custom Stair Model Blocks.GLASS::defaultBlockState
    1 point
  20. Use RecipeManager#getRecipeFor with IRecipeType.SMELTING and your inventory. This will give you a matching recipe, if any. Then you can use IRecipe#getResultItem.
    1 point
  21. when you download Optifine and run the installer you need to click on 'extract', it will create a jar file which you can put into your mods folder
    1 point
  22. In a very limited fashion - yes. But generally speaking, no, Minecraft is largely single threaded. There is one main thread for the server side game logic. If you play single player, you'll also have a 2nd main thread (the client).
    1 point
  23. I would recommend using an OpenJDK build, not Oracle's Java. Forge recommends https://adoptium.net/.
    1 point
  24. You need a JDK to develop Java software, the JRE is not enough. Uninstall the JRE and install a JDK.
    1 point
  25. That looks like an IntelliJ log. Please simply post the complete output you get from Gradle. You posted the end of it in your first post.
    1 point
  26. DamageSource#getEntity will tell you the entity that caused the damage (if any).
    1 point
  27. There was a bug that was fixed with 39.0.9 regarding structure spawns.
    1 point
  28. Make a PR to fix the missing information in the event. And "I'll just coremod this instead" is not a valid approach.
    1 point
  29. Thank you. I will get back to you.
    1 point
  30. with mixin/core modding yes, else no mixin/core modding is not supported on this Forum, there are some use cases where you need mixin. but this case is possible without mixin, so you don't ge support. if you have a other use case for that you can ask on the Forge discord in the non-api-modding chanel, but only if this a true case
    1 point
  31. And why did you bring back the horrid "actionPerformed" method from previous versions? Just put your button action directly in the click handler lambda.
    1 point
  32. you can take a look at the AnvilScreen, but basically you need a TextFieldWidget
    1 point
  33. Java Reflection: https://www.baeldung.com/java-reflection Access Transformer: https://forge.gemwire.uk/wiki/Access_Transformers AT: public-f net.minecraft.world.level.levelgen.StructureSettings f_189361_ # configuredStructures
    1 point
  34. This makes no sense. You need to call this method in FMLClientSetupEvent.
    1 point
  35. Use OverlayRegistry.enableOverlay with the elements in ForgeIngameGui to permanently disable a HUD element. To only temporarily disable it, cancel RenderGameOverlayEvent.PreLayer for the element you want to cancel.
    1 point
  36. Make sure the mods loaded into forge are for the correct version of the launcher(that's how I fixed it).
    1 point
  37. https://forge.gemwire.uk/wiki/SimpleChannel
    1 point
  38. You need to use the SRG name of fields when using the ObfuscationReflectionHelper. That's the one that looks like f_12313_.
    1 point
  39. Post the debug.log from the logs folder. Alternatively click here to get the full log: What? How is that relevant?
    1 point
  40. For those that might stumble upon this post with the same problem in the future: The solution in this case was to add this to the entity class: @Override public IPacket<?> getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } A rule of thumb: If you custom entity is not a LivingEntity, then you need to override getAddEntityPacket(). This is due to the fact that vanilla handles non-living entity spawn packets in a hard coded way.
    1 point
  41. 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
    1 point
  42. Worked like a charm! Too bad none of the hex color pickers seem to have an AARRGGBB option. So I had to get a normal RRGGBB hex code, then convert some arbitrary value (I think it was 201) to hexadecimal which is the C9 value. public void renderGhostItem(ItemStack stack, int x, int y) { RenderHelper.enableGUIStandardItemLighting(); GlStateManager.disableLighting(); itemRenderer.renderItemAndEffectIntoGUI(stack, x, y); GlStateManager.depthFunc(516); AbstractGui.fill(x, y, x + 16, y + 16, 0xC9365A7F); GlStateManager.depthFunc(515); renderGhostItemOverlay(font, stack, x, y); GlStateManager.enableLighting(); RenderHelper.disableStandardItemLighting(); } This is what it looks like now
    1 point
  43. here's a version of blit that makes the most sense to me and works perfectly for what I'm doing: blit( int xPos, // x position relative to the screen image below it (not the entire screen). int yPos, // y position relative to the screen image below it (not the entire screen). int blitOffset, // z position (blitOffSet) float textureX, // x position on the texture image to draw from float textureY, // y position on the texture image to draw from int imgSizeX, // x image size to display (like crop in PS) int imgSizeY, // y image size to display (like crop in PS) int scaleY, // y image size (will scale image to fit) int scalex) // x image size (will scale image to fit) it's still a little confusing to use the first time. if you have something like: blit(10, 10, 10, 0F, 0F, 64, 64, 64, 64); you will end up with an image that is 64x64 that contains the entire image scaled to fit 64x64 of you do something like: blit(10, 10, 10, 0F, 0F, 64, 64, 32, 32); you get an image that is 64x64 but that contains 4 copies of your image in a 2x2 grid that are all 32x32.
    1 point
  44. Hello there! How can I register my custom structure? I see that StructureIO.registerStructure() is actually private, so I cannot access it. Thanks in advance, Krevik.
    1 point
  45. Look in the EnumChatFormatting class.
    1 point
×
×
  • Create New...

Important Information

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