Posted April 20, 201510 yr I have been messing round trying to get a custom bucket to work but I don't know how to set up I fluid handler in 1.8. I tried porting an older one but I could not get it to work as a lot of what it uses changed (as they seem to rewrite minecraft most updates). (I know fluids are not rendered by forge in 1.
April 20, 201510 yr Author I think I have fixed my code. If anyone needs a bucket handler for 1.8 here's mine. package epicarno.mystical.common; import java.util.HashMap; import java.util.Map; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.event.entity.player.FillBucketEvent; import net.minecraftforge.fml.common.eventhandler.Event.Result; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; public class BucketHandler { public static BucketHandler INSTANCE = new BucketHandler(); public Map<Block, Item> buckets = new HashMap<Block, Item>(); private BucketHandler() { } @SubscribeEvent public void onBucketFill(FillBucketEvent event) { System.out.println("zc"); ItemStack result = fillCustomBucket(event.world, event.target); if (result == null) return; event.result = result; event.setResult(Result.ALLOW); } private ItemStack fillCustomBucket(World world, MovingObjectPosition pos) { System.out.println("zdc"); Block block = world.getBlockState(pos.getBlockPos()).getBlock(); Item bucket = buckets.get(block); if (bucket != null) { world.setBlockState(pos.getBlockPos(), Blocks.air.getDefaultState()); return new ItemStack(bucket); } else return null; } }
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.