Remap CraftBukkit to Mojang+Yarn Mappings

By: Initial Source <noreply+automated@papermc.io>
This commit is contained in:
CraftBukkit/Spigot
2024-12-11 22:26:55 +01:00
parent a265d64138
commit 30e4583dbe
1780 changed files with 44628 additions and 41274 deletions

View File

@@ -1,49 +0,0 @@
--- a/net/minecraft/world/entity/raid/EntityRaider.java
+++ b/net/minecraft/world/entity/raid/EntityRaider.java
@@ -41,6 +41,10 @@
import net.minecraft.world.level.pathfinder.PathEntity;
import net.minecraft.world.phys.Vec3D;
+// CraftBukkit start
+import org.bukkit.event.entity.EntityRemoveEvent;
+// CraftBukkit end
+
public abstract class EntityRaider extends EntityMonsterPatrolling {
protected static final DataWatcherObject<Boolean> IS_CELEBRATING = DataWatcher.defineId(EntityRaider.class, DataWatcherRegistry.BOOLEAN);
@@ -236,7 +240,7 @@
this.onItemPickup(entityitem);
this.setItemSlot(enumitemslot, itemstack);
this.take(entityitem, itemstack.getCount());
- entityitem.discard();
+ entityitem.discard(EntityRemoveEvent.Cause.PICKUP); // CraftBukkit - add Bukkit remove cause
this.getCurrentRaid().setLeader(this.getWave(), this);
this.setPatrolLeader(true);
} else {
@@ -290,7 +294,7 @@
@Nullable
private EntityItem pursuedBannerItemEntity;
- public b(final EntityRaider entityraider) {
+ public b(final T entityraider) { // CraftBukkit - decompile error
this.mob = entityraider;
this.setFlags(EnumSet.of(PathfinderGoal.Type.MOVE));
}
@@ -547,7 +551,7 @@
while (iterator.hasNext()) {
EntityRaider entityraider = (EntityRaider) iterator.next();
- entityraider.setTarget(this.mob.getTarget());
+ entityraider.setTarget(this.mob.getTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit
}
}
@@ -564,7 +568,7 @@
while (iterator.hasNext()) {
EntityRaider entityraider = (EntityRaider) iterator.next();
- entityraider.setTarget(entityliving);
+ entityraider.setTarget(this.mob.getTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit
entityraider.setAggressive(true);
}

View File

@@ -1,22 +1,23 @@
--- a/net/minecraft/world/entity/raid/Raid.java
+++ b/net/minecraft/world/entity/raid/Raid.java
@@ -177,6 +177,12 @@
return this.status == Raid.Status.LOSS;
}
@@ -175,7 +175,13 @@
public boolean isLoss() {
return this.status == Raid.RaidStatus.LOSS;
+ }
+
+ // CraftBukkit start
+ public boolean isInProgress() {
+ return this.status == Status.ONGOING;
+ }
+ return this.status == RaidStatus.ONGOING;
}
+ // CraftBukkit end
+
public float getTotalHealth() {
return this.totalHealth;
}
@@ -281,6 +287,7 @@
this.active = this.level.hasChunkAt(this.center);
if (this.level.getDifficulty() == EnumDifficulty.PEACEFUL) {
if (this.level.getDifficulty() == Difficulty.PEACEFUL) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callRaidStopEvent(this, org.bukkit.event.raid.RaidStopEvent.Reason.PEACE); // CraftBukkit
this.stop();
return;
@@ -24,7 +25,7 @@
@@ -300,13 +307,16 @@
if (!this.level.isVillage(this.center)) {
if (this.groupsSpawned > 0) {
this.status = Raid.Status.LOSS;
this.status = Raid.RaidStatus.LOSS;
+ org.bukkit.craftbukkit.event.CraftEventFactory.callRaidFinishEvent(this, new java.util.ArrayList<>()); // CraftBukkit
} else {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callRaidStopEvent(this, org.bukkit.event.raid.RaidStopEvent.Reason.NOT_IN_VILLAGE); // CraftBukkit
@@ -47,7 +48,7 @@
break;
}
@@ -386,6 +397,7 @@
this.status = Raid.Status.VICTORY;
this.status = Raid.RaidStatus.VICTORY;
Iterator iterator = this.heroesOfTheVillage.iterator();
+ List<org.bukkit.entity.Player> winners = new java.util.ArrayList<>(); // CraftBukkit
@@ -56,8 +57,8 @@
Entity entity = this.level.getEntity(uuid);
@@ -400,10 +412,12 @@
entityplayer.awardStat(StatisticList.RAID_WIN);
CriterionTriggers.RAID_WIN.trigger(entityplayer);
entityplayer.awardStat(Stats.RAID_WIN);
CriteriaTriggers.RAID_WIN.trigger(entityplayer);
+ winners.add(entityplayer.getBukkitEntity()); // CraftBukkit
}
}
@@ -80,11 +81,11 @@
int k = 0;
+ // CraftBukkit start
+ EntityRaider leader = null;
+ List<EntityRaider> raiders = new java.util.ArrayList<>();
+ Raider leader = null;
+ List<Raider> raiders = new java.util.ArrayList<>();
+ // CraftBukkit end
while (k < j) {
Raid.Wave raid_wave = araid_wave[k];
Raid.RaiderType raid_wave = araid_wave[k];
int l = this.getDefaultNumSpawns(raid_wave, i, flag1) + this.getPotentialBonusSpawns(raid_wave, this.random, i, difficultydamagescaler, flag1);
@@ -559,9 +578,11 @@
entityraider.setPatrolLeader(true);
@@ -93,14 +94,14 @@
+ leader = entityraider; // CraftBukkit
}
this.joinRaid(i, entityraider, blockposition, false);
this.joinRaid(i, entityraider, pos, false);
+ raiders.add(entityraider); // CraftBukkit
if (raid_wave.entityType == EntityTypes.RAVAGER) {
EntityRaider entityraider1 = null;
if (raid_wave.entityType == EntityType.RAVAGER) {
Raider entityraider1 = null;
@@ -580,6 +601,7 @@
this.joinRaid(i, entityraider1, blockposition, false);
entityraider1.moveTo(blockposition, 0.0F, 0.0F);
this.joinRaid(i, entityraider1, pos, false);
entityraider1.moveTo(pos, 0.0F, 0.0F);
entityraider1.startRiding(entityraider);
+ raiders.add(entityraider); // CraftBukkit
}
@@ -113,13 +114,13 @@
+ org.bukkit.craftbukkit.event.CraftEventFactory.callRaidSpawnWaveEvent(this, leader, raiders); // CraftBukkit
}
public void joinRaid(int i, EntityRaider entityraider, @Nullable BlockPosition blockposition, boolean flag) {
public void joinRaid(int wave, Raider raider, @Nullable BlockPos pos, boolean existing) {
@@ -612,7 +635,7 @@
entityraider.finalizeSpawn(this.level, this.level.getCurrentDifficultyAt(blockposition), EntitySpawnReason.EVENT, (GroupDataEntity) null);
entityraider.applyRaidBuffs(this.level, i, false);
entityraider.setOnGround(true);
- this.level.addFreshEntityWithPassengers(entityraider);
+ this.level.addFreshEntityWithPassengers(entityraider, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.RAID); // CraftBukkit
raider.finalizeSpawn(this.level, this.level.getCurrentDifficultyAt(pos), EntitySpawnReason.EVENT, (SpawnGroupData) null);
raider.applyRaidBuffs(this.level, wave, false);
raider.setOnGround(true);
- this.level.addFreshEntityWithPassengers(raider);
+ this.level.addFreshEntityWithPassengers(raider, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.RAID); // CraftBukkit
}
}
@@ -128,11 +129,11 @@
}
+ // CraftBukkit start - a method to get all raiders
+ public java.util.Collection<EntityRaider> getRaiders() {
+ public java.util.Collection<Raider> getRaiders() {
+ return this.groupRaiderMap.values().stream().flatMap(Set::stream).collect(java.util.stream.Collectors.toSet());
+ }
+ // CraftBukkit end
+
private static enum Status {
private static enum RaidStatus {
ONGOING, VICTORY, LOSS, STOPPED;

View File

@@ -0,0 +1,57 @@
--- a/net/minecraft/world/entity/raid/Raider.java
+++ b/net/minecraft/world/entity/raid/Raider.java
@@ -40,6 +40,9 @@
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.pathfinder.Path;
import net.minecraft.world.phys.Vec3;
+// CraftBukkit start
+import org.bukkit.event.entity.EntityRemoveEvent;
+// CraftBukkit end
public abstract class Raider extends PatrollingMonster {
@@ -236,7 +239,7 @@
this.onItemPickup(itemEntity);
this.setItemSlot(enumitemslot, itemstack);
this.take(itemEntity, itemstack.getCount());
- itemEntity.discard();
+ itemEntity.discard(EntityRemoveEvent.Cause.PICKUP); // CraftBukkit - add Bukkit remove cause
this.getCurrentRaid().setLeader(this.getWave(), this);
this.setPatrolLeader(true);
} else {
@@ -290,7 +293,7 @@
@Nullable
private ItemEntity pursuedBannerItemEntity;
- public ObtainRaidLeaderBannerGoal(final Raider entityraider) {
+ public ObtainRaidLeaderBannerGoal(final T entityraider) { // CraftBukkit - decompile error
this.mob = entityraider;
this.setFlags(EnumSet.of(Goal.Flag.MOVE));
}
@@ -518,7 +521,7 @@
}
}
- protected static class HoldGroundAttackGoal extends Goal {
+ public static class HoldGroundAttackGoal extends Goal {
private final Raider mob;
private final float hostileRadiusSqr;
@@ -547,7 +550,7 @@
while (iterator.hasNext()) {
Raider entityraider = (Raider) iterator.next();
- entityraider.setTarget(this.mob.getTarget());
+ entityraider.setTarget(this.mob.getTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit
}
}
@@ -564,7 +567,7 @@
while (iterator.hasNext()) {
Raider entityraider = (Raider) iterator.next();
- entityraider.setTarget(entityliving);
+ entityraider.setTarget(this.mob.getTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit
entityraider.setAggressive(true);
}

View File

@@ -1,8 +1,8 @@
--- a/net/minecraft/world/entity/raid/PersistentRaid.java
+++ b/net/minecraft/world/entity/raid/PersistentRaid.java
--- a/net/minecraft/world/entity/raid/Raids.java
+++ b/net/minecraft/world/entity/raid/Raids.java
@@ -115,11 +115,23 @@
Raid raid = this.getOrCreateRaid(entityplayer.serverLevel(), blockposition2);
Raid raid = this.getOrCreateRaid(player.serverLevel(), blockposition2);
+ /* CraftBukkit - moved down
if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) {
@@ -13,8 +13,8 @@
- if (!raid.isStarted() || raid.getRaidOmenLevel() < raid.getMaxRaidOmenLevel()) {
+ if (!raid.isStarted() || (raid.isInProgress() && raid.getRaidOmenLevel() < raid.getMaxRaidOmenLevel())) { // CraftBukkit - fixed a bug with raid: players could add up Bad Omen level even when the raid had finished
+ // CraftBukkit start
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callRaidTriggerEvent(raid, entityplayer)) {
+ entityplayer.removeEffect(net.minecraft.world.effect.MobEffects.RAID_OMEN);
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callRaidTriggerEvent(raid, player)) {
+ player.removeEffect(net.minecraft.world.effect.MobEffects.RAID_OMEN);
+ return null;
+ }
+
@@ -22,6 +22,6 @@
+ this.raidMap.put(raid.getId(), raid);
+ }
+ // CraftBukkit end
raid.absorbRaidOmen(entityplayer);
raid.absorbRaidOmen(player);
}