mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-10-05 02:59:00 +02:00
Add listNames to abstract ItemDbProvider
This commit is contained in:
parent
1029305382
commit
56fb8b06cd
@ -8,6 +8,7 @@ import org.bukkit.potion.PotionType;
|
|||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -17,6 +18,29 @@ public abstract class ItemDbProvider implements Provider {
|
|||||||
private SpawnEggProvider spawnEggProvider;
|
private SpawnEggProvider spawnEggProvider;
|
||||||
private PotionMetaProvider potionMetaProvider;
|
private PotionMetaProvider potionMetaProvider;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rebuild the item database, using the given lines of a file.
|
||||||
|
*
|
||||||
|
* @param lines The lines of the file from which the database should be built.
|
||||||
|
*/
|
||||||
|
public abstract void rebuild(List<String> lines);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read a resource from the jar.
|
||||||
|
* Used to build the database before data from a ManagedFile is available.
|
||||||
|
*
|
||||||
|
* @param name The name of the resource to load.
|
||||||
|
* @return The lines of the resource.
|
||||||
|
*/
|
||||||
|
protected List<String> loadResource(final String name) {
|
||||||
|
try (InputStreamReader isr = new InputStreamReader(ItemDbProvider.class.getResourceAsStream(name))) {
|
||||||
|
BufferedReader br = new BufferedReader(isr);
|
||||||
|
return br.lines().collect(Collectors.toList());
|
||||||
|
} catch (IOException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves a material name to its corresponding Material
|
* Resolves a material name to its corresponding Material
|
||||||
*
|
*
|
||||||
@ -64,13 +88,6 @@ public abstract class ItemDbProvider implements Provider {
|
|||||||
*/
|
*/
|
||||||
public abstract List<String> getNames(ItemStack item);
|
public abstract List<String> getNames(ItemStack item);
|
||||||
|
|
||||||
/**
|
|
||||||
* Rebuild the item database, using the given lines of a file.
|
|
||||||
*
|
|
||||||
* @param lines The lines of the file from which the database should be built.
|
|
||||||
*/
|
|
||||||
public abstract void rebuild(List<String> lines);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a stack of a given item by its name.
|
* Creates a stack of a given item by its name.
|
||||||
*
|
*
|
||||||
@ -95,20 +112,12 @@ public abstract class ItemDbProvider implements Provider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read a resource from the jar.
|
* Get all registered primary names for materials.
|
||||||
* Used to build the database before data from a ManagedFile is available.
|
* This does not include any additional aliases.
|
||||||
*
|
*
|
||||||
* @param name The name of the resource to load.
|
* @return A collection of primary names
|
||||||
* @return The lines of the resource.
|
|
||||||
*/
|
*/
|
||||||
protected List<String> loadResource(final String name) {
|
public abstract Collection<String> listNames();
|
||||||
try (InputStreamReader isr = new InputStreamReader(ItemDbProvider.class.getResourceAsStream(name))) {
|
|
||||||
BufferedReader br = new BufferedReader(isr);
|
|
||||||
return br.lines().collect(Collectors.toList());
|
|
||||||
} catch (IOException e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean tryProvider() {
|
public boolean tryProvider() {
|
||||||
@ -124,26 +133,50 @@ public abstract class ItemDbProvider implements Provider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current spawner provider.
|
||||||
|
*
|
||||||
|
* @return The current spawner provider
|
||||||
|
*/
|
||||||
protected SpawnerProvider getSpawnerProvider() {
|
protected SpawnerProvider getSpawnerProvider() {
|
||||||
return spawnerProvider;
|
return spawnerProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current spawner provider.
|
||||||
|
*/
|
||||||
public void setSpawnerProvider(SpawnerProvider spawnerProvider) {
|
public void setSpawnerProvider(SpawnerProvider spawnerProvider) {
|
||||||
this.spawnerProvider = spawnerProvider;
|
this.spawnerProvider = spawnerProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current spawn egg provider.
|
||||||
|
*
|
||||||
|
* @return The current spawn egg provider
|
||||||
|
*/
|
||||||
protected SpawnEggProvider getSpawnEggProvider() {
|
protected SpawnEggProvider getSpawnEggProvider() {
|
||||||
return spawnEggProvider;
|
return spawnEggProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current spawn egg provider.
|
||||||
|
*/
|
||||||
public void setSpawnEggProvider(SpawnEggProvider spawnEggProvider) {
|
public void setSpawnEggProvider(SpawnEggProvider spawnEggProvider) {
|
||||||
this.spawnEggProvider = spawnEggProvider;
|
this.spawnEggProvider = spawnEggProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current potion provider.
|
||||||
|
*
|
||||||
|
* @return The current potion provider
|
||||||
|
*/
|
||||||
protected PotionMetaProvider getPotionMetaProvider() {
|
protected PotionMetaProvider getPotionMetaProvider() {
|
||||||
return potionMetaProvider;
|
return potionMetaProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the current potion provider.
|
||||||
|
*/
|
||||||
public void setPotionMetaProvider(PotionMetaProvider potionMetaProvider) {
|
public void setPotionMetaProvider(PotionMetaProvider potionMetaProvider) {
|
||||||
this.potionMetaProvider = potionMetaProvider;
|
this.potionMetaProvider = potionMetaProvider;
|
||||||
}
|
}
|
||||||
@ -213,6 +246,7 @@ public abstract class ItemDbProvider implements Provider {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ItemData pairo = (ItemData) o;
|
ItemData pairo = (ItemData) o;
|
||||||
|
// TODO: generalise comparison
|
||||||
return this.material == pairo.getMaterial() && this.itemData == pairo.getItemData() && this.nbt.equals(pairo.getNbt());
|
return this.material == pairo.getMaterial() && this.itemData == pairo.getItemData() && this.nbt.equals(pairo.getNbt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user