aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/CustomOrePrefix.java
blob: c0c4e6a5c8667797ebc5e3d916dd3522f73ac782 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package gtPlusPlus.xmod.gregtech.api.enums;

import static gregtech.api.enums.GT_Values.B;

import gregtech.api.enums.OrePrefixes;
import net.minecraftforge.common.util.EnumHelper;

public enum CustomOrePrefix {
    milled(
            "Milled Ores",
            "Milled ",
            " Ore",
            true,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            true,
            B[3],
            -1,
            64,
            -1);

    private final String mRegularLocalName;
    private final String mLocalizedMaterialPre;
    private final String mLocalizedMaterialPost;
    private final boolean mIsUnificatable;
    private final boolean mIsMaterialBased;
    private final boolean mIsSelfReferencing;
    private final boolean mIsContainer;
    private final boolean mDontUnificateActively;
    private final boolean mIsUsedForBlocks;
    private final boolean mAllowNormalRecycling;
    private final boolean mGenerateDefaultItem;
    private final boolean mIsEnchantable;
    private final boolean mIsUsedForOreProcessing;
    private final int mMaterialGenerationBits;
    private final long mMaterialAmount;
    private final int mDefaultStackSize;
    private final int mTextureindex;

    private OrePrefixes mSelfReference;

    private CustomOrePrefix(
            String aRegularLocalName,
            String aLocalizedMaterialPre,
            String aLocalizedMaterialPost,
            boolean aIsUnificatable,
            boolean aIsMaterialBased,
            boolean aIsSelfReferencing,
            boolean aIsContainer,
            boolean aDontUnificateActively,
            boolean aIsUsedForBlocks,
            boolean aAllowNormalRecycling,
            boolean aGenerateDefaultItem,
            boolean aIsEnchantable,
            boolean aIsUsedForOreProcessing,
            int aMaterialGenerationBits,
            long aMaterialAmount,
            int aDefaultStackSize,
            int aTextureindex) {

        mRegularLocalName = aRegularLocalName;
        mLocalizedMaterialPre = aLocalizedMaterialPre;
        mLocalizedMaterialPost = aLocalizedMaterialPost;
        mIsUnificatable = aIsUnificatable;
        mIsMaterialBased = aIsMaterialBased;
        mIsSelfReferencing = aIsSelfReferencing;
        mIsContainer = aIsContainer;
        mDontUnificateActively = aDontUnificateActively;
        mIsUsedForBlocks = aIsUsedForBlocks;
        mAllowNormalRecycling = aAllowNormalRecycling;
        mGenerateDefaultItem = aGenerateDefaultItem;
        mIsEnchantable = aIsEnchantable;
        mIsUsedForOreProcessing = aIsUsedForOreProcessing;
        mMaterialGenerationBits = aMaterialGenerationBits;
        mMaterialAmount = aMaterialAmount;
        mDefaultStackSize = aDefaultStackSize;
        mTextureindex = aTextureindex;
    }

    public final boolean addToEnum() {

        mSelfReference = EnumHelper.addEnum(
                OrePrefixes.class,
                this.name(),
                new Class[] {
                    String.class,
                    String.class,
                    String.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    boolean.class,
                    int.class,
                    long.class,
                    int.class,
                    int.class
                },
                new Object[] {
                    mRegularLocalName,
                    mLocalizedMaterialPre,
                    mLocalizedMaterialPost,
                    mIsUnificatable,
                    mIsMaterialBased,
                    mIsSelfReferencing,
                    mIsContainer,
                    mDontUnificateActively,
                    mIsUsedForBlocks,
                    mAllowNormalRecycling,
                    mGenerateDefaultItem,
                    mIsEnchantable,
                    mIsUsedForOreProcessing,
                    mMaterialGenerationBits,
                    mMaterialAmount,
                    mDefaultStackSize,
                    mTextureindex
                });

        return mSelfReference != null;
    }

    public static final boolean checkEntryWasAdded(CustomOrePrefix aCustomPrefixObject) {
        return aCustomPrefixObject.mSelfReference != null;
    }

    public OrePrefixes get() {
        return mSelfReference;
    }
}