001/* 002 * Trident - A Multithreaded Server Alternative 003 * Copyright 2014 The TridentSDK Team 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018package net.tridentsdk.event.player; 019 020import net.tridentsdk.entity.DroppedItem; 021import net.tridentsdk.entity.LivingEntity; 022import net.tridentsdk.entity.living.Player; 023import net.tridentsdk.event.Cancellable; 024 025/** 026 * Called when a player shears an entity 027 * 028 * @author The TridentSDK Team 029 * @since 0.3-alpha-DP 030 */ 031public class PlayerShearEntityEvent extends PlayerEvent implements Cancellable { 032 private final LivingEntity sheared; 033 private DroppedItem drop; 034 private boolean cancelled; 035 036 public PlayerShearEntityEvent(Player player, LivingEntity sheared, DroppedItem drop) { 037 super(player); 038 this.sheared = sheared; 039 this.drop = drop; 040 } 041 042 /** 043 * Gets the entity that was sheared 044 */ 045 public LivingEntity sheared() { 046 return this.sheared; 047 } 048 049 /** 050 * Gets the item that shearing this entity will drop 051 */ 052 public DroppedItem drop() { 053 return this.drop; 054 } 055 056 /** 057 * Sets the item that shearing this entity will drop 058 */ 059 public void setDrop(DroppedItem drop) { 060 this.drop = drop; 061 } 062 063 @Override 064 public boolean isIgnored() { 065 return cancelled; 066 } 067 068 @Override 069 public void cancel(boolean cancelled) { 070 this.cancelled = cancelled; 071 } 072}