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.entity; 019 020import net.tridentsdk.entity.Entity; 021import net.tridentsdk.event.Cancellable; 022import net.tridentsdk.event.Event; 023 024/** 025 * An event abstraction which relates to entities. Do not listen to this event, only subclasses. 026 * 027 * @author The TridentSDK Team 028 * @since 0.3-alpha-DP 029 */ 030public class EntityEvent extends Event implements Cancellable { 031 private Entity entity; 032 private boolean cancelled; 033 034 public EntityEvent(Entity entity) { 035 this.setEntity(entity); 036 } 037 038 /** 039 * @return return entity associated with this event 040 */ 041 042 public Entity entity() { 043 return this.entity; 044 } 045 046 /** 047 * set the entity associated with this event 048 */ 049 protected void setEntity(Entity entity) { 050 this.entity = entity; 051 } 052 053 @Override 054 public boolean isIgnored() { 055 return cancelled; 056 } 057 058 @Override 059 public void cancel(boolean cancelled) { 060 this.cancelled = cancelled; 061 } 062}