aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/crossmod
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2022-02-07 14:29:10 +0800
committerGlodBlock <1356392126@qq.com>2022-02-07 14:29:10 +0800
commit6f2176208bc54e55d1e5272f18e958b68f40f5c6 (patch)
treef601f1184359ba606ffa78382373d6374ed99428 /src/main/java/goodgenerator/crossmod
parentea6e1ce07bf3b44b6e89d0e38b405a021d613387 (diff)
downloadGT5-Unofficial-6f2176208bc54e55d1e5272f18e958b68f40f5c6.tar.gz
GT5-Unofficial-6f2176208bc54e55d1e5272f18e958b68f40f5c6.tar.bz2
GT5-Unofficial-6f2176208bc54e55d1e5272f18e958b68f40f5c6.zip
salt crops
Diffstat (limited to 'src/main/java/goodgenerator/crossmod')
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java11
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java129
2 files changed, 140 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..ce9e9f74a1
--- /dev/null
+++ b/src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java
@@ -0,0 +1,11 @@
+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..da296e2626
--- /dev/null
+++ b/src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java
@@ -0,0 +1,129 @@
+package goodgenerator.crossmod.ic2;
+
+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 net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import speiger.src.crops.api.ICropCardInfo;
+
+import java.util.Arrays;
+import java.util.List;
+
+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 true;
+ }
+
+ @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);
+ }
+}