Jump to content

[1.10] Detect right-click with item on block


Egietje

Recommended Posts

Hello, I am working on a mod and i want to make a machine that if you click on it with a specific item takes the item and "says" something in chat and I've tried using the onBlockActivated but it doesn't work, here's my code:

public class ComplimentsMachine extends Block {
public Random random = new Random();
public EntityPlayer player;
public int compliment = random.nextInt(2);
boolean c0, c1;

public ComplimentsMachine(Material materialIn) {
	super(materialIn);
}

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
	Item equipped = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null;
	if (worldIn.isRemote) {
		return true;
	} else {
		if (compliment == 0) {
			player.addChatMessage(new TextComponentString("§6Welcome§r §e" + player.getDisplayNameString() + "§r§6, have fun!§r"));
		}
		return true;
	}
}
}

Please help!

Link to comment
Share on other sites

package com.Egietje.degeweldigemod.init;

import java.util.Random;

import javax.annotation.Nullable;

import net.minecraft.block.Block;
import net.minecraft.block.BlockChest;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.world.ILockableContainer;
import net.minecraft.world.World;

public class ComplimentsMachine extends Block {
public Random random = new Random();
public EntityPlayer player;
public int compliment = random.nextInt(2);

public ComplimentsMachine(Material materialIn) {
	super(materialIn);
}

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
	Item equipped = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null;
	if (worldIn.isRemote) {
		return true;
	} else {
		if (compliment == 0) {
			player.addChatMessage(new TextComponentString("§6Welcome§r §e" + player.getDisplayNameString() + "§r§6, have fun!§r"));
		}
		return true;
	}
}
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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