Search in sources :

Example 56 with ResourceKey

use of org.spongepowered.api.ResourceKey in project SpongeCommon by SpongePowered.

the class SpongeRegistryLoaders method clientCompletionKey.

public static RegistryLoader<CommandTreeNodeType<?>> clientCompletionKey() {
    final Function<ResourceKey, ArgumentType<?>> fn = key -> ((EmptyArgumentSerializerAccessor<?>) ArgumentTypesAccessor.accessor$BY_NAME().get(key).accessor$serializer()).accessor$constructor().get();
    return RegistryLoader.of(l -> {
        l.add(CommandTreeNodeTypes.ANGLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.BLOCK_POS, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.BLOCK_PREDICATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.BLOCK_STATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.BOOL, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.COLOR, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.COLUMN_POS, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.COMPONENT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.DIMENSION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.DOUBLE, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new DoubleArgumentSerializer()));
        l.add(CommandTreeNodeTypes.ENTITY, SpongeEntityCommandTreeNodeType::new);
        l.add(CommandTreeNodeTypes.ENTITY_ANCHOR, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ENTITY_SUMMON, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.FLOAT, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new FloatArgumentSerializer()));
        l.add(CommandTreeNodeTypes.FLOAT_RANGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.FUNCTION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.GAME_PROFILE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.INTEGER, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new IntegerArgumentSerializer()));
        l.add(CommandTreeNodeTypes.INT_RANGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ITEM_ENCHANTMENT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ITEM_PREDICATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ITEM_SLOT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ITEM_STACK, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.LONG, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new LongArgumentSerializer()));
        l.add(CommandTreeNodeTypes.MESSAGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.MOB_EFFECT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.NBT_COMPOUND_TAG, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.NBT_PATH, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.NBT_TAG, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.OBJECTIVE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.OBJECTIVE_CRITERIA, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.OPERATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.PARTICLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.RESOURCE_LOCATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.ROTATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.SCORE_HOLDER, k -> new SpongeAmountCommandTreeNodeType(k, ScoreHolderArgument.scoreHolder(), ScoreHolderArgument.scoreHolders()));
        l.add(CommandTreeNodeTypes.SCOREBOARD_SLOT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.STRING, SpongeStringCommandTreeNodeType::new);
        l.add(CommandTreeNodeTypes.SWIZZLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.TEAM, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.TIME, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.UUID, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.VEC2, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
        l.add(CommandTreeNodeTypes.VEC3, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k)));
    });
}
Also used : BlockOperation(org.spongepowered.common.block.transaction.BlockOperation) LensQuery(org.spongepowered.common.inventory.query.type.LensQuery) ChunkRegenerateFlag(org.spongepowered.api.world.ChunkRegenerateFlag) DataFormat(org.spongepowered.api.data.persistence.DataFormat) SpongeAdventure(org.spongepowered.common.adventure.SpongeAdventure) ResourceLocationArgument(net.minecraft.commands.arguments.ResourceLocationArgument) ItemStack(org.spongepowered.api.item.inventory.ItemStack) SpongeMapColorType(org.spongepowered.common.map.color.SpongeMapColorType) HorseColors(org.spongepowered.api.data.type.HorseColors) Map(java.util.Map) PaletteType(org.spongepowered.api.world.schematic.PaletteType) Vector2d(org.spongepowered.math.vector.Vector2d) EntitySelectorParser(net.minecraft.commands.arguments.selector.EntitySelectorParser) SpongeDurationValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDurationValueParameter) SpongeGoalExecutorType(org.spongepowered.common.entity.ai.SpongeGoalExecutorType) SpongeDamageType(org.spongepowered.common.event.cause.entity.damage.SpongeDamageType) HorseStyles(org.spongepowered.api.data.type.HorseStyles) DamageType(org.spongepowered.api.event.cause.entity.damage.DamageType) SpongeDismountType(org.spongepowered.common.event.cause.entity.SpongeDismountType) SpongeHorseColor(org.spongepowered.common.data.type.SpongeHorseColor) CommandTreeNodeType(org.spongepowered.api.command.registrar.tree.CommandTreeNodeType) AccountDeletionResultType(org.spongepowered.api.service.economy.account.AccountDeletionResultType) ItemTypeQuery(org.spongepowered.common.inventory.query.type.ItemTypeQuery) PortalTypes(org.spongepowered.api.world.portal.PortalTypes) MapDecoration(net.minecraft.world.level.saveddata.maps.MapDecoration) DisplaySlot(org.spongepowered.api.scoreboard.displayslot.DisplaySlot) SpongeEntityCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeEntityCommandTreeNodeType) BlockState(org.spongepowered.api.block.BlockState) MapShades(org.spongepowered.api.map.color.MapShades) DoubleArgumentType(com.mojang.brigadier.arguments.DoubleArgumentType) SpongeMaxOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeMaxOperator) WeatherTypes(org.spongepowered.api.world.weather.WeatherTypes) ReverseQuery(org.spongepowered.common.inventory.query.type.ReverseQuery) Player(org.spongepowered.api.entity.living.player.Player) ItemStackIgnoreQuantityQuery(org.spongepowered.common.inventory.query.type.ItemStackIgnoreQuantityQuery) SelectorSortAlgorithms(org.spongepowered.api.command.selector.SelectorSortAlgorithms) GoalExecutorTypes(org.spongepowered.api.entity.ai.goal.GoalExecutorTypes) DimensionArgumentAccessor(org.spongepowered.common.accessor.commands.arguments.DimensionArgumentAccessor) WeatherType(org.spongepowered.api.world.weather.WeatherType) SpongeTagType(org.spongepowered.common.tag.SpongeTagType) PotionEffectType(org.spongepowered.api.effect.potion.PotionEffectType) CommandSourceStack(net.minecraft.commands.CommandSourceStack) Ban(org.spongepowered.api.service.ban.Ban) ClientNativeArgumentParser(org.spongepowered.common.command.brigadier.argument.ClientNativeArgumentParser) DimensionArgument(net.minecraft.commands.arguments.DimensionArgument) Operations(org.spongepowered.api.block.transaction.Operations) LinkedHashMap(java.util.LinkedHashMap) BoolArgumentType(com.mojang.brigadier.arguments.BoolArgumentType) EntityArgument(net.minecraft.commands.arguments.EntityArgument) ParticleOption(org.spongepowered.api.effect.particle.ParticleOption) MapDecorationOrientation(org.spongepowered.api.map.decoration.orientation.MapDecorationOrientation) EnumProperty(net.minecraft.world.level.block.state.properties.EnumProperty) BooleanStateProperty(org.spongepowered.api.state.BooleanStateProperty) ResourceKey(org.spongepowered.api.ResourceKey) TransactionType(org.spongepowered.common.event.tracking.context.transaction.type.TransactionType) SpongeDateTimeValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDateTimeValueParameter) LongArgumentType(com.mojang.brigadier.arguments.LongArgumentType) Orientations(org.spongepowered.api.util.orientation.Orientations) EnumStateProperty(org.spongepowered.api.state.EnumStateProperty) LightType(org.spongepowered.api.world.LightType) CommandRegistrarType(org.spongepowered.api.command.registrar.CommandRegistrarType) IntegerArgumentSerializer(net.minecraft.commands.synchronization.brigadier.IntegerArgumentSerializer) RegistryTypes(org.spongepowered.api.registry.RegistryTypes) CatType(org.spongepowered.api.data.type.CatType) DamageModifierType(org.spongepowered.api.event.cause.entity.damage.DamageModifierType) TeleportHelperFilter(org.spongepowered.api.world.teleport.TeleportHelperFilter) SpongeIPAddressValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeIPAddressValueParameter) BodyPart(org.spongepowered.api.data.type.BodyPart) SuggestionProviders(net.minecraft.commands.synchronization.SuggestionProviders) SelectorTypes(org.spongepowered.api.command.selector.SelectorTypes) RabbitType(org.spongepowered.api.data.type.RabbitType) TeleportHelperFilters(org.spongepowered.api.world.teleport.TeleportHelperFilters) SelectorSortAlgorithm(org.spongepowered.api.command.selector.SelectorSortAlgorithm) HorseStyle(org.spongepowered.api.data.type.HorseStyle) Operation(org.spongepowered.api.block.transaction.Operation) SpongeBigDecimalValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeBigDecimalValueParameter) SpongeOrientation(org.spongepowered.common.util.SpongeOrientation) MapColorType(org.spongepowered.api.map.color.MapColorType) ParrotTypes(org.spongepowered.api.data.type.ParrotTypes) Items(net.minecraft.world.item.Items) CatTypes(org.spongepowered.api.data.type.CatTypes) MusicDisc(org.spongepowered.api.effect.sound.music.MusicDisc) FluidType(org.spongepowered.api.fluid.FluidType) SpongeDisplaySlotFactory(org.spongepowered.common.scoreboard.SpongeDisplaySlotFactory) GoalType(org.spongepowered.api.entity.ai.goal.GoalType) Vec2Argument(net.minecraft.commands.arguments.coordinates.Vec2Argument) QueryType(org.spongepowered.api.item.inventory.query.QueryType) PaletteTypes(org.spongepowered.api.world.schematic.PaletteTypes) RabbitTypes(org.spongepowered.api.data.type.RabbitTypes) FindNearestAttackableTargetGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.target.FindNearestAttackableTargetGoal) SpongeRabbitType(org.spongepowered.common.data.type.SpongeRabbitType) LookRandomlyGoal(org.spongepowered.api.entity.ai.goal.builtin.LookRandomlyGoal) Locatable(org.spongepowered.api.world.Locatable) SpongeStringCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeStringCommandTreeNodeType) SpongeBasicCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeBasicCommandTreeNodeType) Locale(java.util.Locale) RecordItem(net.minecraft.world.item.RecordItem) SpongeOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeOperator) NotePitch(org.spongepowered.api.data.type.NotePitch) SpongeTargetEntityValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeTargetEntityValueParameter) MovementType(org.spongepowered.api.event.cause.entity.MovementType) SpongeNoneValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeNoneValueParameter) SpongeClickType(org.spongepowered.common.inventory.menu.handler.SpongeClickType) SpongeRangeCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeRangeCommandTreeNodeType) Sponge(org.spongepowered.api.Sponge) ArgumentType(com.mojang.brigadier.arguments.ArgumentType) QueryTypes(org.spongepowered.api.item.inventory.query.QueryTypes) ChunkRegenerateFlags(org.spongepowered.api.world.ChunkRegenerateFlags) Collectors(java.util.stream.Collectors) SpongeParameterizedCommandRegistrar(org.spongepowered.common.command.registrar.SpongeParameterizedCommandRegistrar) ClickTypes(org.spongepowered.api.item.inventory.menu.ClickTypes) UnknownPortalType(org.spongepowered.common.world.portal.UnknownPortalType) MatterType(org.spongepowered.api.data.type.MatterType) SpongePlaceholderParserBuilder(org.spongepowered.common.placeholder.SpongePlaceholderParserBuilder) GridQuery(org.spongepowered.common.inventory.query.type.GridQuery) AttackLivingGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.AttackLivingGoal) SpongeLightType(org.spongepowered.common.world.SpongeLightType) SpongeUserValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeUserValueParameter) BlockType(org.spongepowered.api.block.BlockType) SpongeCommandRegistrarTypes(org.spongepowered.common.command.registrar.SpongeCommandRegistrarTypes) SpongeDamageModifierType(org.spongepowered.common.event.cause.entity.damage.SpongeDamageModifierType) ValidationType(org.spongepowered.common.data.nbt.validation.ValidationType) MapDecorationType(org.spongepowered.api.map.decoration.MapDecorationType) SpongeDisplaySlot(org.spongepowered.common.scoreboard.SpongeDisplaySlot) SpongeTransactionType(org.spongepowered.common.economy.SpongeTransactionType) Orientation(org.spongepowered.api.util.orientation.Orientation) DamageModifierTypes(org.spongepowered.api.event.cause.entity.damage.DamageModifierTypes) SpongeServerLocationValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeServerLocationValueParameter) AvoidLivingGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.AvoidLivingGoal) Function(java.util.function.Function) StringArgumentType(com.mojang.brigadier.arguments.StringArgumentType) PlaceholderParser(org.spongepowered.api.placeholder.PlaceholderParser) SpongeSelectorType(org.spongepowered.common.command.selector.SpongeSelectorType) SkinPart(org.spongepowered.api.data.type.SkinPart) BlockStateArgument(net.minecraft.commands.arguments.blocks.BlockStateArgument) GsonComponentSerializer(net.kyori.adventure.text.serializer.gson.GsonComponentSerializer) ConfigTeleportHelperFilter(org.spongepowered.common.world.teleport.ConfigTeleportHelperFilter) BanTypes(org.spongepowered.api.service.ban.BanTypes) CompoundTagArgument(net.minecraft.commands.arguments.CompoundTagArgument) CommandTreeNodeTypes(org.spongepowered.api.command.registrar.tree.CommandTreeNodeTypes) LlamaType(org.spongepowered.api.data.type.LlamaType) MovementTypes(org.spongepowered.api.event.cause.entity.MovementTypes) Vec2(net.minecraft.world.phys.Vec2) DyeColors(org.spongepowered.api.data.type.DyeColors) SpongeMultiplicationOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeMultiplicationOperator) EntityType(org.spongepowered.api.entity.EntityType) SpawnTypes(org.spongepowered.api.event.cause.entity.SpawnTypes) Comparator(java.util.Comparator) ScoreHolderArgument(net.minecraft.commands.arguments.ScoreHolderArgument) SpongeMusicDisc(org.spongepowered.common.effect.record.SpongeMusicDisc) ItemArgument(net.minecraft.commands.arguments.item.ItemArgument) SpongeSpawnType(org.spongepowered.common.event.cause.entity.SpongeSpawnType) IntegerStateProperty(org.spongepowered.api.state.IntegerStateProperty) SpongeOneParamQueryType(org.spongepowered.common.inventory.query.SpongeOneParamQueryType) ClientCompletionType(org.spongepowered.api.command.parameter.managed.clientcompletion.ClientCompletionType) EndPortalType(org.spongepowered.common.world.portal.EndPortalType) BodyParts(org.spongepowered.api.data.type.BodyParts) SpawnType(org.spongepowered.api.event.cause.entity.SpawnType) HoconDataFormat(org.spongepowered.common.data.persistence.HoconDataFormat) TransactionTypes(org.spongepowered.common.event.tracking.context.transaction.type.TransactionTypes) LlamaTypes(org.spongepowered.api.data.type.LlamaTypes) SpongeMapDecorationOrientation(org.spongepowered.common.map.decoration.orientation.SpongeMapDecorationOrientation) MatterTypes(org.spongepowered.api.data.type.MatterTypes) BooleanProperty(net.minecraft.world.level.block.state.properties.BooleanProperty) TagType(org.spongepowered.api.tag.TagType) SpongeDivisionOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeDivisionOperator) DisplaySlots(org.spongepowered.api.scoreboard.displayslot.DisplaySlots) SpongeParticleOption(org.spongepowered.common.effect.particle.SpongeParticleOption) SpongeQueryTypes(org.spongepowered.common.inventory.query.SpongeQueryTypes) SpongeMatterType(org.spongepowered.common.data.type.SpongeMatterType) NoOpTransactionType(org.spongepowered.common.event.tracking.context.transaction.type.NoOpTransactionType) SpongeGameProfileValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeGameProfileValueParameter) RunAroundLikeCrazyGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.horse.RunAroundLikeCrazyGoal) NoPortalTeleportHelperFilter(org.spongepowered.common.world.teleport.NoPortalTeleportHelperFilter) GoalTypes(org.spongepowered.api.entity.ai.goal.GoalTypes) UuidArgument(net.minecraft.commands.arguments.UuidArgument) MusicDiscs(org.spongepowered.api.effect.sound.music.MusicDiscs) SpongeModulusOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeModulusOperator) Direction(org.spongepowered.api.util.Direction) TextComponent(net.minecraft.network.chat.TextComponent) ResolveOperation(org.spongepowered.api.adventure.ResolveOperation) SpongePluginContainerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongePluginContainerValueParameter) PlayerPrimaryHotbarFirstQuery(org.spongepowered.common.inventory.query.type.PlayerPrimaryHotbarFirstQuery) TicketType(org.spongepowered.api.world.server.TicketType) SpongeMinOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeMinOperator) TagTypes(org.spongepowered.api.tag.TagTypes) BlockTransactionType(org.spongepowered.common.event.tracking.context.transaction.type.BlockTransactionType) IntegerArgumentType(com.mojang.brigadier.arguments.IntegerArgumentType) FloatArgumentSerializer(net.minecraft.commands.synchronization.brigadier.FloatArgumentSerializer) LongArgumentSerializer(net.minecraft.commands.synchronization.brigadier.LongArgumentSerializer) ClickType(org.spongepowered.api.item.inventory.menu.ClickType) SpongeTargetBlockValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeTargetBlockValueParameter) ArgumentTypesAccessor(org.spongepowered.common.accessor.commands.synchronization.ArgumentTypesAccessor) SpongeBodyPart(org.spongepowered.common.data.type.SpongeBodyPart) SpongeAccountDeletionResultType(org.spongepowered.common.economy.SpongeAccountDeletionResultType) BrigadierCommandRegistrar(org.spongepowered.common.command.registrar.BrigadierCommandRegistrar) SpongeSkinPart(org.spongepowered.common.data.type.SpongeSkinPart) LookAtGoal(org.spongepowered.api.entity.ai.goal.builtin.LookAtGoal) ComponentArgument(net.minecraft.commands.arguments.ComponentArgument) SpongeChunkRegenerateFlag(org.spongepowered.common.world.SpongeChunkRegenerateFlag) ItemStackExactQuery(org.spongepowered.common.inventory.query.type.ItemStackExactQuery) SurfaceOnlyTeleportHelperFilter(org.spongepowered.common.world.teleport.SurfaceOnlyTeleportHelperFilter) MapDecorationOrientations(org.spongepowered.api.map.decoration.orientation.MapDecorationOrientations) BlockStateSerializerDeserializer(org.spongepowered.common.block.BlockStateSerializerDeserializer) SpongeGoalType(org.spongepowered.common.entity.ai.goal.SpongeGoalType) SkinParts(org.spongepowered.api.data.type.SkinParts) SpongeNotePitch(org.spongepowered.common.data.type.SpongeNotePitch) ValidationTypes(org.spongepowered.common.data.nbt.validation.ValidationTypes) SwimGoal(org.spongepowered.api.entity.ai.goal.builtin.SwimGoal) SpongeBanType(org.spongepowered.common.ban.SpongeBanType) SpongeResolveOperation(org.spongepowered.common.adventure.SpongeResolveOperation) SpongeWeatherType(org.spongepowered.common.world.weather.SpongeWeatherType) RegistryType(org.spongepowered.api.registry.RegistryType) SpongeDataContainerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDataContainerValueParameter) LightTypes(org.spongepowered.api.world.LightTypes) Entity(org.spongepowered.api.entity.Entity) SpongeParrotType(org.spongepowered.common.data.type.SpongeParrotType) ItemStackCustomQuery(org.spongepowered.common.inventory.query.type.ItemStackCustomQuery) SpongeMapDecorationBannerType(org.spongepowered.common.map.decoration.SpongeMapDecorationBannerType) SpongeOperatorValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeOperatorValueParameter) VecHelper(org.spongepowered.common.util.VecHelper) KeyValueMatcherQuery(org.spongepowered.common.inventory.query.type.KeyValueMatcherQuery) SpongeCatType(org.spongepowered.common.data.type.SpongeCatType) Operator(org.spongepowered.api.command.parameter.managed.operator.Operator) PortalType(org.spongepowered.api.world.portal.PortalType) ParticleOptions(org.spongepowered.api.effect.particle.ParticleOptions) NetherPortalType(org.spongepowered.common.world.portal.NetherPortalType) SpongeMapDecorationType(org.spongepowered.common.map.decoration.SpongeMapDecorationType) URL(java.net.URL) GameProfileArgument(net.minecraft.commands.arguments.GameProfileArgument) ItemStackSnapshot(org.spongepowered.api.item.inventory.ItemStackSnapshot) BanType(org.spongepowered.api.service.ban.BanType) RotationArgument(net.minecraft.commands.arguments.coordinates.RotationArgument) MaterialColor(net.minecraft.world.level.material.MaterialColor) SpongeSubtractionOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeSubtractionOperator) Registry(net.minecraft.core.Registry) PlaceholderParsers(org.spongepowered.api.placeholder.PlaceholderParsers) JsonDataFormat(org.spongepowered.common.data.persistence.JsonDataFormat) CommandCompletionProvider(org.spongepowered.api.command.registrar.tree.CommandCompletionProvider) ParrotType(org.spongepowered.api.data.type.ParrotType) SpongeAmountCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeAmountCommandTreeNodeType) MapDecorationTypes(org.spongepowered.api.map.decoration.MapDecorationTypes) SpongeClientCompletionType(org.spongepowered.common.command.parameter.managed.clientcompletion.SpongeClientCompletionType) UnionQuery(org.spongepowered.common.inventory.query.type.UnionQuery) Operators(org.spongepowered.api.command.parameter.managed.operator.Operators) Nameable(org.spongepowered.api.util.Nameable) SlotLensQuery(org.spongepowered.common.inventory.query.type.SlotLensQuery) HorseColor(org.spongepowered.api.data.type.HorseColor) SpongeTwoParamQueryType(org.spongepowered.common.inventory.query.SpongeTwoParamQueryType) SpongePaletteType(org.spongepowered.common.world.schematic.SpongePaletteType) DismountTypes(org.spongepowered.api.event.cause.entity.DismountTypes) DamageTypes(org.spongepowered.api.event.cause.entity.damage.DamageTypes) SpongeLlamaType(org.spongepowered.common.data.type.SpongeLlamaType) DismountType(org.spongepowered.api.event.cause.entity.DismountType) DoubleArgumentSerializer(net.minecraft.commands.synchronization.brigadier.DoubleArgumentSerializer) SpongeBigIntegerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeBigIntegerValueParameter) KeyValueMatcher(org.spongepowered.api.data.KeyValueMatcher) GoalExecutorType(org.spongepowered.api.entity.ai.goal.GoalExecutorType) SpongeItemStackSnapshot(org.spongepowered.common.item.SpongeItemStackSnapshot) AccountDeletionResultTypes(org.spongepowered.api.service.economy.account.AccountDeletionResultTypes) SelectorType(org.spongepowered.api.command.selector.SelectorType) Pattern(java.util.regex.Pattern) ValueParameter(org.spongepowered.api.command.parameter.managed.ValueParameter) NonNull(org.checkerframework.checker.nullness.qual.NonNull) Vec3Argument(net.minecraft.commands.arguments.coordinates.Vec3Argument) HashMap(java.util.HashMap) FlyingTeleportHelperFilter(org.spongepowered.common.world.teleport.FlyingTeleportHelperFilter) SimpleCommandExceptionType(com.mojang.brigadier.exceptions.SimpleCommandExceptionType) NotePitches(org.spongepowered.api.data.type.NotePitches) SpongeHorseStyle(org.spongepowered.common.data.type.SpongeHorseStyle) DataFormats(org.spongepowered.api.data.persistence.DataFormats) SpongeSelectorSortAlgorithm(org.spongepowered.common.command.selector.SpongeSelectorSortAlgorithm) Component(net.kyori.adventure.text.Component) SpongeSpawnTypes(org.spongepowered.common.event.cause.entity.SpongeSpawnTypes) MapShade(org.spongepowered.api.map.color.MapShade) LegacyComponentSerializer(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer) MapColorTypes(org.spongepowered.api.map.color.MapColorTypes) NBTDataFormat(org.spongepowered.common.data.persistence.NBTDataFormat) RandomWalkingGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.RandomWalkingGoal) RangedAttackAgainstAgentGoal(org.spongepowered.api.entity.ai.goal.builtin.creature.RangedAttackAgainstAgentGoal) TicketTypes(org.spongepowered.api.world.server.TicketTypes) RegistryKey(org.spongepowered.api.registry.RegistryKey) InventoryTypeQuery(org.spongepowered.common.inventory.query.type.InventoryTypeQuery) EmptyArgumentSerializerAccessor(org.spongepowered.common.accessor.commands.synchronization.EmptyArgumentSerializerAccessor) MalformedURLException(java.net.MalformedURLException) SpongeMovementType(org.spongepowered.common.event.cause.entity.SpongeMovementType) ResourceKeyedValueParameters(org.spongepowered.api.command.parameter.managed.standard.ResourceKeyedValueParameters) SpongeAdditionOperator(org.spongepowered.common.command.parameter.managed.operator.SpongeAdditionOperator) SpongeRawCommandRegistrar(org.spongepowered.common.command.registrar.SpongeRawCommandRegistrar) TypeQuery(org.spongepowered.common.inventory.query.type.TypeQuery) IntegerProperty(net.minecraft.world.level.block.state.properties.IntegerProperty) SpongeTicketType(org.spongepowered.common.world.server.SpongeTicketType) Vector3d(org.spongepowered.math.vector.Vector3d) ClientCompletionTypes(org.spongepowered.api.command.parameter.managed.clientcompletion.ClientCompletionTypes) ResolveOperations(org.spongepowered.api.adventure.ResolveOperations) SpongeValidationType(org.spongepowered.common.data.nbt.validation.SpongeValidationType) Color(org.spongepowered.api.util.Color) SpongeMapShade(org.spongepowered.common.map.color.SpongeMapShade) ItemType(org.spongepowered.api.item.ItemType) SpongeColorValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeColorValueParameter) CommandCompletionProviders(org.spongepowered.api.command.registrar.tree.CommandCompletionProviders) DefaultTeleportHelperFilter(org.spongepowered.common.world.teleport.DefaultTeleportHelperFilter) Vector3i(org.spongepowered.math.vector.Vector3i) DoubleArgumentSerializer(net.minecraft.commands.synchronization.brigadier.DoubleArgumentSerializer) IntegerArgumentSerializer(net.minecraft.commands.synchronization.brigadier.IntegerArgumentSerializer) LongArgumentSerializer(net.minecraft.commands.synchronization.brigadier.LongArgumentSerializer) FloatArgumentSerializer(net.minecraft.commands.synchronization.brigadier.FloatArgumentSerializer) SpongeBasicCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeBasicCommandTreeNodeType) SpongeEntityCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeEntityCommandTreeNodeType) DoubleArgumentType(com.mojang.brigadier.arguments.DoubleArgumentType) BoolArgumentType(com.mojang.brigadier.arguments.BoolArgumentType) LongArgumentType(com.mojang.brigadier.arguments.LongArgumentType) ArgumentType(com.mojang.brigadier.arguments.ArgumentType) StringArgumentType(com.mojang.brigadier.arguments.StringArgumentType) IntegerArgumentType(com.mojang.brigadier.arguments.IntegerArgumentType) SpongeAmountCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeAmountCommandTreeNodeType) ResourceKey(org.spongepowered.api.ResourceKey) SpongeStringCommandTreeNodeType(org.spongepowered.common.command.registrar.tree.key.SpongeStringCommandTreeNodeType)

