@@ -24,6 +24,6 @@ public abstract class CraftChestedHorse extends CraftAbstractHorse implements Ch
|
||||
public void setCarryingChest(boolean chest) {
|
||||
if (chest == isCarryingChest()) return;
|
||||
getHandle().setCarryingChest(chest);
|
||||
getHandle().dx();
|
||||
getHandle().loadChest();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
else if (entity instanceof EntityTameableAnimal) {
|
||||
if (entity instanceof EntityWolf) { return new CraftWolf(server, (EntityWolf) entity); }
|
||||
else if (entity instanceof EntityOcelot) { return new CraftOcelot(server, (EntityOcelot) entity); }
|
||||
else if (entity instanceof EntityParrot) { return new CraftParrot(server, (EntityParrot) entity); }
|
||||
}
|
||||
else if (entity instanceof EntitySheep) { return new CraftSheep(server, (EntitySheep) entity); }
|
||||
else if (entity instanceof EntityHorseAbstract) {
|
||||
@@ -109,9 +110,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
if (entity instanceof EntityGuardianElder) { return new CraftElderGuardian(server, (EntityGuardianElder) entity); }
|
||||
else { return new CraftGuardian(server, (EntityGuardian) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityEvoker) { return new CraftEvoker(server, (EntityEvoker) entity); }
|
||||
else if (entity instanceof EntityVex) { return new CraftVex(server, (EntityVex) entity); }
|
||||
else if (entity instanceof EntityVindicator) { return new CraftVindicator(server, (EntityVindicator) entity); }
|
||||
else if (entity instanceof EntityIllagerAbstract) {
|
||||
if (entity instanceof EntityIllagerWizard) {
|
||||
if (entity instanceof EntityEvoker) { return new CraftEvoker(server, (EntityEvoker) entity); }
|
||||
else if (entity instanceof EntityIllagerIllusioner) { return new CraftIllusioner(server, (EntityIllagerIllusioner) entity); }
|
||||
else { return new CraftSpellcaster(server, (EntityIllagerWizard) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityVindicator) { return new CraftVindicator(server, (EntityVindicator) entity); }
|
||||
else { return new CraftIllager(server, (EntityIllagerAbstract) entity); }
|
||||
}
|
||||
|
||||
else { return new CraftMonster(server, (EntityMonster) entity); }
|
||||
}
|
||||
@@ -383,7 +391,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return false;
|
||||
}
|
||||
|
||||
getHandle().az(); // PAIL: rename
|
||||
getHandle().leaveVehicle();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -657,17 +665,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
||||
@Override
|
||||
public Set<String> getScoreboardTags() {
|
||||
return getHandle().P(); // PAIL: getScoreboardTags
|
||||
return getHandle().getScoreboardTags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addScoreboardTag(String tag) {
|
||||
return getHandle().a(tag); // PAIL: addScoreboardTag
|
||||
return getHandle().addScoreboardTag(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeScoreboardTag(String tag) {
|
||||
return getHandle().b(tag); // PAIL: removeScoreboardTag
|
||||
return getHandle().removeScoreboardTag(tag);
|
||||
}
|
||||
|
||||
protected NBTTagCompound save() {
|
||||
NBTTagCompound nbttagcompound = new NBTTagCompound();
|
||||
|
||||
nbttagcompound.setString("id", getHandle().getSaveID());
|
||||
getHandle().save(nbttagcompound);
|
||||
|
||||
return nbttagcompound;
|
||||
}
|
||||
|
||||
private static PermissibleBase getPermissibleBase() {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityEvoker;
|
||||
import net.minecraft.server.EntityIllagerWizard;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Evoker;
|
||||
|
||||
public class CraftEvoker extends CraftMonster implements Evoker {
|
||||
public class CraftEvoker extends CraftSpellcaster implements Evoker {
|
||||
|
||||
public CraftEvoker(CraftServer server, EntityEvoker entity) {
|
||||
super(server, entity);
|
||||
@@ -27,12 +28,12 @@ public class CraftEvoker extends CraftMonster implements Evoker {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Spell getCurrentSpell() {
|
||||
return Spell.values()[getHandle().getSpell()];
|
||||
public Evoker.Spell getCurrentSpell() {
|
||||
return Evoker.Spell.values()[getHandle().getSpell().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentSpell(Spell spell) {
|
||||
getHandle().a(spell == null ? 0 : spell.ordinal());
|
||||
public void setCurrentSpell(Evoker.Spell spell) {
|
||||
getHandle().setSpell(spell == null ? EntityIllagerWizard.Spell.NONE : EntityIllagerWizard.Spell.a(spell.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class CraftEvokerFangs extends CraftEntity implements EvokerFangs {
|
||||
|
||||
@Override
|
||||
public LivingEntity getOwner() {
|
||||
EntityLiving owner = getHandle().j(); // PAIL: rename
|
||||
EntityLiving owner = getHandle().getOwner();
|
||||
|
||||
return (owner == null) ? null : (LivingEntity) owner.getBukkitEntity();
|
||||
}
|
||||
|
||||
@@ -422,15 +422,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
public boolean hasCooldown(Material material) {
|
||||
Preconditions.checkArgument(material != null, "material");
|
||||
|
||||
return getHandle().di().a(CraftMagicNumbers.getItem(material)); // PAIL: getCooldownTracker
|
||||
return getHandle().getCooldownTracker().a(CraftMagicNumbers.getItem(material));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCooldown(Material material) {
|
||||
Preconditions.checkArgument(material != null, "material");
|
||||
|
||||
ItemCooldown.Info cooldown = getHandle().di().a.get(CraftMagicNumbers.getItem(material));
|
||||
return (cooldown == null) ? 0 : Math.max(0, cooldown.b - getHandle().di().b);
|
||||
ItemCooldown.Info cooldown = getHandle().getCooldownTracker().cooldowns.get(CraftMagicNumbers.getItem(material));
|
||||
return (cooldown == null) ? 0 : Math.max(0, cooldown.endTick - getHandle().getCooldownTracker().currentTick);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -438,6 +438,44 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
Preconditions.checkArgument(material != null, "material");
|
||||
Preconditions.checkArgument(ticks >= 0, "Cannot have negative cooldown");
|
||||
|
||||
getHandle().di().a(CraftMagicNumbers.getItem(material), ticks);
|
||||
getHandle().getCooldownTracker().a(CraftMagicNumbers.getItem(material), ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.entity.Entity getShoulderEntityLeft() {
|
||||
if (getHandle().getShoulderEntityLeft() != null) {
|
||||
Entity shoulder = EntityTypes.a(getHandle().getShoulderEntityLeft(), getHandle().world);
|
||||
|
||||
return (shoulder == null) ? null : shoulder.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShoulderEntityLeft(org.bukkit.entity.Entity entity) {
|
||||
getHandle().setShoulderEntityLeft(entity == null ? null : ((CraftEntity) entity).save());
|
||||
if (entity != null) {
|
||||
entity.remove();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.entity.Entity getShoulderEntityRight() {
|
||||
if (getHandle().getShoulderEntityRight() != null) {
|
||||
Entity shoulder = EntityTypes.a(getHandle().getShoulderEntityRight(), getHandle().world);
|
||||
|
||||
return (shoulder == null) ? null : shoulder.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShoulderEntityRight(org.bukkit.entity.Entity entity) {
|
||||
getHandle().setShoulderEntityRight(entity == null ? null : ((CraftEntity) entity).save());
|
||||
if (entity != null) {
|
||||
entity.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityIllagerAbstract;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Illager;
|
||||
|
||||
public class CraftIllager extends CraftMonster implements Illager {
|
||||
|
||||
public CraftIllager(CraftServer server, EntityIllagerAbstract entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityIllagerAbstract getHandle() {
|
||||
return (EntityIllagerAbstract) super.getHandle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftIllager";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityIllagerIllusioner;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Illusioner;
|
||||
|
||||
public class CraftIllusioner extends CraftSpellcaster implements Illusioner {
|
||||
|
||||
public CraftIllusioner(CraftServer server, EntityIllagerIllusioner entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityIllagerIllusioner getHandle() {
|
||||
return (EntityIllagerIllusioner) super.getHandle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftIllusioner";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ILLUSIONER;
|
||||
}
|
||||
}
|
||||
@@ -39,15 +39,15 @@ public class CraftLlama extends CraftChestedHorse implements Llama {
|
||||
|
||||
@Override
|
||||
public int getStrength() {
|
||||
return getHandle().dL();
|
||||
return getHandle().getStrength();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStrength(int strength) {
|
||||
Preconditions.checkArgument(1 <= strength && strength <= 5, "strength must be [1,5]");
|
||||
if (strength == getStrength()) return;
|
||||
getHandle().p(strength);
|
||||
getHandle().dx();
|
||||
getHandle().setStrength(strength);
|
||||
getHandle().loadChest();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,7 +3,6 @@ package org.bukkit.craftbukkit.entity;
|
||||
import net.minecraft.server.EntityLlamaSpit;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.LlamaSpit;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
@@ -28,21 +27,11 @@ public class CraftLlamaSpit extends AbstractProjectile implements LlamaSpit {
|
||||
return EntityType.LLAMA_SPIT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LivingEntity _INVALID_getShooter() {
|
||||
return (getHandle().shooter != null) ? (LivingEntity) getHandle().shooter.getBukkitEntity() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getShooter() {
|
||||
return (getHandle().shooter != null) ? (ProjectileSource) getHandle().shooter.getBukkitEntity() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void _INVALID_setShooter(LivingEntity shooter) {
|
||||
getHandle().shooter = (shooter != null) ? ((CraftLivingEntity) shooter).getHandle() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShooter(ProjectileSource source) {
|
||||
getHandle().shooter = (source != null) ? ((CraftLivingEntity) source).getHandle() : null;
|
||||
|
||||
@@ -7,8 +7,8 @@ import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Ocelot;
|
||||
|
||||
public class CraftOcelot extends CraftTameableAnimal implements Ocelot {
|
||||
public CraftOcelot(CraftServer server, EntityOcelot wolf) {
|
||||
super(server, wolf);
|
||||
public CraftOcelot(CraftServer server, EntityOcelot ocelot) {
|
||||
super(server, ocelot);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -25,6 +25,11 @@ public class CraftOcelot extends CraftTameableAnimal implements Ocelot {
|
||||
getHandle().setCatType(type.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftOcelot";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.OCELOT;
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.server.EntityParrot;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Parrot;
|
||||
|
||||
public class CraftParrot extends CraftTameableAnimal implements Parrot {
|
||||
|
||||
public CraftParrot(CraftServer server, EntityParrot parrot) {
|
||||
super(server, parrot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityParrot getHandle() {
|
||||
return (EntityParrot) entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Variant getVariant() {
|
||||
return Variant.values()[getHandle().getVariant()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariant(Variant variant) {
|
||||
Preconditions.checkArgument(variant != null, "variant");
|
||||
|
||||
getHandle().setVariant(variant.ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftParrot";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.PARROT;
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,8 @@ import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.craftbukkit.CraftSound;
|
||||
import org.bukkit.craftbukkit.CraftStatistic;
|
||||
import org.bukkit.craftbukkit.CraftWorld;
|
||||
import org.bukkit.craftbukkit.advancement.CraftAdvancement;
|
||||
import org.bukkit.craftbukkit.advancement.CraftAdvancementProgress;
|
||||
import org.bukkit.craftbukkit.map.CraftMapView;
|
||||
import org.bukkit.craftbukkit.map.RenderData;
|
||||
import org.bukkit.craftbukkit.scoreboard.CraftScoreboard;
|
||||
@@ -559,29 +561,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void awardAchievement(Achievement achievement) {
|
||||
Validate.notNull(achievement, "Achievement cannot be null");
|
||||
if (achievement.hasParent() && !hasAchievement(achievement.getParent())) {
|
||||
awardAchievement(achievement.getParent());
|
||||
}
|
||||
getHandle().getStatisticManager().setStatistic(getHandle(), CraftStatistic.getNMSAchievement(achievement), 1);
|
||||
getHandle().getStatisticManager().updateStatistics(getHandle());
|
||||
throw new UnsupportedOperationException("Not supported in this Minecraft version.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAchievement(Achievement achievement) {
|
||||
Validate.notNull(achievement, "Achievement cannot be null");
|
||||
for (Achievement achieve : Achievement.values()) {
|
||||
if (achieve.getParent() == achievement && hasAchievement(achieve)) {
|
||||
removeAchievement(achieve);
|
||||
}
|
||||
}
|
||||
getHandle().getStatisticManager().setStatistic(getHandle(), CraftStatistic.getNMSAchievement(achievement), 0);
|
||||
throw new UnsupportedOperationException("Not supported in this Minecraft version.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasAchievement(Achievement achievement) {
|
||||
Validate.notNull(achievement, "Achievement cannot be null");
|
||||
return getHandle().getStatisticManager().hasAchievement(CraftStatistic.getNMSAchievement(achievement));
|
||||
throw new UnsupportedOperationException("Not supported in this Minecraft version.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -754,15 +744,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return server.getBanList(BanList.Type.NAME).isBanned(getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBanned(boolean value) {
|
||||
if (value) {
|
||||
server.getBanList(BanList.Type.NAME).addBan(getName(), null, null, null);
|
||||
} else {
|
||||
server.getBanList(BanList.Type.NAME).pardon(getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelisted() {
|
||||
return server.getHandle().getWhitelist().isWhitelisted(getProfile());
|
||||
@@ -1454,4 +1435,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
getHandle().playerConnection.sendPacket(packetplayoutworldparticles);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.advancement.AdvancementProgress getAdvancementProgress(org.bukkit.advancement.Advancement advancement) {
|
||||
Preconditions.checkArgument(advancement != null, "advancement");
|
||||
|
||||
CraftAdvancement craft = (CraftAdvancement) advancement;
|
||||
AdvancementDataPlayer data = getHandle().getAdvancementData();
|
||||
AdvancementProgress progress = data.getProgress(craft.getHandle());
|
||||
|
||||
return new CraftAdvancementProgress(craft, data, progress);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,13 +25,13 @@ public class CraftShulker extends CraftGolem implements Shulker {
|
||||
|
||||
@Override
|
||||
public DyeColor getColor() {
|
||||
return DyeColor.getByWoolData(getHandle().getDataWatcher().get(EntityShulker.bw));
|
||||
return DyeColor.getByWoolData(getHandle().getDataWatcher().get(EntityShulker.COLOR));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColor(DyeColor color) {
|
||||
Preconditions.checkArgument(color != null, "color");
|
||||
|
||||
getHandle().getDataWatcher().set(EntityShulker.bw, color.getWoolData());
|
||||
getHandle().getDataWatcher().set(EntityShulker.COLOR, color.getWoolData());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.server.EntityIllagerWizard;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Spellcaster;
|
||||
|
||||
public class CraftSpellcaster extends CraftIllager implements Spellcaster {
|
||||
|
||||
public CraftSpellcaster(CraftServer server, EntityIllagerWizard entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityIllagerWizard getHandle() {
|
||||
return (EntityIllagerWizard) super.getHandle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftSpellcaster";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Spell getSpell() {
|
||||
return Spell.valueOf(getHandle().getSpell().name());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSpell(Spell spell) {
|
||||
Preconditions.checkArgument(spell != null, "Use Spell.NONE");
|
||||
|
||||
getHandle().setSpell(EntityIllagerWizard.Spell.a(spell.ordinal()));
|
||||
}
|
||||
}
|
||||
@@ -123,11 +123,11 @@ public class CraftTippedArrow extends CraftArrow implements TippedArrow {
|
||||
|
||||
@Override
|
||||
public void setColor(Color color) {
|
||||
getHandle().d(color.asRGB());
|
||||
getHandle().setColor(color.asRGB());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Color getColor() {
|
||||
return Color.fromRGB(getHandle().o());
|
||||
return Color.fromRGB(getHandle().getColor());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Vindicator;
|
||||
|
||||
public class CraftVindicator extends CraftMonster implements Vindicator {
|
||||
public class CraftVindicator extends CraftIllager implements Vindicator {
|
||||
|
||||
public CraftVindicator(CraftServer server, EntityVindicator entity) {
|
||||
super(server, entity);
|
||||
|
||||
Reference in New Issue
Block a user