Search in sources :

Example 51 with ResourceKey

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

the class SpongeLocatableBlockBuilder method buildContent.

@Override
protected Optional<LocatableBlock> buildContent(final DataView container) throws InvalidDataException {
    final ResourceKey worldKey = container.getResourceKey(Queries.WORLD_KEY).orElseThrow(() -> new InvalidDataException("Could not locate a world key"));
    final int x = container.getInt(Queries.POSITION_X).orElseThrow(() -> new InvalidDataException("Could not locate an \"x\" coordinate in the container!"));
    final int y = container.getInt(Queries.POSITION_Y).orElseThrow(() -> new InvalidDataException("Could not locate an \"y\" coordinate in the container!"));
    final int z = container.getInt(Queries.POSITION_Z).orElseThrow(() -> new InvalidDataException("Could not locate an \"z\" coordinate in the container!"));
    final BlockState blockState = container.getSerializable(Constants.Block.BLOCK_STATE, BlockState.class).orElseThrow(() -> new InvalidDataException("Could not locate a BlockState"));
    return Sponge.server().worldManager().world(worldKey).map(world -> new SpongeLocatableBlockBuilder().position(x, y, z).world(world).state(blockState).build());
}
Also used : BlockState(org.spongepowered.api.block.BlockState) InvalidDataException(org.spongepowered.api.data.persistence.InvalidDataException) ResourceKey(org.spongepowered.api.ResourceKey)

Example 52 with ResourceKey

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

the class SchematicTranslator method deserializeBiomeContainer.

private static void deserializeBiomeContainer(final DataView view, final SpongeArchetypeVolume archetypeVolume, final int width, final int length, final Vector3i offset) {
    final MutableBimapPalette<Biome, Biome> biomePalette;
    final DataView biomeMap = view.getView(Constants.Sponge.Schematic.BIOME_PALETTE).orElseThrow(() -> new InvalidDataException("Missing BiomePalette as required by the schematic spec"));
    final Set<DataQuery> biomeKeys = biomeMap.keys(false);
    final Registry<Biome> biomeRegistry = VolumeStreamUtils.nativeToSpongeRegistry(BuiltinRegistries.BIOME);
    biomePalette = new MutableBimapPalette<>(PaletteTypes.BIOME_PALETTE.get(), biomeRegistry, RegistryTypes.BIOME, biomeKeys.size());
    for (final DataQuery biomeKey : biomeKeys) {
        final ResourceKey key = ResourceKey.resolve(biomeKey.parts().get(0));
        final Biome biome = biomeRegistry.findValue(key).get();
        biomePalette.assign(biome, biomeMap.getInt(biomeKey).get());
    }
    final byte[] biomeData = (byte[]) view.get(Constants.Sponge.Schematic.BIOME_DATA).orElseThrow(() -> new InvalidDataException("Missing BlockData for Schematic"));
    SchematicTranslator.readByteArrayData(width, (width * length), offset, biomePalette, biomeData, archetypeVolume, BiomeVolume.Modifiable::setBiome);
}
Also used : DataView(org.spongepowered.api.data.persistence.DataView) Biome(org.spongepowered.api.world.biome.Biome) InvalidDataException(org.spongepowered.api.data.persistence.InvalidDataException) DataQuery(org.spongepowered.api.data.persistence.DataQuery) ResourceKey(org.spongepowered.api.ResourceKey)

Example 53 with ResourceKey

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

the class SchematicTranslator method addTo.

