mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-12-01 00:37:59 +01:00
31 lines
932 B
Java
31 lines
932 B
Java
package com.minelittlepony.unicopia.item;
|
|
|
|
import java.util.function.Predicate;
|
|
|
|
import com.minelittlepony.unicopia.Race;
|
|
import com.minelittlepony.unicopia.entity.player.Pony;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.item.AliasedBlockItem;
|
|
import net.minecraft.item.ItemUsageContext;
|
|
import net.minecraft.util.ActionResult;
|
|
|
|
public class RacePredicatedAliasedBlockItem extends AliasedBlockItem {
|
|
|
|
private Predicate<Race> predicate;
|
|
|
|
public RacePredicatedAliasedBlockItem(Block block, Settings settings, Predicate<Race> predicate) {
|
|
super(block, settings);
|
|
this.predicate = predicate;
|
|
}
|
|
|
|
@Override
|
|
public ActionResult useOnBlock(ItemUsageContext context) {
|
|
Pony pony = Pony.of(context.getPlayer());
|
|
if (pony == null || !predicate.test(pony.getObservedSpecies())) {
|
|
return ActionResult.FAIL;
|
|
}
|
|
|
|
return super.useOnBlock(context);
|
|
}
|
|
}
|