Added an automatic feeder and prep for a new block

This commit is contained in:
Ellpeck 2015-02-17 16:15:16 +01:00
parent c9f5d731ed
commit e188e86d76
96 changed files with 1159 additions and 938 deletions

View file

@ -22,7 +22,7 @@ group = "ellpeck.someprettyrandomstuff"
archivesBaseName = "SomePrettyRandomStuff"
minecraft {
version = "1.8-11.14.0.1295-1.8"
version = "1.7.10-10.13.2.1291"
runDir = "idea"
}

View file

@ -1,5 +1,10 @@
package ellpeck.someprettyrandomstuff;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import ellpeck.someprettyrandomstuff.achievement.AchievementEvent;
import ellpeck.someprettyrandomstuff.achievement.InitAchievements;
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
@ -8,14 +13,10 @@ import ellpeck.someprettyrandomstuff.crafting.InitCrafting;
import ellpeck.someprettyrandomstuff.gen.OreGen;
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
import ellpeck.someprettyrandomstuff.items.InitItems;
import ellpeck.someprettyrandomstuff.material.InitItemMaterials;
import ellpeck.someprettyrandomstuff.proxy.IProxy;
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = Util.MOD_ID, name = Util.NAME, version = Util.VERSION)
public class SPRS{
@ -33,6 +34,7 @@ public class SPRS{
Util.logInfo("Starting PreInitialization Phase...");
ConfigurationHandler.init(event.getSuggestedConfigurationFile());
InitItemMaterials.init();
InitBlocks.init();
InitItems.init();
proxy.preInit();

View file

@ -1,14 +1,14 @@
package ellpeck.someprettyrandomstuff.achievement;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
import ellpeck.someprettyrandomstuff.items.InitItems;
import ellpeck.someprettyrandomstuff.items.metalists.TheFoods;
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
public class AchievementEvent{
@ -30,6 +30,12 @@ public class AchievementEvent{
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal()){
event.player.addStat(InitAchievements.achievementCraftMashedFood, 1);
}
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.KNIFE_BLADE.ordinal()){
event.player.addStat(InitAchievements.achievementCraftKnifeBlade, 1);
}
if(event.crafting.getItem() == InitItems.itemKnife){
event.player.addStat(InitAchievements.achievementCraftKnife, 1);
}
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.SUBMARINE_SANDWICH.ordinal()){
event.player.addStat(InitAchievements.achievementCraftSubSandwich, 1);
}

View file

@ -8,7 +8,7 @@ public class AchievementSPRS extends Achievement{
public AchievementSPRS(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){
super("achievement." + name, name, x, y, displayStack, hasToHaveBefore);
InitAchievements.achievementList.add(this);
if(hasToHaveBefore == null) this.func_180789_a();
this.func_180788_c();
if(hasToHaveBefore == null) this.initIndependentStat();
this.registerStat();
}
}

View file

@ -17,6 +17,9 @@ public class InitAchievements{
public static AchievementPage theAchievementPage;
public static ArrayList<Achievement> achievementList = new ArrayList<Achievement>();
public static Achievement achievementCraftKnifeBlade;
public static Achievement achievementCraftKnife;
public static Achievement achievementCraftDough;
public static Achievement achievementSmeltBaguette;
public static Achievement achievementCraftSubSandwich;
@ -33,21 +36,24 @@ public class InitAchievements{
public static void init(){
Util.logInfo("Initializing Achievements...");
achievementCraftDough = new AchievementSPRS("craftDough", 0, -3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), null);
achievementCraftKnifeBlade = new AchievementSPRS("craftKnifeBlade", -2, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), null);
achievementCraftKnife = new AchievementSPRS("craftKnife", 0, 0, new ItemStack(InitItems.itemKnife), achievementCraftKnifeBlade);
achievementCraftDough = new AchievementSPRS("craftDough", 0, -3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), achievementCraftKnife);
achievementSmeltBaguette = new AchievementSPRS("smeltBaguette", 2, -3, new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()), achievementCraftDough);
achievementCraftSubSandwich = new AchievementSPRS("craftSubSandwich", 4, -3, new ItemStack(InitItems.itemFoods, 1, TheFoods.SUBMARINE_SANDWICH.ordinal()), achievementSmeltBaguette);
achievementCraftMashedFood = new AchievementSPRS("craftMashedFood", 0, 0 , new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()), null);
achievementCraftCompost = new AchievementSPRS("craftCompost", 2, 0, new ItemStack(InitBlocks.blockCompost), achievementCraftMashedFood);
achievementCraftFertilizer = new AchievementSPRS("craftFertilizer", 4, 0, new ItemStack(InitItems.itemFertilizer), achievementCraftCompost);
achievementCraftMashedFood = new AchievementSPRS("craftMashedFood", 3, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()), achievementCraftKnife);
achievementCraftCompost = new AchievementSPRS("craftCompost", 5, 0, new ItemStack(InitBlocks.blockCompost), achievementCraftMashedFood);
achievementCraftFertilizer = new AchievementSPRS("craftFertilizer", 7, 0, new ItemStack(InitItems.itemFertilizer), achievementCraftCompost);
achievementCraftPaperCone = new AchievementSPRS("craftPaperCone", 0, 3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), null);
achievementCraftPaperCone = new AchievementSPRS("craftPaperCone", 0, 3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), achievementCraftKnife);
achievementCraftFrenchFry = new AchievementSPRS("craftFrenchFry", 2, 3, new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()), achievementCraftPaperCone);
achievementCraftFrenchFries = new AchievementSPRS("craftFrenchFries", 4, 4, new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRIES.ordinal()), achievementCraftFrenchFry);
achievementCraftFishNChips = new AchievementSPRS("craftFishNChips", 4, 2, new ItemStack(InitItems.itemFoods, 1, TheFoods.FISH_N_CHIPS.ordinal()), achievementCraftFrenchFry);
theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + Util.MOD_ID), achievementList.toArray(new Achievement[achievementList.size()]));
theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + Util.MOD_ID_LOWER), achievementList.toArray(new Achievement[achievementList.size()]));
AchievementPage.registerAchievementPage(theAchievementPage);
}

View file

@ -1,20 +1,19 @@
package ellpeck.someprettyrandomstuff.blocks;
import cpw.mods.fml.client.registry.RenderingRegistry;
import ellpeck.someprettyrandomstuff.achievement.InitAchievements;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.items.ItemFertilizer;
import ellpeck.someprettyrandomstuff.items.ItemMisc;
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
import ellpeck.someprettyrandomstuff.tile.TileEntityCompost;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import java.util.List;
@ -24,25 +23,26 @@ public class BlockCompost extends BlockContainerBase{
public BlockCompost(){
super(Material.wood);
this.setCreativeTab(CreativeTab.instance);
this.setUnlocalizedName("blockCompost");
this.setBlockName("blockCompost");
this.setHarvestLevel("axe", 0);
this.setHardness(1.0F);
this.setStepSound(soundTypeWood);
}
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ){
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){
if(!world.isRemote){
ItemStack stackPlayer = player.getCurrentEquippedItem();
TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(pos);
TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(x, y, z);
//Add items to be composted
if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getMetadata() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < tile.amountNeededToConvert))){
if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < tile.amountNeededToConvert))){
if(tile.slots[0] == null) tile.slots[0] = new ItemStack(stackPlayer.getItem(), 1, TheMiscItems.MASHED_FOOD.ordinal());
else tile.slots[0].stackSize++;
if(!player.capabilities.isCreativeMode) player.inventory.getCurrentItem().stackSize--;
}
//Add Fertilizer to player's inventory
else if(stackPlayer == null && tile.slots[0] != null && tile.slots[0].getItem() instanceof ItemFertilizer){
player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy());
else if(tile.slots[0] != null && (stackPlayer == null || (stackPlayer.getItem() instanceof ItemFertilizer && stackPlayer.stackSize <= stackPlayer.getMaxStackSize() - tile.slots[0].stackSize)) && tile.slots[0].getItem() instanceof ItemFertilizer){
if(stackPlayer == null) player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy());
else player.getCurrentEquippedItem().stackSize+=tile.slots[0].stackSize;
player.addStat(InitAchievements.achievementCraftFertilizer, 1);
tile.slots[0] = null;
}
@ -50,18 +50,18 @@ public class BlockCompost extends BlockContainerBase{
return true;
}
public void addCollisionBoxesToList(World world, BlockPos pos, IBlockState state, AxisAlignedBB mask, List list, Entity collidingEntity){
public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB mask, List list, Entity collidingEntity){
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.3125F, 1.0F);
super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity);
super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity);
float f = 0.125F;
this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F);
super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity);
super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity);
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f);
super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity);
super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity);
this.setBlockBounds(1.0F - f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity);
super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity);
this.setBlockBounds(0.0F, 0.0F, 1.0F - f, 1.0F, 1.0F, 1.0F);
super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity);
super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity);
this.setBlockBoundsForItemRender();
}
@ -73,15 +73,20 @@ public class BlockCompost extends BlockContainerBase{
return false;
}
public boolean isFullCube(){
public boolean renderAsNormalBlock(){
return false;
}
public int getRenderType(){
return 3;
return RenderingRegistry.getNextAvailableRenderId();
}
public TileEntity createNewTileEntity(World world, int meta){
return new TileEntityCompost();
}
public void breakBlock(World world, int x, int y, int z, Block block, int par6){
this.dropInventory(world, x, y, z);
super.breakBlock(world, x, y, z, block, par6);
}
}

