Jump to content

warjort

Members
  • Posts

    5420
  • Joined

  • Last visited

  • Days Won

    175

Everything posted by warjort

  1. Change your maximum fps to be greater than zero.
  2. Capabilities are described here: https://forge.gemwire.uk/wiki/Capabilities The main difference between ItemStack nbt and capabilities for your use case is that you can do most of your code in normal java when using capabilities. For capabilities, you only need to deal with nbt when the data is saved to or loaded from disk. You still need to write your logic either way.
  3. Looks like you are missing the AutoRegLib mod.
  4. https://gitlab.com/DragonForge/SolarFluxReborn/-/issues/132
  5. That's what you have. Its like 7 years old. The current one for Oracle java 8 is 1.8.0_333 https://www.java.com/download/java8_update.jsp An alternative is to uninstall java 8 and use a more recent version of java, e.g. https://adoptium.net/
  6. https://github.com/sp614x/optifine/issues/6974
  7. Problem with corail tombstone, try the latest version, 7.4.10 https://www.curseforge.com/minecraft/mc-mods/corail-tombstone/files/all?filter-game-version=1738749986%3a73250 you have 7.4.5. If that doesn't work contact the author.
  8. public static final RegistryObject<EntityType<FriedSnowball>> FRIED_SNOWBALL_ENTITY = ENTITY_TYPES.register("fried_snowball_entity", () -> EntityType.Builder.<FriedSnowball>of(FriedSnowball::new, MobCategory.MISC) .sized(0.25F, 0.25F).clientTrackingRange(4).updateInterval(10).build(null)); You are not calling build() for your builder and you need to tell it the type parameter for the builder because its one of those things where java's type inference doesn't work, it's trying to use EntityType<Entity> from the ENTITY_TYPES.
  9. You can also do it like this: @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class EventHandler { @SubscribeEvent public static void onEntityAttributeModificationEvent(EntityAttributeModificationEvent event) { event.add(EntityType.PLAYER, modAttributes.CRIT_CHANCE.get()); } }
  10. That code is still not using the Mod EventBus, your "bus" variable.
  11. This looks like this issue? https://github.com/MinecraftForge/MinecraftForge/issues/8649 which was fixed in forge 40.1.33, you have 40.1.0 try updating forge (latest is 40.1.67) to see if fixes your problem.
  12. Its a good idea to put configuration and runtime code in different classes.
  13. The error says it doesn't have the attribute. Hard to tell because you don't show the full context, but I guess you are listening on the main event bus instead of the mod event bus for the EntityAttributeModificationEvent?
  14. It downloads the mojang jar(s) at installation and modifies them. You still need a minecraft license. How are users creating their mods from scratch, are users decompiling mojangs servers fat jars and starting there for their mods? As in, if I wanted to create a mod that introduced a new custom mob, wouldn't I need to somehow look at how actual mobs are being built by decompiling then make a similar model and repackage the jar and rerun the app? The mdk is an example mod. You actually just need ForgeGradle that the mdk uses. Mods are gradle projects. https://docs.minecraftforge.net/en/latest/gettingstarted/ Forge for 1.12 is old and no longer supported. Use 1.18.2 if you are getting started.
  15. Also your log contains some message about mystical agriculture not finding a tinkers construct registry. So you may have a mismatch between versions of these mods.
  16. You have a broken config file. config/buildinggadgets-server.toml Delete it and it will recreate it with default values. Usually this happens when your computer doesn't shut down properly (e.g. power outage) and you end up with more than 1 corrupted config file. So if it happens again, check your log to find a similar error message and see what the next broken file is.
  17. Your code compiles fine for me. Just a guess, but what is your import for Supplier? It should be from java.util.function, not the one from google or netty. Otherwise, check your other imports with the types used by registerMessage(). Not related to your problem and just a style thing, but you would normally define the encoder as a class instance method, then the first parameter is implicitly passed as "this". And methods that not getters are usually named using the verb rather than the noun, e.g. public void encode(FriendlyByteBuf buffer){ buffer.writeInt(this.tAccessed); buffer.writeInt(this.tCrafted); buffer.writeBoolean(this.hAccessed); buffer.writeBoolean(this.hCrafted); }
  18. Update forge, twighlight forest needs a later version
  19. But you only need it if you have extra data to pass. For future reference using IContainerFactory would look something like this () -> new MenuType<>((IContainerFactory<Crate_WhiteOakGuiInv>) Crate_WhiteOakGuiInv::new) where the constructor has signature (int, Inventory, FriendlyByteBuf)
  20. The null is the "extraData". It's from forge's IContainerFactory, which you can pass to the MenuType constructor instead. It's a subclass of MenuType.MenuSupplier. Using a lambda means it won't be an IContainerFactory, so the parameter is redundant. Using that IContainerFactory means you can pass extra data to the client when you open the screen. See the NetworkHooks.openScreen() methods and MenuType.create()
  21. public static final RegistryObject<MenuType<Crate_WhiteOakGUIMenu>> WHITE_OAK_CRATE_GUI = REGISTRY.register("white_oak_crate_gui", () -> new MenuType<>((id, inv) -> new Crate_WhiteOakGUIMenu(id, inv))); You are also not even using the MenuType constructor, or using a supplier for the object. It should be more like the above.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.