|
1 | 1 | package world.bentobox.bskyblock; |
2 | 2 |
|
3 | | -import java.util.ArrayList; |
4 | | -import java.util.HashMap; |
5 | | -import java.util.HashSet; |
6 | | -import java.util.List; |
7 | | -import java.util.Map; |
8 | | -import java.util.Set; |
| 3 | +import java.util.*; |
9 | 4 |
|
10 | 5 | import org.bukkit.Difficulty; |
11 | 6 | import org.bukkit.GameMode; |
|
21 | 16 | import world.bentobox.bentobox.api.configuration.WorldSettings; |
22 | 17 | import world.bentobox.bentobox.api.flags.Flag; |
23 | 18 | import world.bentobox.bentobox.database.objects.adapters.Adapter; |
24 | | -import world.bentobox.bentobox.database.objects.adapters.FlagSerializer; |
25 | | -import world.bentobox.bentobox.database.objects.adapters.FlagSerializer2; |
| 19 | +import world.bentobox.bentobox.database.objects.adapters.FlagBooleanSerializer; |
26 | 20 |
|
27 | 21 | /** |
28 | 22 | * All the plugin settings are here |
@@ -232,13 +226,12 @@ public class Settings implements WorldSettings { |
232 | 226 | @ConfigComment(" SUB-OWNER = 900") |
233 | 227 | @ConfigComment(" OWNER = 1000") |
234 | 228 | @ConfigEntry(path = "world.default-island-flags") |
235 | | - @Adapter(FlagSerializer.class) |
236 | | - private Map<Flag, Integer> defaultIslandFlags = new HashMap<>(); |
| 229 | + private Map<String, Integer> defaultIslandFlagNames = new HashMap<>(); |
237 | 230 |
|
238 | 231 | @ConfigComment("These are the default settings for new islands") |
239 | 232 | @ConfigEntry(path = "world.default-island-settings") |
240 | | - @Adapter(FlagSerializer2.class) |
241 | | - private Map<Flag, Integer> defaultIslandSettings = new HashMap<>(); |
| 233 | + @Adapter(FlagBooleanSerializer.class) |
| 234 | + private Map<String, Integer> defaultIslandSettingNames = new HashMap<>(); |
242 | 235 |
|
243 | 236 | @ConfigComment("These settings/flags are hidden from users") |
244 | 237 | @ConfigComment("Ops can toggle hiding in-game using SHIFT-LEFT-CLICK on flags in settings") |
@@ -690,22 +683,57 @@ public Map<String, Boolean> getWorldFlags() { |
690 | 683 | return worldFlags; |
691 | 684 | } |
692 | 685 |
|
| 686 | + |
693 | 687 | /** |
694 | 688 | * @return the defaultIslandFlags |
| 689 | + * @deprecated since 1.21 |
695 | 690 | */ |
696 | 691 | @Override |
697 | | - public Map<Flag, Integer> getDefaultIslandFlags() { |
698 | | - return defaultIslandFlags; |
| 692 | + public Map<Flag, Integer> getDefaultIslandFlags() |
| 693 | + { |
| 694 | + return Collections.emptyMap(); |
699 | 695 | } |
700 | 696 |
|
| 697 | + |
701 | 698 | /** |
702 | 699 | * @return the defaultIslandSettings |
| 700 | + * @deprecated since 1.21 |
| 701 | + */ |
| 702 | + @Override |
| 703 | + public Map<Flag, Integer> getDefaultIslandSettings() |
| 704 | + { |
| 705 | + return Collections.emptyMap(); |
| 706 | + } |
| 707 | + |
| 708 | + |
| 709 | + /** |
| 710 | + * Return map of flags ID's linked to default rank for new island. |
| 711 | + * This is necessary so users could specify any flag names in settings file from other plugins and addons. |
| 712 | + * Otherwise, Flag reader would mark flag as invalid and remove it. |
| 713 | + * @since 1.21 |
| 714 | + * @return default rank settings for new islands. |
| 715 | + */ |
| 716 | + @Override |
| 717 | + public Map<String, Integer> getDefaultIslandFlagNames() |
| 718 | + { |
| 719 | + return this.defaultIslandFlagNames; |
| 720 | + } |
| 721 | + |
| 722 | + |
| 723 | + /** |
| 724 | + * Return map of flags ID's linked to default settings for new island. |
| 725 | + * This is necessary so users could specify any flag names in settings file from other plugins and addons. |
| 726 | + * Otherwise, Flag reader would mark flag as invalid and remove it. |
| 727 | + * @since 1.21 |
| 728 | + * @return default settings for new islands. |
703 | 729 | */ |
704 | 730 | @Override |
705 | | - public Map<Flag, Integer> getDefaultIslandSettings() { |
706 | | - return defaultIslandSettings; |
| 731 | + public Map<String, Integer> getDefaultIslandSettingNames() |
| 732 | + { |
| 733 | + return this.defaultIslandSettingNames; |
707 | 734 | } |
708 | 735 |
|
| 736 | + |
709 | 737 | /** |
710 | 738 | * @return the hidden flags |
711 | 739 | */ |
@@ -1097,20 +1125,29 @@ public void setWorldFlags(Map<String, Boolean> worldFlags) { |
1097 | 1125 | this.worldFlags = worldFlags; |
1098 | 1126 | } |
1099 | 1127 |
|
| 1128 | + |
1100 | 1129 | /** |
1101 | | - * @param defaultIslandFlags the defaultIslandFlags to set |
| 1130 | + * Sets default island flag names. |
| 1131 | + * |
| 1132 | + * @param defaultIslandFlagNames the default island flag names |
1102 | 1133 | */ |
1103 | | - public void setDefaultIslandFlags(Map<Flag, Integer> defaultIslandFlags) { |
1104 | | - this.defaultIslandFlags = defaultIslandFlags; |
| 1134 | + public void setDefaultIslandFlagNames(Map<String, Integer> defaultIslandFlagNames) |
| 1135 | + { |
| 1136 | + this.defaultIslandFlagNames = defaultIslandFlagNames; |
1105 | 1137 | } |
1106 | 1138 |
|
| 1139 | + |
1107 | 1140 | /** |
1108 | | - * @param defaultIslandSettings the defaultIslandSettings to set |
| 1141 | + * Sets default island setting names. |
| 1142 | + * |
| 1143 | + * @param defaultIslandSettingNames the default island setting names |
1109 | 1144 | */ |
1110 | | - public void setDefaultIslandSettings(Map<Flag, Integer> defaultIslandSettings) { |
1111 | | - this.defaultIslandSettings = defaultIslandSettings; |
| 1145 | + public void setDefaultIslandSettingNames(Map<String, Integer> defaultIslandSettingNames) |
| 1146 | + { |
| 1147 | + this.defaultIslandSettingNames = defaultIslandSettingNames; |
1112 | 1148 | } |
1113 | 1149 |
|
| 1150 | + |
1114 | 1151 | /** |
1115 | 1152 | * @param hiddenFlags the hidden flags to set |
1116 | 1153 | */ |
|
0 commit comments