BufferServiceConfiguration.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*
  2. * Copyright © 2004-2023 L2J Server
  3. *
  4. * This file is part of L2J Server.
  5. *
  6. * L2J Server is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * L2J Server is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. package com.l2jserver.gameserver.config;
  20. import static java.util.concurrent.TimeUnit.MINUTES;
  21. import static org.aeonbits.owner.Config.HotReloadType.ASYNC;
  22. import static org.aeonbits.owner.Config.LoadType.MERGE;
  23. import org.aeonbits.owner.Config.HotReload;
  24. import org.aeonbits.owner.Config.LoadPolicy;
  25. import org.aeonbits.owner.Config.Sources;
  26. import org.aeonbits.owner.Reloadable;
  27. import com.l2jserver.gameserver.config.converter.Seconds2MillisecondsConverter;
  28. import com.l2jserver.gameserver.model.zone.ZoneId;
  29. /**
  30. * Buffer Service Configuration.
  31. * @author HorridoJoho
  32. * @version 2.6.2.0
  33. */
  34. @Sources({
  35. "file:${L2J_HOME}/custom/game/config/bufferservice.properties",
  36. "file:./config/bufferservice.properties",
  37. "classpath:config/bufferservice.properties"
  38. })
  39. @LoadPolicy(MERGE)
  40. @HotReload(value = 20, unit = MINUTES, type = ASYNC)
  41. public interface BufferServiceConfiguration extends Reloadable {
  42. @Key("Enable")
  43. Boolean enable();
  44. @Key("HealCooldown")
  45. @ConverterClass(Seconds2MillisecondsConverter.class)
  46. Integer getHealCooldown();
  47. @Key("MaxUniqueLists")
  48. Integer getMaxUniqueLists();
  49. @Key("Debug")
  50. Boolean getDebug();
  51. @Key("ForbidInZones")
  52. ZoneId[] getForbidInZones();
  53. @Key("ForbidInEvents")
  54. Boolean getForbidInEvents();
  55. @Key("ForbidInDuell")
  56. Boolean getForbidInDuell();
  57. @Key("ForbidInFight")
  58. Boolean getForbidInFight();
  59. @Key("ForbidInPvp")
  60. Boolean getForbidInPvp();
  61. @Key("ForbidForChaoticPlayers")
  62. Boolean getForbidForChaoticPlayers();
  63. @Key("VoicedEnable")
  64. Boolean getVoicedEnable();
  65. @Key("VoicedCommand")
  66. String getVoicedCommand();
  67. @Key("VoicedName")
  68. String getVoicedName();
  69. @Key("VoicedRequiredItem")
  70. Integer getVoicedRequiredItem();
  71. }