Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Choonster

Moderators
  • Joined

  • Last visited

Everything posted by Choonster

  1. You shouldn't need to touch CraftingManager if all you're doing is creating a custom recipe type. Just implement the IRecipe interface and add instances of your recipe class using GameRegistry.addRecipe(IRecipe) .
  2. Your models must not have included the resource domain (your mod ID) in their texture paths. i.e. use modid:items/TextureName instead of items/TextureName.
  3. Could you step through the code in a debugger and figure out which methods are returning null ? For the getPlayerInfo reflection call, it must be Class#getDeclaredMethod returning null (unless getPlayerInfo itself is throwing the exception). I don't know what your ManagerReflection.setField method looks like. It should be noted that ReflectionHelper calls setAccessible(true) on Method s and Field s before using them, you should probably do this too. Edit: Your current code will only work in the development environment, since there's no NetworkPlayerInfo#locationSkin field in the obfuscated client (where it uses its SRG name instead).
  4. It's certainly possible to change the cape in 1.8 (see my code here and here), I imagine it's possible to change the skin in the same way.
  5. registerModEntity prefixes the entity's name with your mod ID followed by a period, so the full name of your mob is "<yourmodid>.TutorialMob" .
  6. Post the error (like shadowfacts told you to) and your model classes (like diesieben07 told you to). It's hard to find a solution when we don't know what the problem is.
  7. What are you checking and when? The sided proxy system may be what you need.
  8. I didn't say anything about BiomeDictionary . You should still call BiomeDictionary.registerBiomeType for your biomes. BiomeDictionary.registerAllBiomes does absolutely nothing except log a warning that it was called. This was changed in September 2013, so any tutorial that tells you to call it is very outdated. Do you call BiomeManager.addBiome for your biomes? This is what allows biomes to spawn in the Overworld. If you're not calling that anywhere, it could be that you're using duplicate biome IDs.
  9. Lily Pad placement is handled in ItemLilyPad#onItemRightClick .
  10. If you don't call BiomeManager.addBiome for your biome, it shouldn't be used anywhere except your dimension.
  11. getArmorModel is a method of Item in 1.7.10 (though for some reason it's only called if the Item is an instance of ItemArmor ). It expects a ModelBiped , though; so you'd either have to convert your models to Java models or create an adapter class that extends ModelBiped but renders an OBJ model. I don't know much about the rendering system, so I can't help much more than that.
  12. The exception tells you exactly what went wrong: your TileEntityPin class doesn't have a mapping. You need to register it with GameRegistry.registerTileEntity . Side note: Package names should be all lowercase.
  13. Your code looks correct. I'm not too sure what would cause missing textures/models without an error in the log. Could you post one of your models?
  14. Main already calls the proxy method for each phase (preInit, init and postInit). OP: Could you post your RenderRegister class? Please use [ code ] tags (without spaces) or post your code on Gist/Pastebin.
  15. Potion s in 1.8 are almost exactly the same as in 1.7.10, except that they now have a ResourceLocation identifier used by the /effect command.
  16. There's an FAQ here and some other links here.
  17. Cast the entity instance to EntityGuardian and call the isElder method on it.
  18. You can also host your mod on CurseForge. You slowly earn points based on the number of people who download the mod, these points can be spent on Amazon/Steam gift cards or money via PayPal. A couple of years of WoW AddOns hosted on Curse earned me enough points for US$100, so it's not a huge amount of money; but it's better than nothing. You can also upload to CurseForge through their Gradle plugin, though I haven't done this myself.
  19. It's entirely possible to declare a variable in any part of a method, including loops. I think you should review the basics of Java.
  20. It shouldn't be necessary to check if it's in lava, the method should only be called if it's already known that it is in lava.
  21. I don't think this should be in your event handler, since the item usually won't be in lava at the moment it's dropped. Entity#setOnFireFromLava will be called when the item is in lava, you should be able to override this to check for the portal activation criteria.
  22. You should compare Item instances directly (e.g. someItemStack.getItem() == Items.nether_star ), don't compare their unlocalised names.
  23. Call WorldProvider#setSkyRenderer with an implementation of IRenderHandler that renders the sky (including celestial bodies) for your dimension. Look at RenderGlobal#renderSky to see how vanilla renders each dimension's sky.
  24. Break the class down into its primitive components (strings, booleans and numbers) and write those to the buffer.
  25. Implement it in your Entity class and do what the doc comment for each method says: write your data to the buffer on the server and then read it back on the client. FML will call the methods for you, you just need to implement them.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.