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.

[1.10.2][FLUIDS] How can I get a Bucket of a registered fluid programatically?

Featured Replies

Posted

Do I have to register the Buckets for every fluid as Items? for example:

 

Fluid nitric_acid = new Fluid("fluid_nitric-acid",
    new ResourceLocation(TheMod.MODID, "fluid_nitric-acid_still"),//I don't really know what to put here in these resource locations
    new ResourceLocation(TheMod.MODID, "fluid_nitric-acid_flowing"));
FluidRegistry.registerFluid(nitric_acid);
FluidRegistry.addBucketForFluid(nitric_acid);

 

Now if I need to register in the oreDictionary something like

 

OreDictionary.registerOre("bucketNitricAcid", [what goes here?]);

 

Oh, and also, what should be the resource locations there?

Call

UniversalBucket.getFilledBucket

with

ForgeModContainer.getInstance().universalBucket

and the

Fluid

. This will return an

ItemStack

of the universal bucket filled with the

Fluid

.

 

The

ResourceLocation

arguments of the

Fluid

constructor are the locations of its still and flowing textures.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

A

Fluid

object only defines the physical properties and texture of a fluid, it can't exist in the world or in inventories itself.

 

An

IFluidBlock

is a

Block

that represents a

Fluid

in the world. You need to register a model for this

Block

and its

Item

form like you would any other.

 

Forge provides the

forge:fluid

model for this purpose, which uses the textures and phase (liquid or gas) defined by the specified

Fluid

. You need to use Forge's blockstates format to tell the model which

Fluid

to use.

 

I register models for my

IFluidBlock

s here. This tells each

Block

to use the variant of this blockstates file with the same name as its

Fluid

.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

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.