@Override
public DataView addTo(final Schematic schematic, final DataView data) {
    final int xMin = schematic.min().x();
    final int yMin = schematic.min().y();
    final int zMin = schematic.min().z();
    final int width = schematic.size().x();
    final int height = schematic.size().y();
    final int length = schematic.size().z();
    if (width > Constants.Sponge.Schematic.MAX_SIZE || height > Constants.Sponge.Schematic.MAX_SIZE || length > Constants.Sponge.Schematic.MAX_SIZE) {
        throw new IllegalArgumentException(String.format("Schematic is larger than maximum allowable size (found: (%d, %d, %d) max: (%d, %<d, %<d)", width, height, length, Constants.Sponge.Schematic.MAX_SIZE));
    }
    data.set(Constants.Sponge.Schematic.WIDTH, (short) width);
    data.set(Constants.Sponge.Schematic.HEIGHT, (short) height);
    data.set(Constants.Sponge.Schematic.LENGTH, (short) length);
    data.set(Constants.Sponge.Schematic.VERSION, Constants.Sponge.Schematic.CURRENT_VERSION);
    data.set(Constants.Sponge.Schematic.DATA_VERSION, SharedConstants.getCurrentVersion().getWorldVersion());
    for (final DataQuery metaKey : schematic.metadata().keys(false)) {
        data.set(Constants.Sponge.Schematic.METADATA.then(metaKey), schematic.metadata().get(metaKey).get());
    }
    final Set<String> requiredMods = new HashSet<>();
    final int[] offset = new int[] { xMin, yMin, zMin };
    data.set(Constants.Sponge.Schematic.OFFSET, offset);
    // Check if we have blocks to store
    if (schematic.blockPalette().highestId() != 0) {
        final DataView blockData = data.createView(Constants.Sponge.Schematic.BLOCK_CONTAINER);
        final Palette.Mutable<BlockState, BlockType> palette = schematic.blockPalette().asMutable(Sponge.server());
        try (final ByteArrayOutputStream buffer = new ByteArrayOutputStream(width * height * length)) {
            for (int y = 0; y < height; y++) {
                final int y0 = yMin + y;
                for (int z = 0; z < length; z++) {
                    final int z0 = zMin + z;
                    for (int x = 0; x < width; x++) {
                        final int x0 = xMin + x;
                        final BlockState state = schematic.block(x0, y0, z0);
                        SchematicTranslator.writeIdToBuffer(buffer, palette.orAssign(state));
                    }
                }
            }
            blockData.set(Constants.Sponge.Schematic.BLOCK_DATA, buffer.toByteArray());
        } catch (final IOException e) {
        // should never reach here
        }
        final Registry<BlockType> blockRegistry = VolumeStreamUtils.nativeToSpongeRegistry(net.minecraft.core.Registry.BLOCK);
        SchematicTranslator.writePaletteToView(blockData, palette, blockRegistry, Constants.Sponge.Schematic.BLOCK_PALETTE, BlockState::type, requiredMods);
        final List<DataView> blockEntities = schematic.blockEntityArchetypes().entrySet().stream().map(entry -> {
            final DataContainer container = DataContainer.createNew(DataView.SafetyMode.NO_DATA_CLONED);
            final Vector3i pos = entry.getKey();
            final BlockEntityArchetype archetype = entry.getValue();
            final DataContainer entityData = archetype.blockEntityData();
            final int[] apos = new int[] { pos.x() - xMin, pos.y() - yMin, pos.z() - zMin };
            container.set(Constants.Sponge.Schematic.BLOCKENTITY_POS, apos);
            container.set(Constants.Sponge.Schematic.BLOCKENTITY_DATA, entityData);
            final ResourceKey key = archetype.blockEntityType().key(RegistryTypes.BLOCK_ENTITY_TYPE);
            container.set(Constants.Sponge.Schematic.ENTITIES_ID, key.asString());
            final String namespace = key.namespace();
            if (!ResourceKey.MINECRAFT_NAMESPACE.equals(namespace)) {
                requiredMods.add(namespace);
            }
            return container;
        }).collect(Collectors.toList());
        blockData.set(Constants.Sponge.Schematic.BLOCKENTITY_CONTAINER, blockEntities);
    }
    if (schematic.biomePalette().highestId() != 0) {
        final DataView biomeContainer = data.createView(Constants.Sponge.Schematic.BIOME_CONTAINER);
        final Palette.Mutable<Biome, Biome> biomePalette = schematic.biomePalette().asMutable(Sponge.game());
        try (final ByteArrayOutputStream buffer = new ByteArrayOutputStream(width * height * length)) {
            for (int y = 0; y < height; y++) {
                final int y0 = yMin + y;
                for (int z = 0; z < length; z++) {
                    final int z0 = zMin + z;
                    for (int x = 0; x < width; x++) {
                        final int x0 = xMin + x;
                        final Biome state = schematic.biome(x0, y0, z0);
                        SchematicTranslator.writeIdToBuffer(buffer, biomePalette.orAssign(state));
                    }
                }
            }
            biomeContainer.set(Constants.Sponge.Schematic.BIOME_DATA, buffer.toByteArray());
        } catch (final IOException e) {
        // Should never reach here.
        }
        final Registry<Biome> biomeRegistry = VolumeStreamUtils.nativeToSpongeRegistry(BuiltinRegistries.BIOME);
        SchematicTranslator.writePaletteToView(biomeContainer, biomePalette, biomeRegistry, Constants.Sponge.Schematic.BIOME_PALETTE, Function.identity(), requiredMods);
    }
    final List<DataView> entities = schematic.entityArchetypesByPosition().stream().map(entry -> {
        final DataContainer container = DataContainer.createNew(DataView.SafetyMode.NO_DATA_CLONED);
        final List<Double> entityPosition = new ArrayList<>();
        entityPosition.add(entry.position().x());
        entityPosition.add(entry.position().y());
        entityPosition.add(entry.position().z());
        container.set(Constants.Sponge.Schematic.ENTITIES_POS, entityPosition);
        final ResourceKey key = entry.archetype().type().key(RegistryTypes.ENTITY_TYPE);
        if (!ResourceKey.MINECRAFT_NAMESPACE.equals(key.namespace())) {
            requiredMods.add(key.namespace());
        }
        container.set(Constants.Sponge.Schematic.ENTITIES_ID, key.toString());
        final DataContainer entityData = entry.archetype().entityData();
        container.set(Constants.Sponge.Schematic.BLOCKENTITY_DATA, entityData);
        return container;
    }).collect(Collectors.toList());
    data.set(Constants.Sponge.Schematic.ENTITIES, entities);
    if (!requiredMods.isEmpty()) {
        data.set(Constants.Sponge.Schematic.METADATA.then(Constants.Sponge.Schematic.REQUIRED_MODS), requiredMods);
    }
    return data;
}
Also used : DataFixTypes(net.minecraft.util.datafix.DataFixTypes) SpongeEntityArchetypeBuilder(org.spongepowered.common.entity.SpongeEntityArchetypeBuilder) Biome(org.spongepowered.api.world.biome.Biome) PaletteTypes(org.spongepowered.api.world.schematic.PaletteTypes) DataQuery(org.spongepowered.api.data.persistence.DataQuery) BlockEntityArchetype(org.spongepowered.api.block.entity.BlockEntityArchetype) BuiltinRegistries(net.minecraft.data.BuiltinRegistries) BiomeVolume(org.spongepowered.api.world.volume.biome.BiomeVolume) NbtUtils(net.minecraft.nbt.NbtUtils) BlockTypes(org.spongepowered.api.block.BlockTypes) Sponge(org.spongepowered.api.Sponge) Set(java.util.Set) TypeToken(io.leangen.geantyref.TypeToken) Collectors(java.util.stream.Collectors) BlockState(org.spongepowered.api.block.BlockState) SpongeBlockEntityArchetypeBuilder(org.spongepowered.common.block.entity.SpongeBlockEntityArchetypeBuilder) List(java.util.List) CompoundTag(net.minecraft.nbt.CompoundTag) Stream(java.util.stream.Stream) SpongeArchetypeVolume(org.spongepowered.common.world.volume.buffer.archetype.SpongeArchetypeVolume) VolumeStreamUtils(org.spongepowered.common.world.volume.VolumeStreamUtils) BlockType(org.spongepowered.api.block.BlockType) DataTranslator(org.spongepowered.api.data.persistence.DataTranslator) EntityArchetypeEntry(org.spongepowered.api.world.volume.archetype.entity.EntityArchetypeEntry) Optional(java.util.Optional) NotNull(org.jetbrains.annotations.NotNull) NonNull(org.checkerframework.checker.nullness.qual.NonNull) DataContainer(org.spongepowered.api.data.persistence.DataContainer) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Schematic(org.spongepowered.api.world.schematic.Schematic) Constants(org.spongepowered.common.util.Constants) Registry(org.spongepowered.api.registry.Registry) DataView(org.spongepowered.api.data.persistence.DataView) Function(java.util.function.Function) NBTTranslator(org.spongepowered.common.data.persistence.NBTTranslator) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) SharedConstants(net.minecraft.SharedConstants) ResourceKey(org.spongepowered.api.ResourceKey) BlockStateSerializerDeserializer(org.spongepowered.common.block.BlockStateSerializerDeserializer) Nullable(org.checkerframework.checker.nullness.qual.Nullable) SchematicUpdater2_to_3(org.spongepowered.common.data.persistence.schematic.SchematicUpdater2_to_3) DataContentUpdater(org.spongepowered.api.data.persistence.DataContentUpdater) SchematicUpdater1_to_2(org.spongepowered.common.data.persistence.schematic.SchematicUpdater1_to_2) InvalidDataException(org.spongepowered.api.data.persistence.InvalidDataException) IOException(java.io.IOException) Palette(org.spongepowered.api.world.schematic.Palette) SpongeCommon(org.spongepowered.common.SpongeCommon) DataFixer(com.mojang.datafixers.DataFixer) RegistryTypes(org.spongepowered.api.registry.RegistryTypes) Consumer(java.util.function.Consumer) Vector3d(org.spongepowered.math.vector.Vector3d) ConcurrentSkipListSet(java.util.concurrent.ConcurrentSkipListSet) EntityType(org.spongepowered.api.entity.EntityType) BlockVolume(org.spongepowered.api.world.volume.block.BlockVolume) EntityArchetype(org.spongepowered.api.entity.EntityArchetype) Vector3i(org.spongepowered.math.vector.Vector3i) Palette(org.spongepowered.api.world.schematic.Palette) BlockEntityArchetype(org.spongepowered.api.block.entity.BlockEntityArchetype) DataContainer(org.spongepowered.api.data.persistence.DataContainer) Biome(org.spongepowered.api.world.biome.Biome) DataQuery(org.spongepowered.api.data.persistence.DataQuery) List(java.util.List) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) ResourceKey(org.spongepowered.api.ResourceKey) DataView(org.spongepowered.api.data.persistence.DataView) BlockState(org.spongepowered.api.block.BlockState) BlockType(org.spongepowered.api.block.BlockType) Vector3i(org.spongepowered.math.vector.Vector3i)