View file

@ -6,7 +6,6 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
import java.util.Random;
@ -17,8 +16,8 @@ public abstract class BlockContainerBase extends BlockContainer{
super(mat);
}
public TileEntityInventoryBase dropInventory(World world, BlockPos blockPos){
TileEntityInventoryBase tileEntity = (TileEntityInventoryBase) world.getTileEntity(blockPos);
public TileEntityInventoryBase dropInventory(World world, int x, int y, int z){
TileEntityInventoryBase tileEntity = (TileEntityInventoryBase)world.getTileEntity(x, y, z);
for (int i = 0; i < tileEntity.getSizeInventory(); i++){
ItemStack itemStack = tileEntity.getStackInSlot(i);
if (itemStack != null && itemStack.stackSize > 0) {
@ -26,7 +25,7 @@ public abstract class BlockContainerBase extends BlockContainer{
float dX = rand.nextFloat() * 0.8F + 0.1F;
float dY = rand.nextFloat() * 0.8F + 0.1F;
float dZ = rand.nextFloat() * 0.8F + 0.1F;
EntityItem entityItem = new EntityItem(world, blockPos.getX() + dX, blockPos.getY() + dY, blockPos.getZ() + dZ, itemStack.copy());
EntityItem entityItem = new EntityItem(world, x + dX, y + dY, z + dZ, itemStack.copy());
if (itemStack.hasTagCompound())
entityItem.getEntityItem().setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
float factor = 0.05F;

View file

@ -0,0 +1,55 @@
package ellpeck.someprettyrandomstuff.blocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.SPRS;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class BlockFeeder extends BlockContainerBase{
private IIcon topIcon;
public BlockFeeder(){
super(Material.wood);
this.setBlockName("blockFeeder");
this.setCreativeTab(CreativeTab.instance);
}
public TileEntity createNewTileEntity(World world, int par2){
return new TileEntityFeeder();
}
public IIcon getIcon(int side, int metadata){
return (side == 0 || side == 1) ? this.topIcon : this.blockIcon;
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconReg){
this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + "Top");
}
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){
if(!world.isRemote){
TileEntityFeeder feeder = (TileEntityFeeder)world.getTileEntity(x, y, z);
if (feeder != null) player.openGui(SPRS.instance, GuiHandler.FEEDER_ID, world, x, y, z);
return true;
}
return true;
}
public void breakBlock(World world, int x, int y, int z, Block block, int par6){
this.dropInventory(world, x, y, z);
super.breakBlock(world, x, y, z, block, par6);
}
}

View file

@ -0,0 +1,85 @@
package ellpeck.someprettyrandomstuff.blocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.blocks.metalists.TheMiscBlocks;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.items.InitItems;
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
import java.util.Random;
public class BlockMisc extends Block{
public static final TheMiscBlocks[] allMiscBlocks = TheMiscBlocks.values();
public IIcon[] textures = new IIcon[allMiscBlocks.length];
public BlockMisc(){
super(Material.rock);
this.setBlockName("blockMisc");
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("all")
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs tab, List list){
for (int j = 0; j < allMiscBlocks.length; ++j){
list.add(new ItemStack(item, 1, j));
}
}
public Item getItemDropped(int meta, Random rand, int par3){
return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? InitItems.itemMisc : super.getItemDropped(meta, rand, par3);
}
public int damageDropped(int meta){
return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? TheMiscItems.QUARTZ.ordinal() : super.damageDropped(meta);
}
public IIcon getIcon(int side, int metadata){
return textures[metadata];
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconReg){
for(int i = 0; i < textures.length; i++){
textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscBlocks[i].getName());
}
}
public static class ItemBlockMisc extends ItemBlock{
public ItemBlockMisc(Block block){
super(block);
this.setHasSubtypes(true);
this.setMaxDamage(0);
}
public String getUnlocalizedName(ItemStack stack){
return this.getUnlocalizedName() + allMiscBlocks[stack.getItemDamage()].getName();
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc"));
else list.add(Util.shiftForInfo());
}
public int getMetadata(int damage){
return damage;
}
}
}

View file

@ -1,12 +1,12 @@
package ellpeck.someprettyrandomstuff.blocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;

View file

@ -1,20 +1,27 @@
package ellpeck.someprettyrandomstuff.blocks;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.Block;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class InitBlocks{
public static Block blockCompost;
public static Block blockMisc;
public static Block blockFeeder;
public static void init(){
Util.logInfo("Initializing Blocks...");
blockCompost = new BlockCompost();
GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, blockCompost.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockCompost));
blockMisc = new BlockMisc();
GameRegistry.registerBlock(blockMisc, BlockMisc.ItemBlockMisc.class, Util.getSubbedUnlocalized(blockMisc));
blockFeeder = new BlockFeeder();
GameRegistry.registerBlock(blockFeeder, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockFeeder));
}
}

View file