Example 57 with ResourceKey

use of org.spongepowered.api.ResourceKey in project SpongeCommon by SpongePowered.

the class InitialRegistryData method forEach.

void forEach(final LoaderConsumer<T> consumer) {
    final Map<ResourceKey, T> kv = this.keyToValue();
    final Map<ResourceKey, Integer> ki = this.keyToId();
    for (final Map.Entry<ResourceKey, T> entry : kv.entrySet()) {
        final OptionalInt id;
        if (ki != null) {
            final Integer ni = ki.get(entry.getKey());
            id = ni != null ? OptionalInt.of(ni) : OptionalInt.empty();
        } else {
            id = OptionalInt.empty();
        }
        consumer.accept(entry.getKey(), id, entry.getValue());
    }
}
Also used : OptionalInt(java.util.OptionalInt) Map(java.util.Map) ResourceKey(org.spongepowered.api.ResourceKey)

Example 58 with ResourceKey

use of org.spongepowered.api.ResourceKey in project SpongeCommon by SpongePowered.

the class ConfigurateDataViewTest method testRespawnLocationData.

@Test
void testRespawnLocationData() throws IOException {
    final Map<ResourceKey, RespawnLocation> m = new HashMap<>();
    for (int i = 0; i < 5; i++) {
        final ResourceKey key = ResourceKey.sponge("overworld" + i);
        final RespawnLocation loc = RespawnLocation.builder().world(key).position(Vector3d.ZERO).build();
        m.put(key, loc);
    }
    final DataContainer container = DataContainer.createNew().set(DataQuery.of("respawn_locations"), m);
    final ConfigurationNode node = ConfigurateTranslator.instance().translate(container);
    final DataContainer dc = ConfigurateTranslator.instance().translate(node);
    assertEquals(container, dc);
}
Also used : DataContainer(org.spongepowered.api.data.persistence.DataContainer) RespawnLocation(org.spongepowered.api.util.RespawnLocation) HashMap(java.util.HashMap) CommentedConfigurationNode(org.spongepowered.configurate.CommentedConfigurationNode) ConfigurationNode(org.spongepowered.configurate.ConfigurationNode) BasicConfigurationNode(org.spongepowered.configurate.BasicConfigurationNode) ResourceKey(org.spongepowered.api.ResourceKey) Test(org.junit.jupiter.api.Test)

