| 
					
				 | 
			
			
				@@ -11,6 +11,11 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Optional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class RepairableSerializer implements TypeSerializer<Repairable> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final String ITEM = "Item"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final String ITEMS_USED_TO_REPAIR = "Items-Used-To-Repair"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final String MINIMUM_QUANTITY_USED_TO_REPAIR = "Minimum-Quantity-Used-To-Repair"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final String OVERRIDE_LEVEL_REQUIREMENT = "Override-Level-Requirement"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final String XP_MULTIPLIER = "XP-Multiplier"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          TypeTokens are obtained in two ways 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,8 +45,8 @@ public class RepairableSerializer implements TypeSerializer<Repairable> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Repairable(Material itemMaterial, Material repairMaterial, int minimumQuantity, int minimumLevel, double xpMultiplier) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String item = value.getNode("Item").getValue(TypeToken.of(String.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> repairItems = value.getNode("Items-Used-To-Repair").getValue(new TypeToken<List<String>>() {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String item = value.getNode(ITEM).getValue(TypeToken.of(String.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> repairItems = value.getNode(ITEMS_USED_TO_REPAIR).getValue(new TypeToken<List<String>>() {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /*String itemConstant = HOCONUtil.deserializeENUMName(value.getNode("Item").getString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,9 +55,9 @@ public class RepairableSerializer implements TypeSerializer<Repairable> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Material item = (Material) getEnum(itemConstant, TypeToken.of(Material.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Material repairItem = (Material) getEnum(repairConstant, TypeToken.of(Material.class));*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        int minimumQuantity = value.getNode("Minimum-Quantity-Used-To-Repair").getValue(TypeToken.of(Integer.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        int minimumLevel = value.getNode("Override-Level-Requirement").getValue(TypeToken.of(Integer.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        double xpMultiplier = value.getNode("XP-Multiplier").getValue(TypeToken.of(Double.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int minimumQuantity = value.getNode(MINIMUM_QUANTITY_USED_TO_REPAIR).getValue(TypeToken.of(Integer.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int minimumLevel = value.getNode(OVERRIDE_LEVEL_REQUIREMENT).getValue(TypeToken.of(Integer.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        double xpMultiplier = value.getNode(XP_MULTIPLIER).getValue(TypeToken.of(Double.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return new Repairable(item, repairItems, minimumQuantity, minimumLevel, xpMultiplier); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,11 +67,11 @@ public class RepairableSerializer implements TypeSerializer<Repairable> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /*value.getNode("Item").setValue(HOCONUtil.serializeENUMName(obj.getItemMaterial().getKey().getKey())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         value.getNode("Item-Used-To-Repair").setValue(HOCONUtil.serializeENUMName(obj.getRepairMaterials().getKey().getKey()));*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        value.getNode("Item").setValue(obj.getItemMaterial().getKey().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        value.getNode("Items-Used-To-Repair").setValue(obj.getRepairMaterialsRegistryKeys()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        value.getNode("Minimum-Quantity-Used-To-Repair").setValue(obj.getMinimumQuantity()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        value.getNode("Skill-Level-Required-To-Repair").setValue(obj.getMinimumLevel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        value.getNode("XP-Multiplier").setValue(obj.getXpMultiplier()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        value.getNode(ITEM).setValue(obj.getItemMaterial().getKey().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        value.getNode(ITEMS_USED_TO_REPAIR).setValue(obj.getRepairMaterialsRegistryKeys()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        value.getNode(MINIMUM_QUANTITY_USED_TO_REPAIR).setValue(obj.getMinimumQuantity()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        value.getNode(OVERRIDE_LEVEL_REQUIREMENT).setValue(obj.getMinimumLevel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        value.getNode(XP_MULTIPLIER).setValue(obj.getXpMultiplier()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Enum getEnum(String enumConstant, TypeToken<?> type) throws ObjectMappingException 
			 |