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.

Draco18s

Members
  • Joined

  • Last visited

Everything posted by Draco18s

  1. I'd add Capabilities in there between Block with Entity and Custom Crafting table. Which necessitates the Packets.
  2. Still abstract, still has a bunch of methods that are tacked on without apparent purpose, still didn't answer diesieben07's question.
  3. You see this bit in your blockstate file? "model": "cube_all" What do you suppose that does and what you might do to change it such that your model is used instead?
  4. I had to logout/login at that point, as the client was unable to keep traveling farther. It was busy trying to fall.
  5. He is not checking equality. Ah, you are correct. But yes, still nonsense.
  6. Java suggests UpperCamelCase for class names, so in your case it would be MadnessOre . Also called TitleCase. OreMadness, BlockMadnessOre, BlockOreMadness would also be good names ("Block" to match the existing naming convention of Minecraft, BlockStone, BlockDoor, etc.) as well as if you'd like to denote your ores by calling them "BlockOre[x]" or "Block[x]Ore" I favor the former (it puts all ore blocks near each other when sorted alphabetically) whereas the latter reads more naturally.
  7. Nope. That checks physical side, not logical side. SSP will return true for both the client and server in that case. If you want logical side, you MUST check world.isRemote (read it as "world.isClient").
  8. When the player joins a server, send a packet with a list of booleans about each recipe. When the packet is received, remove all your recipes from the recipe lists, then add back all the ones set to True. https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/util/RecipesUtils.java#L44
  9. Well that will never be true. true != false or false != true Think about what you're doing for a minute, then stop being an idiot.
  10. This is particularly amusing with the vanilla boat desync bug. I once was traveling so far by boat that the client-player (me) ended up in an unloaded chunk (client side, obviously). I could see the chunks that were loaded in front of me, but I was not in them.
  11. In 99% of cases the fix is not to remove the annotation. This is because Eclipse cannot determine what the correct method signature is.
  12. This is completely unaffected of what is in the run Directory. there is nothing in there after all The run directory is just runtime stuff: world saves, screenshots, config files, etc. The only directory you should have to worry about is src\main\resources, as that is copied to bin\main\resources when you click "run." Can you show a screenshot of the directory structure as seen by Windows?
  13. My guess is that you haven't registered your entity.
  14. You need to call setCustomModelResourceLocation during preInit
  15. worldObj is null when you read from NBT. You are not allowed to reference the world before the TE has been given a world, which happens AFTER it's read from disk.
  16. You replace it with the Item
  17. Now do the same thing for your ModItems class. (Also, you should definitely mark your registerRenders methods as SideOnly(Client) because the ModelLoader is a client side class. You won't see a problem right now because the class itself isn't marked SideOnly(Client) for some reason, but it might be in the future).
  18. Ah, you edited it in while I was posting. Good job.
  19. Oh for fuck's sake. How do you use this? Like this: ModelLoader.setCustomModelResourceLocation(item, metadata, modelResourceLocation) Holy balls batman. It's almost like I gave you the answer the first time. As for #1, my mistake. I double checked my code and there shouldn't be anything you need to do for the in-world block renderer (I forget that it's handled automatically). However, if there is a problem, you need to post the error that the game spits out (otherwise I don't know what to look for).
  20. This makes no sense. The error is not thrown until after all the loaders have failed to load the file. If the file is loaded at all then no error is thrown.
  21. Sooo.... #1: your registerRender method only registers a model for the Item form of your block. #2: don't use the ModelMesher. Use ModelLoader.setCustomModelResourceLocation.
  22. > It crashes > No crash log posted Yeah, I can totally solve this without knowing what the error was and where... You also didn't post the DataConnectedDevice class. Also, why are you still using IInventory? You should be using capabilities.
  23. Also, for reference, when I was doing something similar, even when delaying the tree detection via Custom Ore Gen's delayed population (that is, a chunk would only get its ore generated after every adjacent chunk had generated, and I was waiting for COG's "I'm done" event) it would still miss trees. Not very many, but some. Waiting for the end of the vanilla generation phase will miss a lot of trees, due to the cross-chunk-boundary nature of their generation.
  24. So how can I make it work? Make your config variable exist outside local scope.
  25. SuppressWarnings is like ignoring that light on your dash telling you to change the oil: The car is going to catch fire and you're just ignoring it. The only reason to use SuppressWarnings is when you know that there's a particular non-critical warning being thrown and that it's not actually a problem. It doesn't fix the problem it just says "I don't wish to be informed." FileNotFound is not a warning, it's an error. The file isn't there, it wasn't loaded. Ignoring it won't suddenly make the file load.

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.