mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
73 lines
2.0 KiB
Java
73 lines
2.0 KiB
Java
package com.hbm.items.tool;
|
|
|
|
import java.util.List;
|
|
|
|
import org.lwjgl.input.Keyboard;
|
|
|
|
import com.hbm.entity.item.EntityDeliveryDrone;
|
|
import com.hbm.items.ItemEnumMulti;
|
|
import com.hbm.main.MainRegistry;
|
|
import com.hbm.util.i18n.I18nUtil;
|
|
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumChatFormatting;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemDrone extends ItemEnumMulti {
|
|
|
|
public ItemDrone() {
|
|
super(EnumDroneType.class, true, true);
|
|
this.setCreativeTab(MainRegistry.machineTab);
|
|
}
|
|
|
|
public static enum EnumDroneType {
|
|
PATROL,
|
|
PATROL_CHUNKLOADING,
|
|
PATROL_EXPRESS,
|
|
PATROL_EXPRESS_CHUNKLOADING,
|
|
REQUEST
|
|
}
|
|
|
|
@Override
|
|
public boolean onItemUse(ItemStack stack, EntityPlayer entity, World world, int x, int y, int z, int side, float fx, float fy, float fz) {
|
|
|
|
if(side != 1) return false;
|
|
if(world.isRemote) return true;
|
|
|
|
Entity toSpawn = null;
|
|
|
|
if(stack.getItemDamage() < 4) {
|
|
toSpawn = new EntityDeliveryDrone(world);
|
|
if(stack.getItemDamage() % 2 == 1) {
|
|
((EntityDeliveryDrone) toSpawn).setChunkLoading();
|
|
}
|
|
if(stack.getItemDamage() > 1) {
|
|
((EntityDeliveryDrone) toSpawn).getDataWatcher().updateObject(11, (byte) 1);
|
|
}
|
|
}
|
|
|
|
if(toSpawn != null) {
|
|
toSpawn.setPosition(x + 0.5, y + 1, z + 0.5);
|
|
world.spawnEntityInWorld(toSpawn);
|
|
}
|
|
|
|
stack.stackSize--;
|
|
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
|
|
|
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
|
|
for(String s : I18nUtil.resolveKeyArray(stack.getUnlocalizedName() + ".desc"))
|
|
list.add(EnumChatFormatting.YELLOW + s);
|
|
} else {
|
|
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.DARK_GRAY
|
|
+ "" + EnumChatFormatting.ITALIC + "> to display more info");
|
|
}
|
|
}
|
|
}
|