private IProbeInfoEntityProvider getEntityProviderByID(String id) { for (IProbeInfoEntityProvider provider : entityProviders) { if (provider.getID().equals(id)) { return provider; } } return null; }
for (IProbeInfoEntityProvider provider : entityProviders) { try { provider.addProbeEntityInfo(mode, probeInfo, player, world, entity, data); } catch (Throwable e) { ThrowableIdentity.registerThrowable(e); probeInfo.text(LABEL + "Error: " + ERROR + provider.getID());
private int findEntityProvider(String id) { for (int i = 0 ; i < entityProviders.size() ; i++) { if (id.equals(entityProviders.get(i).getID())) { return i; } } return -1; }
@Override public void registerEntityProvider(IProbeInfoEntityProvider provider) { int idx = findEntityProvider(provider.getID()); if (idx != -1) { entityProviders.set(idx, provider); } else { entityProviders.add(provider); } }
public void configureEntityProviders(String[] sortedProviders, Set<String> excludedProviders) { List<IProbeInfoEntityProvider> newProviders = new ArrayList<>(); for (String id : sortedProviders) { if (!excludedProviders.contains(id)) { IProbeInfoEntityProvider provider = getEntityProviderByID(id); if (provider != null) { newProviders.add(provider); } } } // Add all providers that are not in the list of sortedProviders and are also not // excluded. for (IProbeInfoEntityProvider provider : entityProviders) { if ((!newProviders.contains(provider)) && !excludedProviders.contains(provider.getID())) { newProviders.add(provider); } } entityProviders = newProviders; }
private void configureEntityProviders() { List<IProbeInfoEntityProvider> providers = TheOneProbe.theOneProbeImp.getEntityProviders(); String[] defaultValues = new String[providers.size()]; int i = 0; for (IProbeInfoEntityProvider provider : providers) { defaultValues[i++] = provider.getID(); } String[] sortedProviders = TheOneProbe.config.getStringList("sortedEntityProviders", Config.CATEGORY_PROVIDERS, defaultValues, "Order in which entity providers should be used"); String[] excludedProviders = TheOneProbe.config.getStringList("excludedEntityProviders", Config.CATEGORY_PROVIDERS, new String[] {}, "Entity providers that should be excluded"); Set<String> excluded = new HashSet<>(); Collections.addAll(excluded, excludedProviders); TheOneProbe.theOneProbeImp.configureEntityProviders(sortedProviders, excluded); } }