Jump to content

[1.7.2] Custom fluid characteristics


magreet

Recommended Posts

Hello,

I am new to Minecraft modding and started working on a cement mod for 1.7.2.

Goal: A placeable liquid that dries into stone (maybe with an intermediate block) within seconds.

I followed the tutorial at http://www.minecraftforge.net/wiki/Create_a_Fluid resulting in:

- new liquid cement

- cement bucket can place and pickup source block

 

Now, I cannot figure out how to let it dry.

If I use an ExecuterService with a scheduled delay, bugs occur since world changes are not taken into account if I call

world.setBlock(x, y, z, Blocks.stone);

 

I noticed that there is always just one instance of the fluid block, and the displaced blocks are the same with increased metadata.

I wanted to use onBlockAdded(final World world, final int x, final int y, final int z) to call a

world.scheduleBlockUpdate(x, y, z, this, tickRate);

but the scheduledBlockUpdate does not call updateTick (only by onNeighborBlockChange or something).

 

In addition, how should I replace the flowing fluid by stone if they are one and the same object? If I replace the original source block; the adjacent blocks disappear.

 

I tried a tick update loop with timestamp comparison but since they are the same block, they get turned to stone simultaneously.

        public final static int DELAY_DRY_MS = 3000; // 3sec
...	
@Override
public void onBlockAdded(final World world, final int x, final int y,
		final int z) {
	super.onBlockAdded(world, x, y, z);
	dryingStartTime = System.currentTimeMillis();
       }
       @Override
public void updateTick(World world, int x, int y, int z, Random rand) {
	if (System.currentTimeMillis() - dryingStartTime >= DELAY_DRY_MS) {
		world.setBlock(x, y, z, Blocks.stone);
		return;
	} else {
		super.updateTick(world, x, y, z, rand);
		world.scheduleBlockUpdate(x, y, z, this, tickRate);
	}
       }

Link to comment
Share on other sites

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.