@ -0,0 +1,21 @@
package ellpeck.someprettyrandomstuff.blocks.metalists;
import ellpeck.someprettyrandomstuff.util.IItemEnum;
public enum TheMiscBlocks implements IItemEnum{
QUARTZ_PILLAR("BlackQuartzPillar"),
QUARTZ_CHISELED("BlackQuartzChiseled"),
QUARTZ("BlackQuartz"),
ORE_QUARTZ("OreBlackQuartz");
public final String name;
private TheMiscBlocks(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}

View file

@ -9,10 +9,30 @@ public class ConfigValues{
public static boolean[] enabledFoodRecipes = new boolean[TheFoods.values().length];
public static boolean[] enabledMiscRecipes = new boolean[TheMiscItems.values().length];
public static boolean enableCompostRecipe;
public static boolean enableKnifeRecipe;
public static int tileEntityCompostAmountNeededToConvert;
public static int tileEntityCompostConversionTimeNeeded;
public static int tileEntityFeederReach;
public static int tileEntityFeederTimeNeeded;
public static int tileEntityFeederThreshold;
public static int itemKnifeMaxDamage;
public static int toolEmeraldHarvestLevel;
public static int toolEmeraldMaxUses;
public static float toolEmeraldEfficiency;
public static float toolEmeraldDamage;
public static int toolEmeraldEnchantability;
public static int toolObsidianHarvestLevel;
public static int toolObsidianMaxUses;
public static float toolObsidianEfficiency;
public static float toolObsidianDamage;
public static int toolObsidianEnchantability;
public static void defineConfigValues(Configuration config){
for(int i = 0; i < enabledFoodRecipes.length; i++){
@ -23,8 +43,28 @@ public class ConfigValues{
}
enableCompostRecipe = config.getBoolean("isCompostCraftingRecipeEnabled", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Compost is Enabled");
enableKnifeRecipe = config.getBoolean("isKnifeCraftingRecipeEnabled", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for the Knife is Enabled");
tileEntityCompostAmountNeededToConvert = config.getInt("tileEntityCompostAmountNeededToConvert", ConfigurationHandler.CATEGORY_COMPOST_VALUES, 10, 1, 64, "How many items are needed in the Compost to convert to Fertilizer");
tileEntityCompostConversionTimeNeeded = config.getInt("tileEntityCompostConversionTimeNeeded", ConfigurationHandler.CATEGORY_COMPOST_VALUES, 1000, 30, 10000, "How long the Compost needs to convert to Fertilizer");
tileEntityFeederReach = config.getInt("tileEntityFeederReach", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 5, 1, 20, "The Radius of Action of the Feeder");
tileEntityFeederTimeNeeded = config.getInt("tileEntityFeederTimeNeeded", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 100, 50, 5000, "The time spent between feeding animals with the Feeder");
tileEntityFeederThreshold = config.getInt("tileEntityFeederThreshold", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 30, 3, 500, "How many animals need to be in the area for the Feeder to stop");
itemKnifeMaxDamage = config.getInt("itemKnifeMaxDamage", ConfigurationHandler.CATEGORY_ITEM_DAMAGE_VALUES, 100, 5, 5000, "How often the Knife can be crafted with");
toolEmeraldHarvestLevel = config.getInt("toolEmeraldHarvestLevel", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Emerald Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)");
toolEmeraldMaxUses = config.getInt("toolEmeraldMaxUses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2000, 50, 10000, "How often Emerald Tools can be used");
toolEmeraldEfficiency = config.getFloat("toolEmeraldEfficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 9.0F, 1.0F, 20.0F, "How fast Emerald Tools are");
toolEmeraldDamage = config.getFloat("toolEmeraldDamage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 5.0F, 0.1F, 50.0F, "How much damage an Emerald Tool deals");
toolEmeraldEnchantability = config.getInt("toolEmeraldEnchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Emerald Tool is");
toolObsidianHarvestLevel = config.getInt("toolObsidianHarvestLevel", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Obsidian Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)");
toolObsidianMaxUses = config.getInt("toolObsidianMaxUses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 8000, 50, 20000, "How often Obsidian Tools can be used");
toolObsidianEfficiency = config.getFloat("toolObsidianEfficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 4.0F, 1.0F, 20.0F, "How fast Obsidian Tools are");
toolObsidianDamage = config.getFloat("toolObsidianDamage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2.0F, 0.1F, 50.0F, "How much damage an Obsidian Tool deals");
toolObsidianEnchantability = config.getInt("toolObsidianEnchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Obsidian Tool is");
}
}

View file

@ -11,11 +11,14 @@ public class ConfigurationHandler{
public static final String CATEGORY_MISC_CRAFTING = "misc crafting";
public static final String CATEGORY_COMPOST_VALUES = "compost values";
public static final String CATEGORY_BLOCKS_CRAFTING = "block crafting";
public static final String CATEGORY_ITEMS_CRAFTING = "items crafting";
public static final String CATEGORY_ITEM_DAMAGE_VALUES = "item damage values";
public static final String CATEGORY_TOOL_VALUES = "tool values";
public static final String CATEGORY_FEEDER_VALUES = "feeder values";
public static Configuration config;
public static void init(File configFile){
Util.logInfo("Grabbing Configurations...");
Configuration config = new Configuration(configFile);

View file

@ -1,5 +1,6 @@
package ellpeck.someprettyrandomstuff.crafting;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
import ellpeck.someprettyrandomstuff.config.ConfigValues;
import ellpeck.someprettyrandomstuff.items.InitItems;
@ -11,84 +12,143 @@ import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class InitCrafting {
public static void init(){
Util.logInfo("Initializing Crafting Recipes...");
//Baguette
if(ConfigValues.enabledFoodRecipes[TheFoods.BAGUETTE.ordinal()])
GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1,
TheMiscItems.DOUGH.ordinal()), new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()), 1F);
//Dough
if(ConfigValues.enabledMiscRecipes[TheMiscItems.DOUGH.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 2, TheMiscItems.DOUGH.ordinal()),
new ItemStack(Items.wheat), new ItemStack(Items.wheat));
//Pizza
if(ConfigValues.enabledFoodRecipes[TheFoods.PIZZA.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.PIZZA.ordinal()),
"HHH", "MCF", " D ",
"HKH", "MCF", " D ",
'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()),
'M', new ItemStack(Blocks.brown_mushroom),
'C', new ItemStack(Items.carrot),
'F', new ItemStack(Items.fish, 1, Util.WILDCARD),
'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD),
'H', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()));
//Hamburger
if(ConfigValues.enabledFoodRecipes[TheFoods.HAMBURGER.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.HAMBURGER.ordinal()),
" T ", "CBS", " T ",
"KT ", "CBS", " T ",
'T', new ItemStack(InitItems.itemFoods, 1, TheFoods.TOAST.ordinal()),
'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()),
'S', new ItemStack(Blocks.leaves, 1, Util.WILDCARD),
'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD),
'B', new ItemStack(Items.cooked_beef));
//Big Cookie
if(ConfigValues.enabledFoodRecipes[TheFoods.BIG_COOKIE.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.BIG_COOKIE.ordinal()),
"DCD", "CDC", "DCD",
'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()),
'C', new ItemStack(Items.dye, 1, 3));
//Sub Sandwich
if(ConfigValues.enabledFoodRecipes[TheFoods.SUBMARINE_SANDWICH.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.SUBMARINE_SANDWICH.ordinal()),
"PCP", "FBS", "PCP",
"KCP", "FBS", "PCP",
'P', new ItemStack(Items.paper),
'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()),
'F', new ItemStack(Items.fish, 1, Util.WILDCARD),
'B', new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()),
'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD),
'S', new ItemStack(Blocks.leaves, 1, Util.WILDCARD));
//Paper Cone
if(ConfigValues.enabledMiscRecipes[TheMiscItems.PAPER_CONE.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()),
"P P", " P ",
'P', new ItemStack(Items.paper));
Items.iron_sword.setContainerItem(Items.iron_sword);
//French Fry
if(ConfigValues.enabledFoodRecipes[TheFoods.FRENCH_FRY.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()),
new ItemStack(Items.baked_potato),
new ItemStack(Items.iron_sword, 1, Util.WILDCARD));
Items.iron_sword.setContainerItem(null);
new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD));
//Knife Handle
if(ConfigValues.enabledMiscRecipes[TheMiscItems.KNIFE_HANDLE.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()),
new ItemStack(Items.stick),
new ItemStack(Items.slime_ball));
//Knife Blade
if(ConfigValues.enabledMiscRecipes[TheMiscItems.KNIFE_BLADE.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()),
new ItemStack(Items.iron_ingot),
new ItemStack(Items.slime_ball));
//Knife
if(ConfigValues.enableKnifeRecipe)
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemKnife),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()));
//French Fries
if(ConfigValues.enabledFoodRecipes[TheFoods.FRENCH_FRIES.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRIES.ordinal()),
"FFF", " P ",
'P', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()),
'F', new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()));
//Fish N Chips
if(ConfigValues.enabledFoodRecipes[TheFoods.FISH_N_CHIPS.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FISH_N_CHIPS.ordinal()),
"FIF", " P ",
'I', new ItemStack(Items.cooked_fish, 1, Util.WILDCARD),
'I', new ItemStack(Items.cooked_fished, 1, Util.WILDCARD),
'P', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()),
'F', new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()));
//Compost
if(ConfigValues.enableCompostRecipe)
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockCompost),
"W W", "WFW", "WWW",
'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD),
'F', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()));
//Cheese
if(ConfigValues.enabledFoodRecipes[TheFoods.CHEESE.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()),
new ItemStack(Items.milk_bucket));
//Pumpkin Stew
if(ConfigValues.enabledFoodRecipes[TheFoods.PUMPKIN_STEW.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.PUMPKIN_STEW.ordinal()),
"P", "B",
'P', new ItemStack(Blocks.pumpkin),
'B', new ItemStack(Items.bowl));
//Carrot Juice
if(ConfigValues.enabledFoodRecipes[TheFoods.CARROT_JUICE.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CARROT_JUICE.ordinal()),
new ItemStack(Items.glass_bottle), new ItemStack(Items.carrot), new ItemStack(InitItems.itemKnife));
//Spaghetti
if(ConfigValues.enabledFoodRecipes[TheFoods.SPAGHETTI.ordinal()])
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.SPAGHETTI.ordinal()),
"NNN", "B",
'N', new ItemStack(InitItems.itemFoods, 1, TheFoods.NOODLE.ordinal()),
'B', new ItemStack(Items.bowl));
//Noodle
if(ConfigValues.enabledFoodRecipes[TheFoods.NOODLE.ordinal()])
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.NOODLE.ordinal()),
new ItemStack(Items.wheat), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), new ItemStack(InitItems.itemKnife));
//Mashed Food
if(ConfigValues.enabledMiscRecipes[TheMiscItems.MASHED_FOOD.ordinal()])
initMashedFoodRecipes();
}
@ -98,7 +158,7 @@ public class InitCrafting {
for(Object nextIterator : Item.itemRegistry){
if(nextIterator instanceof ItemFood){
ItemStack ingredient = new ItemStack((Item)nextIterator, 1, Util.WILDCARD);
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient);
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD));
}
}
}

