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

Leaderboard

Popular Content

Showing content with the highest reputation since 10/13/21 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
    4 points
  2. From the forge discord:
    2 points
  3. show your Entity class, did you create a custom EntityType? did you use EntityType.Pig in your Entity constructor?
    1 point
  4. The TOOL parameter is only set when mining a block. You do not use a "tool" on an entity. You have to use the "damage_source_properties" condition. In there you can specify an entity predicate for the "source_entity" (the entity that applied the damage, either directly (via sword) or indirectly (e.g. via arrow)). This entity predicate can then have a predicate for the held item. You can find documentation for the JSON predicates on the Minecraft Wiki: https://minecraft.fandom.com/wiki/Predicate.
    1 point
  5. Commands are server-side only, so this if statement will never run.
    1 point
  6. You're in luck! Kaupenjoe just made an entity tutorial today! Entity Spawn Eggs (13:23) Entities Spawning in World (20:49)
    1 point
  7. you need to use EntityType.Builder and then you can use DeferredRegister or RegistryEvents
    1 point
  8. remove this file: C:\Users\Jon\Desktop\Server\config\fml.toml
    1 point
  9. The 1st parameter is the position to place at. The 2nd parameter is the block state to place. The 3rd parameter are the update flags (Constants.BlockFlags). The 4th parameter is recursion depth. You really should not be using this overload. Use setBlockAndUpdate(BlockPos, BlockState) for most cases. If you need to set the flags, use setBlock(BlockPos, BlockState, int).
    1 point
  10. you can take a look at this thread:
    1 point
  11. Ensure versions match between server and client.
    1 point
  12. Most people don't do custom dimensions manually anymore. That's ever since Mojank introduced JSON-driven dimensions on which you can find documentation here. If you want more diversity you can do your own generators. Please keep in mind that I haven't messed with the new dimensions yet so if you need more help you'll need to wait for someone else to help.
    1 point
  13. Your model and renderer are entirely irrelevant to your entity's hitbox. You need to use EntityType.Builder#sized when creating your entity type.
    1 point
  14. Same issue here when hovering over cartable / non creatable recopies but only on the crafting table, i get: Cannot invoke "net.minecraft.world.item.ItemStack.m_41720_()" because "stack" is null. others on reddit experiencing issues, Not sure if it could also be an issue with Xaero's mini map, as i also have this installed. Can post full crash log if its helpful.
    1 point
  15. The link is a fix that has not been merged yet. Revert to 1.17.1-37.0.84 for the time being.
    1 point
  16. What do you mean by "static registration"? Registry entries such as EntityType must be initialized at a very specific time (during the registry event). If you don't do this, various problematic things can happen that aren't immediately obvious, specifically when your mod is installed on an already existing world, when your mod is removed from a world, etc. etc. When you use a static initializer to create it, you have no precise control over when exactly the instance is created. DeferredRegister ensures that your supplier is called at the correct time. You need to use the methods on RegistryObject, specifically the get method.
    1 point
  17. If you're asking how to get the EntityType when using the DeferredRegister way, you can call VERRUCT.get() and that will get you the EntityType out of the registry object. You can do the same for any other type of registry object. The only thing to be careful about is to make sure that the entities have actually been registered by the time you call VERRUCT.get(), but if you register your renderer at the right time that won't be a problem. In 1.17.1 you register renderers with the EntityRenderersEvent.RegisterRenderers event, I'm not sure about 1.16.5 but it's probably similar. This event will always fire after entities have been registered, so you can safely call the getter. You should use deferred registration because it ensures that your entities (or blocks, or whatever else you register) get registered at the right time. If everyone did this, it would allow forge to introduce a lot of useful features, such as reloading/enabling/disabling mods while the game is running. This is impossible to do with static initialisers. By the way, you can click the <> button while drafting your post and it will let you format your code like this: RenderingRegistry.registerEntityRenderingHandler(VERRUCT.get(), verructRenderer::new); LifeAndLive.LOGGER.debug("LIFE AND LIVE - Entity rendered");
    1 point
  18. 🎬This first part of a Sci-Fi Comedy Movie was made using Minecraft and is heavily inspired by Douglas Adams, Black Plasma Studios, Blue Monkey and Forge Labs Have a good laugh! πŸ˜ƒ If you like to, then you can subscibe here: https://bit.ly/2SenGFD
    1 point
  19. I was looking at the latest version, because you did not specify. In 1.17 this method is public. You can call the methods using reflection.
    1 point
  20. I think you need your modid to be all lowercase
    1 point
  21. Thank you for the report. Fix is on the way: https://github.com/MinecraftForge/MinecraftForge/pull/8155 I hope this is the last one necessary now...
    1 point
  22. The tags are in the minecraft namespace, yours aren't.
    1 point
  23. Refer to this: https://gist.github.com/gigaherz/691f528a61f631af90c9426c076a298a
    1 point
  24. Hi, seems i fixed the problem. i downgraded to Forge 37.0.85
    1 point
  25. Yes, I think that is linked to the player's GameProfile, so should never change. The same way you attach the capability to the player, but just attach a capability with a Map<player id, your current player capability data> to the overworld Level instead of attaching the data to the player directly. Then when you want to modify the data, get the capability from the overworld (which is always loaded) and get the data for the player with the given id. Alternatively, you could use Saved Data (which used to be WorldSavedData), again using the overworld to access the player data. That way it doesn't matter if the player is offline, because the data is saved to the overworld, so you just need to look up the data for the player by player id.
    1 point
  26. Hello, I have same problem after update of Forge on my server. Indeed it happens with every mod. And on latest forge 37.0.88 same problem happens.
    1 point
  27. The data command only uses NBT, so it will use Entity#load (you should override readAdditionalSaveData and addAdditionalSaveData in your entity).
    1 point
  28. search for the debug log, drag and drop it on https://gist.github.com/, click on "Create secret gist" and the post the link to it here
    1 point
  29. False. Your first thread on this very forum on this topic was this one in which you were already under the assumption that items and blocks were done via datapacks. The first reply even says "no you don't" and linked you the relevant documentation. Unless you mean this post which was referring to the blockstate, model, and loot table files which was already in reply to your complaint that datapacks are a hassle.
    1 point
  30. It seems like you misspelled assets to assest? The image is too blurred.
    1 point
  31. the biggest necro i've seen in my life lol 2 years
    1 point
  32. Before 1.17: Java 8. 1.17: Java 16.
    1 point
  33. I am very new to this, and all the terms are very foreign to me. I apologise if my previous post was unclear. From what I gathered backport means implementing features from a new update to an older version of minecraft, yes? I understand it is not running Forge on 1.17, I am just wondering if it is worth using the mod just to get some 1.17 features? Or is it better to wait for the Forge update in case the mod causes complications?
    1 point
  34. The mod ports features of 1.17 to 1.16 and 1.15. The game you will then be running is still 1.16 resp. 1.15. It has nothing to do with running Forge on 1.17.
    1 point
  35. The IBlockReader.rayTraceBlocks() is called clip() in the official mappings if you are using that.
    1 point
  36. you could write the loot tables by hand, but forge provides a more developer friendly way of adding loot tables through data generators. here's the docs for data generation: https://mcforge.readthedocs.io/en/1.16.x/datagen/intro/ but basically what you'll want to do is: 1- Subscribe to the GatherDataEvent in the Mod Event bus, there you can get the DataGenerator from the event parameter 2- You can register your Data Providers to the DataGenerator using DataGenerator#addProvider(), passing a new instance of your data Provider 3- Then you'll need a Data Provider for the mod's loot tables. You can create a new class that extends LootTableProvider. 3.1- in your LootTableProvider, add a constructor that takes a Data Generator and simply calls super, passing the data generator 3.2- You'll want to override the getTables methods, to return your instance of lootTables. all you need to do is return an ImmutableList of Pairs. the Pairs are composed of the LootTable constructor (We'll look at how to create the lootTables in a few steps), and the corresponding LootParameterSet (e.g.: for items that drops when you break a block: LootParameterSets.BLOCK) 3.3- You'll need to override the validate method, and honestly, the code for this is only boilerplate, so you can copy it like I did: @Override protected void validate(Map<ResourceLocation, LootTable> map, ValidationTracker validationtracker) { final Set<ResourceLocation> modLootTableIds = LootTables .getReadOnlyLootTables() .stream() .filter(lootTable -> lootTable.getNamespace().equals(Main.MOD_ID)) .collect(Collectors.toSet()); for (ResourceLocation id : Sets.difference(modLootTableIds, map.keySet())) validationtracker.addProblem("Missing mod loot table: " + id); map.forEach((id, lootTable) -> LootTableManager.validateLootTable(validationtracker, id, lootTable)); } 3.4- Finally, override getName() and simply return your modid suffixed with "_lootTables" 4- Okay, now to writing the actual loot tables: you can create a class that overrides BlockLootTables (call it ModBlockLootTables for instance) 4.1- override addTables(), and in here you register the lootTables, the superclass has a lot of usefull helper methods, such as registerDropSelfLootTable, which makes the block drop itself as an item when broken. 4.2- override the getKnownBlocks() method, the code is also very boilerplatey, so here it is: @Override protected Iterable<Block> getKnownBlocks() { return StreamSupport .stream(ForgeRegistries.BLOCKS.spliterator(), false) .filter( entry -> entry.getRegistryName() != null && entry.getRegistryName().getNamespace().equals(Main.MOD_ID) ).collect(Collectors.toSet()); } 5- Don't forget to add the construcor of this class to the List you're returning in the LootTablesProvider, in getTables Regarding folder structure: create a data package under your main src path, where you'd keep the init, block, and items folder under I like to create a class DataGenerators, which handles the gatherData event. then inside the data package, add two packages, one "client", and one "server" in client you'd add any dataProvider that's client specific: such as a model provider, or a localization provider in server you'd keep the common data providers: such as recipes, tags, and lootTables the Custom LootTablesProvider class should go inside the data.server package inside server add a loot package, whre you'll kep different lootTables, such as the Custom BlockLootTables class EDIT: oh, and after you're done with the data folder, and after every change you make to it, you need to run the runData task, to actually generate the data, any data that is generated will be under the generated [main] folder if you'd like some example code, take a look at my repo: https://github.com/jvcmarcenes/effetewood Hope I've helped, if you still have any questions, please ask them
    1 point
  37. Thanks for this thread. LLG's example helped me tremendously. Sorry if necropost
    1 point
  38. public static DeferredRegister<Item> DEFERRED_REG = DeferredRegister.create(ForgeRegistries.ITEMS, Sword.MOD_ID);
    1 point
×
×
  • Create New...

Important Information

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