aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/crossmod/ic2
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 14:13:58 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 14:13:58 +0100
commit91b1909427bb0cab0f72505c325b07f8fb39c62e (patch)
treed6570897b7150afd4f3cb1470202af11e3e9ece3 /src/main/java/goodgenerator/crossmod/ic2
parent40efa0d238677418071b658b11b0a1a7c9e0d864 (diff)
downloadGT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.tar.gz
GT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.tar.bz2
GT5-Unofficial-91b1909427bb0cab0f72505c325b07f8fb39c62e.zip
Move GoodGen sources
Diffstat (limited to 'src/main/java/goodgenerator/crossmod/ic2')
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java10
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java129
2 files changed, 139 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java b/src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java
new file mode 100644
index 0000000000..0c94742ddb
--- /dev/null
+++ b/src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java
@@ -0,0 +1,10 @@
+package goodgenerator.crossmod.ic2;
+
+import ic2.api.crops.Crops;
+
+public class CropsLoader {
+
+ public static void registerCrops() {
+ Crops.instance.registerCrop(new GGCropsSaltyRoot("saltroot"));
+ }
+}
diff --git a/src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java b/src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java
new file mode 100644
index 0000000000..b17959b44a
--- /dev/null
+++ b/src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java
@@ -0,0 +1,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);
+ }
+}