forked from SteamWar/SteamWar
Polish lobby particle slots
Count the real particle amount of reward designs, set slot budgets to 30 particles per tick (60 for the server team), let requirements test only against an UnlockContext, and drop requirements and messages the old particle menu used.
This commit is contained in:
@@ -49,38 +49,18 @@ PORTAL_NO_WORLDEDIT_SELECTION = §cNo WorldEdit selection
|
||||
PARTICLE_INVENTORY = §0Particle
|
||||
PARTICLE_DESELECT = §8No particle
|
||||
|
||||
PARTICLE_SHOW_HAS_ALL = §8You have all particles
|
||||
PARTICLE_SHOW_ALL = §aShow all
|
||||
PARTICLE_SHOW_UNLOCKED = §cShow unlocked
|
||||
|
||||
PARTICLE_UNLOCKED_BY = §eUnlocked by
|
||||
PARTICLE_UNLOCKED_BY_TEAM = §fJoin a team
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_TEAM = §fTeam {0}
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_TEAM_EASTER = §fTeam {0} (Easter Egg Hunt)
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_USER = §fUser {0}
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_USER_EASTER = §fUser {0} (Easter Egg Hunt)
|
||||
PARTICLE_UNLOCKED_BY_EVENT = §fEvent participation
|
||||
PARTICLE_UNLOCKED_BY_SERVER_TEAM = §fServer Team
|
||||
PARTICLE_UNLOCKED_BY_EVENT_PLACEMENT = §f{0} 1., 2. or 3. Place
|
||||
PARTICLE_UNLOCKED_BY_EVENT_PARTICIPATION = §f{0}
|
||||
PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_HALF = §fFind 45 Easter Eggs
|
||||
PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_DIFFICULTY = §fFind all Easter Eggs with difficulty {0}
|
||||
|
||||
PARTICLE_ATTRIBUTE = §eAttributes§7:
|
||||
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
||||
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Double ring
|
||||
PARTICLE_ATTRIBUTE_TRI_CIRCLE = §8-§f Tripple ring
|
||||
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Cloud
|
||||
PARTICLE_ATTRIBUTE_TICK = §8-§f Always active
|
||||
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In air
|
||||
PARTICLE_ATTRIBUTE_FLOOR = §8-§f On ground
|
||||
PARTICLE_ATTRIBUTE_NON_FLYING = §8-§f Not flying
|
||||
PARTICLE_ATTRIBUTE_FLYING = §8-§f Flying
|
||||
PARTICLE_ATTRIBUTE_WING = §8-§f Wings
|
||||
PARTICLE_ATTRIBUTE_SNEAKING = §8-§f Sneaking
|
||||
PARTICLE_ATTRIBUTE_NON_MOVING = §8-§f Not moving
|
||||
PARTICLE_ATTRIBUTE_SEPARATOR = §f
|
||||
|
||||
PARTICLE_SELECT = §eClick to select
|
||||
PARTICLE_LOCKED = §c§lLocked
|
||||
PARTICLE_DEACTIVATED = §cThere are too many players online, particles are deactivated
|
||||
@@ -184,41 +164,6 @@ PARTICLE_CHOICE_IMAGE_SIMPLE = §fSimple
|
||||
PARTICLE_CHOICE_IMAGE_COMPLEX = §fComplex
|
||||
PARTICLE_CHOICE_IMAGE_SWORD = §fSword
|
||||
|
||||
PARTICLE_SNEEZE = §aSneeze
|
||||
PARTICLE_SMOKE = §7Smoke
|
||||
PARTICLE_FIRE = §cFire
|
||||
PARTICLE_WATER = §bWater
|
||||
PARTICLE_HEART = §cHearts
|
||||
PARTICLE_NOTES = §eNotes
|
||||
PARTICLE_NAUTILUS = §aNautilus
|
||||
PARTICLE_SNOWBALL = §fSnowball
|
||||
PARTICLE_EFFECT = §5Effect
|
||||
PARTICLE_CAMPFIRE = §7Smoke
|
||||
PARTICLE_MAGIC = §5Magic
|
||||
PARTICLE_ANGRY = §4Angry
|
||||
PARTICLE_SLIME = §aSlime
|
||||
PARTICLE_MOB = §7Mob
|
||||
PARTICLE_SQUID = §8Squid
|
||||
PARTICLE_BUBBLE = §aBubbles
|
||||
PARTICLE_HONEY = §6Honey
|
||||
PARTICLE_NECTAR = §6Nectar
|
||||
PARTICLE_FIREWORK = §7Firework
|
||||
PARTICLE_DRAGON_BREATH = §5Dragon breath
|
||||
PARTICLE_DAMAGE = §5Damage
|
||||
PARTICLE_DOLPHIN = §dDolphin
|
||||
PARTICLE_WITCH = §5Witch
|
||||
PARTICLE_ENCHANTING = §eEnchantment
|
||||
PARTICLE_HAPPY = §2Joy
|
||||
PARTICLE_FLAME = §7Flames
|
||||
PARTICLE_END_ROD = §fEnd Rod
|
||||
PARTICLE_CLOUD = §7Cloud
|
||||
PARTICLE_TOTEM = §aTotem
|
||||
PARTICLE_TOWN = §5Town
|
||||
PARTICLE_ENCHANTING_CIRCLE = §fEnchanted
|
||||
PARTICLE_WATER_FIRE = §bWater§7/§cFire
|
||||
PARTICLE_MAGIC_ENCHANTING = §5Magic/Enchantment
|
||||
PARTICLE_WINGS_EVIL = §5Purple wings
|
||||
|
||||
PARTICLE_PLAYER_HAYLIM_AURA = §fHaylim\'s Aura
|
||||
PARTICLE_PLAYER_1063 = §7Circling Circle
|
||||
PARTICLE_PLAYER_10916_AURA = §7Tornado
|
||||
@@ -235,19 +180,6 @@ PARTICLE_TEAM_PULSE_AURA_3 = §fPulse Aura §fEnchanted
|
||||
PARTICLE_TEAM_PULSE_LOGO = §fPulse Logo
|
||||
PARTICLE_TEAM_PULSE_HEART_BEAT = §cHeart Beat
|
||||
|
||||
PARTICLE_RAINCLOUD_NORMAL = §fRaincloud
|
||||
PARTICLE_RAINCLOUD_RED = §fLava cloud
|
||||
PARTICLE_RAINCLOUD_YELLOW = §fNectar cloud
|
||||
PARTICLE_RAINCLOUD_ORANGE = §fHoney cloud
|
||||
PARTICLE_RAINCLOUD_GREEN = §fSpore Blossom cloud
|
||||
PARTICLE_RAINCLOUD_PURPLE = §fObsidian Tears cloud
|
||||
PARTICLE_RAINCLOUD_NAUTILUS = §fNautilus cloud
|
||||
PARTICLE_RAINCLOUD_ENCHANTMENT = §fEnchantment cloud
|
||||
PARTICLE_RAINCLOUD_SLIME = §fSlime cloud
|
||||
PARTICLE_RAINCLOUD_HAIL = §fHail cloud
|
||||
PARTICLE_RAINCLOUD_SNOW = §fSnow cloud
|
||||
PARTICLE_RAINCLOUD_TOTEM = §fTotem cloud
|
||||
|
||||
PARTICLE_EVENT_ENCHANTING = §cEnchantment
|
||||
PARTICLE_EVENT_CLOUD = §fClouds
|
||||
PARTICLE_EVENT_SMOKE = §7Smoke
|
||||
|
||||
@@ -49,37 +49,18 @@ PORTAL_NO_WORLDEDIT_SELECTION = §cKeine WorldEdit Selection
|
||||
PARTICLE_INVENTORY = §0Partikel
|
||||
PARTICLE_DESELECT = §8Keine Partikel
|
||||
|
||||
PARTICLE_SHOW_HAS_ALL = §8Du hast alle Partikel
|
||||
PARTICLE_SHOW_ALL = §aZeige alle
|
||||
PARTICLE_SHOW_UNLOCKED = §cZeige freigeschaltete
|
||||
|
||||
PARTICLE_UNLOCKED_BY = §eFreigeschaltet durch
|
||||
PARTICLE_UNLOCKED_BY_TEAM = §fTeambeitritt
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_TEAM = §fTeam {0}
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_TEAM_EASTER = §fTeam {0} (Oster-Eierer-Suche)
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_USER = §fUser {0}
|
||||
PARTICLE_UNLOCKED_BY_SPECIFIC_USER_EASTER = §fUser {0} (Oster-Eierer-Suche)
|
||||
PARTICLE_UNLOCKED_BY_EVENT = §fEventteilnahme
|
||||
PARTICLE_UNLOCKED_BY_SERVER_TEAM = §fServerteam
|
||||
PARTICLE_UNLOCKED_BY_EVENT_PLACEMENT = §f{0} 1., 2. oder 3. Platz
|
||||
PARTICLE_UNLOCKED_BY_EVENT_PARTICIPATION = §f{0}
|
||||
PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_HALF = §fFinde 45 Oster-Eierer
|
||||
PARTICLE_UNLOCKED_BY_EASTER_EGG_HUNT_DIFFICULTY = §fAlle Eierer mit Schwierigkeit {0} finden
|
||||
|
||||
PARTICLE_ATTRIBUTE_CIRCLE = §8-§f Ring
|
||||
PARTICLE_ATTRIBUTE_BI_CIRCLE = §8-§f Doppelring
|
||||
PARTICLE_ATTRIBUTE_TRI_CIRCLE = §8-§f Dreifachring
|
||||
PARTICLE_ATTRIBUTE_CLOUD = §8-§f Wolke
|
||||
PARTICLE_ATTRIBUTE_TICK = §8-§f Immer aktiv
|
||||
PARTICLE_ATTRIBUTE_NON_FLOOR = §8-§f In der Luft
|
||||
PARTICLE_ATTRIBUTE_FLOOR = §8-§f Auf dem Boden
|
||||
PARTICLE_ATTRIBUTE_NON_FLYING = §8-§f Nicht am Fliegen
|
||||
PARTICLE_ATTRIBUTE_FLYING = §8-§f Am Fliegen
|
||||
PARTICLE_ATTRIBUTE_WING = §8-§f Flügel
|
||||
PARTICLE_ATTRIBUTE_SNEAKING = §8-§f Ducken
|
||||
PARTICLE_ATTRIBUTE_NON_MOVING = §8-§f Beim Stehen
|
||||
PARTICLE_ATTRIBUTE = §eAttribute§7:
|
||||
|
||||
PARTICLE_SELECT = §eZum Auswählen klicken
|
||||
PARTICLE_LOCKED = §c§lGesperrt
|
||||
PARTICLE_DEACTIVATED = §cEs sind zu viele Spieler online! Partikel sind deaktiviert.
|
||||
@@ -183,59 +164,11 @@ PARTICLE_CHOICE_IMAGE_SIMPLE = §fEinfach
|
||||
PARTICLE_CHOICE_IMAGE_COMPLEX = §fKomplex
|
||||
PARTICLE_CHOICE_IMAGE_SWORD = §fSchwert
|
||||
|
||||
PARTICLE_SNEEZE = §aSneeze
|
||||
PARTICLE_SMOKE = §7Rauch
|
||||
PARTICLE_FIRE = §cFeuer
|
||||
PARTICLE_WATER = §bWasser
|
||||
PARTICLE_HEART = §cHerzen
|
||||
PARTICLE_NOTES = §eNoten
|
||||
PARTICLE_NAUTILUS = §aNautilus
|
||||
PARTICLE_SNOWBALL = §fSchneeball
|
||||
PARTICLE_EFFECT = §5Effekt
|
||||
PARTICLE_CAMPFIRE = §7Rauch
|
||||
PARTICLE_MAGIC = §5Magie
|
||||
PARTICLE_ANGRY = §4Wut
|
||||
PARTICLE_SLIME = §aSchleim
|
||||
PARTICLE_MOB = §7Mob
|
||||
PARTICLE_SQUID = §8Tintenfisch
|
||||
PARTICLE_BUBBLE = §aBlasen
|
||||
PARTICLE_HONEY = §6Honig
|
||||
PARTICLE_NECTAR = §6Nektar
|
||||
PARTICLE_FIREWORK = §7Feuerwerk
|
||||
PARTICLE_DRAGON_BREATH = §5Drachenatem
|
||||
PARTICLE_DAMAGE = §5Schaden
|
||||
PARTICLE_DOLPHIN = §dDelphin
|
||||
PARTICLE_WITCH = §5Hexe
|
||||
PARTICLE_ENCHANTING = §eZauber
|
||||
PARTICLE_HAPPY = §2Freude
|
||||
PARTICLE_FLAME = §7Flammen
|
||||
PARTICLE_END_ROD = §fEnd Rod
|
||||
PARTICLE_CLOUD = §7Wolke
|
||||
PARTICLE_TOTEM = §aTotem
|
||||
PARTICLE_TOWN = §5Town
|
||||
PARTICLE_ENCHANTING_CIRCLE = §fVerzaubert
|
||||
PARTICLE_WATER_FIRE = §bWasser§7/§cFeuer
|
||||
PARTICLE_MAGIC_ENCHANTING = §5Magie§7/§eZauber
|
||||
PARTICLE_WINGS_EVIL = §5Lila Flügel
|
||||
|
||||
PARTICLE_PLAYER_1063 = §7Kreisende Kreise
|
||||
PARTICLE_PLAYER_10697_AURA = §7Rauchgranate
|
||||
|
||||
PARTICLE_TEAM_PULSE_HEART_BEAT = §cHerzschlag
|
||||
|
||||
PARTICLE_RAINCLOUD_NORMAL = §fRegenwolke
|
||||
PARTICLE_RAINCLOUD_RED = §fLavawolke
|
||||
PARTICLE_RAINCLOUD_YELLOW = §fNektarwolke
|
||||
PARTICLE_RAINCLOUD_ORANGE = §fHonigwolke
|
||||
PARTICLE_RAINCLOUD_GREEN = §fSporenwolke
|
||||
PARTICLE_RAINCLOUD_PURPLE = §fObsidanwolke
|
||||
PARTICLE_RAINCLOUD_NAUTILUS = §fNautiluswolke
|
||||
PARTICLE_RAINCLOUD_ENCHANTMENT = §fVerzauberungswolke
|
||||
PARTICLE_RAINCLOUD_SLIME = §fSchleimwolke
|
||||
PARTICLE_RAINCLOUD_HAIL = §fHagelwolke
|
||||
PARTICLE_RAINCLOUD_SNOW = §fSchneewolke
|
||||
PARTICLE_RAINCLOUD_TOTEM = §fTotemwolke
|
||||
|
||||
PARTICLE_EVENT_ENCHANTING = §cVerzaubert
|
||||
PARTICLE_EVENT_CLOUD = §fWolken
|
||||
PARTICLE_EVENT_SMOKE = §7Rauch
|
||||
|
||||
@@ -39,11 +39,7 @@ public interface ParticleRequirement {
|
||||
|
||||
String getRequirementName(Player player);
|
||||
|
||||
boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig);
|
||||
|
||||
default boolean test(UnlockContext context) {
|
||||
return test(context.getUser(), context.getEvents(), context.getEggHuntConfig());
|
||||
}
|
||||
boolean test(UnlockContext context);
|
||||
|
||||
ParticleRequirement SERVER_TEAM = new ParticleRequirement() {
|
||||
@Override
|
||||
@@ -51,11 +47,6 @@ public interface ParticleRequirement {
|
||||
return LobbySystem.getMessage().parse("PARTICLE_UNLOCKED_BY_SERVER_TEAM", player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.hasPerm(UserPerm.TEAM);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().hasPerm(UserPerm.TEAM);
|
||||
@@ -68,56 +59,24 @@ public interface ParticleRequirement {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(UnlockContext context) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Unlike HAS_TEAM this does not also pass for the server team
|
||||
// Does not also pass for the server team
|
||||
ParticleRequirement TEAM_MEMBER = new ParticleRequirement() {
|
||||
@Override
|
||||
public String getRequirementName(Player player) {
|
||||
return LobbySystem.getMessage().parse("PARTICLE_UNLOCKED_BY_TEAM", player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getTeam() != 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().getTeam() != 0;
|
||||
}
|
||||
};
|
||||
ParticleRequirement HAS_TEAM = new ParticleRequirement() {
|
||||
@Override
|
||||
public String getRequirementName(Player player) {
|
||||
return LobbySystem.getMessage().parse("PARTICLE_UNLOCKED_BY_TEAM", player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getTeam() != 0;
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
ParticleRequirement EVENT_PARTICIPATION = new ParticleRequirement() {
|
||||
@Override
|
||||
public String getRequirementName(Player player) {
|
||||
return LobbySystem.getMessage().parse("PARTICLE_UNLOCKED_BY_EVENT", player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return !eventTeilname.isEmpty();
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
ParticleRequirement EGG_HUNT_EASY = _easterEggHuntDifficulty(EggDifficulty.EASY);
|
||||
ParticleRequirement EGG_HUNT_MEDIUM = _easterEggHuntDifficulty(EggDifficulty.MEDIUM);
|
||||
ParticleRequirement EGG_HUNT_HARD = _easterEggHuntDifficulty(EggDifficulty.HARD);
|
||||
@@ -130,7 +89,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
public boolean test(UnlockContext context) {
|
||||
String eggHuntConfig = context.getEggHuntConfig();
|
||||
if (eggHuntConfig == null) return false;
|
||||
int count = 0;
|
||||
for (int i = 0; i < eggHuntConfig.length(); i++) {
|
||||
@@ -152,8 +112,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getTeam() == teamId;
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().getTeam() == teamId;
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
@@ -167,8 +127,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return eventTeilname.contains(eventId);
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getEvents().contains(eventId);
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
@@ -184,9 +144,9 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
if (!eventTeilname.contains(eventId)) return false;
|
||||
return teams.contains(user.getTeam());
|
||||
public boolean test(UnlockContext context) {
|
||||
if (!teams.contains(context.getUser().getTeam())) return false;
|
||||
return context.getEvents().contains(eventId);
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
@@ -213,7 +173,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
public boolean test(UnlockContext context) {
|
||||
String eggHuntConfig = context.getEggHuntConfig();
|
||||
if (eggHuntConfig == null) return false;
|
||||
return eggs.stream().allMatch(id -> eggHuntConfig.length() > id && eggHuntConfig.charAt(id) == '1');
|
||||
}
|
||||
@@ -229,8 +190,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getId() == userId;
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().getId() == userId;
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
@@ -244,8 +205,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getId() == userId;
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().getId() == userId;
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
@@ -260,12 +221,13 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return user.getTeam() == teamId;
|
||||
public boolean test(UnlockContext context) {
|
||||
return context.getUser().getTeam() == teamId;
|
||||
}
|
||||
}.or(SERVER_TEAM);
|
||||
}
|
||||
|
||||
// The alternative is checked first, as it is usually the cheap server team check
|
||||
default ParticleRequirement or(ParticleRequirement particleRequirement) {
|
||||
return new ParticleRequirement() {
|
||||
@Override
|
||||
@@ -274,8 +236,8 @@ public interface ParticleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(SteamwarUser user, Set<Integer> eventTeilname, String eggHuntConfig) {
|
||||
return ParticleRequirement.this.test(user, eventTeilname, eggHuntConfig) || particleRequirement.test(user, eventTeilname, eggHuntConfig);
|
||||
public boolean test(UnlockContext context) {
|
||||
return particleRequirement.test(context) || ParticleRequirement.this.test(context);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -47,19 +47,19 @@ public class RewardDesigns {
|
||||
.set(GLIDING, Gliding.NOT_GLIDING);
|
||||
|
||||
public final ParticleDesign EVENT_PLACEMENT_WARGEAR_SEASON = new FixedDesign("event_placement_wargear_season", Material.ENCHANTING_TABLE, "PARTICLE_EVENT_ENCHANTING",
|
||||
ParticleRequirement.eventPlacement(22, 12, 285, 54), 1, MOVE,
|
||||
ParticleRequirement.eventPlacement(22, 12, 285, 54), 5, MOVE,
|
||||
() -> new Cloud(new Circle(new LocationMutator(new SimpleParticle(Particle.ENCHANT, 0, 0, 0, 0.01), 0, 1.1, 0))));
|
||||
public final ParticleDesign EVENT_PLACEMENT_AIRSHIP = new FixedDesign("event_placement_airship", Material.SNOWBALL, "PARTICLE_EVENT_CLOUD",
|
||||
ParticleRequirement.eventPlacement(26, 205, 9, 54, 120, 292), 1, MOVE,
|
||||
ParticleRequirement.eventPlacement(26, 205, 9, 54, 120, 292), 5, MOVE,
|
||||
() -> new Circle(new LocationMutator(new SimpleParticle(Particle.CLOUD, 0, 0, 0, 0.01), 0, 2.2, 0)));
|
||||
public final ParticleDesign EVENT_PLACEMENT_HELLS_BELLS = new FixedDesign("event_placement_hells_bells", Material.TNT_MINECART, "PARTICLE_EVENT_SMOKE",
|
||||
ParticleRequirement.eventPlacement(28, 205, 9, 11), 1, MOVE,
|
||||
ParticleRequirement.eventPlacement(28, 205, 9, 11), 5, MOVE,
|
||||
() -> new Cloud(new Circle(new LocationMutator(new SimpleParticle(Particle.CAMPFIRE_COSY_SMOKE, 0, 0, 0, 0.01), 0, 2.2, 0))));
|
||||
public final ParticleDesign EVENT_PLACEMENT_UNDERWATER = new FixedDesign("event_placement_underwater", Material.PRISMARINE_SHARD, "PARTICLE_EVENT_WATER",
|
||||
ParticleRequirement.eventPlacement(31, 9, 210, 520), 1, MOVE,
|
||||
ParticleRequirement.eventPlacement(31, 9, 210, 520), 5, MOVE,
|
||||
() -> new Cloud(new SimpleParticle(Particle.DRIPPING_WATER)));
|
||||
public final ParticleDesign EVENT_PLACEMENT_ADVENT_WAR_SHIP = new FixedDesign("event_placement_advent_war_ship", Material.PRISMARINE_CRYSTALS, "PARTICLE_EVENT_WATER",
|
||||
ParticleRequirement.eventPlacement(32, 9, 205, 210), 2, ALWAYS,
|
||||
ParticleRequirement.eventPlacement(32, 9, 205, 210), 10, ALWAYS,
|
||||
() -> new LocationMutator(new Circle(new Group(new SimpleParticle(Particle.DRIPPING_WATER), new SimpleParticle(Particle.UNDERWATER, 0.2F, 0.2F, 0.2F, 0.01))), 0, 1.1, 0));
|
||||
public final ParticleDesign EVENT_PLACEMENT_MINI_WARGEAR_LIGA = wings("event_placement_mini_wargear_liga", Material.IRON_SWORD, "PARTICLE_EVENT_WINGS",
|
||||
ParticleRequirement.eventPlacement(33, 9, 34, 205), Particle.UNDERWATER, 0.15, WingDesign.MWGL);
|
||||
@@ -73,25 +73,25 @@ public class RewardDesigns {
|
||||
ParticleRequirement.eventPlacement(38, 210, 158, 167, 286), Particle.CRIT, 0.1, WingDesign.SWORD_CROSSED);
|
||||
|
||||
public final ParticleDesign EVENT_PARTICIPATION_WARGEAR_SEASON = new FixedDesign("event_participation_wargear_season", Material.BOOK, "PARTICLE_EVENT_ENCHANTING",
|
||||
ParticleRequirement.eventParticipation(22), 1, MOVE,
|
||||
ParticleRequirement.eventParticipation(22), 5, MOVE,
|
||||
() -> new SimpleParticle(Particle.ENCHANT));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_AIRSHIP = new FixedDesign("event_participation_airship", Material.SNOW_BLOCK, "PARTICLE_EVENT_CLOUD",
|
||||
ParticleRequirement.eventParticipation(26), 1, MOVE,
|
||||
ParticleRequirement.eventParticipation(26), 5, MOVE,
|
||||
() -> new SimpleParticle(Particle.CLOUD));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_HELLS_BELLS = new FixedDesign("event_participation_hells_bells", Material.TNT, "PARTICLE_EVENT_SMOKE",
|
||||
ParticleRequirement.eventParticipation(28), 1, MOVE,
|
||||
ParticleRequirement.eventParticipation(28), 5, MOVE,
|
||||
() -> new Circle(new SimpleParticle(Particle.CAMPFIRE_COSY_SMOKE, 0, 0, 0, 0.01)));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_UNDERWATER = new FixedDesign("event_participation_underwater", Material.PRISMARINE_BRICKS, "PARTICLE_EVENT_WATER",
|
||||
ParticleRequirement.eventParticipation(31), 1, MOVE,
|
||||
ParticleRequirement.eventParticipation(31), 5, MOVE,
|
||||
() -> new SimpleParticle(Particle.DRIPPING_WATER));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_ADVENT_WAR_SHIP = new FixedDesign("event_participation_advent_war_ship", Material.PRISMARINE_WALL, "PARTICLE_EVENT_WATER",
|
||||
ParticleRequirement.eventParticipation(32), 2, MOVE,
|
||||
ParticleRequirement.eventParticipation(32), 10, MOVE,
|
||||
() -> new Group(new SimpleParticle(Particle.DRIPPING_WATER), new SimpleParticle(Particle.UNDERWATER, 0.2F, 0.2F, 0.2F, 0.01)));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_MINI_WARGEAR_LIGA = new FixedDesign("event_participation_mini_wargear_liga", Material.PRISMARINE_SLAB, "PARTICLE_EVENT_WATER",
|
||||
ParticleRequirement.eventParticipation(33), 1, MOVE,
|
||||
ParticleRequirement.eventParticipation(33), 5, MOVE,
|
||||
() -> new Circle(new SimpleParticle(Particle.UNDERWATER, 0, 0, 0, 0)));
|
||||
public final ParticleDesign EVENT_PARTICIPATION_UNDERWATER_MWG = new FixedDesign("event_participation_underwater_mwg", Material.BLUE_CARPET, "PARTICLE_EVENT_RAIN_CLOUD",
|
||||
ParticleRequirement.eventParticipation(35), 3, ALWAYS,
|
||||
ParticleRequirement.eventParticipation(35), 15, ALWAYS,
|
||||
() -> new RandomParticle(
|
||||
rainCloud(Particle.RAIN, Particle.DRIPPING_WATER, 5),
|
||||
rainCloud(null, Particle.DRIPPING_LAVA, 5),
|
||||
@@ -113,7 +113,7 @@ public class RewardDesigns {
|
||||
ParticleRequirement.EGG_HUNT_EASY, 1, ALWAYS,
|
||||
() -> new LocationMutator(new SimpleParticle(Particle.FALLING_SPORE_BLOSSOM, 0.5F, 0.1f, 0.5F, 1, 1), 0, 2.2, 0));
|
||||
public final ParticleDesign EGG_HUNT_MEDIUM = new FixedDesign("egg_hunt_medium", Material.YELLOW_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_MEDIUM",
|
||||
ParticleRequirement.EGG_HUNT_MEDIUM, 1, ALWAYS.andThen(values -> values.set(GROUND, Ground.ON_GROUND).set(SNEAK, Sneak.SNEAKING)),
|
||||
ParticleRequirement.EGG_HUNT_MEDIUM, 5, ALWAYS.andThen(values -> values.set(GROUND, Ground.ON_GROUND).set(SNEAK, Sneak.SNEAKING)),
|
||||
() -> new SimpleParticle(Particle.GLOW_SQUID_INK, 0.4F, 0.9F, 0.4F, 0.01));
|
||||
public final ParticleDesign EGG_HUNT_HARD = new FixedDesign("egg_hunt_hard", Material.RED_CONCRETE_POWDER, "PARTICLE_EGG_HUNT_HARD",
|
||||
ParticleRequirement.EGG_HUNT_HARD, 2, ALWAYS,
|
||||
@@ -133,7 +133,7 @@ public class RewardDesigns {
|
||||
), 0, -0.2, 0));
|
||||
// Hearts above the head while sneaking on the ground, a heart cloud ring while in the air
|
||||
public final ParticleDesign EGG_HUNT_HALF = new FixedDesign("egg_hunt_half", Material.EGG, "PARTICLE_EGG_HUNT_HALF",
|
||||
ParticleRequirement.EGG_HUNT_FOUND_HALF, 1, ALWAYS,
|
||||
ParticleRequirement.EGG_HUNT_FOUND_HALF, 5, ALWAYS,
|
||||
() -> new Group(
|
||||
new Sneaking(new Floor(new LocationMutator(new SimpleParticle(Particle.HEART, 0, 0, 0, 0.01), 0, 1.7, 0))),
|
||||
new NonFloor(new NonFlying(new LocationMutator(new Cloud(new Circle(new SimpleParticle(Particle.HEART, 0, 0, 0, 0.01))), 0, 0.5, 0)))
|
||||
|
||||
@@ -36,9 +36,9 @@ public class ParticleSlots {
|
||||
public final int MAX_ENTRIES = 10;
|
||||
private final String KEY_PREFIX = "lobby-particle-slot-";
|
||||
|
||||
// Particle positions per tick a slot may spawn
|
||||
// Particles per tick a slot may spawn. A default entry costs 5; the largest preset costs 38.
|
||||
public double maxCost(SteamwarUser user) {
|
||||
return user.hasPerm(UserPerm.TEAM) ? 80 : 40;
|
||||
return user.hasPerm(UserPerm.TEAM) ? 60 : 30;
|
||||
}
|
||||
|
||||
// Slots 1-3 for everyone, 4-5 for team members, 6-7 for the server team
|
||||
|
||||
Reference in New Issue
Block a user