View file

@ -12,7 +12,7 @@ public class CreativeTab extends CreativeTabs{
public static CreativeTab instance = new CreativeTab();
public CreativeTab(){
super(Util.MOD_ID);
super(Util.MOD_ID_LOWER);
}
public Item getTabIconItem(){

View file

@ -1,20 +1,19 @@
package ellpeck.someprettyrandomstuff.gen;
import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockPos;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.fml.common.IWorldGenerator;
import net.minecraftforge.fml.common.registry.GameRegistry;
import java.util.Random;
public class OreGen implements IWorldGenerator{
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider){
switch (world.provider.getDimensionId()){
switch (world.provider.dimensionId){
case -1:
generateNether(world, random, chunkX*16, chunkZ*16);
case 0:
@ -38,13 +37,13 @@ public class OreGen implements IWorldGenerator{
}
public void addOreSpawn(IBlockState state, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){
public void addOreSpawn(Block block, int meta, int x, int y, int z, Block blockIn, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){
int yDiff = maxY - minY;
for(int i = 0; i < chancesToSpawn; i++){
int posX = blockXPos + random.nextInt(16);
int posY = minY + random.nextInt(yDiff);
int posZ = blockZPos + random.nextInt(16);
(new WorldGenMinable(state, maxVeinSize)).generate(world, random, new BlockPos(posX, posY, posZ));
(new WorldGenMinable(block, meta, maxVeinSize, blockIn)).generate(world, random, posX, posY, posZ);
}
}

View file

@ -0,0 +1,140 @@
package ellpeck.someprettyrandomstuff.inventory;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerFeeder extends Container{
private TileEntityFeeder tileFeeder;
private int lastCurrentTimer;
private int lastCurrentAnimalAmount;
private int lastIsBred;
public ContainerFeeder(InventoryPlayer inventory, TileEntityBase tile){
this.tileFeeder = (TileEntityFeeder)tile;
this.addSlotToContainer(new Slot(this.tileFeeder, 0, 80, 45));
for (int i = 0; i < 3; i++){
for (int j = 0; j < 9; j++){
this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 74 + i * 18));
}
}
for (int i = 0; i < 9; i++){
this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 132));
}
}
public void addCraftingToCrafters(ICrafting iCraft){
super.addCraftingToCrafters(iCraft);
iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer);
iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount);
iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred);
}
public void detectAndSendChanges(){
super.detectAndSendChanges();
for(Object crafter : this.crafters){
ICrafting iCraft = (ICrafting)crafter;
if(this.lastCurrentTimer != this.tileFeeder.currentTimer) iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer);
if(this.lastCurrentAnimalAmount != this.tileFeeder.currentAnimalAmount) iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount);
if(this.lastIsBred != this.tileFeeder.isBred) iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred);
}
this.lastCurrentTimer = this.tileFeeder.currentTimer;
this.lastCurrentAnimalAmount = this.tileFeeder.currentAnimalAmount;
this.lastIsBred = this.tileFeeder.isBred;
}
@SideOnly(Side.CLIENT)
public void updateProgressBar(int par1, int par2){
if(par1 == 0) this.tileFeeder.currentTimer = par2;
if(par1 == 1) this.tileFeeder.currentAnimalAmount = par2;
if(par1 == 2) this.tileFeeder.isBred = par2;
}
public boolean canInteractWith(EntityPlayer player){
return this.tileFeeder.isUseableByPlayer(player);
}
public ItemStack transferStackInSlot(EntityPlayer player, int slot){
/*ItemStack itemstack = null;
Slot slot = (Slot)this.inventorySlots.get(p_82846_2_);
if (slot != null && slot.getHasStack())
{
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (p_82846_2_ == 2)
{
if (!this.mergeItemStack(itemstack1, 3, 39, true))
{
return null;
}
slot.onSlotChange(itemstack1, itemstack);
}
else if (p_82846_2_ != 1 && p_82846_2_ != 0)
{
if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null)
{
if (!this.mergeItemStack(itemstack1, 0, 1, false))
{
return null;
}
}
else if (TileEntityFurnace.isItemFuel(itemstack1))
{
if (!this.mergeItemStack(itemstack1, 1, 2, false))
{
return null;
}
}
else if (p_82846_2_ >= 3 && p_82846_2_ < 30)
{
if (!this.mergeItemStack(itemstack1, 30, 39, false))
{
return null;
}
}
else if (p_82846_2_ >= 30 && p_82846_2_ < 39 && !this.mergeItemStack(itemstack1, 3, 30, false))
{
return null;
}
}
else if (!this.mergeItemStack(itemstack1, 3, 39, false))
{
return null;
}
if (itemstack1.stackSize == 0)
{
slot.putStack((ItemStack)null);
}
else
{
slot.onSlotChanged();
}
if (itemstack1.stackSize == itemstack.stackSize)
{
return null;
}
slot.onPickupFromSlot(p_82846_1_, itemstack1);
}
return itemstack;*/
return null;
}
}

View file

@ -0,0 +1,57 @@
package ellpeck.someprettyrandomstuff.inventory;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import java.util.Arrays;
@SideOnly(Side.CLIENT)
public class GuiFeeder extends GuiContainer{
private static final ResourceLocation resLoc = Util.getGuiLocation("guiFeeder");
private TileEntityFeeder tileFeeder;
public GuiFeeder(InventoryPlayer inventory, TileEntityBase tile){
super(new ContainerFeeder(inventory, tile));
this.tileFeeder = (TileEntityFeeder)tile;
this.xSize = 176;
this.ySize = 156;
}
public void drawGuiContainerForegroundLayer(int x, int y){
}
public void drawGuiContainerBackgroundLayer(float f, int x, int y){
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(resLoc);
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
if(this.tileFeeder.currentTimer > 0){
int i = this.tileFeeder.getCurrentTimerToScale(22);
this.drawTexturedModalRect(guiLeft+80, guiTop+42-i, 176, 16+22-i, 16, 22);
}
if(this.tileFeeder.isBred == 1) this.drawTexturedModalRect(guiLeft+76, guiTop+4, 176, 0, 25, 16);
if(this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 16, 8, 8);
if(this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 24, 8, 8);
}
public void drawScreen(int x, int y, float f){
super.drawScreen(x, y, f);
if(x >= guiLeft+69 && y >= guiTop+30 && x <= guiLeft+69+10 && y <= guiTop+30+10){
String[] array = new String[]{(this.tileFeeder.currentAnimalAmount + " " + StatCollector.translateToLocal("feeder.animal.desc") + (this.tileFeeder.currentAnimalAmount == 1 ? "" : StatCollector.translateToLocal("feeder.animalsSuffix.desc"))), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("feeder.tooMany.desc") : StatCollector.translateToLocal("feeder.notEnough.desc")))};
this.func_146283_a(Arrays.asList(array), x, y);
}
}
}

View file

