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.

Featured Replies

Posted

I've written an item that requires an amount of redstone to be in the player's inventory, but I can't work out how to make it require and consume x redstone.

 

What I want is:

[*]Player uses item

[*]Item checks if Player has 12 redstone or more in their inventory

[*]If they do, remove 12 redstone form their inventory

 

This is the code I'm using at the moment as a placeholder:

if (entityplayer.capabilities.isCreativeMode || entityplayer.inventory.hasItem(Item.redstone.itemID))
{
entityplayer.inventory.consumeInventoryItem(Item.redstone.itemID);
}

for loop to call the line 12 times?

If you guys dont get it.. then well ya.. try harder...

  • Author

I thought of that, but it would be really convoluted to call it 12 times and replace the redstone for each of the redstone dusts used; i was wondering if there's a more elegant way, before using that method?

Looking at EntityPlayer and PlayerInventory might give you some better ways.

But from a quick look at them I didn't see any method to remove a stack of X size from the inventory, which is weird as I would think that quite useful.

 

You could check the slots of the players inventory and if you 12 or more you can remove 12 of them by setting the item stack in the given slot?

If you guys dont get it.. then well ya.. try harder...

When I did something like this for Extendable Ladders, I looped it.  As each placement was dependent on where it was placed and when it should stop placement.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Get stack in slot and decrease stack size.

You'll need loops in the worst case that the player has redstone all over its inventory.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

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.