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. Combining textures is a pain in the ass doing it runtime. Possible, but a huge pain. https://github.com/Draco18s/HarderStuff/blob/master/src/main/java/com/draco18s/hardlib/client/TextureAtlasDynamic.java This class comes with no warranty and if something goes wrong I will not help you figure out what because the errors will not occur in this class. I had to solve several myself when writing it and it involved a lot of backtracking through the stacktrace and examining obfuscated code to figure out what value hadn't been correctly set in order for Vanilla to properly handle the custom sprite loader.
  2. Step 1: Download the Forge MDK Step 2: gradlew setupDecompWorkspace, gradlew eclipse on the MDK directory Step 3: Download the git repository and match the files up (the git will have an /src folder that will be merged with your /src folder, etc.) Note: the github repo will not contain everything which is why Eclipse can't find the project: the repo excluded the Eclipse project files! Step 4: Open in Eclipse.
  3. Do this: This way: https://objectpartners.com/2013/07/16/creating-self-contained-executable-jars-with-gradle-and-shadow/
  4. Technically both, but installing Forge gives you a deobf Minecraft. Also, with an obfuscated jar, you can get gradle to deobf that as well, I just don't remember how.
  5. mc.isGamePaused() public Minecraft mc; #NeverAssigned
  6. Step 1: Loop through all crucibles in range, build a HashMap of the total amounts of every SoulType available in range. Step 2: Check the recipe against this hashmap. If enough, recipe allowed, otherwise it isn't. Step 3: Create a hashmap for the SoulTypes being consumed by the recipe and loop through each crucible in range and deduct as many Soul amounts as possible (keeping track in this hashmap copy) until all souls consumed have been deducted from somewhere.
  7. You need to do this in the Entity, not the Model.
  8. I'm pretty sure the farmland-block needs to cooperate as well. Which the diamond block doesn't know anything about crops, so the calls made to allow planting fail.
  9. Show ModItems.registerItems();
  10. What I meant was that you said that "A -> B" means that B relies on A (that is, A is the parent mod) and then went on to say that "generic|machinery -> generic." i.e. you incorrectly stated that generic|machinery and generic|world were the parent mod.
  11. I typed that and had the sneaking suspicion that I may have added too many zeros. The last time I futzed around with it (needing a full-cube block that was collidable from all sides) was in 1.6.4
  12. 0.125 is a fairly substantial amount: 2 pixels! If you want something that looks like a full block you can have an offset amount of 0.0001 which IIRC is sufficient for collisions, but small enough that after being rendered you can't tell.
  13. Oh god, ew. This isn't that hard to math. (x + y * 9) * 4 + n where n is 0,1,2,3 depending on which of those four slots. Also. All of those slots are added to the same XY coordinates so they'd stack on top of each other and only the top 4 will be usable. It also appears that your TE only has 45 slots and you're creating 84 slots.
  14. Note that the block boundary must be smaller than 1x1x1 in the direction you wish for collisions to occur in.
  15. One of these three things is incorrect.
  16. Unless you have a reason not to make them match, you should refactor to make them match, it simplifies a lot. And even if you don't there's still no reason to make a request to the TE: you can do your entire current check inside the block and only the block.
  17. Question: Why does your canConnectRedstone method ask your TileEntity if it can, when all the TE does is ask for block metadata? Why not just check the block metadata? return side == metadata
  18. That's because handleMouseInput shouldn't be drawing anything. You need to get the mouse's coordinates in drawScreen and if those coordinates are correct, draw the tooltip.
  19. Jesus mother fucking Christ in a hand basket to Hell this is a complicated network system. And on top of that, a complicated GUI setup. AFAICT your problem lies here somewhere: https://github.com/p455w0rd/WirelessCraftingTerminal/blob/master/src/java/net/p455w0rd/wirelesscraftingterminal/common/container/ContainerWirelessCraftingTerminal.java#L216-L230 But I can't tell because of the giant interconnected web of dependencies.
  20. entityLocal.getEntityData(); is functionally identical to entityLocal.writeToNBT(tag); for this, but definitely cleaner. I forget that getEntityData() exists.

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.