Files
ForgeCraft/src/main/java/com/kitsu/medievalcraft/events/EventHandle.java
KitsuShadow 9f0b506d42 inlay hammer
2015-07-04 23:13:55 -04:00

630 lines
28 KiB
Java

package com.kitsu.medievalcraft.events;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Vec3;
import net.minecraftforge.client.event.MouseEvent;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.entity.player.PlayerUseItemEvent;
import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
import com.kitsu.medievalcraft.Main;
import com.kitsu.medievalcraft.block.ModBlocks;
import com.kitsu.medievalcraft.item.ModItems;
import com.kitsu.medievalcraft.item.craftingtools.ForgeHammer;
import com.kitsu.medievalcraft.util.ShieldSwitchTable;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class EventHandle {
//private int wKey, sKey;
//public static int longbowD;
public int longbowTicks;
//public static boolean longbowUse;
public static boolean mobcheck, weaponUse;
Random rand = new Random();
/*@SubscribeEvent
public void zombieJoinsEvent(EntityJoinWorldEvent event){
if(event.entity instanceof EntityRazorBack){
event.entity.po
System.out.println(event.entity.posX + ":" + event.entity.posy + ":" + event.entity.posZ);
}
}*/
@SubscribeEvent
public void ironOreJungleEvent (HarvestDropsEvent event){
if(BiomeDictionary.isBiomeOfType(event.world.getBiomeGenForCoords(event.x, event.z), Type.JUNGLE)){
if(event.block.equals(Blocks.iron_ore)){
event.drops.clear();
ItemStack testStack = new ItemStack(ModBlocks.wootzOre);
event.drops.add(testStack);
}
}
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void longbowUseEvent (PlayerUseItemEvent.Tick event) {
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
if(player.worldObj.isRemote == true){
if(player.getItemInUse().getItem().equals(ModItems.longbow)){
longbowTicks = player.getItemInUseDuration();
ItemStack stack = player.inventory.getCurrentItem();
if((longbowTicks > 0) && (longbowTicks <=10)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 1);
}
if((longbowTicks > 10) && (longbowTicks <=20)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 2);
}
if((longbowTicks > 20) && (longbowTicks <=30)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 3);
}
if((longbowTicks > 30) && (longbowTicks <=40)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 4);
}
if((longbowTicks > 40) && (longbowTicks <=50)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 5);
}
if((longbowTicks > 50) && (longbowTicks <=60)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 6);
}
if((longbowTicks > 60) && (longbowTicks <=70)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 7);
}
if((longbowTicks > 70) && (longbowTicks <=80)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 8);
}
if((longbowTicks > 80) && (longbowTicks <=90)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 9);
}
if(longbowTicks == 99){
player.playSound((Main.MODID + ":tautBow"), 0.8F, 1.0F);
//player.worldObj.playSoundAtEntity(player, (Main.MODID + ":tautBow"), 0.8F, 1.0F);
}
if((longbowTicks > 90) && (longbowTicks <=100)){
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 10);
}
if((longbowTicks > 100)){
longbowTicks = 100;
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("D", 10);
}
}
}
}
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void getMouseEvent(MouseEvent event){
if((event.button == 0) && (event.buttonstate == true)){
ForgeHammer.forgeHammerLeftClick = true;
}
if(event.buttonstate == false){
ForgeHammer.forgeHammerLeftClick = false;
}
//System.out.println("Button: " + event.button);
//System.out.println("ButtonState: " + event.buttonstate);
}
/*@SubscribeEvent
public void splitLogEvent(PlayerInteractEvent event){
if(event.entityPlayer instanceof EntityPlayer){
EntityPlayer player = event.entityPlayer;
if((event.useBlock.equals(ModBlocks.cleanAcacia))
||(event.useBlock.equals(ModBlocks.cleanBirch))
||(event.useBlock.equals(ModBlocks.cleanDarkOak))
||(event.useBlock.equals(ModBlocks.cleanJungle))
||(event.useBlock.equals(ModBlocks.cleanOak))
||(event.useBlock.equals(ModBlocks.cleanSpruce))){
System.out.println("Player Used Wood");
if(player.inventory.getCurrentItem()!=null){
System.out.println(player.inventory.getCurrentItem().getClass());
if(player.getItemInUse().getItem() instanceof ItemAxe){
player.swingItem();
if(!event.world.isRemote){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.splitLog, 0, 2);
}
}
}
}
}
}*/
@SubscribeEvent
public void emptyHandBarkEvent(PlayerInteractEvent event) {
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
Block test = event.world.getBlock(event.x, event.y, event.z);
//Block isEmpty = event.world.getBlock(event.x, event.y + 1, event.z);
ItemStack itemStack = new ItemStack(ModItems.itemBark);
if((player.inventory.getCurrentItem() == null)) {
if((event.action == event.action.RIGHT_CLICK_BLOCK ) && ((test == Blocks.log)||test == Blocks.log2) ) { //&& (test == ModBlocks.testForge) && (isEmpty == Blocks.air)
if(test == Blocks.log){
player.worldObj.playSoundAtEntity(player, Main.MODID + ":scrapes1", 0.15F, 0.85F);
int woodMeta = event.world.getBlockMetadata(event.x,event.y, event.z);
if(woodMeta == 0 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 4 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 8 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 1 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 5 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 9 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 2 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 6 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 10 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 3 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 7 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 11 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
}
if(test == Blocks.log2){
player.worldObj.playSoundAtEntity(player, Main.MODID + ":scrapes1", 0.2F, 0.8F);
int woodMeta = event.world.getBlockMetadata(event.x, event.y, event.z);
if(woodMeta == 0 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 4 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 8 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 1 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 5 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 9 && event.world.rand.nextInt(9)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 1 + event.world.rand.nextInt(2), 0)));
}
}
}
}
}
}
}
/*@SubscribeEvent
public void flintKnappedEvent(PlayerInteractEvent event) {
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
Block test = event.world.getBlock(event.x, event.y, event.z);
ItemStack flint = new ItemStack(Items.flint);
ItemStack flintKnapped = new ItemStack(ModItems.flintKnapped, 1 + event.world.rand.nextInt(3), 0);
//if(player.isSneaking()){
if((player.inventory.getCurrentItem() != null)) {
if((player.inventory.getCurrentItem().getItem().equals(Items.flint)) && (test==Blocks.stone)){
if(player.isSwingInProgress == false){
player.worldObj.playSoundAtEntity(player, "mob.chicken.step", 1.0f, 1.0f);
player.swingItem();
if((event.world.rand.nextInt(4)==0)){
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
if((event.world.rand.nextInt(2)==0)){
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y+1, event.z, flintKnapped));
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
}
}
}
}
}
}*/
@SubscribeEvent
public void flintHandBarkEvent(PlayerInteractEvent event) {
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
Block test = event.world.getBlock(event.x, event.y, event.z);
//Block isEmpty = event.world.getBlock(event.x, event.y + 1, event.z);
ItemStack itemStack = new ItemStack(ModItems.itemBark);
ItemStack flint = new ItemStack(ModItems.flintKnapped);
//if(player.isSneaking()){
if((player.inventory.getCurrentItem() != null)) {
if((player.inventory.getCurrentItem().getUnlocalizedName().contains("flintKnapped"))){
if((event.action == event.action.RIGHT_CLICK_BLOCK ) && ((test == Blocks.log)||test == Blocks.log2)) {
if(test == Blocks.log){
player.worldObj.playSoundAtEntity(player, Main.MODID + ":scrapes1", 0.15F, 0.85F);
int woodMeta = event.world.getBlockMetadata(event.x,event.y, event.z);
if(woodMeta == 0 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 4 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 8 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanOak, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 1 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 5 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 9 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanSpruce, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 2 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 6 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 10 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanBirch, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 3 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 7 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 11 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y,event.z, ModBlocks.cleanJungle, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
}
if(test == Blocks.log2){
player.worldObj.playSoundAtEntity(player, Main.MODID + ":scrapes1", 0.2F, 0.8F);
int woodMeta = event.world.getBlockMetadata(event.x, event.y, event.z);
if(woodMeta == 0 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 4 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 8 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanAcacia, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 1 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 0, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 5 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 4, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
if(woodMeta == 9 && event.world.rand.nextInt(6)==0){
event.world.setBlock(event.x, event.y, event.z, ModBlocks.cleanDarkOak, 8, 2);
event.world.spawnEntityInWorld(new EntityItem(event.world, event.x, event.y, event.z, new ItemStack(ModItems.itemBark, 2 + event.world.rand.nextInt(2), 0)));
}
}
if(event.world.rand.nextInt(50)==0){
player.inventory.decrStackSize(player.inventory.currentItem, 1);
}
}
}
}
}
}
}
@SubscribeEvent
public void myDiamondPlayerInteractEvent(PlayerInteractEvent event) {
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
//Block test = event.world.getBlock(event.x, event.y, event.z);
//Block isEmpty = event.world.getBlock(event.x, event.y + 1, event.z);
ItemStack itemStack = new ItemStack(Items.diamond);
if(player.isSneaking()){
if((player.inventory.getCurrentItem() != null)) {
if((player.inventory.getCurrentItem().getItem().equals(Items.diamond))){
if((event.action == event.action.RIGHT_CLICK_BLOCK ) ) { //&& (test == ModBlocks.testForge) && (isEmpty == Blocks.air)
if(event.world.getBlock(event.x, event.y + 1, event.z).equals(Blocks.air)){
event.world.setBlock(event.x, event.y + 1, event.z, ModBlocks.myDiamond, 0, 2);
player.inventory.consumeInventoryItem(Items.diamond);
}
}
}
}
}
}
}
}
@SubscribeEvent
public void myEmeraldPlayerInteractEvent(PlayerInteractEvent event) {
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
//Block test = event.world.getBlock(event.x, event.y, event.z);
//Block isEmpty = event.world.getBlock(event.x, event.y + 1, event.z);
ItemStack itemStack = new ItemStack(Items.emerald);
if(player.isSneaking()){
if((player.inventory.getCurrentItem() != null)) {
if((player.inventory.getCurrentItem().isItemEqual(itemStack)) && (player.inventory.getStackInSlot(player.inventory.currentItem).stackSize >= 2)){
if((event.action == event.action.RIGHT_CLICK_BLOCK ) ) { //&& (test == ModBlocks.testForge) && (isEmpty == Blocks.air)
if(event.world.getBlock(event.x, event.y + 1, event.z).equals(Blocks.air)){
player.inventory.decrStackSize(player.inventory.currentItem, 1);
event.world.setBlock(event.x, event.y + 1, event.z, ModBlocks.myEmerald, 0, 2);
player.inventory.consumeInventoryItem(Items.emerald);
}
}
}
}
}
}
}
}
@SubscribeEvent
public void onLivingUpdateEventShit(LivingUpdateEvent event) {
//eventLongbowTicks = ItemLongbow.longbowTicks;
//System.out.println(eventLongbowTicks);
//MAKE COWS SHIT
//Differentiates Client and Server
if (!event.entity.worldObj.isRemote) {
//Default to 100000
if ( rand.nextInt(1500) == 0 ) {
//Checks to see if the LivingUpdate is being applied to cow, if so:
if (event.entity instanceof EntityCow) {
event.entityLiving.dropItem(ModItems.itemShit, 1);
}
}
}
}
/*
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void onLivingUpdateLongSword (LivingUpdateEvent event) {
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
if (player.isUsingItem() == true) {
useItem = player.inventory.getCurrentItem();
j = useItem.getItemDamage();
if(useItem.isItemEqual(new ItemStack(ModItems.longSword, OreDictionary.WILDCARD_VALUE, j))) {
player.inventory.changeCurrentItem(1);
if (player.inventory.getCurrentItem() != null) {
switchedItem = player.inventory.getCurrentItem();
i = switchedItem.getItemDamage();
if ((switchedItem.isItemEqual(new ItemStack(ModItems.woodenShield, OreDictionary.WILDCARD_VALUE, i))) || (switchedItem.isItemEqual(new ItemStack(ModItems.ironShield, OreDictionary.WILDCARD_VALUE, i)))){
} else player.inventory.changeCurrentItem(-1);
} else player.inventory.changeCurrentItem(-1);
}
}
}
}*/
/*@SubscribeEvent
@SideOnly(Side.CLIENT)
public void onPlayerUpdateMaceWoodenShield (LivingUpdateEvent event) {
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
if (player.isUsingItem() == true) {
useItem2 = player.inventory.getCurrentItem();
j = useItem2.getItemDamage();
if(useItem2.isItemEqual(new ItemStack(ModItems.heavyMace, OreDictionary.WILDCARD_VALUE, j))) {
player.inventory.changeCurrentItem(1);
if (player.inventory.getCurrentItem() != null) {
switchedItem2 = player.inventory.getCurrentItem();
i = switchedItem2.getItemDamage();
if ((switchedItem2.isItemEqual(new ItemStack(ModItems.woodenShield, OreDictionary.WILDCARD_VALUE, i))) || (switchedItem2.isItemEqual(new ItemStack(ModItems.ironShield, OreDictionary.WILDCARD_VALUE, i)))){
} else player.inventory.changeCurrentItem(-1);
} else player.inventory.changeCurrentItem(-1);
}
}
}
}*/
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void SwordToShieldSwitch (LivingUpdateEvent event) {
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
if(player.isUsingItem() == true){
if((checkWeapon(player.getItemInUse().getItem())) == true){
if(weaponUse == true){
if(player.inventory.currentItem != 0){
int a = player.inventory.currentItem;
if(player.inventory.getStackInSlot(a-1) != null){
if((checkShield(player.inventory.getStackInSlot(a-1).getItem())) == true){
player.inventory.changeCurrentItem(+1);
weaponUse = false;
}
}
}
}
}
}
}
}
private boolean checkWeapon(Item testItem){
for(int i = 0; i < ShieldSwitchTable.weapons.size(); i++){
if(testItem == ShieldSwitchTable.weapons.get(i)){
return true;
}
}
return false;
}
private Boolean checkShield(Item testItem){
for(int i = 0; i < ShieldSwitchTable.shields.size(); i++){
if(testItem == ShieldSwitchTable.shields.get(i)){
return true;
}
}
return false;
}
@SubscribeEvent
public void onPlayerHurtShield (LivingHurtEvent event) {
if (event.entity instanceof EntityPlayer && event.ammount > 0) {
EntityPlayer player = (EntityPlayer) event.entity;
Entity mobEntity = event.source.getEntity();
String mobString = event.source.getDamageType();
//System.out.println(mobEntity);
//System.out.println(mobString);
if(player.isUsingItem()==true){
if (player.inventory.getCurrentItem().getItem().equals(checkShield(player.inventory.getCurrentItem().getItem()))) {
if ((mobString.equals("explosion")) || (mobString.equals("thrown")) || (mobString.equals("arrow") || (mobString.equals("player")) || (mobString.equals("mob")) || (mobString.equals("fireball")))) {
Vec3 vec3 = player.getLook(1.0F).normalize();
Vec3 vec31 = Vec3.createVectorHelper(mobEntity.posX - player.posX, mobEntity.boundingBox.minY + mobEntity.height / 2.0F - (player.posY + player.getEyeHeight()), mobEntity.posZ - player.posZ);
double d0 = vec31.lengthVector();
vec31 = vec31.normalize();
double d1 = vec3.dotProduct(vec31);
double d2 = 1.0D - 0.025D / d0;
if (d1 + 0.3 > d2) {
if(player.inventory.getCurrentItem().getItem().equals(ModItems.woodenShield)){
if(event.ammount > 1.5F){
event.ammount = event.ammount-2F;
} else event.ammount = 0;
player.getCurrentEquippedItem().damageItem(2, player);
player.worldObj.playSoundAtEntity(player, Main.MODID + ":woodshieldbash", 1.0F, 1.0F);
//event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 60, 0, true));
if (mobString.equals("explosion") && rand.nextInt(5) == 1) {
--player.getCurrentEquippedItem().stackSize;
}
}
if(player.inventory.getCurrentItem().getItem().equals(ModItems.ironShield)){
if(event.ammount > 4F){
event.ammount = event.ammount-4F;
} else event.ammount = 0;
player.getCurrentEquippedItem().damageItem(4, player);
player.worldObj.playSoundAtEntity(player, Main.MODID + ":ironShieldBash", 1.0F, 1.0F);
}
}
}
}
}
}
}
}