Example 54 with ResourceKey

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

the class VanishableData method register.

// @formatter:off
@SuppressWarnings("unchecked")
public static void register(final DataProviderRegistrator registrator) {
    registrator.asMutable(VanishableBridge.class).create(Keys.IS_INVISIBLE).get(VanishableBridge::bridge$isInvisible).set(VanishableBridge::bridge$setInvisible).create(Keys.VANISH).get(bridge -> bridge.bridge$vanishState().invisible()).setAnd((h, v) -> {
        if (h instanceof Entity && ((Entity) h).level.isClientSide) {
            return false;
        }
        h.bridge$vanishState(v ? VanishState.vanished() : VanishState.unvanished());
        return true;
    }).create(Keys.VANISH_IGNORES_COLLISION).get(b -> b.bridge$vanishState().ignoresCollisions()).setAnd((h, v) -> {
        if (h instanceof Entity && ((Entity) h).level.isClientSide) {
            return false;
        }
        if (!h.bridge$vanishState().invisible()) {
            return false;
        }
        h.bridge$vanishState(h.bridge$vanishState().ignoreCollisions(v));
        return true;
    }).create(Keys.VANISH_PREVENTS_TARGETING).get(b -> b.bridge$vanishState().untargetable()).setAnd((h, v) -> {
        if (h instanceof Entity && ((Entity) h).level.isClientSide) {
            return false;
        }
        if (!h.bridge$vanishState().invisible()) {
            return false;
        }
        h.bridge$vanishState(h.bridge$vanishState().untargetable(v));
        return true;
    }).create(Keys.VANISH_STATE).get(VanishableBridge::bridge$vanishState).setAnd((h, v) -> {
        if (h instanceof Entity && ((Entity) h).level.isClientSide) {
            return false;
        }
        h.bridge$vanishState(v);
        return true;
    });
    final ResourceKey dataStoreKey = ResourceKey.sponge("invisibility");
    registrator.spongeDataStore(dataStoreKey, VanishableBridge.class, Keys.IS_INVISIBLE, Keys.VANISH_STATE);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Sponge.Entity.IS_INVISIBLE, dataStoreKey, Keys.IS_INVISIBLE);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Sponge.Entity.IS_VANISHED, dataStoreKey, Keys.VANISH_STATE);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Sponge.Entity.VANISH_UNCOLLIDEABLE, dataStoreKey, Keys.VANISH_IGNORES_COLLISION);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Sponge.Entity.VANISH_UNTARGETABLE, dataStoreKey, Keys.VANISH_PREVENTS_TARGETING);
}
Also used : VanishState(org.spongepowered.api.effect.VanishState) Keys(org.spongepowered.api.data.Keys) VanishableBridge(org.spongepowered.common.bridge.data.VanishableBridge) Entity(net.minecraft.world.entity.Entity) Constants(org.spongepowered.common.util.Constants) DataProviderRegistrator(org.spongepowered.common.data.provider.DataProviderRegistrator) ResourceKey(org.spongepowered.api.ResourceKey) SpongeDataManager(org.spongepowered.common.data.SpongeDataManager) Entity(net.minecraft.world.entity.Entity) VanishableBridge(org.spongepowered.common.bridge.data.VanishableBridge) ResourceKey(org.spongepowered.api.ResourceKey)

