테스트

aion-server 4.8

Gitteol
최고관리자 · 1 · 💬 0 클론/새로받기
 4.8 61f661d · 1 commits 새로받기(Pull)
chat-server/src/com/aionemu/chatserver/model/channel/JobChannel.java
package com.aionemu.chatserver.model.channel;

import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

import com.aionemu.chatserver.model.ChannelType;
import com.aionemu.chatserver.model.Race;

/**
 * @author ATracer, Neon
 */
public class JobChannel extends RaceChannel {

	private static final List<Set<String>> aliasSets = List.of(
		// Order of languages: NA English, GF English, German, Spanish, Italian, French, Polish, Turkish, Russian, Chinese, Korean
		newOrderedSet("Gladiator", "Gladiador", "Gladiatore", "Gladiateur", "Gladyatör", "Гладиатор", "剑星", "검성"),
		newOrderedSet("Templar", "Templer", "Templario", "Templare", "Templier", "Templariusz", "Tapınakçı", "Страж", "守护星", "수호성"),
		newOrderedSet("Assassin", "Assassine", "Asesino", "Assassino", "Asasyn", "Suikastçı", "Убийца", "杀星", "살성"),
		newOrderedSet("Ranger", "Jäger", "Cazador", "Cacciatore", "Rôdeur", "Łowca", "Avcı", "Стрелок", "弓星", "궁성"),
		newOrderedSet("Sorcerer", "Zauberer", "Hechicero", "Fattucchiere", "Sorcier", "Czarodziej", "Sihirbaz", "Волшебник", "魔道星", "마도성"),
		newOrderedSet("Spiritmaster", "Beschwörer", "Invocador", "Incantatore", "Spiritualiste", "Zaklinacz", "Ruh Çağırıcı", "Заклинатель", "精灵星", "정령성"),
		newOrderedSet("Cleric", "Kleriker", "Clérigo", "Chierico", "Clerc", "Kleryk", "Ruhban", "Целитель", "治愈星", "치유성"),
		newOrderedSet("Chanter", "Kantor", "Cantor", "Cantore", "Aède", "Чародей", "护法星", "호법성"),
		newOrderedSet("Aethertech", "Äthertech", "Técnico del éter", "Tecnico dell'etere", "Éthertech", "EterTech", "Etertek", "Пилот", "机甲星", "기갑성"),
		newOrderedSet("Gunslinger", "Gunner", "Schütze", "Tirador", "Tiratore", "Pistolero", "Strzelec", "Nişancı", "Снайпер", "枪炮星", "사격성"),
		newOrderedSet("Songweaver", "Bard", "Barde", "Bardo", "Ozan", "Бард", "吟游星", "음유성")
	);

	private final Set<String> classIdentifiers;

	public JobChannel(int gameServerId, Race race, String classIdentifier) {
		super(ChannelType.JOB, gameServerId, race);
		this.classIdentifiers = withAliases(classIdentifier.split("\\[f:")[0]);
	}

	public boolean hasAliases() {
		return classIdentifiers.size() > 1;
	}

	@Override
	public boolean matches(ChannelType channelType, int gameServerId, Race race, String classIdentifier) {
		return super.matches(channelType, gameServerId, race, classIdentifier) && classIdentifiers.contains(classIdentifier);
	}

	@Override
	public String name() {
		return classIdentifiers.iterator().next() + " (" + getRace().name().charAt(0) + ")";
	}

	private Set<String> withAliases(String classIdentifier) {
		return aliasSets.stream().filter(aliases -> aliases.contains(classIdentifier)).findFirst()
			.orElseGet(() -> Collections.singleton(classIdentifier));
	}

	private static Set<String> newOrderedSet(String... values) {
		return new LinkedHashSet<>(List.of(values));
	}
}

📎 첨부파일

댓글 작성 권한이 없습니다.
🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 102,949
2 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 63,733
3 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,771
4 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 36,923
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 35,011
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 29,470
7 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 29,077
8 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
9 no_profile 보거스쪽지보내기 자기소개 아이디로 검색 전체게시물 26,731
10 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 17,020
알림 0