11package simplexity .adminhax .config ;
22
3+ import org .bukkit .Material ;
34import org .bukkit .configuration .file .FileConfiguration ;
45import simplexity .adminhax .AdminHax ;
56
7+ import java .util .HashSet ;
8+ import java .util .List ;
69import java .util .logging .Logger ;
710
811public class ConfigHandler {
@@ -19,8 +22,9 @@ public static ConfigHandler getInstance() {
1922
2023 private float maxWalkSpeed , minWalkSpeed , maxFlySpeed , minFlySpeed ;
2124 private boolean sessionPersistentFlight , worldChangePersistentFlight , respawnPersistentFlight ,
22- gamemodeChangePersistentFlight ;
25+ gamemodeChangePersistentFlight , respectBindingCurse ;
2326 private int maxRenameCharacters ;
27+ private static final HashSet <Material > disabledHatItems = new HashSet <>();
2428
2529 public void reloadConfigValues () {
2630 AdminHax .getInstance ().reloadConfig ();
@@ -34,6 +38,19 @@ public void reloadConfigValues() {
3438 respawnPersistentFlight = config .getBoolean ("flight.persistent.respawn" , true );
3539 gamemodeChangePersistentFlight = config .getBoolean ("flight.persistent.gamemode-change" , true );
3640 maxRenameCharacters = config .getInt ("rename.max-characters" , 50 );
41+ respectBindingCurse = config .getBoolean ("hat.respect-curse-of-binding" , true );
42+ List <String > disabledItems = config .getStringList ("hat.disabled-items" );
43+ disabledHatItems .clear ();
44+ if (!disabledItems .isEmpty ()) {
45+ for (String disabledItem : disabledItems ) {
46+ Material itemType = Material .getMaterial (disabledItem );
47+ if (itemType == null ) {
48+ logger .info (disabledItem + " is not a valid material, please check your syntax" );
49+ continue ;
50+ }
51+ disabledHatItems .add (itemType );
52+ }
53+ }
3754 }
3855
3956 private float checkFloat (float defaultValue , String configPath , FileConfiguration config ) {
@@ -91,4 +108,12 @@ public boolean isGamemodeChangePersistentFlight() {
91108 public int getMaxRenameCharacters () {
92109 return maxRenameCharacters ;
93110 }
111+
112+ public boolean shouldRespectBindingCurse () {
113+ return respectBindingCurse ;
114+ }
115+
116+ public HashSet <Material > getDisabledHatItems (){
117+ return disabledHatItems ;
118+ }
94119}
0 commit comments