Example 59 with ResourceKey

use of org.spongepowered.api.ResourceKey in project SpongeCommon by SpongePowered.

the class BlockTransactionType method consumeEventsAndMarker.

@Override
protected void consumeEventsAndMarker(PhaseContext<@NonNull ?> context, final Collection<? extends ChangeBlockEvent.All> changeBlockEvents) {
    final Multimap<ResourceKey, ChangeBlockEvent.All> eventsByWorld = LinkedListMultimap.create();
    changeBlockEvents.forEach(event -> eventsByWorld.put(event.world().key(), event));
    eventsByWorld.asMap().forEach((key, events) -> {
        final Optional<ServerWorld> serverWorld = ((SpongeServer) SpongeCommon.server()).worldManager().world(key);
        if (!serverWorld.isPresent()) {
            return;
        }
        final ListMultimap<BlockPos, SpongeBlockSnapshot> positions = LinkedListMultimap.create();
        // Gather transactions that were valid
        events.stream().filter(event -> !event.isCancelled()).flatMap(event -> event.transactions().stream()).filter(BlockTransaction::isValid).forEach(transactions -> {
            // Then "put" the most recent transactions such that we have a complete rebuild of
            // each position according to what originally existed and then
            // the ultimate final block on that position
            final SpongeBlockSnapshot original = (SpongeBlockSnapshot) transactions.original();
            positions.put(original.getBlockPos(), original);
            positions.put(original.getBlockPos(), (SpongeBlockSnapshot) transactions.finalReplacement());
        });
        // just return.
        if (positions.isEmpty()) {
            return;
        }
        final ImmutableList<BlockTransactionReceipt> transactions = positions.asMap().values().stream().map(spongeBlockSnapshots -> {
            final List<SpongeBlockSnapshot> snapshots = new ArrayList<>(spongeBlockSnapshots);
            if (snapshots.isEmpty() || snapshots.size() < 2) {
                // Error case
                return Optional.<BlockTransactionReceipt>empty();
            }
            final SpongeBlockSnapshot original = snapshots.get(0);
            final SpongeBlockSnapshot result = snapshots.get(snapshots.size() - 1);
            final Operation operation = context.getBlockOperation(original, result);
            final BlockTransactionReceipt eventTransaction = new BlockTransactionReceipt(original, result, operation);
            context.postBlockTransactionApplication(original.blockChange, eventTransaction);
            return Optional.of(eventTransaction);
        }).filter(Optional::isPresent).map(Optional::get).collect(ImmutableList.toImmutableList());
        final Cause cause = PhaseTracker.getInstance().currentCause();
        SpongeCommon.post(SpongeEventFactory.createChangeBlockEventPost(cause, transactions, serverWorld.get()));
    });
}
Also used : LinkedListMultimap(com.google.common.collect.LinkedListMultimap) NonNull(org.checkerframework.checker.nullness.qual.NonNull) ServerWorld(org.spongepowered.api.world.server.ServerWorld) ListMultimap(com.google.common.collect.ListMultimap) ChangeBlockEvent(org.spongepowered.api.event.block.ChangeBlockEvent) SpongeServer(org.spongepowered.common.SpongeServer) SpongeEventFactory(org.spongepowered.api.event.SpongeEventFactory) Collection(java.util.Collection) SpongeBlockSnapshot(org.spongepowered.common.block.SpongeBlockSnapshot) SpongeCommon(org.spongepowered.common.SpongeCommon) PhaseTracker(org.spongepowered.common.event.tracking.PhaseTracker) Multimap(com.google.common.collect.Multimap) Cause(org.spongepowered.api.event.Cause) ArrayList(java.util.ArrayList) BlockTransactionReceipt(org.spongepowered.api.block.transaction.BlockTransactionReceipt) List(java.util.List) ImmutableList(com.google.common.collect.ImmutableList) BlockPos(net.minecraft.core.BlockPos) PhaseContext(org.spongepowered.common.event.tracking.PhaseContext) BlockTransaction(org.spongepowered.api.block.transaction.BlockTransaction) ResourceKey(org.spongepowered.api.ResourceKey) Optional(java.util.Optional) Operation(org.spongepowered.api.block.transaction.Operation) BlockTransactionReceipt(org.spongepowered.api.block.transaction.BlockTransactionReceipt) Optional(java.util.Optional) Operation(org.spongepowered.api.block.transaction.Operation) ResourceKey(org.spongepowered.api.ResourceKey) ServerWorld(org.spongepowered.api.world.server.ServerWorld) SpongeBlockSnapshot(org.spongepowered.common.block.SpongeBlockSnapshot) Cause(org.spongepowered.api.event.Cause) BlockPos(net.minecraft.core.BlockPos) ArrayList(java.util.ArrayList) List(java.util.List) ImmutableList(com.google.common.collect.ImmutableList)