@ -1,32 +1,37 @@
package ellpeck.someprettyrandomstuff.inventory;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import ellpeck.someprettyrandomstuff.SPRS;
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.IGuiHandler;
import net.minecraftforge.fml.common.network.NetworkRegistry;
public class GuiHandler implements IGuiHandler{
public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z) {
TileEntityBase tile = (TileEntityBase)world.getTileEntity(new BlockPos(x, y, z));
switch (id) {
public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){
TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z);
switch (id){
case FEEDER_ID:
return new ContainerFeeder(entityPlayer.inventory, tile);
default:
return null;
}
}
public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z) {
TileEntityBase tile = (TileEntityBase)world.getTileEntity(new BlockPos(x, y, z));
switch (id) {
public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){
TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z);
switch (id){
case FEEDER_ID:
return new GuiFeeder(entityPlayer.inventory, tile);
default:
return null;
}
}
public static final int FEEDER_ID = 0;
public static void init(){
Util.logInfo("Initializing GuiHandler...");
NetworkRegistry.INSTANCE.registerGuiHandler(SPRS.instance, new GuiHandler());

View file

@ -1,8 +1,10 @@
package ellpeck.someprettyrandomstuff.items;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.someprettyrandomstuff.items.tools.*;
import ellpeck.someprettyrandomstuff.material.InitItemMaterials;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class InitItems{
@ -11,19 +13,46 @@ public class InitItems{
public static Item itemFoods;
public static Item itemKnife;
public static Item itemPickaxeEmerald;
public static Item itemAxeEmerald;
public static Item itemShovelEmerald;
public static Item itemSwordEmerald;
public static Item itemHoeEmerald;
public static Item itemPickaxeObsidian;
public static Item itemAxeObsidian;
public static Item itemShovelObsidian;
public static Item itemSwordObsidian;
public static Item itemHoeObsidian;
public static void init(){
Util.logInfo("Initializing Items...");
itemFertilizer = new ItemFertilizer();
GameRegistry.registerItem(itemFertilizer, itemFertilizer.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemFertilizer, Util.getSubbedUnlocalized(itemFertilizer));
itemMisc = new ItemMisc();
GameRegistry.registerItem(itemMisc, itemMisc.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemMisc, Util.getSubbedUnlocalized(itemMisc));
itemFoods = new ItemFoods();
GameRegistry.registerItem(itemFoods, itemFoods.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemFoods, Util.getSubbedUnlocalized(itemFoods));
itemKnife = new ItemKnife();
GameRegistry.registerItem(itemKnife, itemKnife.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemKnife, Util.getSubbedUnlocalized(itemKnife));
itemPickaxeEmerald = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemPickaxeEmerald");
itemAxeEmerald = new ItemAxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemAxeEmerald");
itemShovelEmerald = new ItemShovelSPRS(InitItemMaterials.toolMaterialEmerald, "itemShovelEmerald");
itemSwordEmerald = new ItemSwordSPRS(InitItemMaterials.toolMaterialEmerald, "itemSwordEmerald");
itemHoeEmerald = new ItemHoeSPRS(InitItemMaterials.toolMaterialEmerald, "itemHoeEmerald");
Util.registerItems(new Item[]{itemPickaxeEmerald, itemAxeEmerald, itemShovelEmerald, itemSwordEmerald, itemHoeEmerald});
itemPickaxeObsidian = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemPickaxeObsidian");
itemAxeObsidian = new ItemAxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemAxeObsidian");
itemShovelObsidian = new ItemShovelSPRS(InitItemMaterials.toolMaterialObsidian, "itemShovelObsidian");
itemSwordObsidian = new ItemSwordSPRS(InitItemMaterials.toolMaterialObsidian, "itemSwordObsidian");
itemHoeObsidian = new ItemHoeSPRS(InitItemMaterials.toolMaterialObsidian, "itemHoeObsidian");
Util.registerItems(new Item[]{itemPickaxeObsidian, itemAxeObsidian, itemShovelObsidian, itemSwordObsidian, itemHoeObsidian});
}
}

View file

@ -1,16 +1,16 @@
package ellpeck.someprettyrandomstuff.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemDye;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
@ -21,12 +21,12 @@ public class ItemFertilizer extends Item{
this.setCreativeTab(CreativeTab.instance);
}
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) {
if(ItemDye.applyBonemeal(stack, world, blockPos, player)){
if(!world.isRemote) world.playAuxSFX(2005, blockPos, 0);
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){
if(ItemDye.applyBonemeal(stack, world, x, y, z, player)){
if(!world.isRemote) world.playAuxSFX(2005, x, y, z, 0);
return true;
}
return super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ);
return super.onItemUse(stack, player, world, x, y, z, par7, par8, par9, par10);
}
@SuppressWarnings("unchecked")
@ -34,4 +34,13 @@ public class ItemFertilizer extends Item{
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(Util.addStandardInformation(this));
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,8 +1,11 @@
package ellpeck.someprettyrandomstuff.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.items.metalists.TheFoods;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
@ -10,16 +13,16 @@ import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemFoods extends ItemFood{
public static final TheFoods[] allFoods = TheFoods.values();
public IIcon[] textures = new IIcon[allFoods.length];
public ItemFoods(){
super(0, 0.0F, false);
@ -31,16 +34,16 @@ public class ItemFoods extends ItemFood{
TheFoods.setReturnItems();
}
public int getHealAmount(ItemStack stack){
public int func_150905_g(ItemStack stack){
return allFoods[stack.getItemDamage()].healAmount;
}
public float getSaturationModifier(ItemStack stack){
public float func_150906_h(ItemStack stack){
return allFoods[stack.getItemDamage()].saturation;
}
public EnumAction getItemUseAction(ItemStack stack){
return allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.DRINK : EnumAction.EAT;
return allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.drink : EnumAction.eat;
}
public int getMaxItemUseDuration(ItemStack stack){
@ -63,14 +66,14 @@ public class ItemFoods extends ItemFood{
return this.getUnlocalizedName() + allFoods[stack.getItemDamage()].name;
}
public ItemStack onItemUseFinish(ItemStack stack, World world, EntityPlayer player){
ItemStack stackToReturn = super.onItemUseFinish(stack, world, player);
public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){
ItemStack stackToReturn = super.onEaten(stack, world, player);
ItemStack returnItem = allFoods[stack.getItemDamage()].returnItem;
if (returnItem != null){
if(!player.inventory.addItemStackToInventory(returnItem.copy())){
if(!world.isRemote){
EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem.copy());
entityItem.setPickupDelay(0);
entityItem.delayBeforeCanPickup = 0;
player.worldObj.spawnEntityInWorld(entityItem);
}
}
@ -88,4 +91,15 @@ public class ItemFoods extends ItemFood{
}
else list.add(Util.shiftForInfo());
}
public IIcon getIconFromDamage(int par1){
return textures[par1];
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
for(int i = 0; i < textures.length; i++){
textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allFoods[i].getName());
}
}
}

View file

@ -1,11 +1,51 @@
package ellpeck.someprettyrandomstuff.items;
import ellpeck.someprettyrandomstuff.items.tools.ItemSwordSPTS;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.config.ConfigValues;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
public class ItemKnife extends ItemSwordSPTS{
import java.util.List;
public class ItemKnife extends Item{
public ItemKnife(){
super(ToolMaterial.STONE, "itemKnife");
this.setUnlocalizedName("itemKnife");
this.setMaxDamage(ConfigValues.itemKnifeMaxDamage);
this.setCreativeTab(CreativeTab.instance);
this.setMaxStackSize(1);
this.setContainerItem(this);
}
public ItemStack getContainerItem(ItemStack stack){
ItemStack theStack = stack.copy();
theStack.setItemDamage(theStack.getItemDamage() + 1);
theStack.stackSize = 1;
return theStack;
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(Util.addStandardInformation(this));
}
public boolean getShareTag(){
return true;
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,21 +1,24 @@
package ellpeck.someprettyrandomstuff.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemMisc extends Item{
public static final TheMiscItems[] allMiscItems = TheMiscItems.values();
public IIcon[] textures = new IIcon[allMiscItems.length];
public ItemMisc(){
this.setUnlocalizedName("itemMisc");
@ -45,4 +48,15 @@ public class ItemMisc extends Item{
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc"));
else list.add(Util.shiftForInfo());
}
public IIcon getIconFromDamage(int par1){
return textures[par1];
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
for(int i = 0; i < textures.length; i++){
textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscItems[i].getName());
}
}
}

View file

@ -12,7 +12,8 @@ public enum TheMiscItems implements IItemEnum{
STEEL("Steel"),
KNIFE_BLADE("KnifeBlade"),
KNIFE_HANDLE("KnifeHandle"),
DOUGH("Dough");
DOUGH("Dough"),
QUARTZ("BlackQuartz");
public final String name;

View file

@ -0,0 +1,41 @@
package ellpeck.someprettyrandomstuff.items.tools;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemAxeSPRS extends ItemAxe{
public ItemAxeSPRS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(Util.addStandardInformation(this));
if(Util.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,26 +0,0 @@
package ellpeck.someprettyrandomstuff.items.tools;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemAxeSPTS extends ItemAxe{
public ItemAxeSPTS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
Util.addStandardInformation(this);
}
}

View file

@ -0,0 +1,41 @@
package ellpeck.someprettyrandomstuff.items.tools;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemHoeSPRS extends ItemHoe{
public ItemHoeSPRS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
list.add(Util.addStandardInformation(this));
if(Util.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,26 +0,0 @@
package ellpeck.someprettyrandomstuff.items.tools;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemHoeSPTS extends ItemHoe{
public ItemHoeSPTS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
Util.addStandardInformation(this);
}
}

View file

@ -0,0 +1,41 @@
package ellpeck.someprettyrandomstuff.items.tools;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemPickaxeSPRS extends ItemPickaxe{
public ItemPickaxeSPRS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(Util.addStandardInformation(this));
if(Util.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,26 +0,0 @@
package ellpeck.someprettyrandomstuff.items.tools;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemPickaxeSPTS extends ItemPickaxe{
public ItemPickaxeSPTS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
Util.addStandardInformation(this);
}
}

View file

@ -0,0 +1,41 @@
package ellpeck.someprettyrandomstuff.items.tools;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemSpade;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemShovelSPRS extends ItemSpade{
public ItemShovelSPRS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(Util.addStandardInformation(this));
if(Util.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,26 +0,0 @@
package ellpeck.someprettyrandomstuff.items.tools;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemSpade;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemShovelSPTS extends ItemSpade{
public ItemShovelSPTS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
Util.addStandardInformation(this);
}
}

View file

@ -0,0 +1,41 @@
package ellpeck.someprettyrandomstuff.items.tools;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import java.util.List;
public class ItemSwordSPRS extends ItemSword{
public ItemSwordSPRS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
list.add(Util.addStandardInformation(this));
if(Util.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage());
}
}
public IIcon getIcon(ItemStack stack, int pass){
return this.itemIcon;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconReg){
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this));
}
}

View file

@ -1,26 +0,0 @@
package ellpeck.someprettyrandomstuff.items.tools;
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
public class ItemSwordSPTS extends ItemSword{
public ItemSwordSPTS(ToolMaterial toolMat, String unlocalizedName){
super(toolMat);
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(CreativeTab.instance);
}
@SuppressWarnings("unchecked")
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
Util.addStandardInformation(this);
}
}

View file

@ -0,0 +1,21 @@
package ellpeck.someprettyrandomstuff.material;
import ellpeck.someprettyrandomstuff.config.ConfigValues;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraftforge.common.util.EnumHelper;
public class InitItemMaterials{
public static ToolMaterial toolMaterialEmerald;
public static ToolMaterial toolMaterialObsidian;
public static void init(){
Util.logInfo("Initializing Materials...");
toolMaterialEmerald = EnumHelper.addToolMaterial("toolMaterialEmerald", ConfigValues.toolEmeraldHarvestLevel, ConfigValues.toolEmeraldMaxUses, ConfigValues.toolEmeraldEfficiency, ConfigValues.toolEmeraldDamage, ConfigValues.toolEmeraldEnchantability);
toolMaterialObsidian = EnumHelper.addToolMaterial("toolMaterialObsidian", ConfigValues.toolObsidianHarvestLevel, ConfigValues.toolObsidianMaxUses, ConfigValues.toolObsidianEfficiency, ConfigValues.toolObsidianDamage, ConfigValues.toolObsidianEnchantability);
}
}

View file

@ -1,31 +1,14 @@
package ellpeck.someprettyrandomstuff.proxy;
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
import ellpeck.someprettyrandomstuff.items.InitItems;
import ellpeck.someprettyrandomstuff.items.ItemFoods;
import ellpeck.someprettyrandomstuff.items.ItemMisc;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.item.Item;
@SuppressWarnings("unused")
public class ClientProxy implements IProxy{
public void preInit(){
Util.logInfo("PreInitializing Textures...");
Util.preInitIcons(InitItems.itemMisc, ItemMisc.allMiscItems);
Util.preInitIcons(InitItems.itemFoods, ItemFoods.allFoods);
}
public void init(){
Util.logInfo("Initializing Textures...");
Util.initIcons(InitItems.itemMisc, ItemMisc.allMiscItems);
Util.initIcons(InitItems.itemFoods, ItemFoods.allFoods);
Util.initIcons(InitItems.itemFertilizer);
Util.initIcons(Item.getItemFromBlock(InitBlocks.blockCompost));
}
public void postInit(){
Util.logInfo("PostInitializing Textures...");
}
}

View file

@ -1,28 +1,35 @@
package ellpeck.someprettyrandomstuff.tile;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.someprettyrandomstuff.util.Util;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraft.world.World;
public abstract class TileEntityBase extends TileEntity{
public Packet getDescriptionPacket(){
NBTTagCompound compound = new NBTTagCompound();
this.writeToNBT(compound);
return new S35PacketUpdateTileEntity(this.getPos(), this.getBlockMetadata(), compound);
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.getBlockMetadata(), compound);
}
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet){
super.onDataPacket(net, packet);
this.readFromNBT(packet.getNbtCompound());
this.readFromNBT(packet.func_148857_g());
}
public boolean shouldRefresh(Block oldBlock, Block newBlock, int oldMeta, int newMeta, World world, int x, int y, int z){
return false;
}
public static void init(){
Util.logInfo("Registering TileEntities...");
GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID + ":tileEntityCompost");
GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID_LOWER + ":tileEntityCompost");
GameRegistry.registerTileEntity(TileEntityFeeder.class, Util.MOD_ID_LOWER + ":tileEntityFeeder");
}
}

View file

@ -3,13 +3,10 @@ package ellpeck.someprettyrandomstuff.tile;
import ellpeck.someprettyrandomstuff.config.ConfigValues;
import ellpeck.someprettyrandomstuff.items.InitItems;
import ellpeck.someprettyrandomstuff.items.ItemFertilizer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.gui.IUpdatePlayerListBox;
import net.minecraft.util.IChatComponent;
public class TileEntityCompost extends TileEntityInventoryBase implements IUpdatePlayerListBox{
public class TileEntityCompost extends TileEntityInventoryBase{
public final int amountNeededToConvert = ConfigValues.tileEntityCompostAmountNeededToConvert;
public final int conversionTimeNeeded = ConfigValues.tileEntityCompostConversionTimeNeeded;
@ -17,10 +14,10 @@ public class TileEntityCompost extends TileEntityInventoryBase implements IUpdat
public int conversionTime;
public TileEntityCompost(){
this.slots = new ItemStack[1];
super(1, "tileEntityCompost");
}
public void update(){
public void updateEntity(){
if(!worldObj.isRemote){
if(this.slots[0] != null && !(this.slots[0].getItem() instanceof ItemFertilizer) && this.slots[0].stackSize >= this.amountNeededToConvert){
this.conversionTime++;
@ -41,40 +38,4 @@ public class TileEntityCompost extends TileEntityInventoryBase implements IUpdat
super.readFromNBT(compound);
this.conversionTime = compound.getInteger("ConversionTime");
}
public void openInventory(EntityPlayer player){
}
public void closeInventory(EntityPlayer player){
}
public int getField(int id){
return 0;
}
public void setField(int id, int value){
}
public int getFieldCount(){
return 0;
}
public void clear(){
}
public String getName(){
return null;
}
public boolean hasCustomName(){
return false;
}
public IChatComponent getDisplayName(){
return null;
}
}

View file

@ -0,0 +1,86 @@
package ellpeck.someprettyrandomstuff.tile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.someprettyrandomstuff.config.ConfigValues;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import java.util.List;
import java.util.Random;
public class TileEntityFeeder extends TileEntityInventoryBase{
public int reach = ConfigValues.tileEntityFeederReach;
public int timerGoal = ConfigValues.tileEntityFeederTimeNeeded;
public int animalThreshold = ConfigValues.tileEntityFeederThreshold;
public int currentTimer;
public int currentAnimalAmount;
//Is 0 or 1, gets sent to the GUI for display
public int isBred;
public TileEntityFeeder(){
super(1, "tileEntityFeeder");
}
@SuppressWarnings("unchecked")
public void updateEntity(){
if(!worldObj.isRemote){
List<EntityAnimal> animals = worldObj.getEntitiesWithinAABB(EntityAnimal.class, AxisAlignedBB.getBoundingBox(this.xCoord - reach, this.yCoord - reach, this.zCoord - reach, this.xCoord + reach, this.yCoord + reach, this.zCoord + reach));
if(animals != null){
this.currentAnimalAmount = animals.size();
if(this.currentAnimalAmount >= 2 && this.slots[0] != null){
if(this.currentAnimalAmount < this.animalThreshold){
if(this.currentTimer >= this.timerGoal){
this.currentTimer = 0;
EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount));
if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){
randomAnimal.func_146082_f(null);
this.slots[0].stackSize--;
if(this.slots[0].stackSize == 0) this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]);
this.isBred = 1;
Random rand = new Random();
for(int i = 0; i < 7; i++){
double d = rand.nextGaussian() * 0.02D;
double d1 = rand.nextGaussian() * 0.02D;
double d2 = rand.nextGaussian() * 0.02D;
worldObj.spawnParticle("heart", (randomAnimal.posX + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, randomAnimal.posY + 0.5D + (double)(rand.nextFloat() * randomAnimal.height), (randomAnimal.posZ + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, d, d1, d2);
}
}
}
else{
if(this.currentTimer == timerGoal/10) this.isBred = 0;
this.currentTimer++;
}
}
else{
this.currentTimer = 0;
this.isBred = 0;
}
}
else{
this.currentTimer = 0;
this.isBred = 0;
}
}
}
}
@SideOnly(Side.CLIENT)
public int getCurrentTimerToScale(int i){
return this.currentTimer * i / this.timerGoal;
}
public void writeToNBT(NBTTagCompound compound){
super.writeToNBT(compound);
compound.setInteger("Timer", this.currentTimer);
}
public void readFromNBT(NBTTagCompound compound){
super.readFromNBT(compound);
this.currentTimer = compound.getInteger("Timer");
}
}

View file

@ -9,6 +9,12 @@ import net.minecraft.nbt.NBTTagList;
public abstract class TileEntityInventoryBase extends TileEntityBase implements IInventory{
public ItemStack slots[];
public String name;
public TileEntityInventoryBase(int slots, String name){
this.initializeSlots(slots);
this.name = name;
}
public void writeToNBT(NBTTagCompound compound){
super.writeToNBT(compound);
@ -36,19 +42,19 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
}
}
public int getInventoryStackLimit() {
public int getInventoryStackLimit(){
return 64;
}
public boolean isUseableByPlayer(EntityPlayer player) {
return worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.getPos().getX() + 0.5D, this.getPos().getY() + 0.5D, this.getPos().getZ() + 0.5D) <= 64;
public boolean isUseableByPlayer(EntityPlayer player){
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
public boolean isItemValidForSlot(int i, ItemStack stack) {
public boolean isItemValidForSlot(int i, ItemStack stack){
return false;
}
public ItemStack getStackInSlotOnClosing(int i) {
public ItemStack getStackInSlotOnClosing(int i){
return getStackInSlot(i);
}
@ -56,15 +62,15 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
this.slots[i] = stack;
}
public int getSizeInventory() {
public int getSizeInventory(){
return slots.length;
}
public ItemStack getStackInSlot(int i) {
public ItemStack getStackInSlot(int i){
return slots[i];
}
public ItemStack decrStackSize(int i, int j) {
public ItemStack decrStackSize(int i, int j){
if (slots[i] != null) {
ItemStack stackAt;
if (slots[i].stackSize <= j) {
@ -80,4 +86,24 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
}
return null;
}
public void initializeSlots(int itemAmount){
this.slots = new ItemStack[itemAmount];
}
public String getInventoryName(){
return this.name;
}
public boolean hasCustomInventoryName(){
return false;
}
public void openInventory(){
}
public void closeInventory(){
}
}

View file

@ -1,28 +1,51 @@
package ellpeck.someprettyrandomstuff.util;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
@SuppressWarnings("unused")
public class Util{
public static final String VERSION = "1.7.10-0.0.1";
public static final String MOD_ID = "SomePrettyRandomStuff";
public static final String NAME = "Some Pretty Random Stuff";
public static final String VERSION = "1.8-0.0.1";
public static final String MOD_ID_LOWER = MOD_ID.toLowerCase();
public static final Logger SPRS_LOGGER = LogManager.getLogger(MOD_ID);
public static final int WILDCARD = OreDictionary.WILDCARD_VALUE;
public static final String BLACK = (char)167 + "0";
public static final String BLUE = (char)167 + "1";
public static final String GREEN = (char)167 + "2";
public static final String TEAL = (char)167 + "3";
public static final String RED = (char)167 + "4";
public static final String PURPLE = (char)167 + "5";
public static final String ORANGE = (char)167 + "6";
public static final String LIGHT_GRAY = (char)167 + "7";
public static final String GRAY = (char)167 + "8";
public static final String LIGHT_BLUE = (char)167 + "9";
public static final String BRIGHT_GREEN = (char)167 + "a";
public static final String BRIGHT_BLUE = (char)167 + "b";
public static final String LIGHT_RED = (char)167 + "c";
public static final String PINK = (char)167 + "d";
public static final String YELLOW = (char)167 + "e";
public static final String WHITE = (char)167 + "f";
public static final String BOLD = (char)167 + "l";
public static final String UNDERLINE = (char)167 + "n";
public static final String ITALIC = (char)167 + "o";
public static boolean isShiftPressed(){
return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT);
}
@ -33,32 +56,14 @@ public class Util{
}
public static String shiftForInfo(){
return (char)167+"2" + (char)167+"o" + StatCollector.translateToLocal("tooltip.shiftForInfo.desc");
return GREEN + ITALIC + StatCollector.translateToLocal("tooltip.shiftForInfo.desc");
}
public static String addStandardInformation(Item item){
if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + item.getUnlocalizedName().substring(5) + ".desc");
if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + getSubbedUnlocalized(item) + ".desc");
else return shiftForInfo();
}
public static void preInitIcons(Item item, IItemEnum[] theArray){
String[] bakeryArray = new String[theArray.length];
for (int j = 0; j < theArray.length; j++){
bakeryArray[j] = Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5) + theArray[j].getName();
}
ModelBakery.addVariantName(item, bakeryArray);
}
public static void initIcons(Item item, IItemEnum[] theArray){
for(int j = 0; j < theArray.length; j++){
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, j, new ModelResourceLocation(Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5) + theArray[j].getName(), "inventory"));
}
}
public static void initIcons(Item item){
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
}
public static void logInfo(String text){
SPRS_LOGGER.log(Level.INFO, text);
}
@ -66,4 +71,22 @@ public class Util{
public static boolean isClientSide(){
return FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT;
}
public static String getSubbedUnlocalized(Item item){
return item.getUnlocalizedName().substring(5);
}
public static String getSubbedUnlocalized(Block block){
return block.getUnlocalizedName().substring(5);
}
public static void registerItems(Item[] items){
for(Item item : items){
GameRegistry.registerItem(item, getSubbedUnlocalized(item));
}
}
public static ResourceLocation getGuiLocation(String file){
return new ResourceLocation(MOD_ID_LOWER, "textures/gui/" + file + ".png");
}
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"normal": { "model": "someprettyrandomstuff:blockCompost" }
}
}

View file

@ -1,7 +1,12 @@
itemGroup.SomePrettyRandomStuff=SomePrettyRandomStuff
achievement.page.SomePrettyRandomStuff=SomePrettyRandomStuff
itemGroup.someprettyrandomstuff=SomePrettyRandomStuff
achievement.page.someprettyrandomstuff=SomePrettyRandomStuff
tile.blockCompost.name=Compost
tile.blockMiscOreBlackQuartz.name=Black Quartz Ore
tile.blockMiscBlackQuartz.name=Block of Black Quartz
tile.blockMiscBlackQuartzChiseled.name=Chiseled Block of Black Quartz
tile.blockMiscBlackQuartzPillar.name=Pillar of Black Quartz
tile.blockFeeder.name=Automatic Feeder
item.itemMiscMashedFood.name=Mashed Food
item.itemMiscRefinedIron.name=Refined Iron
@ -11,6 +16,21 @@ item.itemMiscSteel.name=Steel
item.itemFertilizer.name=Fertilizer
item.itemMiscDough.name=Dough
item.itemMiscPaperCone.name=Paper Cone
item.itemMiscKnifeBlade.name=Knife Blade
item.itemMiscKnifeHandle.name=Knife Handle
item.itemMiscBlackQuartz.name=Black Quartz
item.itemKnife.name=Knife
item.itemPickaxeEmerald.name=Emerald Pickaxe
item.itemAxeEmerald.name=Emerald Axe
item.itemShovelEmerald.name=Emerald Shovel
item.itemHoeEmerald.name=Emerald Hoe
item.itemSwordEmerald.name=Emerald Sword
item.itemPickaxeObsidian.name=Obsidian Pickaxe
item.itemAxeObsidian.name=Obsidian Axe
item.itemShovelObsidian.name=Obsidian Shovel
item.itemHoeObsidian.name=Obsidian Hoe
item.itemSwordObsidian.name=Obsidian Sword
item.itemFoodBaguette.name=Baguette
item.itemFoodPizza.name=Pizza
@ -32,8 +52,14 @@ item.itemFoodCheese.name=Cheese
tooltip.shiftForInfo.desc=Press Shift for Info
tooltip.hunger.desc=Fills
tooltip.saturation.desc=Saturation
tooltip.durability.desc=Durability
tooltip.blockCompost.desc=Used to make Fertilizer with Mashed Food
tooltip.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch!
tooltip.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating.
tooltip.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating.
tooltip.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say!
tooltip.blockFeeder.desc=Feeds Animals on its own!
tooltip.itemMiscMashedFood.desc=Used to make Fertilizer
tooltip.itemMiscRefinedIron.desc=Iron, but better
@ -43,13 +69,28 @@ tooltip.itemMiscSteel.desc=Like Iron, but stronger. Much stronger.
tooltip.itemFertilizer.desc=Om nom nom. Don't eat it.
tooltip.itemMiscDough.desc=Used to make things that involve dough.
tooltip.itemMiscPaperCone.desc=Used to store foodstuffs!
tooltip.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth!
tooltip.itemMiscKnifeHandle.desc=Fits comfortably in your hand.
tooltip.itemMiscBlackQuartz.desc=Used in the Quartz Enchanter!
tooltip.itemKnife.desc=Cuts things! Only food though, don't think of stuff...
tooltip.itemPickaxeEmerald.desc=Mines Stone.
tooltip.itemAxeEmerald.desc=Mines Wood.
tooltip.itemShovelEmerald.desc=Mines Dirt.
tooltip.itemHoeEmerald.desc=Mines... uhm... yea.
tooltip.itemSwordEmerald.desc=Mines... mobs?
tooltip.itemPickaxeObsidian.desc=Mines Stone. Slooooowly.
tooltip.itemAxeObsidian.desc=Mines Wood. Slooooowly.
tooltip.itemShovelObsidian.desc=Mines Dirt. Slooooowly.
tooltip.itemHoeObsidian.desc=Mines... uhm... yea.
tooltip.itemSwordObsidian.desc=Mines... mobs?
tooltip.itemFoodBaguette.desc=It's french. It's noms.
tooltip.itemFoodPizza.desc=Who doesn't like it?
tooltip.itemFoodHamburger.desc=It's from a german city!
tooltip.itemFoodBigCookie.desc=Do you know? The Subway Thing?
tooltip.itemFoodSubmarineSandwich.desc=Do you know? The Subway and everything else Thing?
tooltip.itemFoodToast.desc="GHOSTS! GHOSTS! TOAST!"
tooltip.itemFoodToast.desc="GHOSTS! GHOSTS! TOASTS!"
tooltip.itemFoodChocolate.desc=Lari likes.
tooltip.itemFoodChocolateCake.desc=Looks delicious. With redberries. Or something.
tooltip.itemFoodNoodle.desc=Just one. Like... that's not much.
@ -81,3 +122,13 @@ achievement.craftFishNChips=It's Fish! It's Chips!
achievement.craftFishNChips.desc=Craft Fish 'N' Chips
achievement.craftMashedFood=Munch munch munch!
achievement.craftMashedFood.desc=Craft Mashed Food
achievement.craftKnifeBlade=Sharp! So sharp!
achievement.craftKnifeBlade.desc=Craft a Knife Blade
achievement.craftKnife=Sharper! Even sharper!
achievement.craftKnife.desc=Craft a Knife
feeder.animal.desc=Animal
feeder.animalsSuffix.desc=s
feeder.enoughToBreed.desc=Enough to breed!
feeder.tooMany.desc=Too many to breed!
feeder.notEnough.desc=Not enough to breed!

View file

@ -1,154 +0,0 @@
{
"textures": {
"particle": "someprettyrandomstuff:blocks/blockCompostInside",
"top": "someprettyrandomstuff:blocks/blockCompostTop",
"bottom": "someprettyrandomstuff:blocks/blockCompostBottom",
"side": "someprettyrandomstuff:blocks/blockCompostSide",
"inside": "someprettyrandomstuff:blocks/blockCompostInside"
},
"elements": [
{ "from": [ 0, 3, 0 ],
"to": [ 2, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" },
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }
}
},
{ "from": [ 2, 3, 2 ],
"to": [ 14, 4, 14 ],
"faces": {
"down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" },
"up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" },
"north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 14, 3, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" },
"up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" },
"east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 2, 3, 0 ],
"to": [ 14, 16, 2 ],
"faces": {
"down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" },
"up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" },
"west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 2, 3, 14 ],
"to": [ 14, 16, 16 ],
"faces": {
"down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" },
"up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" },
"south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 0, 0, 0 ],
"to": [ 4, 3, 2 ],
"faces": {
"down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" },
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 0, 0, 2 ],
"to": [ 2, 3, 4 ],
"faces": {
"down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" },
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 12, 0, 0 ],
"to": [ 16, 3, 2 ],
"faces": {
"down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" },
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" },
"north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" },
"south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" },
"west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" },
"east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" }
}
},
{ "from": [ 14, 0, 2 ],
"to": [ 16, 3, 4 ],
"faces": {
"down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" },
"up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" },
"north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" },
"south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" },
"west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" },
"east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }
}
},
{ "from": [ 0, 0, 14 ],
"to": [ 4, 3, 16 ],
"faces": {
"down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" },
"up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" },
"north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" },
"south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" },
"west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" },
"east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }
}
},
{ "from": [ 0, 0, 12 ],
"to": [ 2, 3, 14 ],
"faces": {
"down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" },
"up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" },
"north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" },
"south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" },
"west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" },
"east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }
}
},
{ "from": [ 12, 0, 14 ],
"to": [ 16, 3, 16 ],
"faces": {
"down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" },
"up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" },
"north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" },
"south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" },
"west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" },
"east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }
}
},
{ "from": [ 14, 0, 12 ],
"to": [ 16, 3, 14 ],
"faces": {
"down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" },
"up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" },
"north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" },
"south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" },
"west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" },
"east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }
}
}
]
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/blockCompost"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFertilizer"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodBaguette"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodBigCookie"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodCarrotJuice"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodCheese"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodChocolate"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodChocolateCake"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodFishNChips"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodFrenchFries"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodFrenchFry"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodHamburger"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodNoodle"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodPizza"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodPumpkinStew"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodSpaghetti"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodSubmarineSandwich"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemFoodToast"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscCompressedIron"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscDough"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscMashedFood"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscPaperCone"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscRefinedIron"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscRefinedRedstone"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "builtin/generated",
"textures": {
"layer0": "someprettyrandomstuff:items/itemMiscSteel"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B