Various unnecessary code changes.

This commit is contained in:
MobiusDev
2018-06-26 15:00:56 +00:00
parent c9b04d53f4
commit 315a4e773c
869 changed files with 2683 additions and 12904 deletions

View File

@@ -136,10 +136,6 @@ EffectTickRatio = 666
# Default: True
LifeCrystalNeeded = True
# Require book needed to enchant skills.
# Default: True
EnchantSkillSpBookNeeded = True
# Require spell book needed to learn Divine Inspiration.
# Default: True
DivineInspirationSpBookNeeded = True
@@ -359,46 +355,6 @@ DisableOverEnchanting = True
# ---------------------------------------------------------------------------
# Augmenting
# ---------------------------------------------------------------------------
# These control the chance to get a skill in the augmentation process.
# Default: 15, 30, 45, 60
AugmentationNGSkillChance = 15
AugmentationMidSkillChance = 30
AugmentationHighSkillChance = 45
AugmentationTopSkillChance = 60
# Accessory augmentation skills currently disabled
AugmentationAccSkillChance = 0
# This controls the chance to get a base stat modifier in the augmentation process.
# Notes:
# This has no dependency on the grade of Life Stone.
# Default: 1
AugmentationBaseStatChance = 1
# These control the chance to get a glow effect in the augmentation process.
# Notes:
# No/Mid Grade Life Stone can not have glow effect if you do not get a skill or base stat modifier.
# Default: 0, 40, 70, 100
AugmentationNGGlowChance = 0
AugmentationMidGlowChance = 40
AugmentationHighGlowChance = 70
AugmentationTopGlowChance = 100
# This will enable retail like weapon augmentation, but then you cant change
# weapon glow, base stat chance, because it wouldnt be retail like again.
RetailLikeAugmentation = True
# This will have effect ONLY when RetailLikeAugmentation is True. The sum of 4 numbers must be 100!
# You can change probability (in %) of augment color chances - in order yellow, blue, purple, red
# Purple and Red always give skill. Default is 55%,35%,7%,3% for all lifestone grades (ie 7+3=10%
# for skill, not counting blue ones, that are very rare and not useful anyway).
RetailLikeAugmentationNoGradeChance = 55,35,7,3
RetailLikeAugmentationMidGradeChance = 55,35,7,3
RetailLikeAugmentationHighGradeChance = 55,35,7,3
RetailLikeAugmentationTopGradeChance = 55,35,7,3
# This will enable retail like accessory augmentation, but then you cant change skill chances for accessory augments
RetailLikeAugmentationAccessory = True
# List of non-augmentable items, currently contains only Grand Boss jewels
# Shadow, common, time-limited, hero, pvp, wear items are hardcoded, as well as all etcitems.
# Rods can't be augmented too.

View File

@@ -1,24 +0,0 @@
# --------------------------------------------------
# Contestable halls general configuration
# --------------------------------------------------
# Min level that each clan needs to register
# for the siege
MinClanLevel = 4
# Max number of clans allowed to register for
# the battle
MaxAttackers = 500
# Max numbers of flags that each clan is allowed
# to put
MaxFlagsPerClan = 1
# Enable the fame reward
EnableFame = false
# Fame amount
FameAmount = 0
# Fame Frequency
FameFrequency = 0

View File

@@ -38,10 +38,6 @@ CommunityBuffPrice = 0
# Default: 0 (free)
CommunityHealPrice = 0
# Disable Community Board while in combat.
# Default: True
CommunityCombatDisabled = True
# Disable Community Board while player has Karma.
# Default: True
CommunityKarmaDisabled = True

View File

@@ -69,10 +69,6 @@ GMRestartFighting = True
# example: "Announce: hi (HanWik)"
GMShowAnnouncerName = False
# Show the GM's name before an announcement made by him
# example: "Nyaran: hi"
GMShowCritAnnouncerName = False
# Give special skills for every GM
# 7029,7041-7064,7088-7096,23238-23249 (Master's Blessing)
# Default: False
@@ -383,10 +379,6 @@ DefaultFinishTime = 5
# Default: True
AllowWater = True
# Enable pets for rent (wyvern & strider) from pet managers.
# Default: False
AllowRentPet = False
# Default: True
AllowFishing = True
@@ -523,55 +515,7 @@ AltItemAuctionExpiredAfter = 14
AltItemAuctionTimeExtendsOnBid = 0
# ---------------------------------------------------------------------------
# Dimension Rift
# ---------------------------------------------------------------------------
# Minimal party size to enter rift. Min = 2, Max = 9.
# If while inside the rift, the party becomes smaller, all members will be teleported back.
# Default: 2
RiftMinPartySize = 2
# Number of maximum jumps between rooms allowed, after this time party will be teleported back
# Default: 4
MaxRiftJumps = 4
# Time in ms the party has to wait until the mobs spawn when entering a room. C4 retail: 10s
# Default: 10000
RiftSpawnDelay = 10000
# Time between automatic jumps in seconds
# Default: 480
AutoJumpsDelayMin = 480
# Default: 600
AutoJumpsDelayMax = 600
# Time Multiplier for stay in the boss room
# Default: 1.5
BossRoomTimeMultiply = 1.5
# Cost in dimension fragments to enter the rift, each party member must own this amount
# Default: 18
RecruitCost = 18
# Default: 21
SoldierCost = 21
# Default: 24
OfficerCost = 24
# Default: 27
CaptainCost = 27
# Default: 30
CommanderCost = 30
# Default: 33
HeroCost = 33
# ---------------------------------------------------------------------------
---------------------------------------------------------------------------
# Punishment
# ---------------------------------------------------------------------------
@@ -604,10 +548,6 @@ JailDisableChat = True
# Default: False
JailDisableTransaction = False
# Enchant Skill Details Settings
# Default: 1,5
NormalEnchantCostMultipiler = 1
SafeEnchantCostMultipiler = 5
# ---------------------------------------------------------------------------
# Custom Components
@@ -698,17 +638,9 @@ AllowReportsFromSameClanMembers = False
# Default: False
HtmlActionCacheDebug = False
# Packet handler debug output
# Default: False
PacketHandlerDebug = False
# Default: False
Developer = False
# Don't load Handlers
# Default: False
AltDevNoHandlers = False
# Don't load quests.
# Default: False
AltDevNoQuests = False

View File

@@ -75,10 +75,6 @@ SkillChancePenaltyForLvLDifferences = 2.5, 3.0, 3.25, 3.5
# Monsters
# ---------------------------------------------------------------------------
# Decay Time Task (don't set it too low!) (in milliseconds):
# Default: 5000
DecayTimeTask = 5000
# This is the default corpse time (in seconds).
# Default: 7
DefaultCorpseTime = 7
@@ -105,11 +101,6 @@ GuardAttackAggroMob = False
# Pets
# ---------------------------------------------------------------------------
# This option enables or disables the Wyvern manager located in every castle
# to train Wyverns and Striders from Hatchlings.
# Default: False
AllowWyvernUpgrader = False
# This will control the inventory space limit for pets (NOT WEIGHT LIMIT).
# Default: 12
MaximumSlotsForPet = 12

View File

@@ -57,10 +57,6 @@ AntiFeedInterval = 120
# Misc.
# ---------------------------------------------------------------------------
# Should we award a pvp point for killing a player with karma?
# Default: False
AwardPKKillPVPPoint = False
# How much time one stays in PvP mode after hitting an innocent (in ms)
# Default: 120000
PvPVsNormalTime = 120000

View File

@@ -18,14 +18,11 @@ package ai;
import java.util.logging.Logger;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.holders.MinionHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.network.serverpackets.SocialAction;
import com.l2jmobius.gameserver.util.Broadcast;
/**
* Abstract NPC AI class for datapack based AIs.
@@ -73,27 +70,6 @@ public abstract class AbstractNpcAI extends Quest
addFactionCallId(mobs);
}
/**
* Broadcasts SocialAction packet to self and known players.
* @param character
* @param actionId
*/
protected void broadcastSocialAction(L2Character character, int actionId)
{
Broadcast.toSelfAndKnownPlayers(character, new SocialAction(character.getObjectId(), actionId));
}
/**
* Broadcasts SocialAction packet to self and known players in specific radius.
* @param character
* @param actionId
* @param radius
*/
protected void broadcastSocialAction(L2Character character, int actionId, int radius)
{
Broadcast.toSelfAndKnownPlayersInRadius(character, new SocialAction(character.getObjectId(), actionId), radius);
}
public void spawnMinions(L2Npc npc, String spawnName)
{
for (MinionHolder is : npc.getParameters().getMinionList(spawnName))

View File

@@ -276,7 +276,7 @@ public class AdminBuffs implements IAdminCommandHandler
* @param gmchar the player to switch the Game Master skills.
* @param toAuraSkills if {@code true} it will remove "GM Aura" skills and add "GM regular" skills, vice versa if {@code false}.
*/
public static void switchSkills(L2PcInstance gmchar, boolean toAuraSkills)
private static void switchSkills(L2PcInstance gmchar, boolean toAuraSkills)
{
final Collection<Skill> skills = toAuraSkills ? SkillTreesData.getInstance().getGMSkillTree() : SkillTreesData.getInstance().getGMAuraSkillTree();
for (Skill skill : skills)
@@ -292,7 +292,7 @@ public class AdminBuffs implements IAdminCommandHandler
return ADMIN_COMMANDS;
}
public static void showBuffs(L2PcInstance activeChar, L2Character target, int page, boolean passive)
private static void showBuffs(L2PcInstance activeChar, L2Character target, int page, boolean passive)
{
final List<BuffInfo> effects = new ArrayList<>();
if (!passive)

View File

@@ -464,7 +464,7 @@ public class AdminEventEngine implements IAdminCommandHandler
return note + result;
}
public void showMainPage(L2PcInstance activeChar)
private void showMainPage(L2PcInstance activeChar)
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
@@ -473,7 +473,7 @@ public class AdminEventEngine implements IAdminCommandHandler
activeChar.sendPacket(adminReply);
}
public void showNewEventPage(L2PcInstance activeChar)
private void showNewEventPage(L2PcInstance activeChar)
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
@@ -515,7 +515,7 @@ public class AdminEventEngine implements IAdminCommandHandler
activeChar.sendPacket(adminReply);
}
public void showEventParameters(L2PcInstance activeChar, int teamnumbers)
private void showEventParameters(L2PcInstance activeChar, int teamnumbers)
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
final StringBuilder sb = new StringBuilder();

View File

