#1209: Clean up various patches

By: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
This commit is contained in:
CraftBukkit/Spigot
2023-06-24 17:15:05 +10:00
parent 0f9e7a497e
commit b97cc9b99f
71 changed files with 662 additions and 719 deletions

View File

@@ -67,7 +67,7 @@ public class CraftProfileBanList implements org.bukkit.BanList {
public Set<org.bukkit.BanEntry> getBanEntries() {
ImmutableSet.Builder<org.bukkit.BanEntry> builder = ImmutableSet.builder();
for (JsonListEntry entry : list.getValues()) {
for (JsonListEntry entry : list.getEntries()) {
GameProfile profile = (GameProfile) entry.getUser();
builder.add(new CraftProfileBanEntry(profile, (GameProfileBanEntry) entry, list));
}

View File

@@ -76,6 +76,7 @@ import org.bukkit.entity.Allay;
import org.bukkit.entity.Ambient;
import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Axolotl;
import org.bukkit.entity.Bat;
import org.bukkit.entity.Bee;
@@ -616,7 +617,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
} else if (AbstractArrow.class.isAssignableFrom(clazz)) {
if (TippedArrow.class.isAssignableFrom(clazz)) {
entity = EntityTypes.ARROW.create(world);
((EntityTippedArrow) entity).setPotionType(CraftPotionUtil.fromBukkit(new PotionData(PotionType.WATER, false, false)));
((Arrow) entity.getBukkitEntity()).setBasePotionData(new PotionData(PotionType.WATER, false, false));
} else if (SpectralArrow.class.isAssignableFrom(clazz)) {
entity = EntityTypes.SPECTRAL_ARROW.create(world);
} else if (Trident.class.isAssignableFrom(clazz)) {

View File

@@ -1722,7 +1722,7 @@ public final class CraftServer implements Server {
public Set<OfflinePlayer> getBannedPlayers() {
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
for (GameProfileBanEntry entry : playerList.getBans().getValues()) {
for (GameProfileBanEntry entry : playerList.getBans().getEntries()) {
result.add(getOfflinePlayer(entry.getUser()));
}
@@ -1762,7 +1762,7 @@ public final class CraftServer implements Server {
public Set<OfflinePlayer> getWhitelistedPlayers() {
Set<OfflinePlayer> result = new LinkedHashSet<OfflinePlayer>();
for (WhiteListEntry entry : playerList.getWhiteList().getValues()) {
for (WhiteListEntry entry : playerList.getWhiteList().getEntries()) {
result.add(getOfflinePlayer(entry.getUser()));
}
@@ -1773,7 +1773,7 @@ public final class CraftServer implements Server {
public Set<OfflinePlayer> getOperators() {
Set<OfflinePlayer> result = new HashSet<OfflinePlayer>();
for (OpListEntry entry : playerList.getOps().getValues()) {
for (OpListEntry entry : playerList.getOps().getEntries()) {
result.add(getOfflinePlayer(entry.getUser()));
}

View File

@@ -529,7 +529,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
EntityArrow arrow;
if (TippedArrow.class.isAssignableFrom(clazz)) {
arrow = EntityTypes.ARROW.create(world);
((EntityTippedArrow) arrow).setPotionType(CraftPotionUtil.fromBukkit(new PotionData(PotionType.WATER, false, false)));
((Arrow) arrow.getBukkitEntity()).setBasePotionData(new PotionData(PotionType.WATER, false, false));
} else if (SpectralArrow.class.isAssignableFrom(clazz)) {
arrow = EntityTypes.SPECTRAL_ARROW.create(world);
} else if (Trident.class.isAssignableFrom(clazz)) {

View File

@@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.effect.MobEffectList;
import net.minecraft.world.entity.EntityAreaEffectCloud;
@@ -152,14 +154,14 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
getHandle().effects.remove(existing);
}
getHandle().addEffect(CraftPotionUtil.fromBukkit(effect));
getHandle().refreshEffects();
getHandle().updateColor();
return true;
}
@Override
public void clearCustomEffects() {
getHandle().effects.clear();
getHandle().refreshEffects();
getHandle().updateColor();
}
@Override
@@ -199,19 +201,19 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
return false;
}
getHandle().effects.remove(existing);
getHandle().refreshEffects();
getHandle().updateColor();
return true;
}
@Override
public void setBasePotionData(PotionData data) {
Preconditions.checkArgument(data != null, "PotionData cannot be null");
getHandle().setPotionType(CraftPotionUtil.fromBukkit(data));
getHandle().setPotion(BuiltInRegistries.POTION.get(new MinecraftKey(CraftPotionUtil.fromBukkit(data))));
}
@Override
public PotionData getBasePotionData() {
return CraftPotionUtil.toBukkit(getHandle().getPotionType());
return CraftPotionUtil.toBukkit((BuiltInRegistries.POTION.getKey(getHandle().potion)).toString());
}
@Override

View File

@@ -56,6 +56,7 @@ import org.bukkit.craftbukkit.inventory.CraftEntityEquipment;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.potion.CraftPotionUtil;
import org.bukkit.entity.AbstractArrow;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.DragonFireball;
import org.bukkit.entity.Egg;
import org.bukkit.entity.EnderPearl;
@@ -434,7 +435,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} else if (AbstractArrow.class.isAssignableFrom(projectile)) {
if (TippedArrow.class.isAssignableFrom(projectile)) {
launch = new EntityTippedArrow(world, getHandle());
((EntityTippedArrow) launch).setPotionType(CraftPotionUtil.fromBukkit(new PotionData(PotionType.WATER, false, false)));
((Arrow) launch.getBukkitEntity()).setBasePotionData(new PotionData(PotionType.WATER, false, false));
} else if (SpectralArrow.class.isAssignableFrom(projectile)) {
launch = new EntitySpectralArrow(world, getHandle());
} else if (Trident.class.isAssignableFrom(projectile)) {

View File

@@ -37,16 +37,6 @@ public class CraftRabbit extends CraftAnimals implements Rabbit {
@Override
public void setRabbitType(Type type) {
EntityRabbit entity = getHandle();
if (getRabbitType() == Type.THE_KILLER_BUNNY) {
// Reset goals and target finders.
World world = ((CraftWorld) this.getWorld()).getHandle();
entity.goalSelector = new PathfinderGoalSelector(world.getProfilerSupplier());
entity.targetSelector = new PathfinderGoalSelector(world.getProfilerSupplier());
entity.registerGoals();
entity.initializePathFinderGoals();
}
entity.setVariant(EntityRabbit.Variant.values()[type.ordinal()]);
getHandle().setVariant(EntityRabbit.Variant.values()[type.ordinal()]);
}
}

View File

@@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.effect.MobEffectList;
import net.minecraft.world.entity.projectile.EntityTippedArrow;
@@ -52,14 +54,14 @@ public class CraftTippedArrow extends CraftArrow implements Arrow {
getHandle().effects.remove(existing);
}
getHandle().addEffect(CraftPotionUtil.fromBukkit(effect));
getHandle().refreshEffects();
getHandle().updateColor();
return true;
}
@Override
public void clearCustomEffects() {
getHandle().effects.clear();
getHandle().refreshEffects();
getHandle().updateColor();
}
@Override
@@ -99,19 +101,19 @@ public class CraftTippedArrow extends CraftArrow implements Arrow {
return false;
}
getHandle().effects.remove(existing);
getHandle().refreshEffects();
getHandle().updateColor();
return true;
}
@Override
public void setBasePotionData(PotionData data) {
Preconditions.checkArgument(data != null, "PotionData cannot be null");
getHandle().setPotionType(CraftPotionUtil.fromBukkit(data));
this.getHandle().potion = BuiltInRegistries.POTION.get(new MinecraftKey(CraftPotionUtil.fromBukkit(data)));
}
@Override
public PotionData getBasePotionData() {
return CraftPotionUtil.toBukkit(getHandle().getPotionType());
return CraftPotionUtil.toBukkit(BuiltInRegistries.POTION.getKey(this.getHandle().potion).toString());
}
@Override

View File

@@ -73,6 +73,7 @@ import net.minecraft.world.phys.MovingObjectPositionBlock;
import net.minecraft.world.phys.MovingObjectPositionEntity;
import net.minecraft.world.phys.Vec3D;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.Server;
@@ -110,6 +111,7 @@ import org.bukkit.entity.Bat;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.Explosive;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Fish;
import org.bukkit.entity.HumanEntity;
@@ -171,6 +173,7 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageModifier;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityEnterLoveModeEvent;
import org.bukkit.event.entity.EntityExhaustionEvent;
import org.bukkit.event.entity.EntityInteractEvent;
import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.event.entity.EntityPlaceEvent;
import org.bukkit.event.entity.EntityPotionEffectEvent;
@@ -180,10 +183,12 @@ import org.bukkit.event.entity.EntitySpellCastEvent;
import org.bukkit.event.entity.EntityTameEvent;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.entity.EntityToggleGlideEvent;
import org.bukkit.event.entity.EntityToggleSwimEvent;
import org.bukkit.event.entity.EntityTransformEvent;
import org.bukkit.event.entity.ExpBottleEvent;
import org.bukkit.event.entity.ExplosionPrimeEvent;
import org.bukkit.event.entity.FireworkExplodeEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.event.entity.HorseJumpEvent;
@@ -742,14 +747,14 @@ public class CraftEventFactory {
/**
* ItemMergeEvent
*/
public static ItemMergeEvent callItemMergeEvent(EntityItem merging, EntityItem mergingWith) {
public static boolean callItemMergeEvent(EntityItem merging, EntityItem mergingWith) {
org.bukkit.entity.Item entityMerging = (org.bukkit.entity.Item) merging.getBukkitEntity();
org.bukkit.entity.Item entityMergingWith = (org.bukkit.entity.Item) mergingWith.getBukkitEntity();
ItemMergeEvent event = new ItemMergeEvent(entityMerging, entityMergingWith);
Bukkit.getPluginManager().callEvent(event);
return event;
return !event.isCancelled();
}
/**
@@ -1197,23 +1202,23 @@ public class CraftEventFactory {
return event;
}
public static HorseJumpEvent callHorseJumpEvent(Entity horse, float power) {
public static boolean callHorseJumpEvent(Entity horse, float power) {
HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power);
horse.getBukkitEntity().getServer().getPluginManager().callEvent(event);
return event;
return !event.isCancelled();
}
public static EntityChangeBlockEvent callEntityChangeBlockEvent(Entity entity, BlockPosition position, IBlockData newBlock) {
public static boolean callEntityChangeBlockEvent(Entity entity, BlockPosition position, IBlockData newBlock) {
return callEntityChangeBlockEvent(entity, position, newBlock, false);
}
public static EntityChangeBlockEvent callEntityChangeBlockEvent(Entity entity, BlockPosition position, IBlockData newBlock, boolean cancelled) {
public static boolean callEntityChangeBlockEvent(Entity entity, BlockPosition position, IBlockData newBlock, boolean cancelled) {
Block block = entity.level().getWorld().getBlockAt(position.getX(), position.getY(), position.getZ());
EntityChangeBlockEvent event = new EntityChangeBlockEvent(entity.getBukkitEntity(), block, CraftBlockData.fromData(newBlock));
event.setCancelled(cancelled);
event.getEntity().getServer().getPluginManager().callEvent(event);
return event;
return !event.isCancelled();
}
public static CreeperPowerEvent callCreeperPowerEvent(Entity creeper, Entity lightning, CreeperPowerEvent.PowerCause cause) {
@@ -1772,4 +1777,33 @@ public class CraftEventFactory {
return !event.isCancelled();
}
public static EntityTeleportEvent callEntityTeleportEvent(Entity nmsEntity, double x, double y, double z) {
CraftEntity entity = nmsEntity.getBukkitEntity();
Location to = new Location(entity.getWorld(), x, y, z, nmsEntity.getYRot(), nmsEntity.getXRot());
EntityTeleportEvent event = new org.bukkit.event.entity.EntityTeleportEvent(entity, entity.getLocation(), to);
Bukkit.getPluginManager().callEvent(event);
return event;
}
public static boolean callEntityInteractEvent(Entity nmsEntity, Block block) {
EntityInteractEvent event = new EntityInteractEvent(nmsEntity.getBukkitEntity(), block);
Bukkit.getPluginManager().callEvent(event);
return !event.isCancelled();
}
public static ExplosionPrimeEvent callExplosionPrimeEvent(Explosive explosive) {
ExplosionPrimeEvent event = new ExplosionPrimeEvent(explosive);
Bukkit.getPluginManager().callEvent(event);
return event;
}
public static ExplosionPrimeEvent callExplosionPrimeEvent(Entity nmsEntity, float size, boolean fire) {
ExplosionPrimeEvent event = new ExplosionPrimeEvent(nmsEntity.getBukkitEntity(), size, fire);
Bukkit.getPluginManager().callEvent(event);
return event;
}
}

View File

@@ -26,6 +26,7 @@ import org.bukkit.block.Block;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.potion.CraftPotionUtil;
import org.bukkit.entity.AbstractArrow;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Egg;
import org.bukkit.entity.EnderPearl;
import org.bukkit.entity.Fireball;
@@ -92,7 +93,7 @@ public class CraftBlockProjectileSource implements BlockProjectileSource {
} else if (AbstractArrow.class.isAssignableFrom(projectile)) {
if (TippedArrow.class.isAssignableFrom(projectile)) {
launch = new EntityTippedArrow(world, iposition.x(), iposition.y(), iposition.z());
((EntityTippedArrow) launch).setPotionType(CraftPotionUtil.fromBukkit(new PotionData(PotionType.WATER, false, false)));
((Arrow) launch.getBukkitEntity()).setBasePotionData(new PotionData(PotionType.WATER, false, false));
} else if (SpectralArrow.class.isAssignableFrom(projectile)) {
launch = new EntitySpectralArrow(world, iposition.x(), iposition.y(), iposition.z());
} else {