Implement rift remover
This commit is contained in:
parent
07d6e48647
commit
7a65d60c4b
3 changed files with 56 additions and 1 deletions
|
@ -42,6 +42,7 @@ public final class ModelManager {
|
||||||
register(ModItems.WORLD_THREAD);
|
register(ModItems.WORLD_THREAD);
|
||||||
register(ModItems.RIFT_CONNECTION_TOOL);
|
register(ModItems.RIFT_CONNECTION_TOOL);
|
||||||
register(ModItems.RIFT_BLADE);
|
register(ModItems.RIFT_BLADE);
|
||||||
|
register(ModItems.RIFT_REMOVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerModelVariants() {
|
public static void registerModelVariants() {
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.zixiken.dimdoors.shared.items;
|
||||||
|
|
||||||
|
import com.zixiken.dimdoors.DimDoors;
|
||||||
|
import com.zixiken.dimdoors.shared.RayTraceHelper;
|
||||||
|
import com.zixiken.dimdoors.shared.tileentities.TileEntityFloatingRift;
|
||||||
|
import ddutils.I18nUtils;
|
||||||
|
import net.minecraft.client.util.ITooltipFlag;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ActionResult;
|
||||||
|
import net.minecraft.util.EnumActionResult;
|
||||||
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraft.util.math.RayTraceResult;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ItemRiftRemover extends Item {
|
||||||
|
public static final String ID = "rift_remover";
|
||||||
|
|
||||||
|
public ItemRiftRemover() {
|
||||||
|
setCreativeTab(DimDoors.DIM_DOORS_CREATIVE_TAB);
|
||||||
|
setUnlocalizedName(ID);
|
||||||
|
setRegistryName(new ResourceLocation(DimDoors.MODID, ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack stack, World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
|
||||||
|
I18nUtils.translateAndAdd("info.rift_remover", tooltip);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer playerIn, EnumHand handIn) {
|
||||||
|
ItemStack stack = playerIn.getHeldItem(handIn);
|
||||||
|
|
||||||
|
if (world.isRemote) {
|
||||||
|
return new ActionResult<>(EnumActionResult.FAIL, stack);
|
||||||
|
}
|
||||||
|
RayTraceResult hit = rayTrace(world, playerIn, true);
|
||||||
|
if (RayTraceHelper.isRift(hit, world)) {
|
||||||
|
TileEntityFloatingRift rift = (TileEntityFloatingRift) world.getTileEntity(hit.getBlockPos());
|
||||||
|
world.setBlockState(rift.getPos(), Blocks.AIR.getDefaultState());
|
||||||
|
|
||||||
|
stack.damageItem(1, playerIn);
|
||||||
|
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
|
||||||
|
}
|
||||||
|
return new ActionResult<>(EnumActionResult.FAIL, stack);
|
||||||
|
}
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ public final class ModItems {
|
||||||
// Tools
|
// Tools
|
||||||
public static final ItemRiftConnectionTool RIFT_CONNECTION_TOOL = new ItemRiftConnectionTool();
|
public static final ItemRiftConnectionTool RIFT_CONNECTION_TOOL = new ItemRiftConnectionTool();
|
||||||
public static final ItemRiftBlade RIFT_BLADE = new ItemRiftBlade();
|
public static final ItemRiftBlade RIFT_BLADE = new ItemRiftBlade();
|
||||||
|
public static final ItemRiftRemover RIFT_REMOVER = new ItemRiftRemover();
|
||||||
|
|
||||||
// ItemBlocks
|
// ItemBlocks
|
||||||
public static final ItemFabric FABRIC = new ItemFabric();
|
public static final ItemFabric FABRIC = new ItemFabric();
|
||||||
|
@ -44,7 +45,8 @@ public final class ModItems {
|
||||||
UNSTABLE_DIMENSIONAL_DOOR,
|
UNSTABLE_DIMENSIONAL_DOOR,
|
||||||
WORLD_THREAD,
|
WORLD_THREAD,
|
||||||
RIFT_CONNECTION_TOOL,
|
RIFT_CONNECTION_TOOL,
|
||||||
RIFT_BLADE);
|
RIFT_BLADE,
|
||||||
|
RIFT_REMOVER);
|
||||||
|
|
||||||
// ItemBlocks
|
// ItemBlocks
|
||||||
event.getRegistry().registerAll(
|
event.getRegistry().registerAll(
|
||||||
|
|
Loading…
Reference in a new issue