Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Estilos de texto
Alterar aparência
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled diff
Criado
há 11 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
8 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
43 linhas
Copiar tudo
5 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
40 linhas
Copiar tudo
Copiar
Copiado
Copiar
Copiado
public class
Hom
ingTask extends BukkitRunnable {
public class
Chas
ingTask extends BukkitRunnable {
private static final double MaxRotationAngle = 0.12;
private static final double TargetSpeed = 1.4;
Arrow arrow;
Arrow arrow;
LivingEntity target;
LivingEntity target;
Copiar
Copiado
Copiar
Copiado
public
Hom
ingTask(final Arrow arrow, final LivingEntity target, final
Plugin
plugin) {
public
Chas
ingTask(final Arrow arrow, final LivingEntity target, final
ChasingArrows
plugin) {
super();
super();
this.arrow = arrow;
this.arrow = arrow;
this.target = target;
this.target = target;
Copiar
Copiado
Copiar
Copiado
this.runTaskTimer(
plugin, 1L, 1L);
this.runTaskTimer(
(Plugin)
plugin, 1L, 1L);
}
}
public void run() {
public void run() {
final double speed = this.arrow.getVelocity().length();
final double speed = this.arrow.getVelocity().length();
if (this.arrow.isOnGround() || this.arrow.isDead() || this.target.isDead()) {
if (this.arrow.isOnGround() || this.arrow.isDead() || this.target.isDead()) {
this.cancel();
this.cancel();
return;
return;
}
}
final Vector toTarget = this.target.getLocation().clone().add(new Vector(0.0, 0.5, 0.0)).subtract(this.arrow.getLocation()).toVector();
final Vector toTarget = this.target.getLocation().clone().add(new Vector(0.0, 0.5, 0.0)).subtract(this.arrow.getLocation()).toVector();
final Vector dirVelocity = this.arrow.getVelocity().clone().normalize();
final Vector dirVelocity = this.arrow.getVelocity().clone().normalize();
final Vector dirToTarget = toTarget.clone().normalize();
final Vector dirToTarget = toTarget.clone().normalize();
final double angle = dirVelocity.angle(dirToTarget);
final double angle = dirVelocity.angle(dirToTarget);
Copiar
Copiado
Copiar
Copiado
double newSpeed = 0.9 * speed + 0.
13999999999999999
;
double newSpeed = 0.9 * speed + 0.
14
;
if (this.target instanceof Player && this.arrow.getLocation().distance(this.target.getLocation()) < 8.0) {
if (this.target instanceof Player && this.arrow.getLocation().distance(this.target.getLocation()) < 8.0) {
final Player player = (Player)this.target;
final Player player = (Player)this.target;
if (player.isBlocking()) {
if (player.isBlocking()) {
newSpeed = speed * 0.6;
newSpeed = speed * 0.6;
}
}
}
}
Vector newVelocity;
Vector newVelocity;
if (angle < 0.12) {
if (angle < 0.12) {
newVelocity = dirVelocity.clone().multiply(newSpeed);
newVelocity = dirVelocity.clone().multiply(newSpeed);
}
}
else {
else {
final Vector newDir = dirVelocity.clone().multiply((angle - 0.12) / angle).add(dirToTarget.clone().multiply(0.12 / angle));
final Vector newDir = dirVelocity.clone().multiply((angle - 0.12) / angle).add(dirToTarget.clone().multiply(0.12 / angle));
newDir.normalize();
newDir.normalize();
newVelocity = newDir.clone().multiply(newSpeed);
newVelocity = newDir.clone().multiply(newSpeed);
}
}
this.arrow.setVelocity(newVelocity.add(new Vector(0.0, 0.03, 0.0)));
this.arrow.setVelocity(newVelocity.add(new Vector(0.0, 0.03, 0.0)));
Copiar
Copiado
Copiar
Copiado
this.arrow.getWorld().playEffect(this.arrow.getLocation(), Effect.SMOKE, 0);
}
}
}
}
Diferenças salvas
Texto original
Abrir arquivo
public class HomingTask extends BukkitRunnable { private static final double MaxRotationAngle = 0.12; private static final double TargetSpeed = 1.4; Arrow arrow; LivingEntity target; public HomingTask(final Arrow arrow, final LivingEntity target, final Plugin plugin) { super(); this.arrow = arrow; this.target = target; this.runTaskTimer(plugin, 1L, 1L); } public void run() { final double speed = this.arrow.getVelocity().length(); if (this.arrow.isOnGround() || this.arrow.isDead() || this.target.isDead()) { this.cancel(); return; } final Vector toTarget = this.target.getLocation().clone().add(new Vector(0.0, 0.5, 0.0)).subtract(this.arrow.getLocation()).toVector(); final Vector dirVelocity = this.arrow.getVelocity().clone().normalize(); final Vector dirToTarget = toTarget.clone().normalize(); final double angle = dirVelocity.angle(dirToTarget); double newSpeed = 0.9 * speed + 0.13999999999999999; if (this.target instanceof Player && this.arrow.getLocation().distance(this.target.getLocation()) < 8.0) { final Player player = (Player)this.target; if (player.isBlocking()) { newSpeed = speed * 0.6; } } Vector newVelocity; if (angle < 0.12) { newVelocity = dirVelocity.clone().multiply(newSpeed); } else { final Vector newDir = dirVelocity.clone().multiply((angle - 0.12) / angle).add(dirToTarget.clone().multiply(0.12 / angle)); newDir.normalize(); newVelocity = newDir.clone().multiply(newSpeed); } this.arrow.setVelocity(newVelocity.add(new Vector(0.0, 0.03, 0.0))); this.arrow.getWorld().playEffect(this.arrow.getLocation(), Effect.SMOKE, 0); } }
Texto alterado
Abrir arquivo
public class ChasingTask extends BukkitRunnable { Arrow arrow; LivingEntity target; public ChasingTask(final Arrow arrow, final LivingEntity target, final ChasingArrows plugin) { super(); this.arrow = arrow; this.target = target; this.runTaskTimer((Plugin)plugin, 1L, 1L); } public void run() { final double speed = this.arrow.getVelocity().length(); if (this.arrow.isOnGround() || this.arrow.isDead() || this.target.isDead()) { this.cancel(); return; } final Vector toTarget = this.target.getLocation().clone().add(new Vector(0.0, 0.5, 0.0)).subtract(this.arrow.getLocation()).toVector(); final Vector dirVelocity = this.arrow.getVelocity().clone().normalize(); final Vector dirToTarget = toTarget.clone().normalize(); final double angle = dirVelocity.angle(dirToTarget); double newSpeed = 0.9 * speed + 0.14; if (this.target instanceof Player && this.arrow.getLocation().distance(this.target.getLocation()) < 8.0) { final Player player = (Player)this.target; if (player.isBlocking()) { newSpeed = speed * 0.6; } } Vector newVelocity; if (angle < 0.12) { newVelocity = dirVelocity.clone().multiply(newSpeed); } else { final Vector newDir = dirVelocity.clone().multiply((angle - 0.12) / angle).add(dirToTarget.clone().multiply(0.12 / angle)); newDir.normalize(); newVelocity = newDir.clone().multiply(newSpeed); } this.arrow.setVelocity(newVelocity.add(new Vector(0.0, 0.03, 0.0))); } }
Encontrar Diferença