Java tutorial
/* * Copyright (c) 2014. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * http://www.apache.org/licenses/LICENSE-2.0 */ package com.dc.gameserver.baseConfig; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy; /** * @author * Date: 13-11-27</br> * Time: ?11:20</br> * Package: com.dc.gameserver.baseConfig</br> * ??? */ public class Config { public static class DEFAULT_VALUE { /** * ? */ public static class FILE_PATH { public static String SERVER = "res/gameConfig/server.properties"; public static String GAME = "res/gameConfig/gameParameter.properties"; public static String EHCACHE = "res/gameConfig/ehcache.xml"; public static String LOG4J = "res/gameConfig/log4j.properties"; public static String SPRING_CONFIG_PATH = "res/springConfig/spring-context.xml"; // public static String MODULE_MAPPER_CONFIG="Server.ServerCore.Model.dbsql.mapper"; // public static String DATASOURECE_CONFIG=""; // public static String GOODS_CONFIG=""; // public static String TASK_CONFIG=""; // public static String GAME_XML_DATA_EQUIPMENT="res/xml/equip.xml"; //???? // public static String GAME_XML_DATA_BOOKS="res/xml/books.xml"; //????? // public static String GAME_XML_DATA_ITEM="res/xml/item.xml"; //????? // public static String GAME_XML_DATA_EFFECTIVE="res/xml/effectType.xml"; //???? // public static String GAME_XML_DATA_AREA="res/xml/area.xml"; //? // public static String GAME_XML_DATA_LEVEL_UNLOCK_TYPE="res/xml/levelUnlockType.xml"; //? public static String GAME_XML_DATA_LEVEL = "res/xml/level.xml"; //? // public static String GAME_XML_DATA_ROLE="res/xml/baseRole.xml"; //? // public static String GAME_XML_DATA_MONSTER="res/xml/monster.xml"; //? // public static String GAME_XML_DATA_SKILLTYPE="res/xml/skillType.xml"; //? // public static String GAME_XML_DATA_SKILL="res/xml/skill.xml"; //? // public static String GAME_XML_DATA_STATE="res/xml/state.xml"; //? // public static String GAME_XML_DATA_CARD_NUM_MODEL="res/xml/stateCard.xml"; //? ,? // public static String GAME_XML_DATA_SPRITE="res/xml/spirite.xml"; //14?1516? model } /** * ?? */ public static class GAME_VALUE { /****??*/ public static int DizzinessTimes; /****??*/ public static long roundOutCardIntervalTimeOut; /**????*/ public static long roundInterval; /** -> -> -> 1,2,3,4 */ public static float soualProbability; public static float defenceProbability; public static float attackProbability; public static float magicProbability; /**??? cardBoxNum== cardBoxNum*2**/ public static int cardBoxNum; /**?***/ public static int cardNum; /***/ public static boolean rulePoint; /***pageSize***/ public static int PrograssPageSize; public static int MAX_ROUND; /**???***/ public static boolean useItemLog; /**??**/ public static int defenceRecoverySheild; /**<=0,***/ public static int hurt; /**??*****/ public static double equipAndBooksAttrRandomRange; /**?*****/ public static double PinJieModulus; /**?*****/ public static double PinZhiModulus; /** * 1?23?4 ?5?6? ?? */ public static int minDizziness; public static int maxDizziness; public static int minHurtSoul; public static int maxHurtSoul; public static int minSpike; public static int maxSpike; // #? public static int dizinnessCardNum; //#?? public static int InotherInjuryToInjuryCardNum; // #? public static int InotherInjuryToInjurySoulValue; // #? public static double InotherInjuryToInjuryHurtPercent; //#??? public static double InotherInjuryToInjuryReservedHurtPercent; // #?? public static int SpikeCardNum; //#? public static int SpikeValue; //? 10min ?? public static long soulRecoveryInitial; //?? public static double GongPercent; //? public static long spriteFullInitial; //#?? public static long getSpriteInitial; // 3k public static int ItemCellNum; } /** * ??? */ public static class SERVER_VALUE { //? public static int readTimeOut = 0;//read data time out ..secs public static int writeTimeOut = 0;//write data time out ..secs public static int connect_timeout = 0;//connect_timeout SEC public static int gameserverPort = 0;//server port public static int maxConnection = 0;// //??? public static int maxFrameLength = 0; public static int lengthFieldOffset = 0; public static int lengthFieldLength = 0; public static int lengthAdjustment = 0; public static int initialBytesToStrip = 0; //?? public static long checkInterval = 0;//?? /**?**/ public static boolean useMultleThread; /***??(?db?)**/ public static int calculateThreads = 0; /***?**/ public static int RoundIntervalTimerNum; /**?***/ public static int RoundTimeOutTimerNum; /**buff ?? */ public static int buffTimerNum; /**?cancelled task */ public static int purgeTaskNum; /**AI **/ public static int AIthreadNum; } } /** * ?? * @throws org.apache.commons.configuration.ConfigurationException */ public static void IntiConfig() throws ConfigurationException { PropertiesConfiguration server_config = new PropertiesConfiguration(DEFAULT_VALUE.FILE_PATH.SERVER); PropertiesConfiguration game_config = new PropertiesConfiguration(DEFAULT_VALUE.FILE_PATH.GAME); FileChangedReloadingStrategy strategy = new FileChangedReloadingStrategy(); //default 5000 if (server_config.getBoolean("autoReload")) { strategy.setRefreshDelay(server_config.getInt("refreshDelay", 5000)); server_config.setReloadingStrategy(strategy); game_config.setReloadingStrategy(strategy); } /*********************************************************************************/ // ?? /*********************************************************************************/ DEFAULT_VALUE.SERVER_VALUE.gameserverPort = server_config.getInt("gameserverPort", 8888); DEFAULT_VALUE.SERVER_VALUE.readTimeOut = server_config.getInt("readTimeOut"); DEFAULT_VALUE.SERVER_VALUE.writeTimeOut = server_config.getInt("writeTimeOut"); DEFAULT_VALUE.SERVER_VALUE.connect_timeout = server_config.getInt("connect_timeout"); DEFAULT_VALUE.SERVER_VALUE.maxConnection = server_config.getInt("maxConnection"); DEFAULT_VALUE.SERVER_VALUE.checkInterval = server_config.getInt("checkInterval"); //???? DEFAULT_VALUE.SERVER_VALUE.maxFrameLength = server_config.getInt("maxFrameLength", 1048576); DEFAULT_VALUE.SERVER_VALUE.lengthFieldOffset = server_config.getInt("lengthFieldOffset", 0); DEFAULT_VALUE.SERVER_VALUE.lengthFieldLength = server_config.getInt("lengthFieldLength", 2); DEFAULT_VALUE.SERVER_VALUE.lengthAdjustment = server_config.getInt("lengthAdjustment", 0); DEFAULT_VALUE.SERVER_VALUE.initialBytesToStrip = server_config.getInt("initialBytesToStrip", 2); DEFAULT_VALUE.SERVER_VALUE.useMultleThread = server_config.getBoolean("useMultleThread", false); //?? DEFAULT_VALUE.SERVER_VALUE.RoundIntervalTimerNum = server_config.getInt("RoundIntervalTimerNum"); DEFAULT_VALUE.SERVER_VALUE.RoundTimeOutTimerNum = server_config.getInt("RoundTimeOutTimerNum"); DEFAULT_VALUE.SERVER_VALUE.buffTimerNum = server_config.getInt("buffTimerNum"); DEFAULT_VALUE.SERVER_VALUE.calculateThreads = server_config.getInt("calculateThreads"); DEFAULT_VALUE.SERVER_VALUE.purgeTaskNum = server_config.getInt("purgeTaskNum"); DEFAULT_VALUE.SERVER_VALUE.AIthreadNum = server_config.getInt("AIthreadNum"); /*********************************************************************************/ /* ??? /*********************************************************************************/ DEFAULT_VALUE.GAME_VALUE.rulePoint = game_config.getBoolean("rulePoint", false); DEFAULT_VALUE.GAME_VALUE.DizzinessTimes = game_config.getInt("DizzinessTimes"); DEFAULT_VALUE.GAME_VALUE.roundOutCardIntervalTimeOut = game_config.getLong("roundOutCardIntervalTimeOut", 30000); DEFAULT_VALUE.GAME_VALUE.roundInterval = game_config.getLong("roundInterval"); /** -> -> -> 1,2,3,4 */ DEFAULT_VALUE.GAME_VALUE.soualProbability = game_config.getFloat("soualProbability"); DEFAULT_VALUE.GAME_VALUE.defenceProbability = game_config.getFloat("defenceProbability"); DEFAULT_VALUE.GAME_VALUE.attackProbability = game_config.getFloat("attackProbability"); DEFAULT_VALUE.GAME_VALUE.magicProbability = game_config.getFloat("magicProbability"); DEFAULT_VALUE.GAME_VALUE.cardBoxNum = game_config.getInt("cardBoxNum"); DEFAULT_VALUE.GAME_VALUE.cardNum = game_config.getInt("cardNum"); DEFAULT_VALUE.GAME_VALUE.PrograssPageSize = game_config.getInt("PrograssPageSize", 5); DEFAULT_VALUE.GAME_VALUE.MAX_ROUND = game_config.getInt("MAX_ROUND", 10); DEFAULT_VALUE.GAME_VALUE.useItemLog = game_config.getBoolean("useItemLog", true); DEFAULT_VALUE.GAME_VALUE.defenceRecoverySheild = game_config.getInt("defenceRecoverySheild"); DEFAULT_VALUE.GAME_VALUE.hurt = game_config.getInt("hurt"); DEFAULT_VALUE.GAME_VALUE.equipAndBooksAttrRandomRange = game_config .getDouble("equipAndBooksAttrRandomRange"); DEFAULT_VALUE.GAME_VALUE.PinJieModulus = game_config.getDouble("PinJieModulus"); DEFAULT_VALUE.GAME_VALUE.PinZhiModulus = game_config.getDouble("PinZhiModulus"); DEFAULT_VALUE.GAME_VALUE.minDizziness = game_config.getInt("minDizziness"); DEFAULT_VALUE.GAME_VALUE.maxDizziness = game_config.getInt("maxDizziness"); DEFAULT_VALUE.GAME_VALUE.minHurtSoul = game_config.getInt("minHurtSoul"); DEFAULT_VALUE.GAME_VALUE.maxHurtSoul = game_config.getInt("maxHurtSoul"); DEFAULT_VALUE.GAME_VALUE.minSpike = game_config.getInt("minSpike"); DEFAULT_VALUE.GAME_VALUE.maxSpike = game_config.getInt("maxSpike"); //? //?? //? //? //??? //?? //? DEFAULT_VALUE.GAME_VALUE.dizinnessCardNum = game_config.getInt("dizinnessCardNum"); DEFAULT_VALUE.GAME_VALUE.InotherInjuryToInjuryCardNum = game_config.getInt("InotherInjuryToInjuryCardNum"); DEFAULT_VALUE.GAME_VALUE.InotherInjuryToInjurySoulValue = game_config .getInt("InotherInjuryToInjurySoulValue"); DEFAULT_VALUE.GAME_VALUE.InotherInjuryToInjuryHurtPercent = game_config .getDouble("InotherInjuryToInjuryHurtPercent"); DEFAULT_VALUE.GAME_VALUE.InotherInjuryToInjuryReservedHurtPercent = game_config .getDouble("InotherInjuryToInjuryReservedHurtPercent"); DEFAULT_VALUE.GAME_VALUE.SpikeCardNum = game_config.getInt("SpikeCardNum"); DEFAULT_VALUE.GAME_VALUE.SpikeValue = game_config.getInt("SpikeValue"); DEFAULT_VALUE.GAME_VALUE.soulRecoveryInitial = game_config.getLong("soulRecoveryInitial"); DEFAULT_VALUE.GAME_VALUE.GongPercent = game_config.getDouble("GongPercent", 0.02); //? DEFAULT_VALUE.GAME_VALUE.spriteFullInitial = game_config.getLong("spriteFullInitial"); DEFAULT_VALUE.GAME_VALUE.getSpriteInitial = game_config.getLong("getSpriteInitial"); DEFAULT_VALUE.GAME_VALUE.ItemCellNum = game_config.getInt("ItemCellNum"); } }