Add Migrator for EnumerationUtil addition.
This commit is contained in:
parent
94cffec16c
commit
59fad9b136
@ -49,6 +49,7 @@ import com.massivecraft.factions.entity.MConfColl;
|
|||||||
import com.massivecraft.factions.entity.MFlagColl;
|
import com.massivecraft.factions.entity.MFlagColl;
|
||||||
import com.massivecraft.factions.entity.MPermColl;
|
import com.massivecraft.factions.entity.MPermColl;
|
||||||
import com.massivecraft.factions.entity.MPlayerColl;
|
import com.massivecraft.factions.entity.MPlayerColl;
|
||||||
|
import com.massivecraft.factions.entity.migrator.MigratorMConf001EnumerationUtil;
|
||||||
import com.massivecraft.factions.event.EventFactionsChunkChangeType;
|
import com.massivecraft.factions.event.EventFactionsChunkChangeType;
|
||||||
import com.massivecraft.factions.integration.V19.IntegrationV19;
|
import com.massivecraft.factions.integration.V19.IntegrationV19;
|
||||||
import com.massivecraft.factions.integration.herochat.IntegrationHerochat;
|
import com.massivecraft.factions.integration.herochat.IntegrationHerochat;
|
||||||
@ -120,6 +121,8 @@ public class Factions extends MassivePlugin
|
|||||||
// Initialize Database
|
// Initialize Database
|
||||||
this.databaseInitialized = false;
|
this.databaseInitialized = false;
|
||||||
|
|
||||||
|
MigratorMConf001EnumerationUtil.get().setActive(true);
|
||||||
|
|
||||||
MFlagColl.get().setActive(true);
|
MFlagColl.get().setActive(true);
|
||||||
MPermColl.get().setActive(true);
|
MPermColl.get().setActive(true);
|
||||||
MConfColl.get().setActive(true);
|
MConfColl.get().setActive(true);
|
||||||
|
@ -52,6 +52,12 @@ public class MConf extends Entity<MConf>
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// VERSION
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public int version = 1;
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// COMMAND ALIASES
|
// COMMAND ALIASES
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
package com.massivecraft.factions.entity.migrator;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.entity.MConf;
|
||||||
|
import com.massivecraft.factions.util.EnumerationUtil;
|
||||||
|
import com.massivecraft.massivecore.store.migration.VersionMigratorRoot;
|
||||||
|
import com.massivecraft.massivecore.xlib.gson.JsonArray;
|
||||||
|
import com.massivecraft.massivecore.xlib.gson.JsonElement;
|
||||||
|
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
||||||
|
import com.massivecraft.massivecore.xlib.gson.JsonPrimitive;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
public class MigratorMConf001EnumerationUtil extends VersionMigratorRoot
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE & CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static MigratorMConf001EnumerationUtil i = new MigratorMConf001EnumerationUtil();
|
||||||
|
public static MigratorMConf001EnumerationUtil get() { return i; }
|
||||||
|
private MigratorMConf001EnumerationUtil()
|
||||||
|
{
|
||||||
|
super(MConf.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void migrateInner(JsonObject entity)
|
||||||
|
{
|
||||||
|
removeFromStringsField(entity, "materialsEditOnInteract", EnumerationUtil.MATERIALS_EDIT_ON_INTERACT.getStringSet());
|
||||||
|
removeFromStringsField(entity, "materialsEditTools", EnumerationUtil.MATERIALS_EDIT_TOOL.getStringSet());
|
||||||
|
removeFromStringsField(entity, "materialsDoor", EnumerationUtil.MATERIALS_DOOR.getStringSet());
|
||||||
|
removeFromStringsField(entity, "materialsContainer", EnumerationUtil.MATERIALS_CONTAINER.getStringSet());
|
||||||
|
removeFromStringsField(entity, "entityTypesEditOnInteract", EnumerationUtil.ENTITY_TYPES_EDIT_ON_INTERACT.getStringSet());
|
||||||
|
removeFromStringsField(entity, "entityTypesEditOnDamage", EnumerationUtil.ENTITY_TYPES_EDIT_ON_DAMAGE.getStringSet());
|
||||||
|
removeFromStringsField(entity, "entityTypesContainer", EnumerationUtil.ENTITY_TYPES_CONTAINER.getStringSet());
|
||||||
|
removeFromStringsField(entity, "entityTypesMonsters", EnumerationUtil.ENTITY_TYPES_MONSTER.getStringSet());
|
||||||
|
removeFromStringsField(entity, "entityTypesAnimals", EnumerationUtil.ENTITY_TYPES_ANIMAL.getStringSet());
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private void removeFromStringsField(JsonObject entity, String fieldName, Collection<String> removals)
|
||||||
|
{
|
||||||
|
JsonElement stringsElement = entity.get(fieldName);
|
||||||
|
if (!(stringsElement instanceof JsonArray)) return;
|
||||||
|
JsonArray strings = (JsonArray)stringsElement;
|
||||||
|
|
||||||
|
for (Iterator<JsonElement> iterator = strings.iterator(); iterator.hasNext();)
|
||||||
|
{
|
||||||
|
JsonElement stringElement = iterator.next();
|
||||||
|
if (!(stringElement instanceof JsonPrimitive)) continue;
|
||||||
|
JsonPrimitive string = (JsonPrimitive)stringElement;
|
||||||
|
|
||||||
|
if (!removals.contains(string.getAsString())) continue;
|
||||||
|
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -11,7 +11,7 @@ public class EnumerationUtil
|
|||||||
// MATERIAL EDIT ON INTERACT
|
// MATERIAL EDIT ON INTERACT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<Material> MATERIALS_EDIT_ON_INTERACT = new BackstringSet<>(Material.class,
|
public static final BackstringSet<Material> MATERIALS_EDIT_ON_INTERACT = new BackstringSet<>(Material.class,
|
||||||
"DIODE_BLOCK_OFF", // Minecraft 1.?
|
"DIODE_BLOCK_OFF", // Minecraft 1.?
|
||||||
"DIODE_BLOCK_ON", // Minecraft 1.?
|
"DIODE_BLOCK_ON", // Minecraft 1.?
|
||||||
"NOTE_BLOCK", // Minecraft 1.?
|
"NOTE_BLOCK", // Minecraft 1.?
|
||||||
@ -32,7 +32,7 @@ public class EnumerationUtil
|
|||||||
// MATERIAL EDIT TOOLS
|
// MATERIAL EDIT TOOLS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<Material> MATERIALS_EDIT_TOOLS = new BackstringSet<>(Material.class,
|
public static final BackstringSet<Material> MATERIALS_EDIT_TOOL = new BackstringSet<>(Material.class,
|
||||||
"FIREBALL", // Minecraft 1.?
|
"FIREBALL", // Minecraft 1.?
|
||||||
"FLINT_AND_STEEL", // Minecraft 1.?
|
"FLINT_AND_STEEL", // Minecraft 1.?
|
||||||
"BUCKET", // Minecraft 1.?
|
"BUCKET", // Minecraft 1.?
|
||||||
@ -53,7 +53,7 @@ public class EnumerationUtil
|
|||||||
|
|
||||||
public static boolean isMaterialEditTool(Material material)
|
public static boolean isMaterialEditTool(Material material)
|
||||||
{
|
{
|
||||||
return MATERIALS_EDIT_TOOLS.contains(material) || MConf.get().materialsEditTools.contains(material);
|
return MATERIALS_EDIT_TOOL.contains(material) || MConf.get().materialsEditTools.contains(material);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -61,7 +61,7 @@ public class EnumerationUtil
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// Interacting with these materials placed in the terrain results in door toggling.
|
// Interacting with these materials placed in the terrain results in door toggling.
|
||||||
private static final BackstringSet<Material> MATERIALS_DOOR = new BackstringSet<>(Material.class,
|
public static final BackstringSet<Material> MATERIALS_DOOR = new BackstringSet<>(Material.class,
|
||||||
"WOODEN_DOOR", // Minecraft 1.?
|
"WOODEN_DOOR", // Minecraft 1.?
|
||||||
"ACACIA_DOOR", // Minecraft 1.8
|
"ACACIA_DOOR", // Minecraft 1.8
|
||||||
"BIRCH_DOOR", // Minecraft 1.8
|
"BIRCH_DOOR", // Minecraft 1.8
|
||||||
@ -86,7 +86,7 @@ public class EnumerationUtil
|
|||||||
// MATERIAL CONTAINER
|
// MATERIAL CONTAINER
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<Material> MATERIALS_CONTAINER = new BackstringSet<>(Material.class,
|
public static final BackstringSet<Material> MATERIALS_CONTAINER = new BackstringSet<>(Material.class,
|
||||||
"DISPENSER", // Minecraft 1.?
|
"DISPENSER", // Minecraft 1.?
|
||||||
"CHEST", // Minecraft 1.?
|
"CHEST", // Minecraft 1.?
|
||||||
"FURNACE", // Minecraft 1.?
|
"FURNACE", // Minecraft 1.?
|
||||||
@ -129,7 +129,7 @@ public class EnumerationUtil
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// Interacting with these entities results in an edit.
|
// Interacting with these entities results in an edit.
|
||||||
private static final BackstringSet<EntityType> ENTITY_TYPES_EDIT_ON_INTERACT = new BackstringSet<>(EntityType.class,
|
public static final BackstringSet<EntityType> ENTITY_TYPES_EDIT_ON_INTERACT = new BackstringSet<>(EntityType.class,
|
||||||
"ITEM_FRAME", // Minecraft 1.?
|
"ITEM_FRAME", // Minecraft 1.?
|
||||||
"ARMOR_STAND" // Minecraft 1.8
|
"ARMOR_STAND" // Minecraft 1.8
|
||||||
);
|
);
|
||||||
@ -144,7 +144,7 @@ public class EnumerationUtil
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// Damaging these entities results in an edit.
|
// Damaging these entities results in an edit.
|
||||||
private static final BackstringSet<EntityType> ENTITY_TYPES_EDIT_ON_DAMAGE = new BackstringSet<>(EntityType.class,
|
public static final BackstringSet<EntityType> ENTITY_TYPES_EDIT_ON_DAMAGE = new BackstringSet<>(EntityType.class,
|
||||||
"ITEM_FRAME", // Minecraft 1.?
|
"ITEM_FRAME", // Minecraft 1.?
|
||||||
"ARMOR_STAND", // Minecraft 1.8
|
"ARMOR_STAND", // Minecraft 1.8
|
||||||
"ENDER_CRYSTAL" // Minecraft 1.10
|
"ENDER_CRYSTAL" // Minecraft 1.10
|
||||||
@ -159,21 +159,21 @@ public class EnumerationUtil
|
|||||||
// ENTITY TYPE CONTAINER
|
// ENTITY TYPE CONTAINER
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<EntityType> ENTITY_TYPE_CONTAINERS = new BackstringSet<>(EntityType.class,
|
public static final BackstringSet<EntityType> ENTITY_TYPES_CONTAINER = new BackstringSet<>(EntityType.class,
|
||||||
"MINECART_CHEST", // Minecraft 1.?
|
"MINECART_CHEST", // Minecraft 1.?
|
||||||
"MINECART_HOPPER" // Minecraft 1.?
|
"MINECART_HOPPER" // Minecraft 1.?
|
||||||
);
|
);
|
||||||
|
|
||||||
public static boolean isEntityTypeContainer(EntityType entityType)
|
public static boolean isEntityTypeContainer(EntityType entityType)
|
||||||
{
|
{
|
||||||
return ENTITY_TYPE_CONTAINERS.contains(entityType) || MConf.get().entityTypesContainer.contains(entityType);
|
return ENTITY_TYPES_CONTAINER.contains(entityType) || MConf.get().entityTypesContainer.contains(entityType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// ENTITY TYPE MONSTER
|
// ENTITY TYPE MONSTER
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<EntityType> ENTITY_TYPE_MONSTERS = new BackstringSet<>(EntityType.class,
|
public static final BackstringSet<EntityType> ENTITY_TYPES_MONSTER = new BackstringSet<>(EntityType.class,
|
||||||
"BLAZE", // Minecraft 1.?
|
"BLAZE", // Minecraft 1.?
|
||||||
"CAVE_SPIDER", // Minecraft 1.?
|
"CAVE_SPIDER", // Minecraft 1.?
|
||||||
"CREEPER", // Minecraft 1.?
|
"CREEPER", // Minecraft 1.?
|
||||||
@ -206,14 +206,14 @@ public class EnumerationUtil
|
|||||||
|
|
||||||
public static boolean isEntityTypeMonster(EntityType entityType)
|
public static boolean isEntityTypeMonster(EntityType entityType)
|
||||||
{
|
{
|
||||||
return ENTITY_TYPE_MONSTERS.contains(entityType) || MConf.get().entityTypesMonsters.contains(entityType);
|
return ENTITY_TYPES_MONSTER.contains(entityType) || MConf.get().entityTypesMonsters.contains(entityType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// ENTITY TYPE ANIMAL
|
// ENTITY TYPE ANIMAL
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private static final BackstringSet<EntityType> ENTITY_TYPE_ANIMALS = new BackstringSet<>(EntityType.class,
|
public static final BackstringSet<EntityType> ENTITY_TYPES_ANIMAL = new BackstringSet<>(EntityType.class,
|
||||||
"BAT", // Minecraft 1.?
|
"BAT", // Minecraft 1.?
|
||||||
"CHICKEN", // Minecraft 1.?
|
"CHICKEN", // Minecraft 1.?
|
||||||
"COW", // Minecraft 1.?
|
"COW", // Minecraft 1.?
|
||||||
@ -234,8 +234,7 @@ public class EnumerationUtil
|
|||||||
|
|
||||||
public static boolean isEntityTypeAnimal(EntityType entityType)
|
public static boolean isEntityTypeAnimal(EntityType entityType)
|
||||||
{
|
{
|
||||||
return ENTITY_TYPE_ANIMALS.contains(entityType) || MConf.get().entityTypesAnimals.contains(entityType);
|
return ENTITY_TYPES_ANIMAL.contains(entityType) || MConf.get().entityTypesAnimals.contains(entityType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user