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 didn't say it did, I was just clarifying what his goal was. And one way I could see of doing that would be: 1) an item dies 2) it creates a chest 3) it searches the nearby area for other items and also puts them in the chest The alternative would be for each item to search the world for a nearby already existent chest (or you'd get multiple chests).
  2. I think his "goal" is that when a player dies, all the dropped items get collected up and put into a storage container after the 5 minute despawn timer.
  3. You can also pass vararg parameters that can be inserted into the string: e.g. I18n.format("At %1, the temperature is %2°C.", DateTime.Now, 20.4); as it passes the string argument through the Java string formatter, as I understand it. https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html
  4. You never fill META_LOOKUP with any values. You create the array, but it is full of null. Also, get rid of it. enum type objects already have a Enum#values() array getter that returns an ordered array of all its values. public static EnumType byMetadata(int meta) { return EnumType.values()[meta]; }
  5. This is probably not the best way (and 1.7 code), but it worked and didn't cause any problems that I am aware of. https://github.com/Draco18s/HarderStuff/blob/master/src/main/java/com/draco18s/ores/client/ClientProxy.java#L77-L96 Invoked via BaseMod.proxy from a TileEntity (server side method is empty).
  6. Are you removing the base of the tall grass, or are you removing the supporting grass block? When I was doing it I had to remove the supporting block from below.
  7. Stop suggesting ASM. It is not needed. In fact, discussing ASM can get you banned.
  8. When you use postimg, don't get the first URL it gives you, get the second one ("direct link").
  9. IIRC you have to basically rewrite the whole lighting engine.
  10. I wasn't actually. But that said, I don't use social media. It is the worst way to receive info ever conceived. I mean, yes, if I want information from a specific feed I can go there, but I don't always know I need to go there. As for the docs, do you mean at http://mcforge.readthedocs.io? Because I'm not seeing it currently (then again your post said "had" so maybe it was there and isn't now for...some reason?) Honestly genuinely curious as to where you are referring to so I can read up on how it works. Edit: Ok, now I'm going to be pedantic and snippy: There are no tweets from @ForgeDevTeam about this feature. In fact, of 10 tweets the account has supposedly made, only 6 are even shown, one of which is "first" and another is "What is this "twit" thing?" I'm actually trying to locate the information about this new registration event system and can't. Heck, even searching these forums for "RegistryEvent" returns 4 threads: This one. A one from a week ago asking what the hell it is for. One from earlier today that I am not reading because the poster providing help is overtly hostile to receiving help himself. Another one from a week ago where someone was having unrelated JSON issues (and their code contained the event). The announcement post in the Releases subsection doesn't show up because it doesn't refer to the event by name, just concept ("new LifeCycle events") with no links to additional information just a "please use this" note. I'm not trying to make your life difficult I'm just bewildered about how I am unable to locate the information you stated as being highly visible. If I'm looking in the wrong places, then maybe that information needs to be posted to those places.
  11. Well thanks for letting the community know, Lex.
  12. Items, blocks, and models need to be registered in PreInit and only PreInit.
  13. Then it's changed from when I last fiddled with transparent items
  14. Your texture UV coordinates. When you textured this object, it "bled" over a little bit. You can safely change those values to 1.0000
  15. In your obj: vt 0.3654 1.0096 vt 0.2596 1.0096 1.0096 is greater than 1
  16. Ok, in which case I don't know. You can also try the method that works even during creative mode: Put down GRASS, then on top of it put TALL_GRASS (the two-block-tall variant), put your gravel on top, then remove the GRASS block. The lower half of the TALL_GRASS will remove the upper half without causing a block update.
  17. "Packets" If the question ever involves "how does the server know the client did...?" the answer is packets. Likewise the answer to "how does the client know the server did...?" is also packets. onItemRightClick is called on both sides. You don't need to do anything involving packets.
  18. I think you have to turn FallInstantly off in BlockFalling.
  19. Not having looked over what that guy did in detail, I have no idea.
  20. Coincidentally I saw a Forge pull request that does precisely this....without needing a TileEntitySpecialRenderer https://github.com/RainWarrior/MinecraftForge/blob/7b611ef9b2a95ea6b91fb79e0ffe8476a05a675c/src/main/java/net/minecraftforge/client/model/FancyMissingModel.java Lex's comment was "this is a good example of how to do text on static models that everyone bitches about."
  21. No, I mean you create an item stack with an item and metadata value, then discard the stack for the item. This: ItemStack stack = new ItemStack(Blocks.STONE_SLAB,1,5); Item item = stack.getItem(); And this: Item item = Item.getItemForBlock(Blocks.STONE_SLAB); Are identical. As would: ItemStack stack = new ItemStack(Blocks.STONE_SLAB,1,14); Item item = stack.getItem(); And: ItemStack stack = new ItemStack(Blocks.STONE_SLAB,1,0); Item item = stack.getItem(); As well as: ItemStack stack = new ItemStack(Blocks.STONE_SLAB,1,123456789); Item item = stack.getItem(); Your updated code handles it correctly, of course. Even if it was "just for testing" it should have been apparent that an Item (which has no concept of metadata) isn't magically different after wrapping it into, then extracting it from, an ItemStack.
  22. Your UVs all state "0 -> 16" for both the U and V directions. This means the full 16x16 texture is being used on each face. If you want the texture to use as many pixels as the face is wide, then you need to match your UV values to match your from/to values. Also, remove invisible faces. The cuboid at "from": [ 5, 1, 5],"to": [ 11, 2, 11 ] will never have it's "down" face visible (it is coplanar with the top face of the previous cuboid and facing into it) so there's no reason to render it at all.
  23. I love how this code: ItemStack stack = new ItemStack(Blocks.STONE_SLAB,1,5); Item item = stack.getItem(); if (is != null && is.getItem() == item){ Leash.remove(); } Sets up a variant item stack, then ignores the shit out of it. Also, dude, seriously, wrap all of this in a single if(is != null) check. Simplify your life.

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.