Example 55 with ResourceKey

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

the class SpongeRegistryLoaders method valueParameter.

@SuppressWarnings("ConstantConditions")
public static RegistryLoader<ValueParameter<?>> valueParameter() {
    return RegistryLoader.of(l -> {
        l.add(ResourceKeyedValueParameters.BIG_DECIMAL, SpongeBigDecimalValueParameter::new);
        l.add(ResourceKeyedValueParameters.BIG_INTEGER, SpongeBigIntegerValueParameter::new);
        l.add(ResourceKeyedValueParameters.BLOCK_STATE, k -> ClientNativeArgumentParser.createConverter(k, BlockStateArgument.block(), (reader, cause, state) -> (BlockState) state.getState()));
        l.add(ResourceKeyedValueParameters.BOOLEAN, k -> ClientNativeArgumentParser.createIdentity(k, BoolArgumentType.bool()));
        l.add(ResourceKeyedValueParameters.COLOR, SpongeColorValueParameter::new);
        l.add(ResourceKeyedValueParameters.DATA_CONTAINER, SpongeDataContainerValueParameter::new);
        l.add(ResourceKeyedValueParameters.DATE_TIME, SpongeDateTimeValueParameter::new);
        l.add(ResourceKeyedValueParameters.DOUBLE, k -> ClientNativeArgumentParser.createIdentity(k, DoubleArgumentType.doubleArg()));
        l.add(ResourceKeyedValueParameters.DURATION, SpongeDurationValueParameter::new);
        l.add(ResourceKeyedValueParameters.ENTITY, k -> ClientNativeArgumentParser.createConverter(k, EntityArgument.entity(), (reader, cause, selector) -> (Entity) selector.findSingleEntity((CommandSourceStack) cause)));
        l.add(ResourceKeyedValueParameters.GAME_PROFILE, SpongeGameProfileValueParameter::new);
        l.add(ResourceKeyedValueParameters.INTEGER, k -> ClientNativeArgumentParser.createIdentity(k, IntegerArgumentType.integer()));
        l.add(ResourceKeyedValueParameters.IP, SpongeIPAddressValueParameter::new);
        l.add(ResourceKeyedValueParameters.ITEM_STACK_SNAPSHOT, k -> ClientNativeArgumentParser.createConverter(k, ItemArgument.item(), (reader, cause, converter) -> new SpongeItemStackSnapshot((ItemStack) (Object) converter.createItemStack(1, true))));
        l.add(ResourceKeyedValueParameters.LOCATION, SpongeServerLocationValueParameter::new);
        l.add(ResourceKeyedValueParameters.LONG, k -> ClientNativeArgumentParser.createIdentity(k, LongArgumentType.longArg()));
        l.add(ResourceKeyedValueParameters.MANY_ENTITIES, k -> ClientNativeArgumentParser.createConverter(k, EntityArgument.entities(), (reader, cause, selector) -> selector.findEntities((CommandSourceStack) cause).stream().map(x -> (Entity) x).collect(Collectors.toList())));
        l.add(ResourceKeyedValueParameters.MANY_GAME_PROFILES, k -> ClientNativeArgumentParser.createConverter(k, GameProfileArgument.gameProfile(), (reader, cause, converter) -> converter.getNames((CommandSourceStack) cause)));
        l.add(ResourceKeyedValueParameters.MANY_PLAYERS, k -> ClientNativeArgumentParser.createConverter(k, EntityArgument.players(), (reader, cause, selector) -> selector.findPlayers((CommandSourceStack) cause)));
        l.add(ResourceKeyedValueParameters.NONE, SpongeNoneValueParameter::new);
        l.add(ResourceKeyedValueParameters.OPERATOR, SpongeOperatorValueParameter::new);
        l.add(ResourceKeyedValueParameters.PLAYER, k -> ClientNativeArgumentParser.createConverter(k, EntityArgument.player(), (reader, cause, selector) -> (Player) selector.findSinglePlayer((CommandSourceStack) cause)));
        l.add(ResourceKeyedValueParameters.PLUGIN, SpongePluginContainerValueParameter::new);
        l.add(ResourceKeyedValueParameters.REMAINING_JOINED_STRINGS, k -> ClientNativeArgumentParser.createIdentity(k, StringArgumentType.greedyString()));
        l.add(ResourceKeyedValueParameters.RESOURCE_KEY, k -> ClientNativeArgumentParser.createConverter(k, ResourceLocationArgument.id(), (reader, cause, resourceLocation) -> (ResourceKey) (Object) resourceLocation));
        l.add(ResourceKeyedValueParameters.ROTATION, k -> ClientNativeArgumentParser.createConverter(k, RotationArgument.rotation(), (reader, cause, coords) -> {
            final Vec2 rotation = coords.getRotation((CommandSourceStack) cause);
            return new Vector3d(rotation.x, rotation.y, 0);
        }));
        l.add(ResourceKeyedValueParameters.STRING, k -> ClientNativeArgumentParser.createIdentity(k, StringArgumentType.string()));
        l.add(ResourceKeyedValueParameters.TARGET_BLOCK, SpongeTargetBlockValueParameter::new);
        l.add(ResourceKeyedValueParameters.TARGET_ENTITY, k -> new SpongeTargetEntityValueParameter(k, false));
        l.add(ResourceKeyedValueParameters.TARGET_PLAYER, k -> new SpongeTargetEntityValueParameter(k, true));
        l.add(ResourceKeyedValueParameters.TEXT_FORMATTING_CODE, k -> ClientNativeArgumentParser.createConverter(k, StringArgumentType.string(), (reader, cause, result) -> LegacyComponentSerializer.legacyAmpersand().deserialize(result)));
        l.add(ResourceKeyedValueParameters.TEXT_FORMATTING_CODE_ALL, k -> ClientNativeArgumentParser.createConverter(k, StringArgumentType.greedyString(), (reader, cause, result) -> LegacyComponentSerializer.legacyAmpersand().deserialize(result)));
        l.add(ResourceKeyedValueParameters.TEXT_JSON, k -> ClientNativeArgumentParser.createConverter(k, ComponentArgument.textComponent(), (reader, cause, result) -> SpongeAdventure.asAdventure(result)));
        l.add(ResourceKeyedValueParameters.TEXT_JSON_ALL, k -> ClientNativeArgumentParser.createConverter(k, StringArgumentType.greedyString(), (reader, cause, result) -> GsonComponentSerializer.gson().deserialize(result)));
        l.add(ResourceKeyedValueParameters.URL, k -> ClientNativeArgumentParser.createConverter(k, StringArgumentType.string(), (reader, cause, input) -> {
            try {
                return new URL(input);
            } catch (final MalformedURLException ex) {
                throw new SimpleCommandExceptionType(new TextComponent("Could not parse " + input + " as a URL")).createWithContext(reader);
            }
        }));
        l.add(ResourceKeyedValueParameters.USER, SpongeUserValueParameter::new);
        l.add(ResourceKeyedValueParameters.UUID, k -> ClientNativeArgumentParser.createIdentity(k, UuidArgument.uuid()));
        l.add(ResourceKeyedValueParameters.VECTOR2D, k -> ClientNativeArgumentParser.createConverter(k, Vec2Argument.vec2(), (reader, cause, result) -> {
            final net.minecraft.world.phys.Vec3 r = result.getPosition((CommandSourceStack) cause);
            return new Vector2d(r.x, r.z);
        }));
        l.add(ResourceKeyedValueParameters.VECTOR3D, k -> ClientNativeArgumentParser.createConverter(k, Vec3Argument.vec3(false), (reader, cause, result) -> VecHelper.toVector3d(result.getPosition((CommandSourceStack) cause))));
        l.add(ResourceKeyedValueParameters.WORLD, k -> ClientNativeArgumentParser.createConverter(k, DimensionArgument.dimension(), (reader, cause, result) -> Sponge.server().worldManager().world((ResourceKey) (Object) result).orElseThrow(() -> DimensionArgumentAccessor.accessor$ERROR_INVALID_VALUE().createWithContext(reader, result))));
    });
}
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) Entity(org.spongepowered.api.entity.Entity) MalformedURLException(java.net.MalformedURLException) SpongeOperatorValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeOperatorValueParameter) SpongePluginContainerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongePluginContainerValueParameter) SpongeDurationValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDurationValueParameter) SpongeNoneValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeNoneValueParameter) SpongeTargetEntityValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeTargetEntityValueParameter) CommandSourceStack(net.minecraft.commands.CommandSourceStack) URL(java.net.URL) SpongeBigIntegerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeBigIntegerValueParameter) SpongeColorValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeColorValueParameter) Vector2d(org.spongepowered.math.vector.Vector2d) SpongeServerLocationValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeServerLocationValueParameter) Vec2(net.minecraft.world.phys.Vec2) SimpleCommandExceptionType(com.mojang.brigadier.exceptions.SimpleCommandExceptionType) TextComponent(net.minecraft.network.chat.TextComponent) Player(org.spongepowered.api.entity.living.player.Player) SpongeTargetBlockValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeTargetBlockValueParameter) SpongeDataContainerValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDataContainerValueParameter) ResourceKey(org.spongepowered.api.ResourceKey) SpongeItemStackSnapshot(org.spongepowered.common.item.SpongeItemStackSnapshot) BlockState(org.spongepowered.api.block.BlockState) SpongeUserValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeUserValueParameter) SpongeGameProfileValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeGameProfileValueParameter) Vector3d(org.spongepowered.math.vector.Vector3d) SpongeBigDecimalValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeBigDecimalValueParameter) SpongeIPAddressValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeIPAddressValueParameter) SpongeDateTimeValueParameter(org.spongepowered.common.command.parameter.managed.standard.SpongeDateTimeValueParameter)

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