Class GlobalLootModifierSerializer<T extends IGlobalLootModifier>

    • Constructor Detail

      • GlobalLootModifierSerializer

        public GlobalLootModifierSerializer()
    • Method Detail

      • setRegistryName

        public final GlobalLootModifierSerializer<T> setRegistryName​(ResourceLocation name)
        Description copied from interface: IForgeRegistryEntry
        Sets a unique name for this Item. This should be used for uniquely identify the instance of the Item. This is the valid replacement for the atrocious 'getUnlocalizedName().substring(6)' stuff that everyone does. Unlocalized names have NOTHING to do with unique identifiers. As demonstrated by vanilla blocks and items. The supplied name will be prefixed with the currently active mod's modId. If the supplied name already has a prefix that is different, it will be used and a warning will be logged. If a name already exists, or this Item is already registered in a registry, then an IllegalStateException is thrown. Returns 'this' to allow for chaining.
        Specified by:
        setRegistryName in interface IForgeRegistryEntry<T extends IGlobalLootModifier>
        Parameters:
        name - Unique registry name
        Returns:
        This instance
      • getRegistryName

        public final ResourceLocation getRegistryName()
        Description copied from interface: IForgeRegistryEntry
        A unique identifier for this entry, if this entry is registered already it will return it's official registry name. Otherwise it will return the name set in setRegistryName(). If neither are valid null is returned.
        Specified by:
        getRegistryName in interface IForgeRegistryEntry<T extends IGlobalLootModifier>
        Returns:
        Unique identifier or null.
      • read

        public abstract T read​(ResourceLocation location,
                               com.google.gson.JsonObject object,
                               ILootCondition[] ailootcondition)
        Most mods will likely not need more than
        return new MyModifier(conditionsIn)
        but any additional properties that are needed will need to be deserialized here.
        Parameters:
        name - The resource location (if needed)
        json - The full json object (including ILootConditions)
        conditionsIn - An already deserialized list of ILootConditions
      • makeConditions

        public com.google.gson.JsonObject makeConditions​(ILootCondition[] conditions)
        Helper to create the json object from the conditions. Add any extra properties to the returned json.
      • castClass

        private static <G> java.lang.Class<G> castClass​(java.lang.Class<?> cls)