-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathItemNpcWand.java
More file actions
84 lines (72 loc) · 3.09 KB
/
Copy pathItemNpcWand.java
File metadata and controls
84 lines (72 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package noppes.npcs.items;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.world.World;
import noppes.npcs.CustomItems;
import noppes.npcs.CustomNpcs;
import noppes.npcs.CustomNpcsPermissions;
import noppes.npcs.NoppesUtilServer;
import noppes.npcs.config.ConfigMain;
import noppes.npcs.constants.EnumGuiType;
import noppes.npcs.entity.EntityCustomNpc;
public class ItemNpcWand extends Item {
public ItemNpcWand() {
maxStackSize = 1;
setCreativeTab(CustomItems.tab);
}
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer player) {
if (!par2World.isRemote)
return par1ItemStack;
else if (CustomNpcsPermissions.hasPermission(player, CustomNpcsPermissions.NPC_GUI)) {
CustomNpcs.proxy.openGui(0, 0, 0, EnumGuiType.NpcRemote, player);
} else
player.addChatMessage(new ChatComponentTranslation("availability.permission"));
return par1ItemStack;
}
@Override
public boolean onItemUse(ItemStack par1ItemStack, final EntityPlayer player, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) {
if (par3World.isRemote)
return false;
if (ConfigMain.OpsOnly && !MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile())) {
player.addChatMessage(new ChatComponentTranslation("availability.permission"));
return false;
} else if (CustomNpcsPermissions.hasPermission(player, CustomNpcsPermissions.NPC_CREATE)) {
EntityCustomNpc npc = new EntityCustomNpc(par3World);
npc.ais.startPos = new int[]{par4, par5, par6};
npc.setLocationAndAngles((float) par4 + 0.5F, npc.getStartYPos(), (float) par6 + 0.5F, player.rotationYaw, player.rotationPitch);
par3World.spawnEntityInWorld(npc);
npc.setHealth(npc.getMaxHealth());
NoppesUtilServer.sendOpenGui(player, EnumGuiType.MainMenuDisplay, npc);
return true;
} else
player.addChatMessage(new ChatComponentTranslation("availability.permission"));
return false;
}
@Override
public int getColorFromItemStack(ItemStack par1ItemStack, int par2) {
return 0x8B4513;
}
@Override
public boolean requiresMultipleRenderPasses() {
return true;
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister par1IconRegister) {
this.itemIcon = Items.iron_hoe.getIconFromDamage(0);
}
@Override
public Item setUnlocalizedName(String name) {
GameRegistry.registerItem(this, name);
return super.setUnlocalizedName(name);
}
}