2017-09-08 2 views
0

Ce script vérifie les compétences du fichier de configuration et ne permet que de les utiliser (afin d'arrêter le piratage).Obtenir la liste des entiers à partir d'un fichier

Voici le processus de la façon de travailler fonctionne mon script:

# 1 Il y a fichier de configuration .ini spéciale avec cette liste de compétences:

CommunityAvailableBuffs = 11517,11522; 

# 2 de fichier config. java obtient une liste du fichier de configuration et la convertit en entier:

public static List<Integer> COMMUNITY_AVAILABLE_BUFFS; 

final String[] allowedBuffs = 
CommunityBoard.getString("CommunityAvailableBuffs", "").split(","); 
COMMUNITY_AVAILABLE_BUFFS = new ArrayList<>(allowedBuffs.length); 
    for (String s : allowedBuffs) 
    { 
     COMMUNITY_AVAILABLE_BUFFS.add(Integer.parseInt(s)); 
    } 

# 3 Fichier HomeBoard.java obtenir cette liste à partir du fichier config.java et vérifier les compétences de cette liste.

if (!Config.COMMUNITY_AVAILABLE_BUFFS.contains(skill.getId())) 
{ 
    continue; 
} 

Ma question est de savoir comment coller la liste des compétences directement dans le fichier HomeBoard.java sans utiliser les fichiers de configuration et config.java, j'ai essayé d'utiliser quelque chose comme ceci:

List<Integer> allallowedBuffs = "11517,11522"; 
final String[] allowedBuffs = CommunityBoard.getString(allallowedBuffs, "").split(","); 
allallowedBuffs = new ArrayList<>(allowedBuffs.length); 
for (String s : allowedBuffs) 
{ 
    allallowedBuffs.add(Integer.parseInt(s)); 
} 

if (!allowedBuffsend.contains(skill.getId())) 
{ 
    continue; 
} 

Mais malheureusement ça ne marche pas.

+1

ce qui ne fonctionne pas? –

+0

'" 11517,11522 "' est une chaîne non une liste d'entier –

+0

Oui, la console m'a donné cette erreur: \t Liste allallowedBuffs = "11517,11522"; \t ^^^^^^^^^^^^ Incompatibilité de type: impossible de convertir de la chaîne en liste

Répondre

2

Si je comprends bien votre question, vous pouvez simplement utiliser la ligne suivante pour remplir allallowedBuffs avec des données codées en dur.

List<Integer> allallowedBuffs = Arrays.asList(11517,11522); 
+0

Merci beaucoup, le problème a été résolu! –

1

Essayez cela, si elle est Java8

List<Integer> allallowedBuffs = List.of(11517, 11522);