mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-28 15:38:00 +01:00
32 lines
924 B
Java
32 lines
924 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.getSpecies())) {
|
||
|
return ActionResult.FAIL;
|
||
|
}
|
||
|
|
||
|
return super.useOnBlock(context);
|
||
|
}
|
||
|
}
|