aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java
blob: b17959b44aaf2054a1442c3054733c6dfa990f29 (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
package goodgenerator.crossmod.ic2;

import java.util.Arrays;
import java.util.List;

import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import goodgenerator.main.GoodGenerator;
import goodgenerator.util.ItemRefer;
import ic2.api.crops.CropCard;
import ic2.api.crops.ICropTile;
import speiger.src.crops.api.ICropCardInfo;

public class GGCropsSaltyRoot extends CropCard implements ICropCardInfo {

    private final String cropName;

    public GGCropsSaltyRoot(String name) {
        this.cropName = name;
    }

    @Override
    public String name() {
        return cropName;
    }

    @Override
    public int tier() {
        return 4;
    }

    @Override
    public int stat(int n) {
        return 0;
    }

    @Override
    public String[] attributes() {
        return new String[] { "Salt", "Gray", "Root", "Hydrophobic" };
    }

    @Override
    public int maxSize() {
        return 3;
    }

    @Override
    public boolean canGrow(ICropTile crop) {
        return crop.getSize() < maxSize();
    }

    @Override
    public int getOptimalHavestSize(ICropTile crop) {
        return 3;
    }

    @Override
    public boolean canBeHarvested(ICropTile crop) {
        return crop.getSize() == 3;
    }

    @Override
    public ItemStack getGain(ICropTile crop) {
        return ItemRefer.Salty_Root.get(1);
    }

    @Override
    public String discoveredBy() {
        return "GlodBlock";
    }

    @Override
    public String owner() {
        return GoodGenerator.MOD_ID;
    }

    @Override
    public String displayName() {
        return StatCollector.translateToLocal(
            "crops." + cropName.toLowerCase()
                .replace(" ", ""));
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void registerSprites(IIconRegister iconRegister) {
        textures = new IIcon[maxSize()];
        for (int i = 1; i <= textures.length; i++) {
            textures[i - 1] = iconRegister.registerIcon(GoodGenerator.MOD_ID + ":crops/" + name() + "." + i);
        }
    }

    @Override
    @SideOnly(Side.CLIENT)
    public IIcon getSprite(ICropTile crop) {
        if (crop.getSize() <= 0 || crop.getSize() > textures.length) return null;
        return textures[crop.getSize() - 1];
    }

    @Override
    public boolean canCross(ICropTile crop) {
        return crop.getSize() > 1;
    }

    @Override
    public float dropGainChance() {
        return 4.0F;
    }

    @Override
    public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) {
        return (int) (-humidity + nutrients * 2 + air);
    }

    @Override
    public List<String> getCropInformation() {
        return Arrays.asList("It prefers dry environment.", "Inedible.");
    }

    @Override
    public ItemStack getDisplayItem() {
        return ItemRefer.Salty_Root.get(1);
    }
}