Example 60 with ResourceKey

use of org.spongepowered.api.ResourceKey in project SpongeCommon by SpongePowered.

the class DataUtil method getLocation.

public static ServerLocation getLocation(final DataView view, final boolean castToInt) {
    final ResourceKey world = view.getResourceKey(Queries.WORLD_KEY).orElseThrow(DataUtil.dataNotFound());
    final Vector3d pos = DataUtil.getPosition3d(view, null);
    if (castToInt) {
        return ServerLocation.of(SpongeCommon.game().server().worldManager().world(world).orElseThrow(DataUtil.dataNotFound()), pos.toInt());
    }
    return ServerLocation.of(SpongeCommon.game().server().worldManager().world(world).orElseThrow(DataUtil.dataNotFound()), pos);
}
Also used : Vector3d(org.spongepowered.math.vector.Vector3d) ResourceKey(org.spongepowered.api.ResourceKey)

Aggregations

ResourceKey (org.spongepowered.api.ResourceKey)71 Sponge (org.spongepowered.api.Sponge)13 List (java.util.List)11 Map (java.util.Map)11 DataContainer (org.spongepowered.api.data.persistence.DataContainer)11 Optional (java.util.Optional)10 Collectors (java.util.stream.Collectors)10 ArrayList (java.util.ArrayList)8 Collection (java.util.Collection)8 CompoundTag (net.minecraft.nbt.CompoundTag)8 NonNull (org.checkerframework.checker.nullness.qual.NonNull)8 RegistryTypes (org.spongepowered.api.registry.RegistryTypes)8 IOException (java.io.IOException)7 Component (net.kyori.adventure.text.Component)7 Nullable (org.checkerframework.checker.nullness.qual.Nullable)7 Keys (org.spongepowered.api.data.Keys)7 Constants (org.spongepowered.common.util.Constants)7 ImmutableList (com.google.common.collect.ImmutableList)6 ServerLevel (net.minecraft.server.level.ServerLevel)6 DataQuery (org.spongepowered.api.data.persistence.DataQuery)6