@@ -77,7 +77,7 @@ public class AdminHtml implements IAdminCommandHandler
* @param activeChar activeChar where html is shown
* @param path relative path from directory data/html/admin/ to html
*/
public static void showAdminHtml(L2PcInstance activeChar, String path)
static void showAdminHtml(L2PcInstance activeChar, String path)
{
showHtml(activeChar, "data/html/admin/" + path, false);
}
@@ -88,7 +88,7 @@ public class AdminHtml implements IAdminCommandHandler
* @param path relative path from Config.DATAPACK_ROOT to html.
* @param reload {@code true} will reload html and show it {@code false} will show it from cache.
*/
public static void showHtml(L2PcInstance activeChar, String path, boolean reload)
private static void showHtml(L2PcInstance activeChar, String path, boolean reload)
{
String content = null;
if (!reload)

View File

@@ -42,7 +42,7 @@ import com.l2jmobius.gameserver.util.Util;
public class AdminQuest implements IAdminCommandHandler
{
public static final Logger LOGGER = Logger.getLogger(AdminQuest.class.getName());
private static final Logger LOGGER = Logger.getLogger(AdminQuest.class.getName());
private static final String[] ADMIN_COMMANDS =
{

View File

@@ -26,7 +26,7 @@ import com.l2jmobius.gameserver.util.BuilderUtil;
*/
public class AdminSummon implements IAdminCommandHandler
{
public static final String[] ADMIN_COMMANDS =
private static final String[] ADMIN_COMMANDS =
{
"admin_summon"
};

View File

@@ -29,7 +29,7 @@ import com.l2jmobius.gameserver.model.skills.Skill;
*/
public final class AdminSuperHaste implements IAdminCommandHandler
{
public static final String[] ADMIN_COMMANDS =
static final String[] ADMIN_COMMANDS =
{
"admin_superhaste",
"admin_superhaste_menu",

View File

@@ -18,6 +18,7 @@ package handlers.bypasshandlers;
import java.util.logging.Level;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.handler.IBypassHandler;
import com.l2jmobius.gameserver.model.ClanPrivilege;
import com.l2jmobius.gameserver.model.actor.L2Character;
@@ -41,6 +42,11 @@ public class ClanWarehouse implements IBypassHandler
@Override
public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
{
if (!Config.ALLOW_WAREHOUSE)
{
return false;
}
if (!target.isNpc())
{
return false;

View File

@@ -271,7 +271,7 @@ public class NpcViewMod implements IBypassHandler
activeChar.sendPacket(html);
}
public static void sendNpcSkillView(L2PcInstance activeChar, L2Npc npc)
private static void sendNpcSkillView(L2PcInstance activeChar, L2Npc npc)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar, "data/html/mods/NpcView/Skills.htm");
@@ -303,7 +303,7 @@ public class NpcViewMod implements IBypassHandler
activeChar.sendPacket(html);
}
public static void sendAggroListView(L2PcInstance activeChar, L2Npc npc)
private static void sendAggroListView(L2PcInstance activeChar, L2Npc npc)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar, "data/html/mods/NpcView/AggroList.htm");

View File

@@ -18,6 +18,7 @@ package handlers.bypasshandlers;
import java.util.logging.Level;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.handler.IBypassHandler;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
@@ -37,6 +38,11 @@ public class PrivateWarehouse implements IBypassHandler
@Override
public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
{
if (!Config.ALLOW_WAREHOUSE)
{
return false;
}
if (!target.isNpc())
{
return false;

View File

@@ -81,7 +81,7 @@ public class QuestLink implements IBypassHandler
* @param npc The table containing quests of the L2NpcInstance
* @param quests
*/
public static void showQuestChooseWindow(L2PcInstance player, L2Npc npc, Collection<Quest> quests)
private static void showQuestChooseWindow(L2PcInstance player, L2Npc npc, Collection<Quest> quests)
{
final StringBuilder sbStarted = new StringBuilder(128);
final StringBuilder sbCanStart = new StringBuilder(128);
@@ -186,7 +186,7 @@ public class QuestLink implements IBypassHandler
* @param npc the L2NpcInstance that chats with the {@code player}
* @param questId the Id of the quest to display the message
*/
public static void showQuestWindow(L2PcInstance player, L2Npc npc, String questId)
private static void showQuestWindow(L2PcInstance player, L2Npc npc, String questId)
{
String content = null;

View File

@@ -55,16 +55,16 @@ public class DropSearchBoard implements IParseBoardHandler
"_bbs_npc_trace"
};
class CBDropHolder
private class CBDropHolder
{
int itemId;
int npcId;
byte npcLevel;
long min;
long max;
double chance;
boolean isSpoil;
boolean isRaid;
final int itemId;
final int npcId;
final byte npcLevel;
final long min;
final long max;
final double chance;
final boolean isSpoil;
final boolean isRaid;
public CBDropHolder(L2NpcTemplate npcTemplate, DropHolder dropHolder)
{

View File

@@ -77,7 +77,7 @@ public final class HomeBoard implements IParseBoardHandler
Config.COMMUNITYBOARD_ENABLE_HEAL ? "_bbsheal" : null
};
public static final BiPredicate<String, L2PcInstance> COMBAT_CHECK = (command, activeChar) ->
private static final BiPredicate<String, L2PcInstance> COMBAT_CHECK = (command, activeChar) ->
{
boolean commandCheck = false;
for (String c : CUSTOM_COMMANDS)
@@ -92,7 +92,7 @@ public final class HomeBoard implements IParseBoardHandler
return commandCheck && (activeChar.isCastingNow() || activeChar.isInCombat() || activeChar.isInDuel() || activeChar.isInOlympiadMode() || activeChar.isInsideZone(ZoneId.SIEGE) || activeChar.isInsideZone(ZoneId.PVP));
};
public static final Predicate<L2PcInstance> KARMA_CHECK = player -> Config.COMMUNITYBOARD_KARMA_DISABLED && (player.getReputation() < 0);
private static final Predicate<L2PcInstance> KARMA_CHECK = player -> Config.COMMUNITYBOARD_KARMA_DISABLED && (player.getReputation() < 0);
@Override
public String[] getCommunityBoardCommands()

View File

@@ -24,7 +24,7 @@ import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author UnAfraid
*/
public abstract class AbstractConditionalHpEffect extends AbstractStatEffect
abstract class AbstractConditionalHpEffect extends AbstractStatEffect
{
private final int _hpPercent;

View File

@@ -39,7 +39,7 @@ public final class BlockSkill extends AbstractEffect
_magicTypes = params.getIntArray("magicTypes", ";");
}
public TerminateReturn onSkillUseEvent(OnCreatureSkillUse event)
private TerminateReturn onSkillUseEvent(OnCreatureSkillUse event)
{
if (CommonUtil.contains(_magicTypes, event.getSkill().getMagicType()))
{
@@ -65,5 +65,4 @@ public final class BlockSkill extends AbstractEffect
{
effected.removeListenerIf(EventType.ON_CREATURE_SKILL_USE, listener -> listener.getOwner() == this);
}
}

View File

@@ -29,8 +29,8 @@ import com.l2jmobius.gameserver.util.MathUtil;
*/
public class CriticalDamagePosition extends AbstractEffect
{
protected final double _amount;
protected final Position _position;
private final double _amount;
private final Position _position;
public CriticalDamagePosition(StatsSet params)
{

View File

@@ -29,8 +29,8 @@ import com.l2jmobius.gameserver.util.MathUtil;
*/
public class CriticalRatePositionBonus extends AbstractEffect
{
protected final double _amount;
protected final Position _position;
private final double _amount;
private final Position _position;
public CriticalRatePositionBonus(StatsSet params)
{

View File

@@ -36,7 +36,7 @@ import com.l2jmobius.gameserver.util.Util;
*/
public final class Fear extends AbstractEffect
{
public static final int FEAR_RANGE = 500;
private static final int FEAR_RANGE = 500;
public Fear(StatsSet params)
{

View File

@@ -31,7 +31,7 @@ import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
*/
public class GetMomentum extends AbstractEffect
{
public static int _ticks;
private static int _ticks;
public GetMomentum(StatsSet params)
{

View File

@@ -100,7 +100,7 @@ public final class KnockBack extends AbstractEffect
}
}
public void knockBack(L2Character effector, L2Character effected)
private void knockBack(L2Character effector, L2Character effected)
{
final double radians = Math.toRadians(Util.calculateAngleFrom(effector, effected));
final int x = (int) (effected.getX() + (_distance * Math.cos(radians)));

View File

@@ -30,7 +30,7 @@ import com.l2jmobius.gameserver.model.skills.Skill;
public final class ModifyVital extends AbstractEffect
{
// Modify types
enum ModifyType
private enum ModifyType
{
DIFF,
SET,

View File

@@ -45,7 +45,7 @@ import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
*/
public final class RestorationRandom extends AbstractEffect
{
final List<L2ExtractableProductItem> _products = new ArrayList<>();
private final List<L2ExtractableProductItem> _products = new ArrayList<>();
public RestorationRandom(StatsSet params)
{

View File

@@ -69,7 +69,7 @@ public final class SoulEating extends AbstractEffect
effected.getStat().mergeAdd(Stats.MAX_SOULS, _maxSouls);
}
public void onExperienceReceived(L2Playable playable, long exp)
private void onExperienceReceived(L2Playable playable, long exp)
{
// TODO: Verify logic.
if (playable.isPlayer() && (exp >= _expNeeded))

View File

@@ -34,7 +34,7 @@ import com.l2jmobius.gameserver.model.stats.Stats;
public class StatBonusSkillCritical extends AbstractEffect
{
private final BaseStats _stat;
protected final Condition _armorTypeCondition;
private final Condition _armorTypeCondition;
public StatBonusSkillCritical(StatsSet params)
{

View File

@@ -34,7 +34,7 @@ import com.l2jmobius.gameserver.model.stats.Stats;
public class StatBonusSpeed extends AbstractEffect
{
private final BaseStats _stat;
protected final Condition _armorTypeCondition;
private final Condition _armorTypeCondition;
public StatBonusSpeed(StatsSet params)
{

View File

@@ -85,7 +85,7 @@ public final class TriggerSkillByAttack extends AbstractEffect
}
}
public void onAttackEvent(OnCreatureDamageDealt event)
private void onAttackEvent(OnCreatureDamageDealt event)
{
if (event.isDamageOverTime() || (_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLevel() == 0)) || (!_allowNormalAttack && !_allowSkillAttack))
{

View File

@@ -46,7 +46,6 @@ public final class TriggerSkillByAvoid extends AbstractEffect
/**
* @param params
*/
public TriggerSkillByAvoid(StatsSet params)
{
_chance = params.getInt("chance", 100);
@@ -54,7 +53,7 @@ public final class TriggerSkillByAvoid extends AbstractEffect
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
}
public void onAvoidEvent(OnCreatureAttackAvoid event)
private void onAvoidEvent(OnCreatureAttackAvoid event)
{
if (event.isDamageOverTime() || (_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLevel() == 0)))
{

View File

@@ -58,7 +58,7 @@ public final class TriggerSkillByDamage extends AbstractEffect
_attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.L2Character);
}
public void onDamageReceivedEvent(OnCreatureDamageReceived event)
private void onDamageReceivedEvent(OnCreatureDamageReceived event)
{
if (event.isDamageOverTime() || (_chance == 0) || (_skill.getSkillLevel() == 0))
{

View File

@@ -56,7 +56,7 @@ public final class TriggerSkillByDeathBlow extends AbstractEffect
_attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.L2Character);
}
public void onDamageReceivedEvent(OnCreatureDamageReceived event)
private void onDamageReceivedEvent(OnCreatureDamageReceived event)
{
if (event.getDamage() < event.getTarget().getCurrentHp())
{

View File

@@ -42,7 +42,7 @@ public final class TriggerSkillByKill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId", 0), params.getInt("skillLevel", 0));
}
public void onCreatureKilled(OnCreatureKilled event, L2Character target)
private void onCreatureKilled(OnCreatureKilled event, L2Character target)
{
if ((_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLevel() == 0)))
{

View File

@@ -60,7 +60,7 @@ public final class TriggerSkillByMagicType extends AbstractEffect
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
}
public void onSkillUseEvent(OnCreatureSkillFinishCast event)
private void onSkillUseEvent(OnCreatureSkillFinishCast event)
{
if (!event.getTarget().isCharacter())
{

View File

@@ -36,11 +36,11 @@ public class TwoHandedBluntBonus extends AbstractEffect
private static final Condition _weaponTypeCondition = new ConditionUsingItemType(WeaponType.BLUNT.mask());
private static final Condition _slotCondition = new ConditionUsingSlotType(L2Item.SLOT_LR_HAND);
protected final double _pAtkAmount;
protected final StatModifierType _pAtkmode;
private final double _pAtkAmount;
private final StatModifierType _pAtkmode;
protected final double _accuracyAmount;
protected final StatModifierType _accuracyMode;
private final double _accuracyAmount;
private final StatModifierType _accuracyMode;
public TwoHandedBluntBonus(StatsSet params)
{

View File

@@ -36,11 +36,11 @@ public class TwoHandedSwordBonus extends AbstractEffect
private static final Condition _weaponTypeCondition = new ConditionUsingItemType(WeaponType.SWORD.mask());
private static final Condition _slotCondition = new ConditionUsingSlotType(L2Item.SLOT_LR_HAND);
protected final double _pAtkAmount;
protected final StatModifierType _pAtkmode;
private final double _pAtkAmount;
private final StatModifierType _pAtkmode;
protected final double _accuracyAmount;
protected final StatModifierType _accuracyMode;
private final double _accuracyAmount;
private final StatModifierType _accuracyMode;
public TwoHandedSwordBonus(StatsSet params)
{

View File

@@ -54,7 +54,7 @@ public class PetFood implements IItemHandler
return true;
}
public boolean useFood(L2Playable activeChar, int skillId, int skillLevel, L2ItemInstance item)
private boolean useFood(L2Playable activeChar, int skillId, int skillLevel, L2ItemInstance item)
{
final Skill skill = SkillData.getInstance().getSkill(skillId, skillLevel);
if (skill != null)

View File

@@ -58,7 +58,7 @@ public final class SitStand implements IPlayerActionHandler
* @param target the target to sit, throne, bench or chair
* @return {@code true} if the player can sit, {@code false} otherwise
*/
protected boolean useSit(L2PcInstance activeChar, L2Object target)
private boolean useSit(L2PcInstance activeChar, L2Object target)
{
if (activeChar.getMountType() != MountType.NONE)
{

View File

@@ -47,7 +47,7 @@ public class JailHandler implements IPunishmentHandler
Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_PLAYER_LOGIN, (OnPlayerLogin event) -> onPlayerLogin(event), this));
}
public void onPlayerLogin(OnPlayerLogin event)
private void onPlayerLogin(OnPlayerLogin event)
{
final L2PcInstance activeChar = event.getActiveChar();
if (activeChar.isJailed() && !activeChar.isInsideZone(ZoneId.JAIL))

View File

@@ -27,7 +27,7 @@ import com.l2jmobius.gameserver.model.skills.Skill;
*/
public class OpSkillAcquireSkillCondition implements ISkillCondition
{
final int _skillId;
private final int _skillId;
private final boolean _hasLearned;
public OpSkillAcquireSkillCondition(StatsSet params)

View File

@@ -28,7 +28,7 @@ import com.l2jmobius.gameserver.model.skills.Skill;
*/
public class TargetMyPartySkillCondition implements ISkillCondition
{
final boolean _includeMe;
private final boolean _includeMe;
public TargetMyPartySkillCondition(StatsSet params)
{

View File

@@ -251,7 +251,7 @@ public class Debug implements ITelnetCommand
throw new IllegalStateException("Deadlocked Thread not found");
}
public static String getServerStatus()
static String getServerStatus()
{
int playerCount = 0, objectCount = 0;
final int max = LoginServerThread.getInstance().getMaxPlayer();

View File

@@ -44,11 +44,6 @@ public class AutoPotion implements IVoicedCommandHandler
"apoff"
};
public static AutoPotion getInstance()
{
return null;
}
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{

View File

@@ -71,7 +71,7 @@ import com.l2jmobius.gameserver.util.Util;
*/
public final class Config
{
protected static final Logger LOGGER = Logger.getLogger(Config.class.getName());
private static final Logger LOGGER = Logger.getLogger(Config.class.getName());
// --------------------------------------------------
// Constants
@@ -81,62 +81,61 @@ public final class Config
// --------------------------------------------------
// Config File Definitions
// --------------------------------------------------
public static final String ATTENDANCE_CONFIG_FILE = "./config/AttendanceRewards.ini";
public static final String CHARACTER_CONFIG_FILE = "./config/Character.ini";
public static final String CH_SIEGE_CONFIG_FILE = "./config/ConquerableHallSiege.ini";
public static final String FEATURE_CONFIG_FILE = "./config/Feature.ini";
public static final String FLOOD_PROTECTOR_CONFIG_FILE = "./config/FloodProtector.ini";
public static final String FORTSIEGE_CONFIG_FILE = "./config/FortSiege.ini";
public static final String GENERAL_CONFIG_FILE = "./config/General.ini";
public static final String GEOENGINE_CONFIG_FILE = "./config/GeoEngine.ini";
public static final String GRACIASEEDS_CONFIG_FILE = "./config/GraciaSeeds.ini";
public static final String GRANDBOSS_CONFIG_FILE = "./config/GrandBoss.ini";
public static final String IDFACTORY_CONFIG_FILE = "./config/IdFactory.ini";
public static final String LOGIN_CONFIG_FILE = "./config/LoginServer.ini";
public static final String NPC_CONFIG_FILE = "./config/NPC.ini";
public static final String OLYMPIAD_CONFIG_FILE = "./config/Olympiad.ini";
public static final String PVP_CONFIG_FILE = "./config/PVP.ini";
public static final String RATES_CONFIG_FILE = "./config/Rates.ini";
public static final String SERVER_CONFIG_FILE = "./config/Server.ini";
public static final String SIEGE_CONFIG_FILE = "./config/Siege.ini";
public static final String TELNET_CONFIG_FILE = "./config/Telnet.ini";
public static final String TRAINING_CAMP_CONFIG_FILE = "./config/TrainingCamp.ini";
public static final String CHAT_FILTER_FILE = "./config/chatfilter.txt";
public static final String HEXID_FILE = "./config/hexid.txt";
public static final String IPCONFIG_FILE = "./config/ipconfig.xml";
public static final String FORTSIEGE_CONFIG_FILE = "./config/FortSiege.ini";
private static final String ATTENDANCE_CONFIG_FILE = "./config/AttendanceRewards.ini";
private static final String CHARACTER_CONFIG_FILE = "./config/Character.ini";
private static final String FEATURE_CONFIG_FILE = "./config/Feature.ini";
private static final String FLOOD_PROTECTOR_CONFIG_FILE = "./config/FloodProtector.ini";
private static final String GENERAL_CONFIG_FILE = "./config/General.ini";
private static final String GRACIASEEDS_CONFIG_FILE = "./config/GraciaSeeds.ini";
private static final String GRANDBOSS_CONFIG_FILE = "./config/GrandBoss.ini";
private static final String IDFACTORY_CONFIG_FILE = "./config/IdFactory.ini";
private static final String LOGIN_CONFIG_FILE = "./config/LoginServer.ini";
private static final String NPC_CONFIG_FILE = "./config/NPC.ini";
private static final String PVP_CONFIG_FILE = "./config/PVP.ini";
private static final String RATES_CONFIG_FILE = "./config/Rates.ini";
private static final String SERVER_CONFIG_FILE = "./config/Server.ini";
private static final String TELNET_CONFIG_FILE = "./config/Telnet.ini";
private static final String TRAINING_CAMP_CONFIG_FILE = "./config/TrainingCamp.ini";
private static final String CHAT_FILTER_FILE = "./config/chatfilter.txt";
private static final String HEXID_FILE = "./config/hexid.txt";
private static final String IPCONFIG_FILE = "./config/ipconfig.xml";
// --------------------------------------------------
// Custom Config File Definitions
// --------------------------------------------------
public static final String CUSTOM_ALLOWED_PLAYER_RACES_CONFIG_FILE = "./config/Custom/AllowedPlayerRaces.ini";
public static final String CUSTOM_AUTO_POTIONS_CONFIG_FILE = "./config/Custom/AutoPotions.ini";
public static final String CUSTOM_BANKING_CONFIG_FILE = "./config/Custom/Banking.ini";
public static final String CUSTOM_CHAMPION_MONSTERS_CONFIG_FILE = "./config/Custom/ChampionMonsters.ini";
public static final String CUSTOM_CHAT_MODERATION_CONFIG_FILE = "./config/Custom/ChatModeration.ini";
public static final String CUSTOM_COMMUNITY_BOARD_CONFIG_FILE = "./config/Custom/CommunityBoard.ini";
public static final String CUSTOM_DUALBOX_CHECK_CONFIG_FILE = "./config/Custom/DualboxCheck.ini";
public static final String CUSTOM_FACTION_SYSTEM_CONFIG_FILE = "./config/Custom/FactionSystem.ini";
public static final String CUSTOM_FAKE_PLAYERS_CONFIG_FILE = "./config/Custom/FakePlayers.ini";
public static final String CUSTOM_FIND_PVP_CONFIG_FILE = "./config/Custom/FindPvP.ini";
public static final String CUSTOM_MULTILANGUAL_SUPPORT_CONFIG_FILE = "./config/Custom/MultilingualSupport.ini";
public static final String CUSTOM_NPC_STAT_MULTIPIERS_CONFIG_FILE = "./config/Custom/NpcStatMultipliers.ini";
public static final String CUSTOM_OFFLINE_TRADE_CONFIG_FILE = "./config/Custom/OfflineTrade.ini";
public static final String CUSTOM_PASSWORD_CHANGE_CONFIG_FILE = "./config/Custom/PasswordChange.ini";
public static final String CUSTOM_PC_CAFE_CONFIG_FILE = "./config/Custom/PcCafe.ini";
public static final String CUSTOM_PREMIUM_SYSTEM_CONFIG_FILE = "./config/Custom/PremiumSystem.ini";
public static final String CUSTOM_PRIVATE_STORE_RANGE_CONFIG_FILE = "./config/Custom/PrivateStoreRange.ini";
public static final String CUSTOM_PVP_ANNOUNCE_CONFIG_FILE = "./config/Custom/PvpAnnounce.ini";
public static final String CUSTOM_PVP_REWARD_ITEM_CONFIG_FILE = "./config/Custom/PvpRewardItem.ini";
public static final String CUSTOM_PVP_TITLE_CONFIG_FILE = "./config/Custom/PvpTitleColor.ini";
public static final String CUSTOM_RANDOM_SPAWNS_CONFIG_FILE = "./config/Custom/RandomSpawns.ini";
public static final String CUSTOM_SAYUNE_FOR_ALL_CONFIG_FILE = "./config/Custom/SayuneForAll.ini";
public static final String CUSTOM_SCREEN_WELCOME_MESSAGE_CONFIG_FILE = "./config/Custom/ScreenWelcomeMessage.ini";
public static final String CUSTOM_SELL_BUFFS_CONFIG_FILE = "./config/Custom/SellBuffs.ini";
public static final String CUSTOM_SERVER_TIME_CONFIG_FILE = "./config/Custom/ServerTime.ini";
public static final String CUSTOM_SCHEME_BUFFER_CONFIG_FILE = "./config/Custom/ShemeBuffer.ini";
public static final String CUSTOM_STARTING_LOCATION_CONFIG_FILE = "./config/Custom/StartingLocation.ini";
public static final String CUSTOM_VOTE_REWARD_CONFIG_FILE = "./config/Custom/VoteReward.ini";
public static final String CUSTOM_WALKER_BOT_PROTECTION_CONFIG_FILE = "./config/Custom/WalkerBotProtection.ini";
private static final String CUSTOM_ALLOWED_PLAYER_RACES_CONFIG_FILE = "./config/Custom/AllowedPlayerRaces.ini";
private static final String CUSTOM_AUTO_POTIONS_CONFIG_FILE = "./config/Custom/AutoPotions.ini";
private static final String CUSTOM_BANKING_CONFIG_FILE = "./config/Custom/Banking.ini";
private static final String CUSTOM_CHAMPION_MONSTERS_CONFIG_FILE = "./config/Custom/ChampionMonsters.ini";
private static final String CUSTOM_CHAT_MODERATION_CONFIG_FILE = "./config/Custom/ChatModeration.ini";
private static final String CUSTOM_COMMUNITY_BOARD_CONFIG_FILE = "./config/Custom/CommunityBoard.ini";
private static final String CUSTOM_DUALBOX_CHECK_CONFIG_FILE = "./config/Custom/DualboxCheck.ini";
private static final String CUSTOM_FACTION_SYSTEM_CONFIG_FILE = "./config/Custom/FactionSystem.ini";
private static final String CUSTOM_FAKE_PLAYERS_CONFIG_FILE = "./config/Custom/FakePlayers.ini";
private static final String CUSTOM_FIND_PVP_CONFIG_FILE = "./config/Custom/FindPvP.ini";
private static final String CUSTOM_MULTILANGUAL_SUPPORT_CONFIG_FILE = "./config/Custom/MultilingualSupport.ini";
private static final String CUSTOM_NPC_STAT_MULTIPIERS_CONFIG_FILE = "./config/Custom/NpcStatMultipliers.ini";
private static final String CUSTOM_OFFLINE_TRADE_CONFIG_FILE = "./config/Custom/OfflineTrade.ini";
private static final String CUSTOM_PASSWORD_CHANGE_CONFIG_FILE = "./config/Custom/PasswordChange.ini";
private static final String CUSTOM_PC_CAFE_CONFIG_FILE = "./config/Custom/PcCafe.ini";
private static final String CUSTOM_PREMIUM_SYSTEM_CONFIG_FILE = "./config/Custom/PremiumSystem.ini";
private static final String CUSTOM_PRIVATE_STORE_RANGE_CONFIG_FILE = "./config/Custom/PrivateStoreRange.ini";
private static final String CUSTOM_PVP_ANNOUNCE_CONFIG_FILE = "./config/Custom/PvpAnnounce.ini";
private static final String CUSTOM_PVP_REWARD_ITEM_CONFIG_FILE = "./config/Custom/PvpRewardItem.ini";
private static final String CUSTOM_PVP_TITLE_CONFIG_FILE = "./config/Custom/PvpTitleColor.ini";
private static final String CUSTOM_RANDOM_SPAWNS_CONFIG_FILE = "./config/Custom/RandomSpawns.ini";
private static final String CUSTOM_SAYUNE_FOR_ALL_CONFIG_FILE = "./config/Custom/SayuneForAll.ini";
private static final String CUSTOM_SCREEN_WELCOME_MESSAGE_CONFIG_FILE = "./config/Custom/ScreenWelcomeMessage.ini";
private static final String CUSTOM_SELL_BUFFS_CONFIG_FILE = "./config/Custom/SellBuffs.ini";
private static final String CUSTOM_SERVER_TIME_CONFIG_FILE = "./config/Custom/ServerTime.ini";
private static final String CUSTOM_SCHEME_BUFFER_CONFIG_FILE = "./config/Custom/ShemeBuffer.ini";
private static final String CUSTOM_STARTING_LOCATION_CONFIG_FILE = "./config/Custom/StartingLocation.ini";
private static final String CUSTOM_VOTE_REWARD_CONFIG_FILE = "./config/Custom/VoteReward.ini";
private static final String CUSTOM_WALKER_BOT_PROTECTION_CONFIG_FILE = "./config/Custom/WalkerBotProtection.ini";
// --------------------------------------------------
// Variable Definitions
@@ -177,7 +176,6 @@ public final class Config
public static boolean SUMMON_STORE_SKILL_COOLTIME;
public static long EFFECT_TICK_RATIO;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean ES_SP_BOOK_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
public static boolean ALT_GAME_SUBCLASS_EVERYWHERE;
@@ -410,7 +408,6 @@ public final class Config
public static boolean GM_TRADE_RESTRICTED_ITEMS;
public static boolean GM_RESTART_FIGHTING;
public static boolean GM_ANNOUNCER_NAME;
public static boolean GM_CRITANNOUNCER_NAME;
public static boolean GM_GIVE_SPECIAL_SKILLS;
public static boolean GM_GIVE_SPECIAL_AURA_SKILLS;
public static boolean GM_DEBUG_HTML_PATHS;
@@ -426,9 +423,7 @@ public final class Config
public static boolean SKILL_CHECK_REMOVE;
public static boolean SKILL_CHECK_GM;
public static boolean HTML_ACTION_CACHE_DEBUG;
public static boolean PACKET_HANDLER_DEBUG;
public static boolean DEVELOPER;
public static boolean ALT_DEV_NO_HANDLERS;
public static boolean ALT_DEV_NO_QUESTS;
public static boolean ALT_DEV_NO_SPAWNS;
public static boolean ALT_DEV_SHOW_QUESTS_LOAD_IN_LOGS;
@@ -490,7 +485,6 @@ public final class Config
public static boolean RESTORE_PLAYER_INSTANCE;
public static int EJECT_DEAD_PLAYER_TIME;
public static boolean ALLOW_WATER;
public static boolean ALLOW_RENTPET;
public static boolean ALLOW_FISHING;
public static boolean ALLOW_BOAT;
public static int BOAT_BROADCAST_RADIUS;
@@ -555,18 +549,6 @@ public final class Config
public static boolean ALT_ITEM_AUCTION_ENABLED;
public static int ALT_ITEM_AUCTION_EXPIRED_AFTER;
public static long ALT_ITEM_AUCTION_TIME_EXTENDS_ON_BID;
public static int RIFT_MIN_PARTY_SIZE;
public static int RIFT_SPAWN_DELAY;
public static int RIFT_MAX_JUMPS;
public static int RIFT_AUTO_JUMPS_TIME_MIN;
public static int RIFT_AUTO_JUMPS_TIME_MAX;
public static float RIFT_BOSS_ROOM_TIME_MUTIPLY;
public static int RIFT_ENTER_COST_RECRUIT;
public static int RIFT_ENTER_COST_SOLDIER;
public static int RIFT_ENTER_COST_OFFICER;
public static int RIFT_ENTER_COST_CAPTAIN;
public static int RIFT_ENTER_COST_COMMANDER;
public static int RIFT_ENTER_COST_HERO;
public static IllegalActionPunishmentType DEFAULT_PUNISH;
public static int DEFAULT_PUNISH_PARAM;
public static boolean ONLY_GM_ITEMS_FREE;
@@ -588,8 +570,6 @@ public final class Config
public static int PLAYER_MOVEMENT_BLOCK_TIME;
public static int ABILITY_MAX_POINTS;
public static long ABILITY_POINTS_RESET_ADENA;
public static int NORMAL_ENCHANT_COST_MULTIPLIER;
public static int SAFE_ENCHANT_COST_MULTIPLIER;
public static boolean BOTREPORT_ENABLE;
public static String[] BOTREPORT_RESETPOINT_HOUR;
public static long BOTREPORT_REPORT_DELAY;
@@ -632,12 +612,10 @@ public final class Config
public static Map<Integer, Float> NPC_SKILL_DMG_PENALTY;
public static int MIN_NPC_LVL_MAGIC_PENALTY;
public static Map<Integer, Float> NPC_SKILL_CHANCE_PENALTY;
public static int DECAY_TIME_TASK;
public static int DEFAULT_CORPSE_TIME;
public static int SPOILED_CORPSE_EXTEND_TIME;
public static int CORPSE_CONSUME_SKILL_ALLOWED_TIME_BEFORE_DECAY;
public static boolean GUARD_ATTACK_AGGRO_MOB;
public static boolean ALLOW_WYVERN_UPGRADER;
public static double RAID_HP_REGEN_MULTIPLIER;
public static double RAID_MP_REGEN_MULTIPLIER;
public static double RAID_PDEFENCE_MULTIPLIER;
@@ -663,7 +641,6 @@ public final class Config
// PvP Settings
// --------------------------------------------------
public static boolean KARMA_DROP_GM;
public static boolean KARMA_AWARD_PK_KILL;
public static int KARMA_PK_LIMIT;
public static String KARMA_NONDROPPABLE_PET_ITEMS;
public static String KARMA_NONDROPPABLE_ITEMS;
@@ -720,10 +697,6 @@ public final class Config
public static float RATE_KARMA_LOST;
public static float RATE_KARMA_EXP_LOST;
public static float RATE_SIEGE_GUARDS_PRICE;
public static float RATE_DROP_COMMON_HERBS;
public static float RATE_DROP_HP_HERBS;
public static float RATE_DROP_MP_HERBS;
public static float RATE_DROP_SPECIAL_HERBS;
public static int PLAYER_DROP_LIMIT;
public static int PLAYER_RATE_DROP;
public static int PLAYER_RATE_DROP_ITEM;
@@ -779,15 +752,6 @@ public final class Config
public static int SERVER_RESTART_SCHEDULE_COUNTDOWN;
public static String[] SERVER_RESTART_SCHEDULE;
// --------------------------------------------------
// MMO Settings
// --------------------------------------------------
public static int MMO_SELECTOR_SLEEP_TIME;
public static int MMO_MAX_SEND_PER_PASS;
public static int MMO_MAX_READ_PER_PASS;
public static int MMO_HELPER_BUFFER_COUNT;
public static boolean MMO_TCP_NODELAY;
// --------------------------------------------------
// Vitality Settings
// --------------------------------------------------
@@ -796,7 +760,6 @@ public final class Config
public static boolean RAIDBOSS_USE_VITALITY;
public static float RATE_VITALITY_EXP_MULTIPLIER;
public static int VITALITY_MAX_ITEMS_ALLOWED;
public static float RATE_DROP_VITALITY_HERBS;
public static float RATE_VITALITY_LOST;
public static float RATE_VITALITY_GAIN;
@@ -829,22 +792,6 @@ public final class Config
public static double ENCHANT_CHANCE_ELEMENT_ENERGY;
public static int[] ENCHANT_BLACKLIST;
public static boolean DISABLE_OVER_ENCHANTING;
public static int AUGMENTATION_NG_SKILL_CHANCE;
public static int AUGMENTATION_NG_GLOW_CHANCE;
public static int AUGMENTATION_MID_SKILL_CHANCE;
public static int AUGMENTATION_MID_GLOW_CHANCE;
public static int AUGMENTATION_HIGH_SKILL_CHANCE;
public static int AUGMENTATION_HIGH_GLOW_CHANCE;
public static int AUGMENTATION_TOP_SKILL_CHANCE;
public static int AUGMENTATION_TOP_GLOW_CHANCE;
public static int AUGMENTATION_BASESTAT_CHANCE;
public static int AUGMENTATION_ACC_SKILL_CHANCE;
public static boolean RETAIL_LIKE_AUGMENTATION;
public static int[] RETAIL_LIKE_AUGMENTATION_NG_CHANCE;
public static int[] RETAIL_LIKE_AUGMENTATION_MID_CHANCE;
public static int[] RETAIL_LIKE_AUGMENTATION_HIGH_CHANCE;
public static int[] RETAIL_LIKE_AUGMENTATION_TOP_CHANCE;
public static boolean RETAIL_LIKE_AUGMENTATION_ACCESSORY;
public static int[] AUGMENTATION_BLACKLIST;
public static boolean ALT_ALLOW_AUGMENT_PVP_ITEMS;
public static double HP_REGEN_MULTIPLIER;
@@ -908,14 +855,6 @@ public final class Config
// chatfilter
public static List<String> FILTER_LIST;
// Conquerable Halls Settings
public static int CHS_CLAN_MINLEVEL;
public static int CHS_MAX_ATTACKERS;
public static int CHS_MAX_FLAGS_PER_CLAN;
public static boolean CHS_ENABLE_FAME;
public static int CHS_FAME_AMOUNT;
public static int CHS_FAME_FREQUENCY;
// --------------------------------------------------
// GeoEngine
// --------------------------------------------------
@@ -1498,7 +1437,6 @@ public final class Config
SUMMON_STORE_SKILL_COOLTIME = Character.getBoolean("SummonStoreSkillCooltime", true);
EFFECT_TICK_RATIO = Character.getLong("EffectTickRatio", 666);
LIFE_CRYSTAL_NEEDED = Character.getBoolean("LifeCrystalNeeded", true);
ES_SP_BOOK_NEEDED = Character.getBoolean("EnchantSkillSpBookNeeded", true);
DIVINE_SP_BOOK_NEEDED = Character.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = Character.getBoolean("AltSubClassWithoutQuests", false);
ALT_GAME_SUBCLASS_EVERYWHERE = Character.getBoolean("AltSubclassEverywhere", false);
@@ -1558,45 +1496,7 @@ public final class Config
}
Arrays.sort(ENCHANT_BLACKLIST);
DISABLE_OVER_ENCHANTING = Character.getBoolean("DisableOverEnchanting", true);
AUGMENTATION_NG_SKILL_CHANCE = Character.getInt("AugmentationNGSkillChance", 15);
AUGMENTATION_NG_GLOW_CHANCE = Character.getInt("AugmentationNGGlowChance", 0);
AUGMENTATION_MID_SKILL_CHANCE = Character.getInt("AugmentationMidSkillChance", 30);
AUGMENTATION_MID_GLOW_CHANCE = Character.getInt("AugmentationMidGlowChance", 40);
AUGMENTATION_HIGH_SKILL_CHANCE = Character.getInt("AugmentationHighSkillChance", 45);
AUGMENTATION_HIGH_GLOW_CHANCE = Character.getInt("AugmentationHighGlowChance", 70);
AUGMENTATION_TOP_SKILL_CHANCE = Character.getInt("AugmentationTopSkillChance", 60);
AUGMENTATION_TOP_GLOW_CHANCE = Character.getInt("AugmentationTopGlowChance", 100);
AUGMENTATION_BASESTAT_CHANCE = Character.getInt("AugmentationBaseStatChance", 1);
AUGMENTATION_ACC_SKILL_CHANCE = Character.getInt("AugmentationAccSkillChance", 0);
RETAIL_LIKE_AUGMENTATION = Character.getBoolean("RetailLikeAugmentation", true);
String[] array = Character.getString("RetailLikeAugmentationNoGradeChance", "55,35,7,3").split(",");
RETAIL_LIKE_AUGMENTATION_NG_CHANCE = new int[array.length];
for (int i = 0; i < 4; i++)
{
RETAIL_LIKE_AUGMENTATION_NG_CHANCE[i] = Integer.parseInt(array[i]);
}
array = Character.getString("RetailLikeAugmentationMidGradeChance", "55,35,7,3").split(",");
RETAIL_LIKE_AUGMENTATION_MID_CHANCE = new int[array.length];
for (int i = 0; i < 4; i++)
{
RETAIL_LIKE_AUGMENTATION_MID_CHANCE[i] = Integer.parseInt(array[i]);
}
array = Character.getString("RetailLikeAugmentationHighGradeChance", "55,35,7,3").split(",");
RETAIL_LIKE_AUGMENTATION_HIGH_CHANCE = new int[array.length];
for (int i = 0; i < 4; i++)
{
RETAIL_LIKE_AUGMENTATION_HIGH_CHANCE[i] = Integer.parseInt(array[i]);
}
array = Character.getString("RetailLikeAugmentationTopGradeChance", "55,35,7,3").split(",");
RETAIL_LIKE_AUGMENTATION_TOP_CHANCE = new int[array.length];
for (int i = 0; i < 4; i++)
{
RETAIL_LIKE_AUGMENTATION_TOP_CHANCE[i] = Integer.parseInt(array[i]);
}
RETAIL_LIKE_AUGMENTATION_ACCESSORY = Character.getBoolean("RetailLikeAugmentationAccessory", true);
array = Character.getString("AugmentationBlackList", "6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,13740,13741,13742,13743,13744,13745,13746,13747,13748,14592,14593,14594,14595,14596,14597,14598,14599,14600,14664,14665,14666,14667,14668,14669,14670,14671,14672,14801,14802,14803,14804,14805,14806,14807,14808,14809,15282,15283,15284,15285,15286,15287,15288,15289,15290,15291,15292,15293,15294,15295,15296,15297,15298,15299,16025,16026,21712,22173,22174,22175").split(",");
String[] array = Character.getString("AugmentationBlackList", "6656,6657,6658,6659,6660,6661,6662,8191,10170,10314,13740,13741,13742,13743,13744,13745,13746,13747,13748,14592,14593,14594,14595,14596,14597,14598,14599,14600,14664,14665,14666,14667,14668,14669,14670,14671,14672,14801,14802,14803,14804,14805,14806,14807,14808,14809,15282,15283,15284,15285,15286,15287,15288,15289,15290,15291,15292,15293,15294,15295,15296,15297,15298,15299,16025,16026,21712,22173,22174,22175").split(",");
AUGMENTATION_BLACKLIST = new int[array.length];
for (int i = 0; i < array.length; i++)
@@ -1762,7 +1662,6 @@ public final class Config
GM_TRADE_RESTRICTED_ITEMS = General.getBoolean("GMTradeRestrictedItems", false);
GM_RESTART_FIGHTING = General.getBoolean("GMRestartFighting", true);
GM_ANNOUNCER_NAME = General.getBoolean("GMShowAnnouncerName", false);
GM_CRITANNOUNCER_NAME = General.getBoolean("GMShowCritAnnouncerName", false);
GM_GIVE_SPECIAL_SKILLS = General.getBoolean("GMGiveSpecialSkills", false);
GM_GIVE_SPECIAL_AURA_SKILLS = General.getBoolean("GMGiveSpecialAuraSkills", false);
GM_DEBUG_HTML_PATHS = General.getBoolean("GMDebugHtmlPaths", true);
@@ -1778,9 +1677,7 @@ public final class Config
SKILL_CHECK_REMOVE = General.getBoolean("SkillCheckRemove", false);
SKILL_CHECK_GM = General.getBoolean("SkillCheckGM", true);
HTML_ACTION_CACHE_DEBUG = General.getBoolean("HtmlActionCacheDebug", false);
PACKET_HANDLER_DEBUG = General.getBoolean("PacketHandlerDebug", false);
DEVELOPER = General.getBoolean("Developer", false);
ALT_DEV_NO_HANDLERS = General.getBoolean("AltDevNoHandlers", false) || Boolean.getBoolean("nohandlers");
ALT_DEV_NO_QUESTS = General.getBoolean("AltDevNoQuests", false) || Boolean.getBoolean("noquests");
ALT_DEV_NO_SPAWNS = General.getBoolean("AltDevNoSpawns", false) || Boolean.getBoolean("nospawns");
ALT_DEV_SHOW_QUESTS_LOAD_IN_LOGS = General.getBoolean("AltDevShowQuestsLoadInLogs", false);
@@ -1838,7 +1735,6 @@ public final class Config
RESTORE_PLAYER_INSTANCE = General.getBoolean("RestorePlayerInstance", false);
EJECT_DEAD_PLAYER_TIME = General.getInt("EjectDeadPlayerTime", 1);
ALLOW_WATER = General.getBoolean("AllowWater", true);
ALLOW_RENTPET = General.getBoolean("AllowRentPet", false);
ALLOW_FISHING = General.getBoolean("AllowFishing", true);
ALLOW_MANOR = General.getBoolean("AllowManor", true);
ALLOW_BOAT = General.getBoolean("AllowBoat", true);
@@ -1875,18 +1771,6 @@ public final class Config
ALT_ITEM_AUCTION_ENABLED = General.getBoolean("AltItemAuctionEnabled", true);
ALT_ITEM_AUCTION_EXPIRED_AFTER = General.getInt("AltItemAuctionExpiredAfter", 14);
ALT_ITEM_AUCTION_TIME_EXTENDS_ON_BID = General.getInt("AltItemAuctionTimeExtendsOnBid", 0) * 1000;
RIFT_MIN_PARTY_SIZE = General.getInt("RiftMinPartySize", 5);
RIFT_MAX_JUMPS = General.getInt("MaxRiftJumps", 4);
RIFT_SPAWN_DELAY = General.getInt("RiftSpawnDelay", 10000);
RIFT_AUTO_JUMPS_TIME_MIN = General.getInt("AutoJumpsDelayMin", 480);
RIFT_AUTO_JUMPS_TIME_MAX = General.getInt("AutoJumpsDelayMax", 600);
RIFT_BOSS_ROOM_TIME_MUTIPLY = General.getFloat("BossRoomTimeMultiply", 1.5f);
RIFT_ENTER_COST_RECRUIT = General.getInt("RecruitCost", 18);
RIFT_ENTER_COST_SOLDIER = General.getInt("SoldierCost", 21);
RIFT_ENTER_COST_OFFICER = General.getInt("OfficerCost", 24);
RIFT_ENTER_COST_CAPTAIN = General.getInt("CaptainCost", 27);
RIFT_ENTER_COST_COMMANDER = General.getInt("CommanderCost", 30);
RIFT_ENTER_COST_HERO = General.getInt("HeroCost", 33);
DEFAULT_PUNISH = IllegalActionPunishmentType.findByName(General.getString("DefaultPunish", "KICK"));
DEFAULT_PUNISH_PARAM = General.getInt("DefaultPunishParam", 0);
ONLY_GM_ITEMS_FREE = General.getBoolean("OnlyGMItemsFree", true);
@@ -1914,9 +1798,6 @@ public final class Config
}
HBCE_FAIR_PLAY = General.getBoolean("HBCEFairPlay", false);
NORMAL_ENCHANT_COST_MULTIPLIER = General.getInt("NormalEnchantCostMultipiler", 1);
SAFE_ENCHANT_COST_MULTIPLIER = General.getInt("SafeEnchantCostMultipiler", 5);
BOTREPORT_ENABLE = General.getBoolean("EnableBotReportButton", false);
BOTREPORT_RESETPOINT_HOUR = General.getString("BotReportPointsResetHour", "00:00").split(":");
BOTREPORT_REPORT_DELAY = General.getInt("BotReportDelay", 30) * 60000;
@@ -1945,12 +1826,10 @@ public final class Config
NPC_SKILL_DMG_PENALTY = parseConfigLine(NPC.getString("SkillDmgPenaltyForLvLDifferences", "0.8, 0.7, 0.65, 0.62"));
MIN_NPC_LVL_MAGIC_PENALTY = NPC.getInt("MinNPCLevelForMagicPenalty", 78);
NPC_SKILL_CHANCE_PENALTY = parseConfigLine(NPC.getString("SkillChancePenaltyForLvLDifferences", "2.5, 3.0, 3.25, 3.5"));
DECAY_TIME_TASK = NPC.getInt("DecayTimeTask", 5000);
DEFAULT_CORPSE_TIME = NPC.getInt("DefaultCorpseTime", 7);
SPOILED_CORPSE_EXTEND_TIME = NPC.getInt("SpoiledCorpseExtendTime", 10);
CORPSE_CONSUME_SKILL_ALLOWED_TIME_BEFORE_DECAY = NPC.getInt("CorpseConsumeSkillAllowedTimeBeforeDecay", 2000);
GUARD_ATTACK_AGGRO_MOB = NPC.getBoolean("GuardAttackAggroMob", false);
ALLOW_WYVERN_UPGRADER = NPC.getBoolean("AllowWyvernUpgrader", false);
RAID_HP_REGEN_MULTIPLIER = NPC.getDouble("RaidHpRegenMultiplier", 100) / 100;
RAID_MP_REGEN_MULTIPLIER = NPC.getDouble("RaidMpRegenMultiplier", 100) / 100;
RAID_PDEFENCE_MULTIPLIER = NPC.getDouble("RaidPDefenceMultiplier", 100) / 100;
@@ -2142,7 +2021,6 @@ public final class Config
final PropertiesParser PVPSettings = new PropertiesParser(PVP_CONFIG_FILE);
KARMA_DROP_GM = PVPSettings.getBoolean("CanGMDropEquipment", false);
KARMA_AWARD_PK_KILL = PVPSettings.getBoolean("AwardPKKillPVPPoint", false);
KARMA_PK_LIMIT = PVPSettings.getInt("MinimumPKRequiredToDrop", 4);
KARMA_NONDROPPABLE_PET_ITEMS = PVPSettings.getString("ListOfPetItems", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650,9882");
KARMA_NONDROPPABLE_ITEMS = PVPSettings.getString("ListOfNonDroppableItems", "57,1147,425,1146,461,10,2368,7,6,2370,2369,6842,6611,6612,6613,6614,6615,6616,6617,6618,6619,6620,6621,7694,8181,5575,7694,9388,9389,9390");
@@ -2299,15 +2177,6 @@ public final class Config
LOGGER.log(Level.WARNING, "Error while loading chat filter words!", e);
}
final PropertiesParser ClanHallSiege = new PropertiesParser(CH_SIEGE_CONFIG_FILE);
CHS_MAX_ATTACKERS = ClanHallSiege.getInt("MaxAttackers", 500);
CHS_CLAN_MINLEVEL = ClanHallSiege.getInt("MinClanLevel", 4);
CHS_MAX_FLAGS_PER_CLAN = ClanHallSiege.getInt("MaxFlagsPerClan", 1);
CHS_ENABLE_FAME = ClanHallSiege.getBoolean("EnableFame", false);
CHS_FAME_AMOUNT = ClanHallSiege.getInt("FameAmount", 0);
CHS_FAME_FREQUENCY = ClanHallSiege.getInt("FameFrequency", 0);
final PropertiesParser geoData = new PropertiesParser(GEOENGINE_CONFIG_FILE);
GEODATA_PATH = geoData.getString("GeoDataPath", "./data/geodata/");
@@ -2450,7 +2319,6 @@ public final class Config
COMMUNITYBOARD_TELEPORT_PRICE = CommunityBoard.getInt("CommunityTeleportPrice", 0);
COMMUNITYBOARD_BUFF_PRICE = CommunityBoard.getInt("CommunityBuffPrice", 0);
COMMUNITYBOARD_HEAL_PRICE = CommunityBoard.getInt("CommunityHealPrice", 0);
COMMUNITYBOARD_COMBAT_DISABLED = CommunityBoard.getBoolean("CommunityCombatDisabled", true);
COMMUNITYBOARD_KARMA_DISABLED = CommunityBoard.getBoolean("CommunityKarmaDisabled", true);
COMMUNITYBOARD_CAST_ANIMATIONS = CommunityBoard.getBoolean("CommunityCastAnimations", false);
COMMUNITY_PREMIUM_SYSTEM_ENABLED = CommunityBoard.getBoolean("CommunityPremiumSystem", false);

View File

@@ -37,10 +37,10 @@ import com.l2jmobius.Config;
*/
public final class ThreadPool
{
protected static final Logger LOGGER = Logger.getLogger(ThreadPool.class.getName());
private static final Logger LOGGER = Logger.getLogger(ThreadPool.class.getName());
protected static ScheduledThreadPoolExecutor[] SCHEDULED_POOLS;
protected static ThreadPoolExecutor[] INSTANT_POOLS;
private static ScheduledThreadPoolExecutor[] SCHEDULED_POOLS;
private static ThreadPoolExecutor[] INSTANT_POOLS;
private static int THREAD_POOL_RANDOMIZER;
/**

View File

@@ -21,9 +21,9 @@ import java.net.UnknownHostException;
public class IPSubnet
{
final byte[] _addr;
final byte[] _mask;
final boolean _isIPv4;
private final byte[] _addr;
private final byte[] _mask;
private final boolean _isIPv4;
public IPSubnet(String input) throws UnknownHostException, NumberFormatException, ArrayIndexOutOfBoundsException
{
@@ -47,23 +47,12 @@ public class IPSubnet
}
}
public IPSubnet(InetAddress addr, int mask) throws UnknownHostException
{
_addr = addr.getAddress();
_isIPv4 = _addr.length == 4;
_mask = getMask(mask, _addr.length);
if (!applyMask(_addr))
{
throw new UnknownHostException(addr + "/" + mask);
}
}
public byte[] getAddress()
{
return _addr;
}
public boolean applyMask(byte[] addr)
private boolean applyMask(byte[] addr)
{
// V4 vs V4 or V6 vs V6 checks
if (_isIPv4 == (addr.length == 4))

View File

@@ -24,7 +24,7 @@ import java.time.temporal.ChronoUnit;
*/
public class TimeUtil
{
public static int findIndexOfNonDigit(CharSequence text)
private static int findIndexOfNonDigit(CharSequence text)
{
for (int i = 0; i < text.length(); i++)
{

View File

@@ -25,8 +25,8 @@ import java.util.logging.Logger;
public class ScrambledKeyPair
{
private static Logger LOGGER = Logger.getLogger(ScrambledKeyPair.class.getName());
public KeyPair _pair;
public byte[] _scrambledModulus;
private final KeyPair _pair;
private final byte[] _scrambledModulus;
public ScrambledKeyPair(KeyPair pPair)
{

View File

@@ -30,7 +30,7 @@ import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
*/
public class FortUpdater implements Runnable
{
protected static Logger LOGGER = Logger.getLogger(FortUpdater.class.getName());
private static Logger LOGGER = Logger.getLogger(FortUpdater.class.getName());
private final L2Clan _clan;
private final Fort _fort;
private int _runCount;

View File

@@ -481,7 +481,7 @@ public class GameServer
INSTANCE = new GameServer();
}
public static void printSection(String s)
private static void printSection(String s)
{
s = "=[ " + s + " ]";
while (s.length() < 61)

View File

@@ -39,9 +39,7 @@ public final class GameTimeController extends Thread
public static final int IG_DAYS_PER_DAY = 6;
public static final int MILLIS_PER_IG_DAY = (3600000 * 24) / IG_DAYS_PER_DAY;
public static final int SECONDS_PER_IG_DAY = MILLIS_PER_IG_DAY / 1000;
public static final int MINUTES_PER_IG_DAY = SECONDS_PER_IG_DAY / 60;
public static final int TICKS_PER_IG_DAY = SECONDS_PER_IG_DAY * TICKS_PER_SECOND;
public static final int TICKS_SUN_STATE_CHANGE = TICKS_PER_IG_DAY / 4;
private static GameTimeController _instance;

View File

@@ -46,7 +46,7 @@ public final class ItemsAutoDestroy
_items.add(item);
}
public synchronized void removeItems()
private synchronized void removeItems()
{
if (_items.isEmpty())
{

View File

@@ -61,10 +61,10 @@ public class Shutdown extends Thread
private int _secondsShut;
private int _shutdownMode;
public static final int SIGTERM = 0;
public static final int GM_SHUTDOWN = 1;
public static final int GM_RESTART = 2;
public static final int ABORT = 3;
private static final int SIGTERM = 0;
private static final int GM_SHUTDOWN = 1;
private static final int GM_RESTART = 2;
private static final int ABORT = 3;
private static final String[] MODE_TEXT =
{
"SIGTERM",

View File

@@ -81,7 +81,7 @@ public abstract class AbstractAI implements Ctrl
/** Flags about client's state, in order to know which messages to send */
protected volatile boolean _clientMoving;
/** Flags about client's state, in order to know which messages to send */
protected volatile boolean _clientAutoAttacking;
private volatile boolean _clientAutoAttacking;
/** Flags about client's state, in order to know which messages to send */
protected int _clientMovingToPawnOffset;
@@ -97,7 +97,7 @@ public abstract class AbstractAI implements Ctrl
/** Different internal state flags */
protected int _moveToPawnTimeout;
protected Future<?> _followTask = null;
private Future<?> _followTask = null;
private static final int FOLLOW_INTERVAL = 1000;
private static final int ATTACK_FOLLOW_INTERVAL = 500;
@@ -630,7 +630,7 @@ public abstract class AbstractAI implements Ctrl
* Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop <I>(broadcast)</I>.<br>
* <FONT COLOR=#FF0000><B> <U>Caution</U> : Low level function, used by AI subclasses</B></FONT>
*/
public void clientStopAutoAttack()
void clientStopAutoAttack()
{
if (_actor.isSummon())
{

View File

@@ -36,14 +36,14 @@ public class L2PlayerAI extends L2PlayableAI
{
private boolean _thinking; // to prevent recursive thinking
IntentionCommand _nextIntention = null;
private IntentionCommand _nextIntention = null;
public L2PlayerAI(L2PcInstance player)
{
super(player);
}
void saveNextIntention(CtrlIntention intention, Object arg0, Object arg1)
private void saveNextIntention(CtrlIntention intention, Object arg0, Object arg1)
{
_nextIntention = new IntentionCommand(intention, arg0, arg1);
}

View File

@@ -28,8 +28,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
*/
public class WarehouseCacheManager
{
protected final Map<L2PcInstance, Long> _cachedWh = new ConcurrentHashMap<>();
protected final long _cacheTime = Config.WAREHOUSE_CACHE_TIME * 60000;
final Map<L2PcInstance, Long> _cachedWh = new ConcurrentHashMap<>();
final long _cacheTime = Config.WAREHOUSE_CACHE_TIME * 60000;
protected WarehouseCacheManager()
{
@@ -46,8 +46,12 @@ public class WarehouseCacheManager
_cachedWh.remove(pc);
}
public class CacheScheduler implements Runnable
private class CacheScheduler implements Runnable
{
public CacheScheduler()
{
}
@Override
public void run()
{

View File

@@ -70,7 +70,7 @@ public class Post
insertindb(cp);
}
public void insertindb(CPost cp)
private void insertindb(CPost cp)
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("INSERT INTO posts (post_id,post_owner_name,post_ownerid,post_date,post_topic_id,post_forum_id,post_txt) values (?,?,?,?,?,?,?)"))

View File

@@ -69,7 +69,7 @@ public class Topic
}
}
public void insertindb()
private void insertindb()
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("INSERT INTO topic (topic_id,topic_forum_id,topic_name,topic_date,topic_ownername,topic_ownerid,topic_type,topic_reply) values (?,?,?,?,?,?,?,?)"))

View File

@@ -104,7 +104,7 @@ public final class AnnouncementsTable
* @param player
* @param type
*/
public void sendAnnouncements(L2PcInstance player, AnnouncementType type)
private void sendAnnouncements(L2PcInstance player, AnnouncementType type)
{
for (IAnnouncement announce : _announcements.values())
{

View File

@@ -60,8 +60,8 @@ public class SummonEffectsTable
public static class SummonEffect
{
Skill _skill;
int _effectCurTime;
private final Skill _skill;
private final int _effectCurTime;
public SummonEffect(Skill skill, int effectCurTime)
{

View File

@@ -35,8 +35,7 @@ import com.l2jmobius.gameserver.model.holders.LuckyGameDataHolder;
public class LuckyGameData implements IGameXmlReader
{
private final Map<Integer, LuckyGameDataHolder> _luckyGame = new HashMap<>();
final AtomicInteger _serverPlay = new AtomicInteger();
private final AtomicInteger _serverPlay = new AtomicInteger();
protected LuckyGameData()
{

View File

@@ -1215,7 +1215,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the transformation skill level
* @return the transform skill from the Transform Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getTransformSkill(int id, int lvl)
private L2SkillLearn getTransformSkill(int id, int lvl)
{
return _transformSkillTree.get(SkillData.getSkillHashCode(id, lvl));
}
@@ -1237,7 +1237,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the alchemy skill level
* @return the alchemy skill from the Alchemy Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getAlchemySkill(int id, int lvl)
private L2SkillLearn getAlchemySkill(int id, int lvl)
{
return _alchemySkillTree.get(SkillData.getSkillHashCode(id, lvl));
}
@@ -1260,7 +1260,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the fishing skill level
* @return Fishing skill from the Fishing Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getFishingSkill(int id, int lvl)
private L2SkillLearn getFishingSkill(int id, int lvl)
{
return _fishingSkillTree.get(SkillData.getSkillHashCode(id, lvl));
}
@@ -1271,7 +1271,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the pledge skill level
* @return the pledge skill from the Pledge Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getPledgeSkill(int id, int lvl)
private L2SkillLearn getPledgeSkill(int id, int lvl)
{
return _pledgeSkillTree.get(SkillData.getSkillHashCode(id, lvl));
}
@@ -1282,7 +1282,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the sub-pledge skill level
* @return the sub-pledge skill from the Sub-Pledge Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getSubPledgeSkill(int id, int lvl)
private L2SkillLearn getSubPledgeSkill(int id, int lvl)
{
return _subPledgeSkillTree.get(SkillData.getSkillHashCode(id, lvl));
}
@@ -1294,7 +1294,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param classId the transfer skill tree Id
* @return the transfer skill from the Transfer Skill Trees for a given {@code classId}, {@code id} and {@code lvl}
*/
public L2SkillLearn getTransferSkill(int id, int lvl, ClassId classId)
private L2SkillLearn getTransferSkill(int id, int lvl, ClassId classId)
{
if (_transferSkillTrees.get(classId) != null)
{
@@ -1310,7 +1310,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param race the race skill tree Id
* @return the transfer skill from the Race Skill Trees for a given {@code race}, {@code id} and {@code lvl}
*/
public L2SkillLearn getRaceSkill(int id, int lvl, Race race)
private L2SkillLearn getRaceSkill(int id, int lvl, Race race)
{
for (L2SkillLearn skill : getRaceSkillTree(race))
{
@@ -1328,7 +1328,7 @@ public final class SkillTreesData implements IGameXmlReader
* @param lvl the sub-class skill level
* @return the sub-class skill from the Sub-Class Skill Tree for a given {@code id} and {@code lvl}
*/
public L2SkillLearn getSubClassSkill(int id, int lvl)
private L2SkillLearn getSubClassSkill(int id, int lvl)
{
return _subClassSkillTree.get(SkillData.getSkillHashCode(id, lvl));
}

View File

@@ -595,25 +595,28 @@ public final class BotReportTable
}
}
class PunishHolder
private class PunishHolder
{
final Skill _punish;
final int _systemMessageId;
PunishHolder(Skill sk, int sysMsg)
public PunishHolder(Skill sk, int sysMsg)
{
_punish = sk;
_systemMessageId = sysMsg;
}
}
class ResetPointTask implements Runnable
private class ResetPointTask implements Runnable
{
public ResetPointTask()
{
}
@Override
public void run()
{
resetPointsAndSchedule();
}
}

View File

@@ -21,10 +21,10 @@ import com.l2jmobius.gameserver.model.items.L2Item;
public class Item
{
public int id;
public String type;
public String name;
public StatsSet set;
public int currentLevel;
public L2Item item;
int id;
String type;
String name;
StatsSet set;
int currentLevel;
L2Item item;
}

View File

@@ -29,15 +29,12 @@ import com.l2jmobius.gameserver.data.xml.impl.DoorData;
import com.l2jmobius.gameserver.data.xml.impl.FenceData;
import com.l2jmobius.gameserver.geoengine.geodata.ABlock;
import com.l2jmobius.gameserver.geoengine.geodata.BlockComplex;
import com.l2jmobius.gameserver.geoengine.geodata.BlockComplexDynamic;
import com.l2jmobius.gameserver.geoengine.geodata.BlockFlat;
import com.l2jmobius.gameserver.geoengine.geodata.BlockMultilayer;
import com.l2jmobius.gameserver.geoengine.geodata.BlockMultilayerDynamic;
import com.l2jmobius.gameserver.geoengine.geodata.BlockNull;
import com.l2jmobius.gameserver.geoengine.geodata.GeoFormat;
import com.l2jmobius.gameserver.geoengine.geodata.GeoLocation;
import com.l2jmobius.gameserver.geoengine.geodata.GeoStructure;
import com.l2jmobius.gameserver.geoengine.geodata.IBlockDynamic;
import com.l2jmobius.gameserver.geoengine.geodata.IGeoObject;
import com.l2jmobius.gameserver.instancemanager.WarpedSpaceManager;
import com.l2jmobius.gameserver.model.L2Object;
@@ -276,7 +273,7 @@ public class GeoEngine
* @param geoY : Geodata Y
* @return {@link ABlock} : Block of geodata.
*/
public final ABlock getBlock(int geoX, int geoY)
private final ABlock getBlock(int geoX, int geoY)
{
final int x = geoX / GeoStructure.BLOCK_CELLS_X;
final int y = geoY / GeoStructure.BLOCK_CELLS_Y;
@@ -328,7 +325,7 @@ public class GeoEngine
* @param worldZ : Cell world Z coordinate.
* @return short : Cell geodata Z coordinate, closest to given coordinates.
*/
public final short getHeightNearestOriginal(int geoX, int geoY, int worldZ)
private final short getHeightNearestOriginal(int geoX, int geoY, int worldZ)
{
final ABlock block = getBlock(geoX, geoY);
return block != null ? block.getHeightNearestOriginal(geoX, geoY, worldZ) : (short) worldZ;
@@ -355,7 +352,7 @@ public class GeoEngine
* @param worldZ : Cell world Z coordinate.
* @return short : Cell NSWE flag byte coordinate, closest to given coordinates.
*/
public final byte getNsweNearestOriginal(int geoX, int geoY, int worldZ)
private final byte getNsweNearestOriginal(int geoX, int geoY, int worldZ)
{
final ABlock block = getBlock(geoX, geoY);
return block != null ? block.getNsweNearestOriginal(geoX, geoY, worldZ) : (byte) 0xFF;
@@ -384,200 +381,6 @@ public class GeoEngine
return getHeightNearest(getGeoX(worldX), getGeoY(worldY), worldZ);
}
// GEODATA - DYNAMIC
/**
* Returns calculated NSWE flag byte as a description of {@link IGeoObject}.<br>
* The {@link IGeoObject} is defined by boolean 2D array, saying if the object is present on given cell or not.
* @param inside : 2D description of {@link IGeoObject}
* @return byte[][] : Returns NSWE flags of {@link IGeoObject}.
*/
public static byte[][] calculateGeoObject(boolean inside[][])
{
// get dimensions
final int width = inside.length;
final int height = inside[0].length;
// create object flags for geodata, according to the geo object 2D description
final byte[][] result = new byte[width][height];
// loop over each cell of the geo object
for (int ix = 0; ix < width; ix++)
{
for (int iy = 0; iy < height; iy++)
{
if (inside[ix][iy])
{
// cell is inside geo object, block whole movement (nswe = 0)
result[ix][iy] = 0;
}
else
{
// cell is outside of geo object, block only movement leading inside geo object
// set initial value -> no geodata change
byte nswe = (byte) 0xFF;
// perform axial and diagonal checks
if (iy < (height - 1))
{
if (inside[ix][iy + 1])
{
nswe &= ~GeoStructure.CELL_FLAG_S;
}
}
if (iy > 0)
{
if (inside[ix][iy - 1])
{
nswe &= ~GeoStructure.CELL_FLAG_N;
}
}
if (ix < (width - 1))
{
if (inside[ix + 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_E;
}
}
if (ix > 0)
{
if (inside[ix - 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_W;
}
}
if ((ix < (width - 1)) && (iy < (height - 1)))
{
if (inside[ix + 1][iy + 1] || inside[ix][iy + 1] || inside[ix + 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_SE;
}
}
if ((ix < (width - 1)) && (iy > 0))
{
if (inside[ix + 1][iy - 1] || inside[ix][iy - 1] || inside[ix + 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_NE;
}
}
if ((ix > 0) && (iy < (height - 1)))
{
if (inside[ix - 1][iy + 1] || inside[ix][iy + 1] || inside[ix - 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_SW;
}
}
if ((ix > 0) && (iy > 0))
{
if (inside[ix - 1][iy - 1] || inside[ix][iy - 1] || inside[ix - 1][iy])
{
nswe &= ~GeoStructure.CELL_FLAG_NW;
}
}
result[ix][iy] = nswe;
}
}
}
return result;
}
/**
* Add {@link IGeoObject} to the geodata.
* @param object : An object using {@link IGeoObject} interface.
*/
public final void addGeoObject(IGeoObject object)
{
toggleGeoObject(object, true);
}
/**
* Remove {@link IGeoObject} from the geodata.
* @param object : An object using {@link IGeoObject} interface.
*/
public final void removeGeoObject(IGeoObject object)
{
toggleGeoObject(object, false);
}
/**
* Toggles an {@link IGeoObject} in the geodata.
* @param object : An object using {@link IGeoObject} interface.
* @param add : Add/remove object.
*/
private final void toggleGeoObject(IGeoObject object, boolean add)
{
// get object geo coordinates and data
final int minGX = object.getGeoX();
final int minGY = object.getGeoY();
final byte[][] geoData = object.getObjectGeoData();
// get min/max block coordinates
int minBX = minGX / GeoStructure.BLOCK_CELLS_X;
int maxBX = ((minGX + geoData.length) - 1) / GeoStructure.BLOCK_CELLS_X;
int minBY = minGY / GeoStructure.BLOCK_CELLS_Y;
int maxBY = ((minGY + geoData[0].length) - 1) / GeoStructure.BLOCK_CELLS_Y;
// loop over affected blocks in X direction
for (int bx = minBX; bx <= maxBX; bx++)
{
// loop over affected blocks in Y direction
for (int by = minBY; by <= maxBY; by++)
{
ABlock block;
// conversion to dynamic block must be synchronized to prevent 2 independent threads converting same block
synchronized (_blocks)
{
// get related block
block = _blocks[bx][by];
// check for dynamic block
if (!(block instanceof IBlockDynamic))
{
// null block means no geodata (particular region file is not loaded), no geodata means no geobjects
if (block instanceof BlockNull)
{
continue;
}
// not a dynamic block, convert it
if (block instanceof BlockFlat)
{
// convert flat block to the dynamic complex block
block = new BlockComplexDynamic(bx, by, (BlockFlat) block);
_blocks[bx][by] = block;
}
else if (block instanceof BlockComplex)
{
// convert complex block to the dynamic complex block
block = new BlockComplexDynamic(bx, by, (BlockComplex) block);
_blocks[bx][by] = block;
}
else if (block instanceof BlockMultilayer)
{
// convert multilayer block to the dynamic multilayer block
block = new BlockMultilayerDynamic(bx, by, (BlockMultilayer) block);
_blocks[bx][by] = block;
}
}
}
// add/remove geo object to/from dynamic block
if (add)
{
((IBlockDynamic) block).addGeoObject(object);
}
else
{
((IBlockDynamic) block).removeGeoObject(object);
}
}
}
}
// PATHFINDING
/**
@@ -732,7 +535,7 @@ public class GeoEngine
* @param instance
* @return {@code boolean} : True, when target can be seen.
*/
protected final boolean checkSee(int gox, int goy, int goz, double oheight, int gtx, int gty, int gtz, double theight, Instance instance)
private final boolean checkSee(int gox, int goy, int goz, double oheight, int gtx, int gty, int gtz, double theight, Instance instance)
{
// get line of sight Z coordinates
double losoz = goz + ((oheight * Config.PART_OF_CHARACTER_HEIGHT) / 100);
@@ -915,7 +718,7 @@ public class GeoEngine
* @param instance
* @return {@code boolean} : True, when target can be seen.
*/
protected final boolean checkSeeOriginal(int gox, int goy, int goz, double oheight, int gtx, int gty, int gtz, double theight, Instance instance)
private final boolean checkSeeOriginal(int gox, int goy, int goz, double oheight, int gtx, int gty, int gtz, double theight, Instance instance)
{
// get line of sight Z coordinates
double losoz = goz + ((oheight * Config.PART_OF_CHARACTER_HEIGHT) / 100);

View File

@@ -1,255 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jmobius.gameserver.geoengine.geodata;
import java.util.LinkedList;
import java.util.List;
/**
* @author Hasha
*/
public final class BlockComplexDynamic extends BlockComplex implements IBlockDynamic
{
private final int _bx;
private final int _by;
private final byte[] _original;
private final List<IGeoObject> _objects;
/**
* Creates {@link BlockComplexDynamic}.
* @param bx : Block X coordinate.
* @param by : Block Y coordinate.
* @param block : The original FlatBlock to create a dynamic version from.
*/
public BlockComplexDynamic(int bx, int by, BlockFlat block)
{
// load data
final byte nswe = block._nswe;
final byte heightLow = (byte) (block._height & 0x00FF);
final byte heightHigh = (byte) (block._height >> 8);
// initialize buffer
_buffer = new byte[GeoStructure.BLOCK_CELLS * 3];
// save data
for (int i = 0; i < GeoStructure.BLOCK_CELLS; i++)
{
// set nswe
_buffer[i * 3] = nswe;
// set height
_buffer[(i * 3) + 1] = heightLow;
_buffer[(i * 3) + 2] = heightHigh;
}
// get block coordinates
_bx = bx;
_by = by;
// create copy for dynamic implementation
_original = new byte[GeoStructure.BLOCK_CELLS * 3];
System.arraycopy(_buffer, 0, _original, 0, GeoStructure.BLOCK_CELLS * 3);
// create list for geo objects
_objects = new LinkedList<>();
}
/**
* Creates {@link BlockComplexDynamic}.
* @param bx : Block X coordinate.
* @param by : Block Y coordinate.
* @param block : The original ComplexBlock to create a dynamic version from.
*/
public BlockComplexDynamic(int bx, int by, BlockComplex block)
{
// move buffer from BlockComplex object to this object
_buffer = block._buffer;
block._buffer = null;
// get block coordinates
_bx = bx;
_by = by;
// create copy for dynamic implementation
_original = new byte[GeoStructure.BLOCK_CELLS * 3];
System.arraycopy(_buffer, 0, _original, 0, GeoStructure.BLOCK_CELLS * 3);
// create list for geo objects
_objects = new LinkedList<>();
}
@Override
public final short getHeightNearestOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)) * 3;
// get height
return (short) ((_original[index + 1] & 0x00FF) | (_original[index + 2] << 8));
}
@Override
public final byte getNsweNearestOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)) * 3;
// get nswe
return _original[index];
}
@Override
public final int getIndexAboveOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)) * 3;
// get height
final int height = (_original[index + 1] & 0x00FF) | (_original[index + 2] << 8);
// check height and return nswe
return height > worldZ ? index : -1;
}
@Override
public final int getIndexBelowOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)) * 3;
// get height
final int height = (_original[index + 1] & 0x00FF) | (_original[index + 2] << 8);
// check height and return nswe
return height < worldZ ? index : -1;
}
@Override
public final short getHeightOriginal(int index)
{
return (short) ((_original[index + 1] & 0x00FF) | (_original[index + 2] << 8));
}
@Override
public final byte getNsweOriginal(int index)
{
return _original[index];
}
@Override
public final synchronized void addGeoObject(IGeoObject object)
{
// add geo object, update block geodata when added
if (_objects.add(object))
{
update();
}
}
@Override
public final synchronized void removeGeoObject(IGeoObject object)
{
// remove geo object, update block geodata when removed
if (_objects.remove(object))
{
update();
}
}
private final void update()
{
// copy original geodata, than apply changes
System.arraycopy(_original, 0, _buffer, 0, GeoStructure.BLOCK_CELLS * 3);
// get block geo coordinates
final int minBX = _bx * GeoStructure.BLOCK_CELLS_X;
final int minBY = _by * GeoStructure.BLOCK_CELLS_Y;
final int maxBX = minBX + GeoStructure.BLOCK_CELLS_X;
final int maxBY = minBY + GeoStructure.BLOCK_CELLS_Y;
// for all objects
for (IGeoObject object : _objects)
{
// get object geo coordinates and other object variables
final int minOX = object.getGeoX();
final int minOY = object.getGeoY();
final int minOZ = object.getGeoZ();
final int maxOZ = minOZ + object.getHeight();
final byte[][] geoData = object.getObjectGeoData();
// calculate min/max geo coordinates for iteration (intersection of block and object)
final int minGX = Math.max(minBX, minOX);
final int minGY = Math.max(minBY, minOY);
final int maxGX = Math.min(maxBX, minOX + geoData.length);
final int maxGY = Math.min(maxBY, minOY + geoData[0].length);
// iterate over intersection of block and object
for (int gx = minGX; gx < maxGX; gx++)
{
for (int gy = minGY; gy < maxGY; gy++)
{
// get object nswe
final byte objNswe = geoData[gx - minOX][gy - minOY];
// object contains no change of data in this cell, continue to next cell
if (objNswe == 0xFF)
{
continue;
}
// get block index of this cell
final int ib = (((gx - minBX) * GeoStructure.BLOCK_CELLS_Y) + (gy - minBY)) * 3;
// compare block data and original data, when height differs -> height was affected by other geo object
// -> cell is inside an object -> no need to check/change it anymore (Z is lifted, nswe is 0)
// compare is done in raw format (2 bytes) instead of conversion to short
if ((_buffer[ib + 1] != _original[ib + 1]) || (_buffer[ib + 2] != _original[ib + 2]))
{
continue;
}
// so far cell is not inside of any object
if (objNswe == 0)
{
// cell is inside of this object -> set nswe to 0 and lift Z up
// set block nswe
_buffer[ib] = 0;
// set block Z to object height
_buffer[ib + 1] = (byte) (maxOZ & 0x00FF);
_buffer[ib + 2] = (byte) (maxOZ >> 8);
}
else
{
// cell is outside of this object -> update nswe
// height different is too high (trying to update another layer), skip
short z = getHeight(ib);
if (Math.abs(z - minOZ) > GeoStructure.CELL_IGNORE_HEIGHT)
{
continue;
}
// adjust block nswe according to the object nswe
_buffer[ib] &= objNswe;
}
}
}
}
}
}

View File

@@ -1,312 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jmobius.gameserver.geoengine.geodata;
import java.util.LinkedList;
import java.util.List;
/**
* @author Hasha
*/
public final class BlockMultilayerDynamic extends BlockMultilayer implements IBlockDynamic
{
private final int _bx;
private final int _by;
private final byte[] _original;
private final List<IGeoObject> _objects;
/**
* Creates {@link BlockMultilayerDynamic}.
* @param bx : Block X coordinate.
* @param by : Block Y coordinate.
* @param block : The original MultilayerBlock to create a dynamic version from.
*/
public BlockMultilayerDynamic(int bx, int by, BlockMultilayer block)
{
// move buffer from ComplexBlock object to this object
_buffer = block._buffer;
block._buffer = null;
// get block coordinates
_bx = bx;
_by = by;
// create copy for dynamic implementation
_original = new byte[_buffer.length];
System.arraycopy(_buffer, 0, _original, 0, _buffer.length);
// create list for geo objects
_objects = new LinkedList<>();
}
@Override
public short getHeightNearestOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = getIndexNearestOriginal(geoX, geoY, worldZ);
// get height
return (short) ((_original[index + 1] & 0x00FF) | (_original[index + 2] << 8));
}
@Override
public byte getNsweNearestOriginal(int geoX, int geoY, int worldZ)
{
// get cell index
final int index = getIndexNearestOriginal(geoX, geoY, worldZ);
// get nswe
return _original[index];
}
private final int getIndexNearestOriginal(int geoX, int geoY, int worldZ)
{
// move index to the cell given by coordinates
int index = 0;
for (int i = 0; i < (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)); i++)
{
// move index by amount of layers for this cell
index += (_original[index] * 3) + 1;
}
// get layers count and shift to first layer data (first from bottom)
byte layers = _original[index++];
// loop though all cell layers, find closest layer
int limit = Integer.MAX_VALUE;
while (layers-- > 0)
{
// get layer height
final int height = (_original[index + 1] & 0x00FF) | (_original[index + 2] << 8);
// get Z distance and compare with limit
// note: When 2 layers have same distance to worldZ (worldZ is in the middle of them):
// > returns bottom layer
// >= returns upper layer
final int distance = Math.abs(height - worldZ);
if (distance > limit)
{
break;
}
// update limit and move to next layer
limit = distance;
index += 3;
}
// return layer index
return index - 3;
}
@Override
public final int getIndexAboveOriginal(int geoX, int geoY, int worldZ)
{
// move index to the cell given by coordinates
int index = 0;
for (int i = 0; i < (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)); i++)
{
// move index by amount of layers for this cell
index += (_original[index] * 3) + 1;
}
// get layers count and shift to last layer data (first from bottom)
byte layers = _original[index++];
index += (layers - 1) * 3;
// loop though all layers, find first layer above worldZ
while (layers-- > 0)
{
// get layer height
final int height = (_original[index + 1] & 0x00FF) | (_original[index + 2] << 8);
// layer height is higher than worldZ, return layer index
if (height > worldZ)
{
return index;
}
// move index to next layer
index -= 3;
}
// none layer found
return -1;
}
@Override
public final int getIndexBelowOriginal(int geoX, int geoY, int worldZ)
{
// move index to the cell given by coordinates
int index = 0;
for (int i = 0; i < (((geoX % GeoStructure.BLOCK_CELLS_X) * GeoStructure.BLOCK_CELLS_Y) + (geoY % GeoStructure.BLOCK_CELLS_Y)); i++)
{
// move index by amount of layers for this cell
index += (_original[index] * 3) + 1;
}
// get layers count and shift to first layer data (first from top)
byte layers = _original[index++];
// loop though all layers, find first layer below worldZ
while (layers-- > 0)
{
// get layer height
final int height = (_original[index + 1] & 0x00FF) | (_original[index + 2] << 8);
// layer height is lower than worldZ, return layer index
if (height < worldZ)
{
return index;
}
// move index to next layer
index += 3;
}
// none layer found
return -1;
}
@Override
public short getHeightOriginal(int index)
{
// get height
return (short) ((_original[index + 1] & 0x00FF) | (_original[index + 2] << 8));
}
@Override
public byte getNsweOriginal(int index)
{
// get nswe
return _original[index];
}
@Override
public final synchronized void addGeoObject(IGeoObject object)
{
// add geo object, update block geodata when added
if (_objects.add(object))
{
update();
}
}
@Override
public final synchronized void removeGeoObject(IGeoObject object)
{
// remove geo object, update block geodata when removed
if (_objects.remove(object))
{
update();
}
}
private final void update()
{
// copy original geodata, than apply changes
System.arraycopy(_original, 0, _buffer, 0, _original.length);
// get block geo coordinates
final int minBX = _bx * GeoStructure.BLOCK_CELLS_X;
final int minBY = _by * GeoStructure.BLOCK_CELLS_Y;
final int maxBX = minBX + GeoStructure.BLOCK_CELLS_X;
final int maxBY = minBY + GeoStructure.BLOCK_CELLS_Y;
// for all objects
for (IGeoObject object : _objects)
{
// get object geo coordinates and other object variables
final int minOX = object.getGeoX();
final int minOY = object.getGeoY();
final int minOZ = object.getGeoZ();
final int maxOZ = minOZ + object.getHeight();
final byte[][] geoData = object.getObjectGeoData();
// calculate min/max geo coordinates for iteration (intersection of block and object)
final int minGX = Math.max(minBX, minOX);
final int minGY = Math.max(minBY, minOY);
final int maxGX = Math.min(maxBX, minOX + geoData.length);
final int maxGY = Math.min(maxBY, minOY + geoData[0].length);
// iterate over intersection of block and object
for (int gx = minGX; gx < maxGX; gx++)
{
for (int gy = minGY; gy < maxGY; gy++)
{
// get object nswe
final byte objNswe = geoData[gx - minOX][gy - minOY];
// object contains no change of data in this cell, continue to next cell
if (objNswe == 0xFF)
{
continue;
}
// get block index of this cell
int ib = getIndexNearest(gx, gy, minOZ);
// compare block data and original data, when height differs -> height was affected by other geo object
// -> cell is inside an object -> no need to check/change it anymore (Z is lifted, nswe is 0)
// compare is done in raw format (2 bytes) instead of conversion to short
if ((_buffer[ib + 1] != _original[ib + 1]) || (_buffer[ib + 2] != _original[ib + 2]))
{
continue;
}
// so far cell is not inside of any object
if (objNswe == 0)
{
// cell is inside of this object -> set nswe to 0 and lift Z up
// set block nswe
_buffer[ib] = 0;
// calculate object height, limit to next layer
int z = maxOZ;
int i = getIndexAbove(gx, gy, minOZ);
if (i != -1)
{
int az = getHeight(i);
if (az <= maxOZ)
{
z = az - GeoStructure.CELL_IGNORE_HEIGHT;
}
}
// set block Z to object height
_buffer[ib + 1] = (byte) (z & 0x00FF);
_buffer[ib + 2] = (byte) (z >> 8);
}
else
{
// cell is outside of this object -> update nswe
// height different is too high (trying to update another layer), skip
short z = getHeight(ib);
if (Math.abs(z - minOZ) > GeoStructure.CELL_IGNORE_HEIGHT)
{
continue;
}
// adjust block nswe according to the object nswe
_buffer[ib] &= objNswe;
}
}
}
}
}
}

View File

@@ -32,12 +32,7 @@ public final class GeoStructure
public static final byte CELL_FLAG_SW = 1 << 5;
public static final byte CELL_FLAG_NE = 1 << 6;
public static final byte CELL_FLAG_NW = (byte) (1 << 7);
public static final byte CELL_FLAG_S_AND_E = CELL_FLAG_S | CELL_FLAG_E;
public static final byte CELL_FLAG_S_AND_W = CELL_FLAG_S | CELL_FLAG_W;
public static final byte CELL_FLAG_N_AND_E = CELL_FLAG_N | CELL_FLAG_E;
public static final byte CELL_FLAG_N_AND_W = CELL_FLAG_N | CELL_FLAG_W;
public static final int CELL_SIZE = 16;
public static final int CELL_HEIGHT = 8;
public static final int CELL_IGNORE_HEIGHT = CELL_HEIGHT * 6;
@@ -64,8 +59,8 @@ public final class GeoStructure
public static final int REGION_CELLS_Y = REGION_BLOCKS_Y * BLOCK_CELLS_Y;
// global geodata
public static final int GEO_REGIONS_X = ((L2World.TILE_X_MAX - L2World.TILE_X_MIN) + 1);
public static final int GEO_REGIONS_Y = ((L2World.TILE_Y_MAX - L2World.TILE_Y_MIN) + 1);
private static final int GEO_REGIONS_X = ((L2World.TILE_X_MAX - L2World.TILE_X_MIN) + 1);
private static final int GEO_REGIONS_Y = ((L2World.TILE_Y_MAX - L2World.TILE_Y_MIN) + 1);
public static final int GEO_BLOCKS_X = GEO_REGIONS_X * REGION_BLOCKS_X;
public static final int GEO_BLOCKS_Y = GEO_REGIONS_Y * REGION_BLOCKS_Y;

View File

@@ -1,35 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jmobius.gameserver.geoengine.geodata;
/**
* @author Hasha
*/
public interface IBlockDynamic
{
/**
* Adds {@link IGeoObject} to the {@link ABlock}. The block will update geodata according the object.
* @param object : {@link IGeoObject} to be added.
*/
void addGeoObject(IGeoObject object);
/**
* Removes {@link IGeoObject} from the {@link ABlock}. The block will update geodata according the object.
* @param object : {@link IGeoObject} to be removed.
*/
void removeGeoObject(IGeoObject object);
}

View File

@@ -253,7 +253,7 @@ public class DailyTaskManager extends AbstractEventManager<AbstractEvent<?>>
});
}
public void resetTrainingCamp()
private void resetTrainingCamp()
{
if (Config.TRAINING_CAMP_ENABLE)
{

View File

@@ -33,7 +33,7 @@ import com.l2jmobius.gameserver.model.entity.Fort;
public final class FortManager implements InstanceListManager
{
protected static final Logger LOGGER = Logger.getLogger(FortManager.class.getName());
private static final Logger LOGGER = Logger.getLogger(FortManager.class.getName());
private final Map<Integer, Fort> _forts = new ConcurrentSkipListMap<>();

View File

@@ -32,7 +32,7 @@ import com.l2jmobius.gameserver.scripting.ScriptEngineManager;
*/
public final class QuestManager
{
protected static final Logger LOGGER = Logger.getLogger(QuestManager.class.getName());
private static final Logger LOGGER = Logger.getLogger(QuestManager.class.getName());
/** Map containing all the quests. */
private final Map<String, Quest> _quests = new ConcurrentHashMap<>();

View File

@@ -47,7 +47,6 @@ import com.l2jmobius.gameserver.model.zone.ZoneRegion;
import com.l2jmobius.gameserver.model.zone.form.ZoneCuboid;
import com.l2jmobius.gameserver.model.zone.form.ZoneCylinder;
import com.l2jmobius.gameserver.model.zone.form.ZoneNPoly;
import com.l2jmobius.gameserver.model.zone.type.L2ArenaZone;
import com.l2jmobius.gameserver.model.zone.type.L2OlympiadStadiumZone;
import com.l2jmobius.gameserver.model.zone.type.L2RespawnZone;
import com.l2jmobius.gameserver.model.zone.type.L2SpawnTerritory;
@@ -62,9 +61,9 @@ public final class ZoneManager implements IGameXmlReader
private static final Map<String, AbstractZoneSettings> SETTINGS = new HashMap<>();
public static final int SHIFT_BY = 15;
public static final int OFFSET_X = Math.abs(L2World.MAP_MIN_X >> SHIFT_BY);
public static final int OFFSET_Y = Math.abs(L2World.MAP_MIN_Y >> SHIFT_BY);
private static final int SHIFT_BY = 15;
private static final int OFFSET_X = Math.abs(L2World.MAP_MIN_X >> SHIFT_BY);
private static final int OFFSET_Y = Math.abs(L2World.MAP_MIN_Y >> SHIFT_BY);
private final Map<Class<? extends L2ZoneType>, Map<Integer, ? extends L2ZoneType>> _classZones = new HashMap<>();
private final Map<String, L2SpawnTerritory> _spawnTerritories = new HashMap<>();
@@ -424,7 +423,7 @@ public final class ZoneManager implements IGameXmlReader
* @param id the id
* @return true, if successful
*/
public boolean checkId(int id)
private boolean checkId(int id)
{
for (Map<Integer, ? extends L2ZoneType> map : _classZones.values())
{
@@ -443,7 +442,7 @@ public final class ZoneManager implements IGameXmlReader
* @param zone the zone
*/
@SuppressWarnings("unchecked")
public <T extends L2ZoneType> void addZone(Integer id, T zone)
private <T extends L2ZoneType> void addZone(Integer id, T zone)
{
Map<Integer, T> map = (Map<Integer, T>) _classZones.get(zone.getClass());
if (map == null)
@@ -612,7 +611,7 @@ public final class ZoneManager implements IGameXmlReader
* @return zone from given coordinates
*/
@SuppressWarnings("unchecked")
public <T extends L2ZoneType> T getZone(int x, int y, int z, Class<T> type)
private <T extends L2ZoneType> T getZone(int x, int y, int z, Class<T> type)
{
for (L2ZoneType zone : getRegion(x, y).getZones().values())
{
@@ -653,29 +652,6 @@ public final class ZoneManager implements IGameXmlReader
return temp;
}
/**
* Gets the arena.
* @param character the character
* @return the arena
*/
public final L2ArenaZone getArena(L2Character character)
{
if (character == null)
{
return null;
}
for (L2ZoneType temp : getInstance().getZones(character.getX(), character.getY(), character.getZ()))
{
if ((temp instanceof L2ArenaZone) && temp.isCharacterInZone(character))
{
return (L2ArenaZone) temp;
}
}
return null;
}
/**
* Gets the olympiad stadium.
* @param character the character
@@ -698,33 +674,6 @@ public final class ZoneManager implements IGameXmlReader
return null;
}
/**
* For testing purposes only.
* @param <T> the generic type
* @param obj the obj
* @param type the type
* @return the closest zone
*/
@SuppressWarnings("unchecked")
public <T extends L2ZoneType> T getClosestZone(L2Object obj, Class<T> type)
{
T zone = getZone(obj, type);
if (zone == null)
{
double closestdis = Double.MAX_VALUE;
for (T temp : (Collection<T>) _classZones.get(type).values())
{
final double distance = temp.getDistanceToZone(obj);
if (distance < closestdis)
{
closestdis = distance;
zone = temp;
}
}
}
return zone;
}
/**
* General storage for debug items used for visualizing zones.
* @return list of items

View File

@@ -157,26 +157,6 @@ public class TradeList
return new TradeItem(item, item.getCount(), item.getReferencePrice());
}
/**
* Adjust ItemRequest by corresponding item in this list using its <b>ObjectId</b>
* @param item : ItemRequest to be adjusted
*/
public void adjustItemRequest(ItemRequest item)
{
for (TradeItem filtItem : _items)
{
if (filtItem.getObjectId() == item.getObjectId())
{
if (filtItem.getCount() < item.getCount())
{
item.setCount(filtItem.getCount());
}
return;
}
}
item.setCount(0);
}
/**
* Add simplified item to TradeList
* @param objectId : int
@@ -312,7 +292,7 @@ public class TradeList
* @param count : int
* @return
*/
public synchronized TradeItem removeItem(int objectId, int itemId, long count)
private synchronized TradeItem removeItem(int objectId, int itemId, long count)
{
if (_locked)
{
@@ -462,7 +442,7 @@ public class TradeList
/**
* Cancels TradeList confirmation
*/
public void invalidateConfirmation()
private void invalidateConfirmation()
{
_confirmed = false;
}
@@ -548,7 +528,7 @@ public class TradeList
* @param partner
* @return items slots count
*/
public int countItemsSlots(L2PcInstance partner)
private int countItemsSlots(L2PcInstance partner)
{
int slots = 0;
@@ -579,7 +559,7 @@ public class TradeList
/**
* @return the weight of items in tradeList
*/
public int calcItemsWeight()
private int calcItemsWeight()
{
long weight = 0;

View File

@@ -122,7 +122,7 @@ public final class Transform implements IIdentifiable
return _title;
}
public TransformTemplate getTemplate(L2Character creature)
private TransformTemplate getTemplate(L2Character creature)
{
if (creature.isPlayer())
{

View File

@@ -36,8 +36,8 @@ public final class SubClass
private int _vitalityPoints = 0;
private boolean _dualClass = false;
public static final int MAX_VITALITY_POINTS = 140000;
public static final int MIN_VITALITY_POINTS = 0;
private static final int MAX_VITALITY_POINTS = 140000;
private static final int MIN_VITALITY_POINTS = 0;
public SubClass()
{
@@ -137,26 +137,4 @@ public final class SubClass
_level = levelValue;
}
public void incLevel()
{
if (!_dualClass && (_level == _maxLevel))
{
return;
}
_level++;
setExp(ExperienceData.getInstance().getExpForLevel(getLevel()));
}
public void decLevel()
{
if (_level == Config.BASE_SUBCLASS_LEVEL)
{
return;
}
_level--;
setExp(ExperienceData.getInstance().getExpForLevel(getLevel()));
}
}

View File

@@ -52,7 +52,7 @@ public final class TimerExecutor<T>
* @param holder
* @return {@code true} if timer were successfully added, {@code false} in case it exists already
*/
public boolean addTimer(TimerHolder<T> holder)
private boolean addTimer(TimerHolder<T> holder)
{
final Set<TimerHolder<T>> timers = _timers.computeIfAbsent(holder.getEvent(), key -> ConcurrentHashMap.newKeySet());
removeAndCancelTimers(timers, holder::isEqual);
@@ -123,25 +123,11 @@ public final class TimerExecutor<T>
* @param eventTimer
* @return {@code true} if timer were successfully added, {@code false} in case it exists already
*/
public boolean addRepeatingTimer(T event, StatsSet params, long time, L2Npc npc, L2PcInstance player, IEventTimerEvent<T> eventTimer)
private boolean addRepeatingTimer(T event, StatsSet params, long time, L2Npc npc, L2PcInstance player, IEventTimerEvent<T> eventTimer)
{
return addTimer(new TimerHolder<>(event, params, time, npc, player, true, eventTimer, _cancelListener, this));
}
/**
* Adds repeating timer
* @param event
* @param params
* @param time
* @param npc
* @param player
* @return {@code true} if timer were successfully added, {@code false} in case it exists already
*/
public boolean addRepeatingTimer(T event, StatsSet params, long time, L2Npc npc, L2PcInstance player)
{
return addRepeatingTimer(event, params, time, npc, player, _eventListener);
}
/**
* Adds repeating timer
* @param event
@@ -181,22 +167,6 @@ public final class TimerExecutor<T>
}
}
/**
* @param timer
*/
public void onTimerCancel(TimerHolder<T> timer)
{
final Set<TimerHolder<T>> timers = _timers.get(timer.getEvent());
if ((timers != null) && timers.remove(timer))
{
_eventListener.onTimerEvent(timer);
if (timers.isEmpty())
{
_timers.remove(timer.getEvent());
}
}
}
/**
* Cancels and removes all timers from the _timers map
*/
@@ -223,15 +193,6 @@ public final class TimerExecutor<T>
return timers.stream().anyMatch(holder -> holder.isEqual(event, npc, player));
}
/**
* @param event
* @return {@code true} if there is at least one timer with the given event, {@code false} otherwise
*/
public boolean hasTimers(T event)
{
return _timers.containsKey(event);
}
/**
* @param event
* @return {@code true} if at least one timer for the given event were stopped, {@code false} otherwise
@@ -305,32 +266,4 @@ public final class TimerExecutor<T>
}
}
}
/**
* @param event
* @param npc
* @param player
* @return the remaining time of the timer, or -1 in case it doesn't exists
*/
public long getRemainingTime(T event, L2Npc npc, L2PcInstance player)
{
final Set<TimerHolder<T>> timers = _timers.get(event);
if ((timers == null) || timers.isEmpty())
{
return -1;
}
final Iterator<TimerHolder<T>> holders = timers.iterator();
while (holders.hasNext())
{
final TimerHolder<T> holder = holders.next();
if (holder.isEqual(event, npc, player))
{
holders.remove();
return holder.getRemainingTime();
}
}
return -1;
}
}

View File

@@ -93,11 +93,6 @@ public class TrainingHolder implements Serializable
return TimeUnit.SECONDS.toMinutes(Config.TRAINING_CAMP_MAX_DURATION - getElapsedTime());
}
public long getRemainingTime(long time)
{
return TimeUnit.SECONDS.toMinutes(Config.TRAINING_CAMP_MAX_DURATION - time);
}
public long getTrainingTime(TimeUnit unit)
{
return Math.min(unit.convert(Config.TRAINING_CAMP_MAX_DURATION, TimeUnit.SECONDS), unit.convert(_endTime - _startTime, TimeUnit.MILLISECONDS));

View File

@@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.model.stats.finalizers;
import java.util.Optional;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.stats.BaseStats;
@@ -37,12 +38,12 @@ public class MCritRateFinalizer implements IStatsFunction
double baseValue = calcWeaponPlusBaseValue(creature, stat);
if (creature.isPlayer())
{
// Enchanted legs bonus
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_LEGS);
}
final double witBonus = creature.getWIT() > 0 ? BaseStats.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * 10;
return Stats.defaultValue(creature, stat, baseValue);
return validateValue(creature, Stats.defaultValue(creature, stat, baseValue * witBonus * 10), 0, Config.MAX_MCRIT_RATE);
}
@Override

View File

@@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.model.stats.finalizers;
import java.util.Optional;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats;
@@ -39,7 +40,7 @@ public class RegenCPFinalizer implements IStatsFunction
}
final L2PcInstance player = creature.getActingPlayer();
double baseValue = player.getTemplate().getBaseCpRegen(creature.getLevel()) * creature.getLevelMod() * BaseStats.CON.calcBonus(creature);
double baseValue = player.getTemplate().getBaseCpRegen(creature.getLevel()) * creature.getLevelMod() * BaseStats.CON.calcBonus(creature) * Config.CP_REGEN_MULTIPLIER;
if (player.isSitting())
{
baseValue *= 1.5; // Sitting

View File

@@ -40,12 +40,11 @@ public abstract class VoteSystem implements Runnable
private static List<VoteSystem> voteSystems = new ArrayList<>();
protected int votesDiff;
protected boolean allowReport;
protected int boxes;
protected Map<Integer, Integer> rewards;
protected int checkMins;
protected int lastVotes = 0;
private final int votesDiff;
private final boolean allowReport;
private final int boxes;
private final Map<Integer, Integer> rewards;
private int lastVotes = 0;
private final Map<String, Integer> playerIps = new HashMap<>();
public static void initialize()
@@ -87,26 +86,12 @@ public abstract class VoteSystem implements Runnable
}
}
public static VoteSystem getVoteSystem(String name)
{
for (VoteSystem vs : voteSystems)
{
if (vs.getSiteName().equals(name))
{
return vs;
}
}
return null;
}
public VoteSystem(int votesDiff, boolean allowReport, int boxes, Map<Integer, Integer> rewards, int checkMins)
{
this.votesDiff = votesDiff;
this.allowReport = allowReport;
this.boxes = boxes;
this.rewards = rewards;
this.checkMins = checkMins;
ThreadPool.scheduleAtFixedRate(this, checkMins * 1000 * 60, checkMins * 1000 * 60);
}

View File

@@ -31,7 +31,7 @@ import com.l2jmobius.gameserver.model.zone.L2ZoneForm;
public class ZoneCuboid extends L2ZoneForm
{
private final int _z1, _z2;
Rectangle _r;
private final Rectangle _r;
public ZoneCuboid(int x1, int x2, int y1, int y2, int z1, int z2)
{

View File

@@ -16231,18 +16231,6 @@ public final class SystemMessageId
return VALUES.get(id);
}
public static SystemMessageId getSystemMessageId(String name)
{
try
{
return (SystemMessageId) SystemMessageId.class.getField(name).get(null);
}
catch (Exception e)
{
return null;
}
}
private final int _id;
private String _name;
private byte _params;

View File

@@ -23,26 +23,21 @@ import com.l2jmobius.commons.network.BaseSendablePacket;
*/
public class TempBan extends BaseSendablePacket
{
public TempBan(String accountName, String ip, long time, String reason)
public TempBan(String accountName, String ip, long time)
{
writeC(0x0A);
writeS(accountName);
writeS(ip);
writeQ(System.currentTimeMillis() + (time * 60000));
if (reason != null)
{
writeC(0x01);
writeS(reason);
}
else
{
writeC(0x00);
}
}
public TempBan(String accountName, String ip, long time)
{
this(accountName, ip, time, null);
// if (reason != null)
// {
// writeC(0x01);
// writeS(reason);
// }
// else
// {
writeC(0x00);
// }
}
@Override

View File

@@ -38,18 +38,6 @@ public final class TutorialShowHtml extends AbstractHtmlPacket
_type = NORMAL_WINDOW;
}
/**
* This constructor is just here to be able to show a tutorial html<br>
* window bound to an npc.
* @param npcObjId
* @param html
*/
public TutorialShowHtml(int npcObjId, String html)
{
super(npcObjId, html);
_type = NORMAL_WINDOW;
}
public TutorialShowHtml(int npcObjId, String html, int type)
{
super(npcObjId, html);

View File

@@ -52,7 +52,7 @@ public class TelnetServer
}
}
public void init()
private void init()
{
addHandler(new ITelnetCommand()
{

View File

@@ -47,12 +47,12 @@ import com.l2jmobius.gameserver.taskmanager.tasks.TaskShutdown;
*/
public final class TaskManager
{
protected static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName());
static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName());
private final Map<Integer, Task> _tasks = new ConcurrentHashMap<>();
protected final List<ExecutedTask> _currentTasks = new CopyOnWriteArrayList<>();
final List<ExecutedTask> _currentTasks = new CopyOnWriteArrayList<>();
protected static final String[] SQL_STATEMENTS =
static final String[] SQL_STATEMENTS =
{
"SELECT id,task,type,last_activation,param1,param2,param3 FROM global_tasks",
"UPDATE global_tasks SET last_activation=? WHERE id=?",
@@ -70,13 +70,13 @@ public final class TaskManager
public class ExecutedTask implements Runnable
{
int id;
long lastActivation;
Task task;
TaskTypes type;
String[] params;
private long lastActivation;
private final Task task;
private final TaskTypes type;
private final String[] params;
ScheduledFuture<?> scheduled;
public ExecutedTask(Task ptask, TaskTypes ptype, ResultSet rset) throws SQLException
ExecutedTask(Task ptask, TaskTypes ptype, ResultSet rset) throws SQLException
{
task = ptask;
type = ptype;
@@ -150,7 +150,7 @@ public final class TaskManager
return lastActivation;
}
public void stopTask()
private void stopTask()
{
task.onDestroy();
@@ -171,7 +171,7 @@ public final class TaskManager
registerTask(new TaskShutdown());
}
public void registerTask(Task task)
private void registerTask(Task task)
{
_tasks.computeIfAbsent(task.getName().hashCode(), k ->
{
@@ -312,7 +312,7 @@ public final class TaskManager
return addUniqueTask(task, type, param1, param2, param3, 0);
}
public static boolean addUniqueTask(String task, TaskTypes type, String param1, String param2, String param3, long lastActivation)
private static boolean addUniqueTask(String task, TaskTypes type, String param1, String param2, String param3, long lastActivation)
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps1 = con.prepareStatement(SQL_STATEMENTS[2]))
@@ -348,7 +348,7 @@ public final class TaskManager
return addTask(task, type, param1, param2, param3, 0);
}
public static boolean addTask(String task, TaskTypes type, String param1, String param2, String param3, long lastActivation)
private static boolean addTask(String task, TaskTypes type, String param1, String param2, String param3, long lastActivation)
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement(SQL_STATEMENTS[3]))

View File

@@ -24,7 +24,7 @@ import com.l2jmobius.gameserver.taskmanager.TaskManager.ExecutedTask;
*/
public final class TaskCleanUp extends Task
{
public static final String NAME = "clean_up";
private static final String NAME = "clean_up";
@Override
public String getName()

View File

@@ -25,7 +25,7 @@ import com.l2jmobius.gameserver.taskmanager.TaskManager.ExecutedTask;
*/
public final class TaskRestart extends Task
{
public static final String NAME = "restart";
private static final String NAME = "restart";
@Override
public String getName()

View File

@@ -25,7 +25,7 @@ import com.l2jmobius.gameserver.taskmanager.TaskManager.ExecutedTask;
*/
public class TaskShutdown extends Task
{
public static final String NAME = "shutdown";
private static final String NAME = "shutdown";
@Override
public String getName()

View File

@@ -39,8 +39,8 @@ import com.l2jmobius.Config;
public class frmAbout
{
private JFrame frmAbout;
static final String URL = "www.l2jmobius.com";
URI uri;
private static final String URL = "www.l2jmobius.com";
final URI uri;
public frmAbout()
{
@@ -129,7 +129,7 @@ public class frmAbout
frmAbout.setLocationRelativeTo(null);
}
public static URI createURI(String str)
private static URI createURI(String str)
{
try
{

View File

@@ -13,7 +13,6 @@ package com.l2jmobius.gameserver.util;
import static java.util.concurrent.TimeUnit.DAYS;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
import java.io.IOException;
import java.util.Locale;
@@ -32,16 +31,6 @@ public class TimeAmountInterpreter
// utility class
}
/**
* Calls {@link #consolidate(long, TimeUnit)} with {@link TimeUnit#NANOSECONDS}.
* @param timeAmountInNanos amount of time in nanoseconds
* @return an user-friendly description of the given time amount
*/
public static String consolidateNanos(long timeAmountInNanos)
{
return consolidate(timeAmountInNanos, NANOSECONDS);
}
/**
* Calls {@link #consolidate(long, TimeUnit)} with {@link TimeUnit#MILLISECONDS}.
* @param timeAmountInMillis amount of time in milliseconds
@@ -58,7 +47,7 @@ public class TimeAmountInterpreter
* @param timeUnit unit of the given amount
* @return an user-friendly description of the given time amount
*/
public static String consolidate(long timeAmount, TimeUnit timeUnit)
private static String consolidate(long timeAmount, TimeUnit timeUnit)
{
return consolidate(timeAmount, timeUnit, timeUnit, DAYS, "0 " + timeUnit.name().toLowerCase(Locale.ENGLISH));
}
@@ -92,7 +81,7 @@ public class TimeAmountInterpreter
* @throws RuntimeException if {@code textBuilder} throws an {@link IOException}
*/
@SuppressWarnings("unchecked")
public static <T extends Appendable & CharSequence> T appendConsolidated(T textBuilder, long timeAmount, TimeUnit timeUnit, TimeUnit minConsolidationUnit, TimeUnit maxConsolidationUnit, String noTimeUsedIndicator) throws RuntimeException
private static <T extends Appendable & CharSequence> T appendConsolidated(T textBuilder, long timeAmount, TimeUnit timeUnit, TimeUnit minConsolidationUnit, TimeUnit maxConsolidationUnit, String noTimeUsedIndicator) throws RuntimeException
{
try
{

View File

@@ -40,7 +40,6 @@ import java.util.stream.Collectors;
import com.l2jmobius.Config;
import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.commons.util.Rnd;
import com.l2jmobius.commons.util.file.filter.ExtFilter;
import com.l2jmobius.gameserver.enums.HtmlActionScope;
import com.l2jmobius.gameserver.enums.IllegalActionPunishmentType;
import com.l2jmobius.gameserver.model.L2Object;
@@ -51,7 +50,6 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.tasks.player.IllegalPlayerActionTask;
import com.l2jmobius.gameserver.model.interfaces.ILocational;
import com.l2jmobius.gameserver.network.serverpackets.AbstractHtmlPacket;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.ShowBoard;
/**
@@ -119,15 +117,6 @@ public final class Util
return degree;
}
public static int convertDegreeToClientHeading(double degree)
{
if (degree < 0)
{
degree = 360 + degree;
}
return (int) (degree * 182.044444444);
}
public static int calculateHeadingFrom(ILocational from, ILocational to)
{
return calculateHeadingFrom(from.getX(), from.getY(), to.getX(), to.getY());
@@ -447,16 +436,6 @@ public final class Util
return dateFormat.format(date);
}
public static File[] getDatapackFiles(String dirname, String extention)
{
final File dir = new File(Config.DATAPACK_ROOT, "data/" + dirname);
if (!dir.exists())
{
return null;
}
return dir.listFiles(new ExtFilter(extention));
}
public static String getDateString(Date date)
{
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
@@ -567,18 +546,6 @@ public final class Util
buildHtmlLinkCache(player, scope, html);
}
/**
* Helper method to send a NpcHtmlMessage to the specified player.
* @param activeChar the player to send the html content to
* @param html the html content
*/
public static void sendHtml(L2PcInstance activeChar, String html)
{
final NpcHtmlMessage npcHtml = new NpcHtmlMessage();
npcHtml.setHtml(html);
activeChar.sendPacket(npcHtml);
}
/**
* Helper method to send a community board html to the specified player.<br>
* HtmlActionCache will be build with npc origin 0 which means the<br>

View File

@@ -257,7 +257,7 @@ public class TaskExecutor
/**
* Resumes the execution after it has been paused.
*/
public void resume()
private void resume()
{
synchronized (lock)
{

View File

@@ -28,7 +28,7 @@ public abstract class Token
public static final short TOKEN_VARIABLE = 6;
public static final short TOKEN_SEPARATOR = 7;
protected final int type;
private final int type;
Token(int type)
{
@@ -39,5 +39,4 @@ public abstract class Token
{
return type;
}
}

View File

@@ -312,12 +312,12 @@ public class Tokenizer
return Character.isDigit(ch) || (ch == '.') || (ch == 'e') || (ch == 'E') || (lastCharE && ((ch == '-') || (ch == '+')));
}
public static boolean isAlphabetic(int codePoint)
private static boolean isAlphabetic(int codePoint)
{
return Character.isLetter(codePoint);
}
public static boolean isVariableOrFunctionCharacter(int codePoint)
private static boolean isVariableOrFunctionCharacter(int codePoint)
{
return isAlphabetic(codePoint) || Character.isDigit(codePoint) || (codePoint == '_') || (codePoint == '.');
}

View File

@@ -37,8 +37,8 @@ import javax.swing.WindowConstants;
public class frmAbout
{
private JFrame frmAbout;
static final String URL = "www.l2jmobius.com";
URI uri;
private static final String URL = "www.l2jmobius.com";
final URI uri;
public frmAbout()
{
@@ -101,7 +101,7 @@ public class frmAbout
frmAbout.setLocationRelativeTo(null);
}
public static URI createURI(String str)
private static URI createURI(String str)
{
try
{