/*
 * This file is part of SpongeAPI, licensed under the MIT License (MIT).
 *
 * Copyright (c) SpongePowered <https://www.spongepowered.org>
 * Copyright (c) contributors
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
package org.spongepowered.api.entity.attribute.type;

import org.spongepowered.api.Sponge;

import java.util.function.Supplier;

/**
 * An enumeration of {@link AttributeType}s.
 */
public final class AttributeTypes {

    // SORTFIELDS:ON

    public static final Supplier<RangedAttributeType> ARMOR = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ARMOR");

    public static final Supplier<RangedAttributeType> ARMOR_TOUGHNESS = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ARMOR_TOUGHNESS");

    public static final Supplier<RangedAttributeType> ATTACK_DAMAGE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ATTACK_DAMAGE");

    public static final Supplier<RangedAttributeType> ATTACK_SPEED = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ATTACK_SPEED");

    public static final Supplier<RangedAttributeType> ATTACK_KNOCKBACK = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ATTACK_KNOCKBACK");

    public static final Supplier<RangedAttributeType> FOLLOW_RANGE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.FOLLOW_RANGE");

    public static final Supplier<RangedAttributeType> HORSE_JUMP_STRENGTH = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.HORSE_JUMP_STRENGTH");

    public static final Supplier<RangedAttributeType> KNOCKBACK_RESISTANCE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.KNOCKBACK_RESISTANCE");

    public static final Supplier<RangedAttributeType> LUCK = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.LUCK");

    public static final Supplier<RangedAttributeType> MAX_HEALTH = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.MAX_HEALTH");

    public static final Supplier<RangedAttributeType> MOVEMENT_SPEED = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.MOVEMENT_SPEED");

    public static final Supplier<RangedAttributeType> ZOMBIE_SPAWN_REINFORCEMENTS_CHANCE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(RangedAttributeType.class, "GENERIC.ZOMBIE_SPAWN_REINFORCEMENTS");

    // SORTFIELDS:OFF

    private AttributeTypes() {
        throw new AssertionError("You should not be attempting to instantiate this class.");
    }
}

@@ -1535,24 +1535,32 @@
 ributeType%3E 
+GENERIC_
 ARMOR = Spon
@@ -1713,16 +1713,24 @@
 teType%3E 
+GENERIC_
 ARMOR_TO
@@ -1903,24 +1903,32 @@
 ributeType%3E 
+GENERIC_
 ATTACK_DAMAG
@@ -2093,24 +2093,32 @@
 ributeType%3E 
+GENERIC_
 ATTACK_SPEED
@@ -2285,16 +2285,24 @@
 teType%3E 
+GENERIC_
 ATTACK_K
@@ -2481,16 +2481,24 @@
 teType%3E 
+GENERIC_
 FOLLOW_R
@@ -2669,35 +2669,44 @@
 teType%3E 
-HORSE_JUMP_STRENGTH
+GENERIC_KNOCKBACK_RESISTANCE
  = Spong
@@ -2798,27 +2798,28 @@
 RIC.
-HORSE_JUMP_STRENGTH
+KNOCKBACK_RESISTANCE
 %22);%0A
@@ -2873,36 +2873,28 @@
 teType%3E 
-KNOCKBACK_RESISTANCE
+GENERIC_LUCK
  = Spong
@@ -2982,36 +2982,20 @@
 GENERIC.
-KNOCKBACK_RESISTANCE
+LUCK
 %22);%0A%0A   
@@ -3045,20 +3045,34 @@
 teType%3E 
-LUCK
+GENERIC_MAX_HEALTH
  = Spong
@@ -3152,36 +3152,42 @@
 class, %22GENERIC.
-LUCK
+MAX_HEALTH
 %22);%0A%0A    public 
@@ -3229,26 +3229,38 @@
 teType%3E 
-MAX_HEALTH
+GENERIC_MOVEMENT_SPEED
  = Spong
@@ -3345,33 +3345,37 @@
 , %22GENERIC.M
-AX_HEALTH
+OVEMENT_SPEED
 %22);%0A%0A    pub
@@ -3421,30 +3421,35 @@
 teType%3E 
-MOVEMENT_SPEED
+HORSE_JUMP_STRENGTH
  = Spong
@@ -3529,38 +3529,35 @@
 class, %22
-GENERIC.MOVEMENT_SPEED
+HORSE.JUMP_STRENGTH
 %22);%0A%0A   
@@ -3638,15 +3638,8 @@
 ENTS
-_CHANCE
  = S
@@ -3727,23 +3727,15 @@
 s, %22
-GENERIC.
 ZOMBIE
-_
+.
 SPAW

Rename fields again to match registry names. (#2171)