mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-03-28 13:57:46 +01:00
45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
package com.minelittlepony.unicopia.item;
|
|
|
|
import java.util.function.Predicate;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumFacing;
|
|
import net.minecraft.util.ResourceLocation;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.world.World;
|
|
|
|
public class UItemBlock extends UItemDecoration {
|
|
|
|
private final Predicate<EntityPlayer> abilityTest;
|
|
|
|
public UItemBlock(Block block, Predicate<EntityPlayer> abilityTest) {
|
|
super(block);
|
|
|
|
this.abilityTest = abilityTest;
|
|
}
|
|
|
|
public UItemBlock(Block block, ResourceLocation res, Predicate<EntityPlayer> abilityTest) {
|
|
super(block, res);
|
|
|
|
this.abilityTest = abilityTest;
|
|
}
|
|
|
|
|
|
public UItemBlock(Block block, String domain, String name, Predicate<EntityPlayer> abilityTest) {
|
|
super(block, domain, name);
|
|
|
|
this.abilityTest = abilityTest;
|
|
}
|
|
|
|
@Override
|
|
public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, EnumFacing side, EntityPlayer player, ItemStack stack) {
|
|
if (!(player.capabilities.isCreativeMode || abilityTest.test(player))) {
|
|
return false;
|
|
}
|
|
|
|
return super.canPlaceBlockOnSide(worldIn, pos, side, player, stack);
|
|
}
|
|
|
|
}
|