Implement GenericCrops class and add salad

This commit is contained in:
Matthias Schiffer 2014-05-27 00:06:40 +02:00
parent c9cdc60c05
commit 035b35d528
3 changed files with 86 additions and 1 deletions

View file

@ -2,12 +2,15 @@ package net.universe_factory.minecraft.test;
import java.util.ArrayList;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemSeeds;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.terraingen.BiomeEvent.CreateDecorator;
import net.universe_factory.minecraft.test.generic.GenericCrops;
import net.universe_factory.minecraft.test.generic.GenericWood;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
@ -56,13 +59,36 @@ public class Test {
}
};
public static final GenericCrops saladField = new GenericCrops() {
@Override
public String getName() {
return "salad";
}
@Override
public Item itemCrops() {
return salad;
}
@Override
public Item itemSeeds() {
return saladSeeds;
}
};
public static final Item saladSeeds = new ItemSeeds(saladField, Blocks.farmland).setTextureName(MODID + ":seeds_salad")
.setUnlocalizedName("seedsSalad");
public static final Item salad = new ItemFood(3, 0.8f, false).setTextureName(MODID + ":salad").setUnlocalizedName("salad");
@EventHandler
public void preInit(FMLInitializationEvent event) {
MinecraftForge.TERRAIN_GEN_BUS.register(new TerrainGenHandler());
GameRegistry.registerItem(cherries, "cherries");
cherryTree.register();
GameRegistry.registerItem(saladSeeds, "seeds_salad");
GameRegistry.registerItem(salad, "salad");
GameRegistry.registerBlock(saladField, null, "salad");
}
public class TerrainGenHandler {

View file

@ -0,0 +1,55 @@
package net.universe_factory.minecraft.test.generic;
import net.minecraft.block.BlockCrops;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.universe_factory.minecraft.test.Test;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public abstract class GenericCrops extends BlockCrops {
@SideOnly(Side.CLIENT)
private IIcon[] icons;
protected GenericCrops() {
setBlockName(getName());
setBlockTextureName(Test.MODID + ":" + getName().toLowerCase());
}
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
if (meta < 7) {
if (meta == 6) {
meta = 5;
}
return this.icons[meta >> 1];
} else {
return this.icons[3];
}
}
protected Item func_149866_i() {
return itemSeeds();
}
protected Item func_149865_P() {
return itemCrops();
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.icons = new IIcon[4];
for (int i = 0; i < this.icons.length; ++i) {
this.icons[i] = iconRegister.registerIcon(this.getTextureName() + "_stage_" + i);
}
}
public abstract String getName();
public abstract Item itemCrops();
public abstract Item itemSeeds();
}

View file

@ -6,3 +6,7 @@ tile.leavesCherry.name=Cherry Tree Leaves
tile.saplingCherry.name=Cherry Tree Sapling
tile.woodSlabCherry.name=Cherry Tree Wood Slab
tile.stairsWoodCherry.name=Cherry Tree Wood Stairs
item.salad.name=Salad
item.seedsSalad.name=Salad Seeds
tile.salad.name=Salad