TriggerVolumeTestCommand class
Пакет: com.hypixel.hytale.builtin.triggervolumes.command
Файл: com/hypixel/hytale/builtin/triggervolumes/command/TriggerVolumeTestCommand.java
extends: AbstractWorldCommand
Поля (51)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
TEST_PREFIX |
|
SendMessageEffect |
var100 |
|
VolumeEntry |
var101 |
|
VolumeEntry |
var102 |
|
VolumeEntry |
var103 |
|
double |
var11 |
|
GroupEntry |
var11 |
|
double |
var13 |
|
EnumSet |
var15 |
|
BoxShape |
var16 |
|
int |
var17 |
|
int |
var18 |
|
SendMessageEffect |
var19 |
|
VolumeEntry |
var20 |
|
VolumeEntry |
var21 |
|
VolumeEntry |
var22 |
|
VolumeEntry |
var23 |
|
VolumeEntry |
var24 |
|
VolumeEntry |
var25 |
|
VolumeEntry |
var26 |
|
VolumeEntry |
var27 |
|
SendMessageEffect |
var28 |
|
SendMessageEffect |
var29 |
|
SendMessageEffect |
var30 |
|
VolumeEntry |
var31 |
|
VolumeEntry |
var32 |
|
VolumeEntry |
var33 |
|
VolumeEntry |
var34 |
|
String |
var35 |
|
String |
var36 |
|
VolumeEntry |
var37 |
|
VolumeEntry |
var38 |
|
RandomChanceCondition |
var39 |
|
TriggerVolumesPlugin |
var4 |
|
SendMessageEffect |
var40 |
|
RandomChanceCondition |
var41 |
|
SendMessageEffect |
var42 |
|
SendMessageEffect |
var43 |
|
Ref |
var44 |
|
ArrayList |
var46 |
|
TransformComponent |
var47 |
|
TriggerVolumeManager |
var5 |
|
Vector3d |
var51 |
|
float |
var53 |
|
String |
var6 |
|
ArrayList |
var7 |
|
Vector3d |
var7 |
|
VolumeEntry |
var8 |
|
VolumeEntry |
var97 |
|
SpawnNpcEffect |
var98 |
|
VolumeEntry |
var99 |
Методы (27)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(String var48 : var7) |
|
|
for for(String var52 : var46) |
|
|
for for(VolumeEntry var9 : var5) |
|
|
for for(VolumeEntry var10 : var5) |
|
|
if if(var5 != null) |
|
|
if if(var47 != null) |
|
|
if if(var20 != null) |
|
|
if if(var21 != null) |
|
|
if if(var22 != null) |
|
|
if if(var23 != null) |
|
|
if if(var24 != null) |
|
|
if if(var25 != null) |
|
|
if if(var26 != null) |
|
|
if if(var27 != null) |
|
|
if if(var31 != null) |
|
|
if if(var32 != null) |
|
|
if if(var33 != null) |
|
|
if if(var34 != null) |
|
|
if if(var37 != null) |
|
|
if if(var38 != null) |
|
|
if if(var97 != null) |
|
|
if if(var99 != null) |
|
|
if if(var101 != null) |
|
|
if if(var102 != null && var103 != null) |
private |
void |
registerTestGroupvoid registerTestGroup(@Nonnull TriggerVolumeManager var1,
@Nonnull String var2,
@Nonnull String var3,
@Nonnull Map<String, String> var4,
@Nonnull List<VolumeEntry> var5,
@Nonnull Set<EntityTargetType> var6) |
private |
int |
registerVolumeint registerVolume(@Nonnull TriggerVolumeManager var1,
@Nonnull String var2,
@Nonnull String var3,
@Nonnull Vector3d var4,
@Nonnull TriggerVolumeShape var5,
@Nonnull List<TriggerEffect> var6,
@Nonnull Set<EntityTargetType> var7) |
abstract |
|
super super("test", "server.commands.triggervolume.test.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.command;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.EntityTargetType;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.TriggerVolumesPlugin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.EffectOrigin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEventType;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.DeleteVolumeEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.ItemCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.ModifyTagsEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.PlaySoundEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.PlayVfxEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.SendMessageEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.SetVelocityEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.ShowEventTitleEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.SpawnNpcEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.BlockTypeCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.CooldownCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.EntityCountCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.GameModeCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.PermissionCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.RandomChanceCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions.TagCondition;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.ConditionTiming;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.CooldownMode;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.GroupEntry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.shape.BoxShape;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.shape.CylinderShape;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.shape.SphereShape;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.shape.TriggerVolumeShape;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.ArrayList;
class="kw">import java.util.EnumSet;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class TriggerVolumeTestCommand class="kw">extends AbstractWorldCommand {
class="kw">private class="kw">static class="kw">final String TEST_PREFIX = "tvtest_";
class="kw">private class="kw">static class="kw">final double SPACING = 8.0;
class="kw">private class="kw">static class="kw">final int TEST_GROUP_COLOR = 3386111;
class="kw">private class="kw">final FlagArg cleanupFlag = this.withFlagArg("cleanup", "server.commands.triggervolume.test.cleanup.desc");
class="kw">public TriggerVolumeTestCommand() {
super("test", "server.commands.triggervolume.test.desc");
}
@Override
class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
TriggerVolumesPlugin var4 = TriggerVolumesPlugin.get();
TriggerVolumeManager var5 = var3.getResource(var4.getManagerResourceType());
if (var5 != null) {
String var6 = var2.getName().toLowerCase(Locale.ROOT);
if (!this.cleanupFlag.get(var1)) {
Ref var44 = var1.senderAsPlayerRef();
if (var44 != null && var44.isValid()) {
TransformComponent var47 = var3.getComponent(var44, TransformComponent.getComponentType());
if (var47 != null) {
Vector3d var51 = var47.getPosition();
float var53 = var47.getRotation().yaw();
double var11 = -Math.sin(var53);
double var13 = -Math.cos(var53);
EnumSet var15 = EnumSet.of(EntityTargetType.PLAYER);
BoxShape var16 = new BoxShape(new Vector3d(-2.0, 0.0, -2.0), new Vector3d(2.0, 3.0, 2.0));
int var17 = 0;
int var18 = 0;
var17 += this.registerVolume(
var5,
var6,
"tvtest_enter_message",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.enter")),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_exit_message",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.EXIT, "server.commands.triggervolume.test.msg.exit")),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_launch_pad",
slotPosition(var51, var11, var13, ++var18),
new SphereShape(new Vector3d(0.0, 1.5, 0.0), 3.0),
List.of(SetVelocityEffect.create(TriggerEventType.ENTER, new Vector3d(0.0, 20.0, 0.0), false)),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_play_sound",
slotPosition(var51, var11, var13, ++var18),
new CylinderShape(new Vector3d(0.0, 0.0, 0.0), 3.0, 4.0),
List.of(PlaySoundEffect.create(TriggerEventType.ENTER, "SFX_Player_Pickup_Item")),
var15
);
SendMessageEffect var19 = SendMessageEffect.create(TriggerEventType.TICK, "server.commands.triggervolume.test.msg.tick");
var19.setInterval(2.0F);
var17 += this.registerVolume(
var5,
var6,
"tvtest_tick_message_2s",
slotPosition(var51, var11, var13, ++var18),
new SphereShape(new Vector3d(0.0, 1.5, 0.0), 3.0),
List.of(var19),
var15
);
VolumeEntry var20 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_random_chance",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.conditional")),
var15
);
if (var20 != null) {
var20.getConditions().add(RandomChanceCondition.create(TriggerEventType.ENTER, 0.5F));
var17++;
}
VolumeEntry var21 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_cooldown_per_player",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownConditionPerPlayerAccepted")),
var15
);
if (var21 != null) {
var21.getConditions().add(CooldownCondition.create(TriggerEventType.ENTER, 5.0F, CooldownCondition.Scope.PER_PLAYER));
var21.getRejectionEffects()
.add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownConditionPerPlayerRejected"));
var17++;
}
VolumeEntry var22 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_cooldown_whole_volume",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownConditionWholeVolumeAccepted")),
var15
);
if (var22 != null) {
var22.getConditions().add(CooldownCondition.create(TriggerEventType.ENTER, 5.0F, CooldownCondition.Scope.WHOLE_VOLUME));
var22.getRejectionEffects()
.add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownConditionWholeVolumeRejected"));
var17++;
}
VolumeEntry var23 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_reject_gamemode",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.gameModeAccepted")),
var15
);
if (var23 != null) {
var23.getConditions().add(GameModeCondition.create(TriggerEventType.ENTER, GameMode.Creative));
var23.getRejectionEffects()
.add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.gameModeRejected"));
var17++;
}
VolumeEntry var24 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_reject_permission",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.permissionAccepted")),
var15
);
if (var24 != null) {
var24.getConditions().add(PermissionCondition.create(TriggerEventType.ENTER, "hytale.triggervolume.test.permission"));
var24.getRejectionEffects()
.add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.permissionRejected"));
var17++;
}
VolumeEntry var25 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_reject_item",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.itemAccepted")),
var15
);
if (var25 != null) {
var25.getConditions().add(ItemCondition.create(TriggerEventType.ENTER, "Potion_Empty", ItemCondition.Location.IN_HAND, 1));
var25.getRejectionEffects().add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.itemRejected"));
var17++;
}
VolumeEntry var26 = this.registerVolumeEntry(
var5,
var6,
"tvtest_condition_after_delay",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.afterDelayAccepted")),
var15
);
if (var26 != null) {
var26.setActivationDelay(2.0F);
var26.setConditionTiming(ConditionTiming.AFTER_VOLUME_DELAY);
var26.getConditions().add(RandomChanceCondition.create(TriggerEventType.ENTER, 1.0F));
var26.getRejectionEffects()
.add(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.afterDelayRejected"));
var17++;
}
VolumeEntry var27 = this.registerVolumeEntry(
var5,
var6,
"tvtest_delayed_2s_message",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.delayed")),
var15
);
if (var27 != null) {
var27.setActivationDelay(2.0F);
var17++;
}
SendMessageEffect var28 = SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.seq1");
SendMessageEffect var29 = SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.seq2");
var29.setDelay(1.0F);
SendMessageEffect var30 = SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.seq3");
var30.setDelay(2.0F);
var17 += this.registerVolume(
var5, var6, "tvtest_sequenced_messages", slotPosition(var51, var11, var13, ++var18), var16, List.of(var28, var29, var30), var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_event_title",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
ShowEventTitleEffect.create(
TriggerEventType.ENTER,
"server.commands.triggervolume.test.msg.titlePrimary",
"server.commands.triggervolume.test.msg.titleSecondary",
true
)
),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_one_shot_destroy",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.oneShot"),
DeleteVolumeEffect.create(TriggerEventType.ENTER)
),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_vfx_at_origin",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(PlayVfxEffect.create(TriggerEventType.ENTER, "Totem_Heal_Simple_Test", PlayVfxEffect.Anchor.VOLUME)),
var15
);
var17 += this.registerVolume(
var5,
var6,
"tvtest_vfx_at_entity",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(PlayVfxEffect.create(TriggerEventType.ENTER, "Totem_Heal_Simple_Test", PlayVfxEffect.Anchor.ENTITY)),
var15
);
VolumeEntry var31 = this.registerVolumeEntry(
var5,
var6,
"tvtest_cooldown_per_player_5s",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownPerPlayer")),
var15
);
if (var31 != null) {
var31.setCooldown(5.0F);
var31.setCooldownMode(CooldownMode.PER_ENTITY);
var17++;
}
VolumeEntry var32 = this.registerVolumeEntry(
var5,
var6,
"tvtest_cooldown_total_10s",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.cooldownTotal")),
var15
);
if (var32 != null) {
var32.setCooldown(10.0F);
var32.setCooldownMode(CooldownMode.TOTAL);
var17++;
}
VolumeEntry var33 = this.registerVolumeEntry(
var5,
var6,
"tvtest_block_placed_soil_dirt",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.BLOCK_PLACED, "server.commands.triggervolume.test.msg.blockPlaced")),
var15
);
if (var33 != null) {
var33.getConditions().add(BlockTypeCondition.create(TriggerEventType.BLOCK_PLACED, "Soil_Dirt"));
var17++;
}
VolumeEntry var34 = this.registerVolumeEntry(
var5,
var6,
"tvtest_tag_mutation",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.tagMutationEnter"),
ModifyTagsEffect.set(TriggerEventType.ENTER, "tvtest_state", "active"),
ModifyTagsEffect.remove(TriggerEventType.EXIT, "tvtest_state", null),
SendMessageEffect.create(TriggerEventType.TAG_ADDED, "server.commands.triggervolume.test.msg.tagAdded"),
SendMessageEffect.create(TriggerEventType.TAG_REMOVED, "server.commands.triggervolume.test.msg.tagRemoved")
),
var15
);
if (var34 != null) {
var34.getConditions().add(TagCondition.forEvent(TriggerEventType.TAG_ADDED, "tvtest_state", "active"));
var34.getConditions().add(TagCondition.forEvent(TriggerEventType.TAG_REMOVED, "tvtest_state", "active"));
var17++;
}
String var35 = "tvtest_remote_target";
String var36 = "tvtest_remote_state";
VolumeEntry var37 = this.registerVolumeEntry(
var5,
var6,
"tvtest_remote_tag_target",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
SendMessageEffect.create(TriggerEventType.TAG_ADDED, "server.commands.triggervolume.test.msg.remoteTagAdded"),
SendMessageEffect.create(TriggerEventType.TAG_REMOVED, "server.commands.triggervolume.test.msg.remoteTagRemoved")
),
var15
);
if (var37 != null) {
var37.setTags(Map.of(var35, "target"));
var37.getConditions().add(TagCondition.forEvent(TriggerEventType.TAG_ADDED, var36, "armed"));
var37.getConditions().add(TagCondition.forEvent(TriggerEventType.TAG_REMOVED, var36, "armed"));
var17++;
}
var17 += this.registerVolume(
var5,
var6,
"tvtest_remote_tag_controller",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.remoteControllerEnter"),
ModifyTagsEffect.set(TriggerEventType.ENTER, var36, "armed").withMatchTag(var35, null),
SendMessageEffect.create(TriggerEventType.EXIT, "server.commands.triggervolume.test.msg.remoteControllerExit"),
ModifyTagsEffect.remove(TriggerEventType.EXIT, var36, null).withMatchTag(var35, null)
),
var15
);
VolumeEntry var38 = this.registerVolumeEntry(
var5, var6, "tvtest_multi_entry", slotPosition(var51, var11, var13, ++var18), var16, List.of(), var15
);
if (var38 != null) {
RandomChanceCondition var39 = RandomChanceCondition.create(TriggerEventType.ENTER, 1.0F);
SendMessageEffect var40 = SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.multiEntryFirst");
RandomChanceCondition var41 = RandomChanceCondition.create(TriggerEventType.ENTER, 0.0F);
var41.setEntry(1);
SendMessageEffect var42 = SendMessageEffect.create(
TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.multiEntrySecondSuccess"
);
var42.setEntry(1);
SendMessageEffect var43 = SendMessageEffect.create(
TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.multiEntrySecondRejected"
);
var43.setEntry(1);
var38.getConditions().add(var39);
var38.getConditions().add(var41);
var38.getEffects().add(var40);
var38.getEffects().add(var42);
var38.getRejectionEffects().add(var43);
var17++;
}
VolumeEntry var97 = this.registerVolumeEntry(
var5, var6, "tvtest_spawn_npc_on_death", slotPosition(var51, var11, var13, ++var18), var16, List.of(), EnumSet.of(EntityTargetType.NPC)
);
if (var97 != null) {
SpawnNpcEffect var98 = SpawnNpcEffect.create(TriggerEventType.ENTITY_DIED, "Chicken", EffectOrigin.ENTITY);
var98.setDelay(2.0F);
var97.getEffects().add(var98);
var17++;
}
VolumeEntry var99 = this.registerVolumeEntry(
var5, var6, "tvtest_entity_count_tick", slotPosition(var51, var11, var13, ++var18), var16, List.of(), var15
);
if (var99 != null) {
SendMessageEffect var100 = SendMessageEffect.create(TriggerEventType.TICK, "server.commands.triggervolume.test.msg.entityCount");
var100.setInterval(1.0F);
var99.getEffects().add(var100);
var99.getConditions().add(EntityCountCondition.create(TriggerEventType.TICK, EntityCountCondition.Comparison.AT_LEAST, 1));
var17++;
}
VolumeEntry var101 = this.registerVolumeEntry(
var5,
var6,
"tvtest_block_used_any_usable",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.BLOCK_USED, "server.commands.triggervolume.test.msg.blockUsed")),
var15
);
if (var101 != null) {
var101.getConditions().add(BlockTypeCondition.create(TriggerEventType.BLOCK_USED));
var17++;
}
VolumeEntry var102 = this.registerVolumeEntry(
var5,
var6,
"tvtest_delete_group_member_a",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.deleteGroupMember")),
var15
);
VolumeEntry var103 = this.registerVolumeEntry(
var5,
var6,
"tvtest_delete_group_member_b",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.deleteGroupMember")),
var15
);
if (var102 != null && var103 != null) {
this.registerTestGroup(var5, var6, "tvtest_delete_group_arena", Map.of("tvtest_group", "arena"), List.of(var102, var103), var15);
var17 += 2;
}
var17 += this.registerVolume(
var5,
var6,
"tvtest_delete_group_controller",
slotPosition(var51, var11, var13, ++var18),
var16,
List.of(
SendMessageEffect.create(TriggerEventType.ENTER, "server.commands.triggervolume.test.msg.deleteGroupController"),
DeleteVolumeEffect.create(TriggerEventType.ENTER).withMatchTag("tvtest_group", "arena").withDeleteGroup(true)
),
var15
);
var1.sendMessage(Message.translation("server.commands.triggervolume.test.success").param("count", var17));
}
}
} else {
ArrayList var7 = new ArrayList<>();
for (Entry var9 : var5.getVolumesMap().entrySet()) {
if (var9.getKey().startsWith("tvtest_")) {
var7.add(var9.getKey());
}
}
for (String var48 : var7) {
var5.unregister(var48);
var5.notifyViewersRemove(var48);
}
ArrayList var46 = new ArrayList<>();
for (String var10 : var5.getGroupsMap().keySet()) {
if (var10.startsWith("tvtest_")) {
var46.add(var10);
}
}
for (String var52 : var46) {
var5.unregisterGroup(var52);
}
var1.sendMessage(Message.translation("server.commands.triggervolume.test.cleaned").param("count", var7.size()));
}
}
}
@Nonnull
class="kw">private class="kw">static Vector3d slotPosition(@Nonnull Vector3d var0, double var1, double var3, int var5) {
class="kw">return new Vector3d(var0.x() + var1 * 8.0 * var5, var0.y(), var0.z() + var3 * 8.0 * var5);
}
class="kw">private int registerVolume(
@Nonnull TriggerVolumeManager var1,
@Nonnull String var2,
@Nonnull String var3,
@Nonnull Vector3d var4,
@Nonnull TriggerVolumeShape var5,
@Nonnull List<TriggerEffect> var6,
@Nonnull Set<EntityTargetType> var7
) {
this.registerVolumeEntry(var1, var2, var3, var4, var5, var6, var7);
class="kw">return 1;
}
@Nullable
class="kw">private VolumeEntry registerVolumeEntry(
@Nonnull TriggerVolumeManager var1,
@Nonnull String var2,
@Nonnull String var3,
@Nonnull Vector3d var4,
@Nonnull TriggerVolumeShape var5,
@Nonnull List<TriggerEffect> var6,
@Nonnull Set<EntityTargetType> var7
) {
if (var1.hasVolume(var3)) {
var1.unregister(var3);
}
VolumeEntry var8 = new VolumeEntry(var3, var2, var4, var5, new ArrayList<>(var6), var7, true);
var8.setName(var3);
var1.register(var3, var8);
class="kw">return var8;
}
class="kw">private void registerTestGroup(
@Nonnull TriggerVolumeManager var1,
@Nonnull String var2,
@Nonnull String var3,
@Nonnull Map<String, String> var4,
@Nonnull List<VolumeEntry> var5,
@Nonnull Set<EntityTargetType> var6
) {
if (var1.hasGroup(var3)) {
var1.unregisterGroup(var3);
}
Vector3d var7 = new Vector3d();
for (VolumeEntry var9 : var5) {
var7.add(var9.getPosition());
}
if (!var5.isEmpty()) {
var7.div(var5.size());
}
GroupEntry var11 = new GroupEntry(var3, var2, var7, new ArrayList<>(), EnumSet.copyOf(var6), true, 3386111);
var11.setName(var3);
var11.setTags(var4);
var1.registerGroup(var3, var11);
for (VolumeEntry var10 : var5) {
var10.setGroupId(var3);
var11.addMember(var10.getId());
}
}
}