Jump to content

Recommended Posts

Posted
10 minutes ago, RobinCirex said:

Hey, I'm trying to edit water at the moment and I'm looking for a method that is constantly called on the serverside. The method "tick" isn't called at all.

tick works for me:

		@Override
		public void tick(World worldIn, BlockPos pos, IFluidState state) {
			// TODO Auto-generated method stub
			super.tick(worldIn, pos, state);
			BunchOStuff.LOGGER.info("************FLOWING MUDDY WATER TICK ***********************");
		}
Quote

[m[32m[15:42:33] [Server thread/INFO] [bunchostuff/]: ************FLOWING MUDDY WATER TICK ***********************
[m[32m[15:42:33] [Server thread/INFO] [bunchostuff/]: ************FLOWING MUDDY WATER TICK ***********************
[m[32m[15:42:33] [Server thread/INFO] [bunchostuff/]: ************FLOWING MUDDY WATER TICK ***********************
[m[32m[15:42:33] [Server thread/INFO] [bunchostuff/]: ************FLOWING MUDDY WATER TICK ***********************
[m[32m[15:42:34] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game...

Are you using @Override?

Posted (edited)
9 minutes ago, Ugdhar said:

tick works for me:


		@Override
		public void tick(World worldIn, BlockPos pos, IFluidState state) {
			// TODO Auto-generated method stub
			super.tick(worldIn, pos, state);
			BunchOStuff.LOGGER.info("************FLOWING MUDDY WATER TICK ***********************");
		}

Are you using @Override?

Yea, I am, weird.

Did you try it with a FlowingFluidBlock?

Edited by RobinCirex
Posted
18 hours ago, RobinCirex said:

Yea, I am, weird.

Did you try it with a FlowingFluidBlock?

Sorry, didn't see your post for some reason.

Here's my whole fluid class:

package ugdhar.mod.bunchostuff.fluid;

import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.IFluidState;
import net.minecraft.state.StateContainer.Builder;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fluids.ForgeFlowingFluid;
import ugdhar.mod.bunchostuff.BunchOStuff;

public abstract class MuddyWaterFluid extends ForgeFlowingFluid {

	public MuddyWaterFluid(Properties props) {
		super(props);
	}
	
	public static class Flowing extends MuddyWaterFluid {

		public Flowing(Properties props) {
			super(props);
			setDefaultState(getStateContainer().getBaseState().with(LEVEL_1_8, 7));
		}

		
		@Override
		public boolean isSource(IFluidState state) {
			return false;
		}
		

		@Override
		protected void fillStateContainer(Builder<Fluid, IFluidState> builder) {
			super.fillStateContainer(builder);
			builder.add(LEVEL_1_8);
		}


		
		@Override
		public int getLevel(IFluidState fluidState) {
			return fluidState.get(LEVEL_1_8);
		}


		@Override
		public void tick(World worldIn, BlockPos pos, IFluidState state) {
			// TODO Auto-generated method stub
			super.tick(worldIn, pos, state);
			BunchOStuff.LOGGER.info("************FLOWING MUDDY WATER TICK ***********************");
		}
		
		
		
	}
	
	public static class Source extends MuddyWaterFluid {

		public Source(Properties props) {
			super(props);
		}

		@Override
		public boolean isSource(IFluidState state) {
			return true;
		}

		@Override
		public int getLevel(IFluidState p_207192_1_) {
			return 8; // max fluid lvl since it's a source.
		}
		
		
		
	}

}

It's very basic, I was just tinkering, no goal in mind. Hope it helps ya!

Posted
5 minutes ago, Ugdhar said:

Sorry, didn't see your post for some reason.

Here's my whole fluid class:


package ugdhar.mod.bunchostuff.fluid;

import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.IFluidState;
import net.minecraft.state.StateContainer.Builder;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fluids.ForgeFlowingFluid;
import ugdhar.mod.bunchostuff.BunchOStuff;

public abstract class MuddyWaterFluid extends ForgeFlowingFluid {

	public MuddyWaterFluid(Properties props) {
		super(props);
	}
	
	public static class Flowing extends MuddyWaterFluid {

		public Flowing(Properties props) {
			super(props);
			setDefaultState(getStateContainer().getBaseState().with(LEVEL_1_8, 7));
		}

		
		@Override
		public boolean isSource(IFluidState state) {
			return false;
		}
		

		@Override
		protected void fillStateContainer(Builder<Fluid, IFluidState> builder) {
			super.fillStateContainer(builder);
			builder.add(LEVEL_1_8);
		}


		
		@Override
		public int getLevel(IFluidState fluidState) {
			return fluidState.get(LEVEL_1_8);
		}


		@Override
		public void tick(World worldIn, BlockPos pos, IFluidState state) {
			// TODO Auto-generated method stub
			super.tick(worldIn, pos, state);
			BunchOStuff.LOGGER.info("************FLOWING MUDDY WATER TICK ***********************");
		}
		
		
		
	}
	
	public static class Source extends MuddyWaterFluid {

		public Source(Properties props) {
			super(props);
		}

		@Override
		public boolean isSource(IFluidState state) {
			return true;
		}

		@Override
		public int getLevel(IFluidState p_207192_1_) {
			return 8; // max fluid lvl since it's a source.
		}
		
		
		
	}

}

It's very basic, I was just tinkering, no goal in mind. Hope it helps ya!

Okay.. thank you :D What version is this?

Posted
1 minute ago, RobinCirex said:

Okay.. thank you :D What version is this?

1.15.2, using yesterdays mappings and current build of forge, I believe the one ending with .44

Posted (edited)
1 minute ago, Ugdhar said:

1.15.2, using yesterdays mappings and current build of forge, I believe the one ending with .44

Yea okay, I found the difference now. You overwrote the fluid, not the block. I'm gonna try that too, thanks for your help

Edited by RobinCirex
Posted
3 minutes ago, RobinCirex said:

Yea okay, I found the difference now. You overwrote the fluid, not the block. I'm gonna try that too, thanks for your help

I have another question now: Can you tell me what you put in as properties? 

Posted
	public static final ForgeFlowingFluid.Properties MUDDY_WATER_PROPS = 
			new ForgeFlowingFluid.Properties(MUDDY_WATER, MUDDY_WATER_FLOW, FluidAttributes.builder(STILL, FLOWING)
					.overlay(OVERLAY)
					.color(0x3F1080FF))
			.bucket(ModItems.MUDDY_WATER_BUCKET)
			.block(ModBlocks.MUDDY_WATER); 

 

Posted
Just now, Ugdhar said:

	public static final ForgeFlowingFluid.Properties MUDDY_WATER_PROPS = 
			new ForgeFlowingFluid.Properties(MUDDY_WATER, MUDDY_WATER_FLOW, FluidAttributes.builder(STILL, FLOWING)
					.overlay(OVERLAY)
					.color(0x3F1080FF))
			.bucket(ModItems.MUDDY_WATER_BUCKET)
			.block(ModBlocks.MUDDY_WATER); 

 

thanks :D

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.