@SuppressWarnings({"unchecked", "rawtypes"})
public EntityController<CommonEntity<T>> getController() {
if (isHooked()) {
return (EntityController<CommonEntity<T>>) getHandle(NMSEntityHook.class).getController();
}
final EntityController controller = new DefaultEntityController();
controller.bind(this);
return controller;
}