Portal fixes and optimization

This commit is contained in:
Aleksey 2020-10-30 21:19:02 +03:00
parent 81e4098a72
commit 31f057eca5
11 changed files with 151 additions and 471 deletions

View file

@ -1,34 +1,11 @@
package ru.betterend.item;
import net.minecraft.block.BlockState;
import net.minecraft.item.Item;
import net.minecraft.item.ItemUsageContext;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import ru.betterend.blocks.RunedFlavolite;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndItems;
import ru.betterend.util.PortalFrameHelper;
public class EternalCrystal extends Item {
public EternalCrystal() {
super(EndItems.makeSettings());
}
public ActionResult useOnBlock(ItemUsageContext context) {
World world = context.getWorld();
if (world.isClient) return ActionResult.CONSUME;
BlockPos usedPos = context.getBlockPos();
BlockState usedBlock = world.getBlockState(usedPos);
if (usedBlock.isOf(EndBlocks.FLAVOLITE_RUNED) && !usedBlock.get(RunedFlavolite.ACTIVATED)) {
if (PortalFrameHelper.checkPortalFrame((ServerWorld) world, usedPos, usedBlock.getBlock())) {
context.getStack().decrement(1);
return ActionResult.SUCCESS;
}
}
return ActionResult.PASS;
}
}
}