Class Raid

java.lang.Object
net.minecraft.world.entity.raid.Raid

public class Raid extends Object
  • Field Details

    • RAVAGER_SPAWN_PLACEMENT_TYPE

      public static final SpawnPlacementType RAVAGER_SPAWN_PLACEMENT_TYPE
    • MAP_CODEC

      public static final com.mojang.serialization.MapCodec<Raid> MAP_CODEC
    • ALLOW_SPAWNING_WITHIN_VILLAGE_SECONDS_THRESHOLD

      private static final int ALLOW_SPAWNING_WITHIN_VILLAGE_SECONDS_THRESHOLD
      See Also:
    • SECTION_RADIUS_FOR_FINDING_NEW_VILLAGE_CENTER

      private static final int SECTION_RADIUS_FOR_FINDING_NEW_VILLAGE_CENTER
      See Also:
    • VILLAGE_SEARCH_RADIUS

      private static final int VILLAGE_SEARCH_RADIUS
      See Also:
    • RAID_TIMEOUT_TICKS

      private static final int RAID_TIMEOUT_TICKS
      See Also:
    • NUM_SPAWN_ATTEMPTS

      private static final int NUM_SPAWN_ATTEMPTS
      See Also:
    • OMINOUS_BANNER_PATTERN_NAME

      private static final Component OMINOUS_BANNER_PATTERN_NAME
    • RAIDERS_REMAINING

      private static final String RAIDERS_REMAINING
      See Also:
    • VILLAGE_RADIUS_BUFFER

      public static final int VILLAGE_RADIUS_BUFFER
      See Also:
    • POST_RAID_TICK_LIMIT

      private static final int POST_RAID_TICK_LIMIT
      See Also:
    • DEFAULT_PRE_RAID_TICKS

      private static final int DEFAULT_PRE_RAID_TICKS
      See Also:
    • MAX_NO_ACTION_TIME

      public static final int MAX_NO_ACTION_TIME
      See Also:
    • MAX_CELEBRATION_TICKS

      public static final int MAX_CELEBRATION_TICKS
      See Also:
    • OUTSIDE_RAID_BOUNDS_TIMEOUT

      private static final int OUTSIDE_RAID_BOUNDS_TIMEOUT
      See Also:
    • TICKS_PER_DAY

      public static final int TICKS_PER_DAY
      See Also:
    • DEFAULT_MAX_RAID_OMEN_LEVEL

      public static final int DEFAULT_MAX_RAID_OMEN_LEVEL
      See Also:
    • LOW_MOB_THRESHOLD

      private static final int LOW_MOB_THRESHOLD
      See Also:
    • RAID_NAME_COMPONENT

      private static final Component RAID_NAME_COMPONENT
    • RAID_BAR_VICTORY_COMPONENT

      private static final Component RAID_BAR_VICTORY_COMPONENT
    • RAID_BAR_DEFEAT_COMPONENT

      private static final Component RAID_BAR_DEFEAT_COMPONENT
    • HERO_OF_THE_VILLAGE_DURATION

      private static final int HERO_OF_THE_VILLAGE_DURATION
      See Also:
    • VALID_RAID_RADIUS

      private static final int VALID_RAID_RADIUS
      See Also:
    • VALID_RAID_RADIUS_SQR

      public static final int VALID_RAID_RADIUS_SQR
      See Also:
    • RAID_REMOVAL_THRESHOLD_SQR

      public static final int RAID_REMOVAL_THRESHOLD_SQR
      See Also:
    • groupToLeaderMap

      private final Map<Integer,Raider> groupToLeaderMap
    • groupRaiderMap

      private final Map<Integer,Set<Raider>> groupRaiderMap
    • heroesOfTheVillage

      private final Set<UUID> heroesOfTheVillage
    • ticksActive

      private long ticksActive
    • center

      private BlockPos center
    • started

      private boolean started
    • totalHealth

      private float totalHealth
    • raidOmenLevel

      private int raidOmenLevel
    • active

      private boolean active
    • groupsSpawned

      private int groupsSpawned
    • raidEvent

      private final ServerBossEvent raidEvent
    • postRaidTicks

      private int postRaidTicks
    • raidCooldownTicks

      private int raidCooldownTicks
    • random

      private final RandomSource random
    • numGroups

      private final int numGroups
    • status

      private Raid.RaidStatus status
    • celebrationTicks

      private int celebrationTicks
    • waveSpawnPos

      private Optional<BlockPos> waveSpawnPos
  • Constructor Details

    • Raid

      public Raid(BlockPos pCenter, Difficulty pDifficulty)
    • Raid

      private Raid(boolean pStarted, boolean pActive, long pTicksActive, int pRaidOmenLevel, int pGroupsSpawned, int pRaidCooldownTicks, int pPostRaidTicks, float pTotalHealth, int pNumGroups, Raid.RaidStatus pStatus, BlockPos pCenter, Set<UUID> pHeroesOfTheVillage)
  • Method Details

    • isOver

      public boolean isOver()
    • isBetweenWaves

      public boolean isBetweenWaves()
    • hasFirstWaveSpawned

      public boolean hasFirstWaveSpawned()
    • isStopped

      public boolean isStopped()
    • isVictory

      public boolean isVictory()
    • isLoss

      public boolean isLoss()
    • getTotalHealth

      public float getTotalHealth()
    • getAllRaiders

      public Set<Raider> getAllRaiders()
    • isStarted

      public boolean isStarted()
    • getGroupsSpawned

      public int getGroupsSpawned()
    • validPlayer

      private Predicate<ServerPlayer> validPlayer()
    • updatePlayers

      private void updatePlayers(ServerLevel pLevel)
    • getMaxRaidOmenLevel

      public int getMaxRaidOmenLevel()
    • getRaidOmenLevel

      public int getRaidOmenLevel()
    • setRaidOmenLevel

      public void setRaidOmenLevel(int pRaidOmenLevel)
    • absorbRaidOmen

      public boolean absorbRaidOmen(ServerPlayer pPlayer)
    • stop

      public void stop()
    • tick

      public void tick(ServerLevel pLevel)
    • moveRaidCenterToNearbyVillageSection

      private void moveRaidCenterToNearbyVillageSection(ServerLevel pLevel)
    • getValidSpawnPos

      private Optional<BlockPos> getValidSpawnPos(ServerLevel pLevel)
    • hasMoreWaves

      private boolean hasMoreWaves()
    • isFinalWave

      private boolean isFinalWave()
    • hasBonusWave

      private boolean hasBonusWave()
    • hasSpawnedBonusWave

      private boolean hasSpawnedBonusWave()
    • shouldSpawnBonusGroup

      private boolean shouldSpawnBonusGroup()
    • updateRaiders

      private void updateRaiders(ServerLevel pLevel)
    • playSound

      private void playSound(ServerLevel pLevel, BlockPos pPos)
    • spawnGroup

      private void spawnGroup(ServerLevel pLevel, BlockPos pPos)
    • joinRaid

      public void joinRaid(ServerLevel pLevel, int pWave, Raider pRaider, @Nullable BlockPos pPos, boolean pIsRecruited)
    • updateBossbar

      public void updateBossbar()
    • getHealthOfLivingRaiders

      public float getHealthOfLivingRaiders()
    • shouldSpawnGroup

      private boolean shouldSpawnGroup()
    • getTotalRaidersAlive

      public int getTotalRaidersAlive()
    • removeFromRaid

      public void removeFromRaid(ServerLevel pLevel, Raider pRaider, boolean pWanderedOutOfRaid)
    • setDirty

      private void setDirty(ServerLevel pLevel)
    • getOminousBannerInstance

      public static ItemStack getOminousBannerInstance(HolderGetter<BannerPattern> pPatternRegistry)
    • getLeader

      @Nullable public Raider getLeader(int pWave)
    • findRandomSpawnPos

      @Nullable private BlockPos findRandomSpawnPos(ServerLevel pLevel, int pAttempts)
    • addWaveMob

      private boolean addWaveMob(ServerLevel pLevel, int pWave, Raider pRaider)
    • addWaveMob

      public boolean addWaveMob(ServerLevel pLevel, int pWave, Raider pRaider, boolean pIsRecruited)
    • setLeader

      public void setLeader(int pWave, Raider pRaider)
    • removeLeader

      public void removeLeader(int pWave)
    • getCenter

      public BlockPos getCenter()
    • setCenter

      private void setCenter(BlockPos pCenter)
    • getDefaultNumSpawns

      private int getDefaultNumSpawns(Raid.RaiderType pRaiderType, int pWave, boolean pShouldSpawnBonusGroup)
    • getPotentialBonusSpawns

      private int getPotentialBonusSpawns(Raid.RaiderType pRaiderType, RandomSource pRandom, int pWave, DifficultyInstance pDifficulty, boolean pShouldSpawnBonusGroup)
    • isActive

      public boolean isActive()
    • getNumGroups

      public int getNumGroups(Difficulty pDifficulty)
    • getEnchantOdds

      public float getEnchantOdds()
    • addHeroOfTheVillage

      public void addHeroOfTheVillage(Entity pPlayer)