@Override protected Iterable<String> getChoices(CommandSource source) { return Sponge.getGame().getRegistry().getAllOf(this.catalogType).stream() .<String>map(input -> { return input == null ? null : input.getId(); // TODO: ids or names? }) .collect(Collectors.toList()); }
protected Iterable<String> getCompletionChoices(CommandSource source) { return Iterables.concat(getChoices(source), ImmutableSet.of("#first", "#me"), Iterables.transform(Sponge.getGame().getRegistry() .getAllOf(DimensionType.class), input2 -> "#" + input2.getId())); }
@Override public List<BaseBiome> getBiomes() { List<BaseBiome> list = new ArrayList<>(); for (BiomeType biome : Sponge.getGame().getRegistry().getAllOf(BiomeType.class)) { list.add(new BaseBiome(SpongeWorldEdit.inst().getAdapter().resolve(biome))); } return list; }
@Override public void modifyWorldGenerator(WorldProperties world, DataContainer settings, WorldGenerator worldGenerator) { worldGenerator.getGenerationPopulators().clear(); worldGenerator.getPopulators().clear(); for (BiomeType biome: Sponge.getRegistry().getAllOf(BiomeType.class)) { BiomeGenerationSettings biomeSettings = worldGenerator.getBiomeSettings(biome); biomeSettings.getGenerationPopulators().clear(); biomeSettings.getPopulators().clear(); biomeSettings.getGroundCoverLayers().clear(); } worldGenerator.setBaseGenerationPopulator((world1, buffer, biomes) -> { }); worldGenerator.setBiomeGenerator(buffer -> buffer.getBiomeWorker().fill((x, y, z) -> BiomeTypes.VOID)); }
Text name; if (this.type == null) { name = Sponge.getRegistry().getAllOf(EntityType.class).stream() .filter(t -> t.getEntityClass().equals(this.clazz)).findFirst() .map(EntityType::getTranslation).<Text>map(Text::of)
@Override public void serialize(TypeToken<?> type, TextFormat obj, ConfigurationNode value) throws ObjectMappingException { value.getNode(NODE_COLOR).setValue(obj.getColor().getId()); ConfigurationNode styleNode = value.getNode(NODE_STYLE); TextStyle composite = obj.getStyle(); Sponge.getRegistry().getAllOf(TextStyle.Base.class) .forEach(style -> styleNode.getNode(style.getId().toLowerCase()).setValue(composite.contains(style))); }
@Override public TextFormat deserialize(TypeToken<?> type, ConfigurationNode value) throws ObjectMappingException { TextColor color = TextColors.NONE; GameRegistry registry = Sponge.getRegistry(); String colorId = value.getNode(NODE_COLOR).getString(); if (colorId != null) { color = registry.getType(TextColor.class, colorId).orElseThrow(() -> new ObjectMappingException("Color not found: " + colorId)); } TextStyle style = TextStyles.NONE; ConfigurationNode styleNode = value.getNode(NODE_STYLE); for (TextStyle.Base component : registry.getAllOf(TextStyle.Base.class)) { if (styleNode.getNode(component.getId().toLowerCase()).getBoolean()) { style = style.and(component); } } return TextFormat.NONE.color(color).style(style); }
@Listener public void serverAboutToStart(GameAboutToStartServerEvent event) { if (this.platform != null) { logger.warn("GameAboutToStartServerEvent occurred when GameStoppingServerEvent hasn't"); WorldEdit.getInstance().getPlatformManager().unregister(platform); } this.platform = new SpongePlatform(this); this.provider = new SpongePermissionsProvider(); for (BlockType blockType : Sponge.getRegistry().getAllOf(BlockType.class)) { // TODO Handle blockstate stuff String id = blockType.getId(); if (!com.sk89q.worldedit.world.block.BlockType.REGISTRY.keySet().contains(id)) { com.sk89q.worldedit.world.block.BlockTypes.register(new com.sk89q.worldedit.world.block.BlockType(id)); } } for (ItemType itemType : Sponge.getRegistry().getAllOf(ItemType.class)) { String id = itemType.getId(); if (!com.sk89q.worldedit.world.item.ItemType.REGISTRY.keySet().contains(id)) { ItemTypes.register(new com.sk89q.worldedit.world.item.ItemType(id)); } } WorldEdit.getInstance().getPlatformManager().register(platform); }
@Override public List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.addAll(Sponge.getRegistry().getAllOf(BlockType.class).stream() .filter(blockType -> blockType.getName().toLowerCase().contains("fence")) .map(SpongeBlockFilter::new) .collect(Collectors.toList())); states.add(new SpongeBlockFilter(BlockTypes.GLASS_PANE)); states.add(new SpongeBlockFilter(BlockTypes.STAINED_GLASS_PANE)); states.add(new SpongeBlockFilter(BlockTypes.IRON_BARS)); return states; } }
private static List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.addAll(Sponge.getRegistry().getAllOf(BlockType.class).stream() .filter(blockType -> blockType.getName().toLowerCase().contains("stairs")) .map(blockType -> new SpongeBlockFilter(blockType.getName())).collect(Collectors.toList())); return states; }
@Override protected Iterable<String> getChoices(CommandSource source) { return Sponge.getGame().getRegistry().getAllOf(this.catalogType).stream() .<String>map(input -> { return input == null ? null : input.getId(); // TODO: ids or names? }) .collect(Collectors.toList()); }
/** * Get a list of all LIQUID block types. * * @return List<BlockType> */ public static List<BlockType> getLiquidBlockTypes() { List<BlockType> liquids = new ArrayList<>(); Collection<BlockType> types = Sponge.getRegistry().getAllOf(BlockType.class); for (BlockType type : types) { Optional<MatterProperty> property = type.getProperty(MatterProperty.class); if (property.isPresent() && Objects.equals(property.get().getValue(), Matter.LIQUID)) { liquids.add(type); } } // @todo Sponge has not yet implemented the MatterProperties... liquids.add(BlockTypes.LAVA); liquids.add(BlockTypes.FLOWING_LAVA); liquids.add(BlockTypes.WATER); liquids.add(BlockTypes.FLOWING_WATER); return liquids; }
protected Iterable<String> getCompletionChoices(CommandSource source) { return Iterables.concat(getChoices(source), ImmutableSet.of("#first", "#me"), Iterables.transform(Sponge.getGame().getRegistry() .getAllOf(DimensionType.class), input2 -> "#" + input2.getId())); }
@Override public final void parameters(final String[] par, final SnipeData v) { if (par.length == 0 || par[0].equalsIgnoreCase("info")) { v.sendMessage(TextColors.AQUA, "Available entity types:"); StringBuilder types = new StringBuilder(); for (EntityType type : Sponge.getRegistry().getAllOf(EntityType.class)) { types.append(", ").append(type.getId().replace("minecraft:", "")); } v.sendMessage(types.toString().substring(2)); } else { Optional<EntityType> selection = Sponge.getRegistry().getType(EntityType.class, par[0]); if (!selection.isPresent()) { v.sendMessage(TextColors.RED, "This is not a valid entity!"); } else { this.entityType = selection.get(); v.sendMessage(TextColors.GREEN, "Entity type set to " + this.entityType.getName()); } } }
@Override public void modifyWorldGenerator(WorldProperties world, DataContainer settings, WorldGenerator worldGenerator) { worldGenerator.getGenerationPopulators().clear(); worldGenerator.getPopulators().clear(); for(BiomeType biome: Sponge.getRegistry().getAllOf(BiomeType.class)) { BiomeGenerationSettings biomeSettings = worldGenerator.getBiomeSettings(biome); biomeSettings.getGenerationPopulators().clear(); biomeSettings.getPopulators().clear(); biomeSettings.getGroundCoverLayers().clear(); } worldGenerator.setBaseGenerationPopulator((world1, buffer, biomes) -> {}); worldGenerator.setBiomeGenerator(buffer -> buffer.getBiomeWorker().fill((x, y, z) -> BiomeTypes.VOID)); }
@Override public final void parameters(final String[] args, final SnipeData v) { if (args[0].equalsIgnoreCase("info")) { v.sendMessage(TextColors.GOLD + "Biome Brush Parameters:"); String availableBiomes = ""; for (BiomeType biome : Sponge.getRegistry().getAllOf(BiomeType.class)) { availableBiomes += ", " + biome.getId(); } availableBiomes = availableBiomes.substring(2); v.sendMessage(TextColors.DARK_BLUE, "Available biomes: ", TextColors.DARK_GREEN, availableBiomes); } else { String biomeName = args[0]; Optional<BiomeType> biome = Sponge.getRegistry().getType(BiomeType.class, biomeName); if (!biome.isPresent()) { v.sendMessage(TextColors.RED, "Unknown biome type: ", TextColors.DARK_AQUA, biomeName); } else { this.selectedBiome = biome.get(); v.sendMessage(TextColors.GOLD, "Currently selected biome type: ", TextColors.DARK_GREEN, this.selectedBiome.getName()); } } }
@Override public void updateGenerators() { if (!SetupUtils.generators.isEmpty()) { return; } SetupUtils.generators.put(PS.imp().getPluginName(), new SpongePlotGenerator(PS.get().IMP.getDefaultGenerator())); SetupUtils.generators.put(PS.imp().getPluginName() + ":single", new SpongePlotGenerator(new SingleWorldGenerator())); // TODO get external world generators Collection<WorldGeneratorModifier> wgms = Sponge.getRegistry().getAllOf(WorldGeneratorModifier.class); for (WorldGeneratorModifier wgm : wgms) { String id = wgm.getId(); String name = wgm.getName(); if (wgm instanceof GeneratorWrapper<?>) { SetupUtils.generators.put(id, (GeneratorWrapper<?>) wgm); SetupUtils.generators.put(name, (GeneratorWrapper<?>) wgm); } else { SpongePlotGenerator wrap = new SpongePlotGenerator(wgm); SetupUtils.generators.put(id, wrap); SetupUtils.generators.put(name, wrap); } } }
@Override public void serialize(TypeToken<?> type, TextFormat obj, ConfigurationNode value) throws ObjectMappingException { value.getNode(NODE_COLOR).setValue(obj.getColor().getId()); ConfigurationNode styleNode = value.getNode(NODE_STYLE); TextStyle composite = obj.getStyle(); Sponge.getRegistry().getAllOf(TextStyle.Base.class) .forEach(style -> styleNode.getNode(style.getId().toLowerCase()).setValue(composite.contains(style))); }
@Override public TextFormat deserialize(TypeToken<?> type, ConfigurationNode value) throws ObjectMappingException { TextColor color = TextColors.NONE; GameRegistry registry = Sponge.getRegistry(); String colorId = value.getNode(NODE_COLOR).getString(); if (colorId != null) { color = registry.getType(TextColor.class, colorId).orElseThrow(() -> new ObjectMappingException("Color not found: " + colorId)); } TextStyle style = TextStyles.NONE; ConfigurationNode styleNode = value.getNode(NODE_STYLE); for (TextStyle.Base component : registry.getAllOf(TextStyle.Base.class)) { if (styleNode.getNode(component.getId().toLowerCase()).getBoolean()) { style = style.and(component); } } return TextFormat.NONE.color(color).style(style); }
@Override public GeneratorWrapper<?> getGenerator(String world, String name) { if (name == null) { return null; } Collection<WorldGeneratorModifier> wgms = this.game.getRegistry().getAllOf(WorldGeneratorModifier.class); for (WorldGeneratorModifier wgm : wgms) { if (StringMan.isEqualIgnoreCaseToAny(name, wgm.getName(), wgm.getId())) { if (wgm instanceof GeneratorWrapper<?>) { return (GeneratorWrapper<?>) wgm; } return new SpongePlotGenerator(wgm); } } return new SpongePlotGenerator(PS.get().IMP.getDefaultGenerator()); }