Almost ready to release for Beta!
Crafting, Textures, In- and Output etc. done!
|
@ -17,7 +17,7 @@ buildscript {
|
|||
|
||||
apply plugin: 'forge'
|
||||
|
||||
version = "1.8-0.0.1"
|
||||
version = "1.7.10-0.0.1"
|
||||
group = "ellpeck.someprettyrandomstuff"
|
||||
archivesBaseName = "SomePrettyRandomStuff"
|
||||
|
||||
|
|
|
@ -7,16 +7,17 @@ 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;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigurationHandler;
|
||||
import ellpeck.someprettyrandomstuff.crafting.InitCrafting;
|
||||
import ellpeck.someprettyrandomstuff.event.InitEvents;
|
||||
import ellpeck.someprettyrandomstuff.gen.OreGen;
|
||||
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.material.InitItemMaterials;
|
||||
import ellpeck.someprettyrandomstuff.network.PacketHandler;
|
||||
import ellpeck.someprettyrandomstuff.oredict.OreDictRegistry;
|
||||
import ellpeck.someprettyrandomstuff.proxy.IProxy;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
|
@ -30,7 +31,6 @@ public class SomePrettyRandomStuff{
|
|||
@SidedProxy(clientSide = "ellpeck.someprettyrandomstuff.proxy.ClientProxy", serverSide = "ellpeck.someprettyrandomstuff.proxy.ServerProxy")
|
||||
public static IProxy proxy;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@EventHandler()
|
||||
public void preInit(FMLPreInitializationEvent event){
|
||||
Util.logInfo("Starting PreInitialization Phase...");
|
||||
|
@ -40,6 +40,7 @@ public class SomePrettyRandomStuff{
|
|||
InitItemMaterials.init();
|
||||
InitBlocks.init();
|
||||
InitItems.init();
|
||||
OreDictRegistry.init();
|
||||
proxy.preInit();
|
||||
|
||||
Util.logInfo("PreInitialization Finished.");
|
||||
|
@ -51,11 +52,11 @@ public class SomePrettyRandomStuff{
|
|||
Util.logInfo("Starting Initialization Phase...");
|
||||
|
||||
InitAchievements.init();
|
||||
InitCrafting.init();
|
||||
GuiHandler.init();
|
||||
OreGen.init();
|
||||
TileEntityBase.init();
|
||||
AchievementEvent.init();
|
||||
InitEvents.init();
|
||||
InitCrafting.init();
|
||||
proxy.init();
|
||||
|
||||
Util.logInfo("Initialization Finished.");
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
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;
|
||||
|
||||
public class AchievementEvent{
|
||||
|
||||
public static class SmeltEvent{
|
||||
@SubscribeEvent
|
||||
public void onSmeltedEvent(PlayerEvent.ItemSmeltedEvent event){
|
||||
if(event.smelting.getItem() == InitItems.itemFoods && event.smelting.getItemDamage() == TheFoods.BAGUETTE.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementSmeltBaguette, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class CraftEvent{
|
||||
@SubscribeEvent
|
||||
public void onCraftedEvent(PlayerEvent.ItemCraftedEvent event){
|
||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.DOUGH.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftDough, 1);
|
||||
}
|
||||
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);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.PAPER_CONE.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftPaperCone, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FRENCH_FRY.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFrenchFry, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FRENCH_FRIES.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFrenchFries, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FISH_N_CHIPS.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFishNChips, 1);
|
||||
}
|
||||
if(event.crafting.getItem()== Item.getItemFromBlock(InitBlocks.blockCompost)){
|
||||
event.player.addStat(InitAchievements.achievementCraftCompost, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class PickupEvent{
|
||||
@SubscribeEvent
|
||||
public void onItemPickupEvent(PlayerEvent.ItemPickupEvent event){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static class LoginEvent{
|
||||
@SubscribeEvent
|
||||
public void onPlayerLoggingInEvent(PlayerEvent.PlayerLoggedInEvent event){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void init(){
|
||||
Util.logInfo("Initializing Events...");
|
||||
|
||||
FMLCommonHandler.instance().bus().register(new SmeltEvent());
|
||||
FMLCommonHandler.instance().bus().register(new CraftEvent());
|
||||
FMLCommonHandler.instance().bus().register(new PickupEvent());
|
||||
FMLCommonHandler.instance().bus().register(new LoginEvent());
|
||||
}
|
||||
|
||||
}
|
|
@ -7,7 +7,7 @@ import net.minecraft.stats.Achievement;
|
|||
public class AchievementSPRS extends Achievement{
|
||||
|
||||
public AchievementSPRS(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){
|
||||
super("achievement." + Util.MOD_ID_LOWER + "." + name, name, x, y, displayStack, hasToHaveBefore);
|
||||
super("achievement." + Util.MOD_ID_LOWER +"." + Util.MOD_ID_LOWER + "." + name, Util.MOD_ID_LOWER + "." + name, x, y, displayStack, hasToHaveBefore);
|
||||
InitAchievements.achievementList.add(this);
|
||||
if(hasToHaveBefore == null) this.initIndependentStat();
|
||||
this.registerStat();
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks;
|
||||
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.achievement.InitAchievements;
|
||||
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
|
||||
import ellpeck.someprettyrandomstuff.items.ItemFertilizer;
|
||||
|
@ -11,11 +13,17 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
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.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -25,7 +33,7 @@ public class BlockCompost extends BlockContainerBase implements IName{
|
|||
public BlockCompost(){
|
||||
super(Material.wood);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setBlockName(Util.getNamePrefix() + this.getName());
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setHarvestLevel("axe", 0);
|
||||
this.setHardness(1.0F);
|
||||
this.setStepSound(soundTypeWood);
|
||||
|
@ -69,9 +77,21 @@ public class BlockCompost extends BlockContainerBase implements IName{
|
|||
this.setBlockBoundsForItemRender();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(int side, int metadata){
|
||||
return this.blockIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconReg){
|
||||
this.blockIcon = Blocks.planks.getIcon(0, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlockBoundsForItemRender(){
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
float f = 1.0F/16.0F;
|
||||
this.setBlockBounds(f, 0.0F, f, 1.0F-f, 1.0F, 1.0F-f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -104,4 +124,43 @@ public class BlockCompost extends BlockContainerBase implements IName{
|
|||
public String getName(){
|
||||
return "blockCompost";
|
||||
}
|
||||
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(false);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.uncommon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
if(Util.isShiftPressed()){
|
||||
list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc.1"));
|
||||
//TODO Remove second info
|
||||
list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc.2"));
|
||||
}
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,23 +6,30 @@ import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff;
|
|||
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
|
||||
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder;
|
||||
import ellpeck.someprettyrandomstuff.util.IInformation;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
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.item.EnumRarity;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockFeeder extends BlockContainerBase implements IName{
|
||||
import java.util.List;
|
||||
|
||||
public class BlockFeeder extends BlockContainerBase implements IName, IInformation{
|
||||
|
||||
private IIcon topIcon;
|
||||
|
||||
public BlockFeeder(){
|
||||
super(Material.wood);
|
||||
this.setBlockName(Util.getNamePrefix() + this.getName());
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setHarvestLevel("axe", 0);
|
||||
this.setHardness(1.0F);
|
||||
|
@ -66,4 +73,44 @@ public class BlockFeeder extends BlockContainerBase implements IName{
|
|||
public String getName(){
|
||||
return "blockFeeder";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getInformationString(){
|
||||
return new String[]{"This is a thing and it is a test and bla bla bla"};
|
||||
}
|
||||
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(false);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.rare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc"));
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,192 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff;
|
||||
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
|
||||
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityFurnaceDouble;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
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.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFurnaceDouble extends BlockContainerBase implements IName{
|
||||
|
||||
private IIcon topIcon;
|
||||
private IIcon onIcon;
|
||||
private IIcon frontIcon;
|
||||
|
||||
public BlockFurnaceDouble(){
|
||||
super(Material.wood);
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setHarvestLevel("pickaxe", 0);
|
||||
this.setHardness(1.0F);
|
||||
this.setStepSound(soundTypeStone);
|
||||
this.setTickRandomly(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockAdded(World world, int x, int y, int z){
|
||||
super.onBlockAdded(world, x, y, z);
|
||||
|
||||
if (!world.isRemote){
|
||||
Block block1 = world.getBlock(x, y, z-1);
|
||||
Block block2 = world.getBlock(x, y, z+1);
|
||||
Block block3 = world.getBlock(x-1, y, z);
|
||||
Block block4 = world.getBlock(x+1, y, z);
|
||||
|
||||
int metaToSet = 1;
|
||||
if (block1.func_149730_j() && !block2.func_149730_j()) metaToSet = 0;
|
||||
if (block2.func_149730_j() && !block1.func_149730_j()) metaToSet = 1;
|
||||
if (block3.func_149730_j() && !block4.func_149730_j()) metaToSet = 2;
|
||||
if (block4.func_149730_j() && !block3.func_149730_j()) metaToSet = 3;
|
||||
|
||||
world.setBlockMetadataWithNotify(x, y, z, metaToSet, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack){
|
||||
int rotation = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
||||
|
||||
if (rotation == 0) world.setBlockMetadataWithNotify(x, y, z, 0, 2);
|
||||
if (rotation == 1) world.setBlockMetadataWithNotify(x, y, z, 3, 2);
|
||||
if (rotation == 2) world.setBlockMetadataWithNotify(x, y, z, 1, 2);
|
||||
if (rotation == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int par2){
|
||||
return new TileEntityFurnaceDouble();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLightValue(IBlockAccess world, int x, int y, int z){
|
||||
return world.getBlockMetadata(x, y, z) > 3 ? 12 : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(int side, int meta){
|
||||
if(side == 1) return this.topIcon;
|
||||
if(side == meta+2 && meta <= 3) return this.frontIcon;
|
||||
else if(side == meta-2 && meta > 3) return this.onIcon;
|
||||
return this.blockIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconReg){
|
||||
this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName());
|
||||
this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + "Top");
|
||||
this.onIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + "On");
|
||||
this.frontIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + "Front");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){
|
||||
if(!world.isRemote){
|
||||
TileEntityFurnaceDouble furnace = (TileEntityFurnaceDouble)world.getTileEntity(x, y, z);
|
||||
if (furnace != null) player.openGui(SomePrettyRandomStuff.instance, GuiHandler.FURNACE_DOUBLE_ID, world, x, y, z);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World world, int x, int y, int z, Random rand){
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
if (meta > 3){
|
||||
float f = (float)x + 0.5F;
|
||||
float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F;
|
||||
float f2 = (float)z + 0.5F;
|
||||
float f3 = 0.52F;
|
||||
float f4 = rand.nextFloat() * 0.6F - 0.3F;
|
||||
|
||||
if(meta == 6){
|
||||
world.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D);
|
||||
world.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
if(meta == 7){
|
||||
world.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D);
|
||||
world.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
if(meta == 4){
|
||||
world.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D);
|
||||
world.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
if(meta == 5){
|
||||
world.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D);
|
||||
world.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
|
||||
for(int i = 0; i < 5; i++){
|
||||
world.spawnParticle("smoke", (double)x+0.5F, (double)y + 1.0F, (double)z+0.5F, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return "blockFurnaceDouble";
|
||||
}
|
||||
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(false);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.rare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc"));
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,17 +12,23 @@ 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.item.EnumRarity;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BlockGiantChest extends BlockContainerBase implements IName{
|
||||
|
||||
private IIcon topIcon;
|
||||
|
||||
public BlockGiantChest(){
|
||||
super(Material.wood);
|
||||
this.setBlockName(Util.getNamePrefix() + this.getName());
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setHarvestLevel("axe", 0);
|
||||
this.setHardness(1.0F);
|
||||
|
@ -66,4 +72,41 @@ public class BlockGiantChest extends BlockContainerBase implements IName{
|
|||
public String getName(){
|
||||
return "blockGiantChest";
|
||||
}
|
||||
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(false);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.uncommon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc"));
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff;
|
||||
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
|
||||
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityGrinder;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
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.item.EnumRarity;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockGrinder extends BlockContainerBase implements IName{
|
||||
|
||||
private IIcon topIcon;
|
||||
private IIcon onIcon;
|
||||
private IIcon bottomIcon;
|
||||
|
||||
private boolean isDouble;
|
||||
|
||||
public BlockGrinder(boolean isDouble){
|
||||
super(Material.wood);
|
||||
this.isDouble = isDouble;
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setHarvestLevel("pickaxe", 0);
|
||||
this.setHardness(1.0F);
|
||||
this.setStepSound(soundTypeStone);
|
||||
this.setTickRandomly(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int par2){
|
||||
return new TileEntityGrinder(this.isDouble);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLightValue(IBlockAccess world, int x, int y, int z){
|
||||
return world.getBlockMetadata(x, y, z) == 1 ? 12 : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(int side, int meta){
|
||||
if(side == 1 && meta != 1) return this.topIcon;
|
||||
if(side == 1) return this.onIcon;
|
||||
if(side == 0) return this.bottomIcon;
|
||||
return this.blockIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void randomDisplayTick(World world, int x, int y, int z, Random rand){
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
if (meta == 1){
|
||||
for(int i = 0; i < 5; i++){
|
||||
double xRand = new Random().nextDouble()/0.75D - 0.5D;
|
||||
double zRand = new Random().nextDouble()/0.75D - 0.5D;
|
||||
world.spawnParticle("crit", (double)x+0.4F, (double)y + 0.8F, (double)z+0.4F, xRand, 0.5D, zRand);
|
||||
}
|
||||
world.spawnParticle("smoke", (double)x+0.5F, (double)y + 1.0F, (double)z+0.5F, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconReg){
|
||||
this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName());
|
||||
this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":blockGrinderTop");
|
||||
this.onIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":blockGrinderOn");
|
||||
this.bottomIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":blockGrinderBottom");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){
|
||||
if(!world.isRemote){
|
||||
TileEntityGrinder grinder = (TileEntityGrinder)world.getTileEntity(x, y, z);
|
||||
if (grinder != null) player.openGui(SomePrettyRandomStuff.instance, this.isDouble ? GuiHandler.GRINDER_DOUBLE_ID : GuiHandler.GRINDER_ID, world, x, y, z);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return isDouble ? "blockGrinderDouble" : "blockGrinder";
|
||||
}
|
||||
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(false);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return ((BlockGrinder)theBlock).isDouble ? EnumRarity.epic : EnumRarity.rare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
if(Util.isShiftPressed()){
|
||||
for(int i = 0; i < (((BlockGrinder)theBlock).isDouble ? 3 : 4); i++){
|
||||
list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc." + (i+1)));
|
||||
}
|
||||
}
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -13,6 +13,7 @@ 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.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -29,7 +30,7 @@ public class BlockMisc extends Block implements IName{
|
|||
|
||||
public BlockMisc(){
|
||||
super(Material.rock);
|
||||
this.setBlockName(Util.getNamePrefix() + this.getName());
|
||||
this.setBlockName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -74,17 +75,22 @@ public class BlockMisc extends Block implements IName{
|
|||
return "blockMisc";
|
||||
}
|
||||
|
||||
public static class ItemBlockMisc extends ItemBlock{
|
||||
public static class TheItemBlock extends ItemBlock{
|
||||
|
||||
private Block theBlock;
|
||||
|
||||
public ItemBlockMisc(Block block){
|
||||
public TheItemBlock(Block block){
|
||||
super(block);
|
||||
this.theBlock = block;
|
||||
this.setHasSubtypes(true);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return allMiscBlocks[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName() + allMiscBlocks[stack.getItemDamage()].getName();
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks;
|
||||
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
|
@ -13,19 +10,32 @@ public class InitBlocks{
|
|||
public static Block blockFeeder;
|
||||
public static Block blockGiantChest;
|
||||
|
||||
public static Block blockGrinder;
|
||||
public static Block blockGrinderDouble;
|
||||
public static Block blockFurnaceDouble;
|
||||
|
||||
public static void init(){
|
||||
Util.logInfo("Initializing Blocks...");
|
||||
|
||||
blockCompost = new BlockCompost();
|
||||
GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, ((IName)blockCompost).getName());
|
||||
Util.register(blockCompost, BlockCompost.TheItemBlock.class);
|
||||
|
||||
blockMisc = new BlockMisc();
|
||||
GameRegistry.registerBlock(blockMisc, BlockMisc.ItemBlockMisc.class, ((IName)blockMisc).getName());
|
||||
Util.register(blockMisc, BlockMisc.TheItemBlock.class);
|
||||
|
||||
blockFeeder = new BlockFeeder();
|
||||
GameRegistry.registerBlock(blockFeeder, DefaultItemBlock.class, ((IName)blockFeeder).getName());
|
||||
Util.register(blockFeeder, BlockFeeder.TheItemBlock.class);
|
||||
|
||||
blockGiantChest = new BlockGiantChest();
|
||||
GameRegistry.registerBlock(blockGiantChest, DefaultItemBlock.class, ((IName)blockGiantChest).getName());
|
||||
Util.register(blockGiantChest, BlockGiantChest.TheItemBlock.class);
|
||||
|
||||
blockGrinder = new BlockGrinder(false);
|
||||
Util.register(blockGrinder, BlockGrinder.TheItemBlock.class);
|
||||
|
||||
blockGrinderDouble = new BlockGrinder(true);
|
||||
Util.register(blockGrinderDouble, BlockGrinder.TheItemBlock.class);
|
||||
|
||||
blockFurnaceDouble = new BlockFurnaceDouble();
|
||||
Util.register(blockFurnaceDouble, BlockFurnaceDouble.TheItemBlock.class);
|
||||
}
|
||||
}
|
|
@ -1,18 +1,21 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks.metalists;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
|
||||
public enum TheMiscBlocks implements IName{
|
||||
|
||||
QUARTZ_PILLAR("BlackQuartzPillar"),
|
||||
QUARTZ_CHISELED("BlackQuartzChiseled"),
|
||||
QUARTZ("BlackQuartz"),
|
||||
ORE_QUARTZ("OreBlackQuartz");
|
||||
QUARTZ_PILLAR("BlackQuartzPillar", EnumRarity.rare),
|
||||
QUARTZ_CHISELED("BlackQuartzChiseled", EnumRarity.rare),
|
||||
QUARTZ("BlackQuartz", EnumRarity.rare),
|
||||
ORE_QUARTZ("OreBlackQuartz", EnumRarity.epic);
|
||||
|
||||
public final String name;
|
||||
public final EnumRarity rarity;
|
||||
|
||||
private TheMiscBlocks(String name){
|
||||
private TheMiscBlocks(String name, EnumRarity rarity){
|
||||
this.name = name;
|
||||
this.rarity = rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks.render;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
|
||||
public class ModelBaseSPRS extends ModelBase{
|
||||
|
||||
public void render(float f){
|
||||
|
||||
}
|
||||
|
||||
public String getName(){
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks.render;
|
||||
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
||||
public class ModelCompost extends ModelBaseSPRS{
|
||||
|
||||
public ModelRenderer floor;
|
||||
public ModelRenderer wallOne;
|
||||
public ModelRenderer wallTwo;
|
||||
public ModelRenderer wallThree;
|
||||
public ModelRenderer wallFour;
|
||||
|
||||
public ModelCompost(){
|
||||
this.textureWidth = 64;
|
||||
this.textureHeight = 64;
|
||||
this.wallThree = new ModelRenderer(this, 0, 0);
|
||||
this.wallThree.setRotationPoint(-6.0F, 8.0F, 6.0F);
|
||||
this.wallThree.addBox(0.0F, 0.0F, 0.0F, 12, 15, 1, 0.0F);
|
||||
this.wallFour = new ModelRenderer(this, 0, 0);
|
||||
this.wallFour.setRotationPoint(-6.0F, 8.0F, -7.0F);
|
||||
this.wallFour.addBox(0.0F, 0.0F, 0.0F, 12, 15, 1, 0.0F);
|
||||
this.wallOne = new ModelRenderer(this, 0, 0);
|
||||
this.wallOne.setRotationPoint(-7.0F, 8.0F, -7.0F);
|
||||
this.wallOne.addBox(0.0F, 0.0F, 0.0F, 1, 15, 14, 0.0F);
|
||||
this.wallTwo = new ModelRenderer(this, 0, 0);
|
||||
this.wallTwo.setRotationPoint(6.0F, 8.0F, -7.0F);
|
||||
this.wallTwo.addBox(0.0F, 0.0F, 0.0F, 1, 15, 14, 0.0F);
|
||||
this.floor = new ModelRenderer(this, 0, 0);
|
||||
this.floor.setRotationPoint(-7.0F, 23.0F, -7.0F);
|
||||
this.floor.addBox(0.0F, 0.0F, 0.0F, 14, 1, 14, 0.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(float f){
|
||||
this.wallThree.render(f);
|
||||
this.wallFour.render(f);
|
||||
this.wallOne.render(f);
|
||||
this.wallTwo.render(f);
|
||||
this.floor.render(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return "modelCompost";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks.render;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class RenderItems implements IItemRenderer{
|
||||
|
||||
ModelBaseSPRS theModel;
|
||||
ResourceLocation theTexture;
|
||||
|
||||
public RenderItems(ModelBaseSPRS model){
|
||||
this.theModel = model;
|
||||
this.theTexture = new ResourceLocation(Util.MOD_ID_LOWER, "textures/blocks/models/" + this.theModel.getName() + ".png");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data){
|
||||
switch(type){
|
||||
case INVENTORY:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(-0.5F, -1.27F, 0.5F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case EQUIPPED:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.6F, -1.2F, -0.0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glScalef(1.2F, 1.2F, 1.2F);
|
||||
GL11.glRotatef(180, 2F, -0F, 0.1F);
|
||||
GL11.glTranslatef(1.5F, -1.2F, -0.3F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
|
||||
default:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.0F, -1.27F, 0.0F);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(theTexture);
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package ellpeck.someprettyrandomstuff.blocks.render;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class RenderTileEntity extends TileEntitySpecialRenderer{
|
||||
|
||||
ModelBaseSPRS theModel;
|
||||
|
||||
public RenderTileEntity(ModelBaseSPRS model){
|
||||
this.theModel = model;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float par5){
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)x+0.5F, (float)y-0.5F, (float)z+0.5F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(0.0F, -2.0F, 0.0F);
|
||||
this.bindTexture(new ResourceLocation(Util.MOD_ID_LOWER, "textures/blocks/models/" + this.theModel.getName() + ".png"));
|
||||
theModel.render(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
}
|
|
@ -10,6 +10,12 @@ public class ConfigValues{
|
|||
public static boolean[] enabledMiscRecipes = new boolean[TheMiscItems.values().length];
|
||||
public static boolean enableCompostRecipe;
|
||||
public static boolean enableKnifeRecipe;
|
||||
public static boolean enableCrusherRecipe;
|
||||
public static boolean enableCrusherDoubleRecipe;
|
||||
public static boolean enableFurnaceDoubleRecipe;
|
||||
public static boolean enableGiantChestRecipe;
|
||||
public static boolean enableFeederRecipe;
|
||||
public static boolean enableCrafterRecipe;
|
||||
|
||||
public static int tileEntityCompostAmountNeededToConvert;
|
||||
public static int tileEntityCompostConversionTimeNeeded;
|
||||
|
@ -25,46 +31,79 @@ public class ConfigValues{
|
|||
public static float toolEmeraldEfficiency;
|
||||
public static float toolEmeraldDamage;
|
||||
public static int toolEmeraldEnchantability;
|
||||
public static boolean enableToolEmeraldRecipe;
|
||||
|
||||
public static int toolObsidianHarvestLevel;
|
||||
public static int toolObsidianMaxUses;
|
||||
public static float toolObsidianEfficiency;
|
||||
public static float toolObsidianDamage;
|
||||
public static int toolObsidianEnchantability;
|
||||
public static boolean enableToolObsidianRecipe;
|
||||
|
||||
public static int furnaceDoubleSmeltTime;
|
||||
public static int grinderDoubleCrushTime;
|
||||
public static int grinderCrushTime;
|
||||
|
||||
public static boolean enableExperienceDrop;
|
||||
public static boolean enableBloodDrop;
|
||||
public static boolean enableHeartDrop;
|
||||
public static boolean enableSubstanceDrop;
|
||||
public static boolean enablePearlShardDrop;
|
||||
public static boolean enableEmeraldShardDrop;
|
||||
|
||||
public static void defineConfigValues(Configuration config){
|
||||
|
||||
for(int i = 0; i < enabledFoodRecipes.length; i++){
|
||||
enabledFoodRecipes[i] = config.getBoolean("isItemFood" + TheFoods.values()[i].name + "CraftingRecipeEnabled", ConfigurationHandler.CATEGORY_FOOD_CRAFTING, true, "If the Crafting Recipe for " + TheFoods.values()[i].name + " is Enabled");
|
||||
enabledFoodRecipes[i] = config.getBoolean(TheFoods.values()[i].name, ConfigurationHandler.CATEGORY_FOOD_CRAFTING, true, "If the Crafting Recipe for " + TheFoods.values()[i].name + " is Enabled");
|
||||
}
|
||||
for(int i = 0; i < enabledMiscRecipes.length; i++){
|
||||
enabledMiscRecipes[i] = config.getBoolean("isItemMisc" + TheMiscItems.values()[i].name + "CraftingRecipeEnabled", ConfigurationHandler.CATEGORY_MISC_CRAFTING, true, "If the Crafting Recipe for " + TheMiscItems.values()[i].name + " is Enabled");
|
||||
if(i != TheMiscItems.QUARTZ.ordinal()){
|
||||
enabledMiscRecipes[i] = config.getBoolean(TheMiscItems.values()[i].name, ConfigurationHandler.CATEGORY_MISC_CRAFTING, true, "If the Crafting Recipe for " + TheMiscItems.values()[i].name + " is Enabled");
|
||||
}
|
||||
}
|
||||
|
||||
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");
|
||||
//TODO CHANGE TO BE TRUE BY DEFAULT
|
||||
enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Solidified Experience drops from Mobs");
|
||||
enableBloodDrop = config.getBoolean("Blood Fragments", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Blood Fragments drop from Mobs");
|
||||
enableHeartDrop = config.getBoolean("Heart Parts", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Heart Parts drop from Mobs");
|
||||
enableSubstanceDrop = config.getBoolean("Unknown Substance", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Unknown Substance drops from Mobs");
|
||||
enablePearlShardDrop = config.getBoolean("Ender Pearl Shard", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Ender Pearl Shard drops from Mobs");
|
||||
enableEmeraldShardDrop = config.getBoolean("Emerald Shard", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Emerald Shard drops from Mobs");
|
||||
|
||||
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");
|
||||
enableCompostRecipe = config.getBoolean("Compost", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Compost is Enabled");
|
||||
enableKnifeRecipe = config.getBoolean("Knife", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for the Knife is Enabled");
|
||||
enableCrusherDoubleRecipe = config.getBoolean("Double Crusher", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Double Crusher is Enabled");
|
||||
enableCrusherRecipe = config.getBoolean("Crusher", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Crusher is Enabled");
|
||||
enableFurnaceDoubleRecipe = config.getBoolean("Double Furnace", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Double Furnace is Enabled");
|
||||
enableGiantChestRecipe = config.getBoolean("Giant Chest", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Giant Chest is Enabled");
|
||||
enableFeederRecipe = config.getBoolean("Feeder", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Feeder is Enabled");
|
||||
enableCrafterRecipe = config.getBoolean("Crafting Table On A Stick", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for the Crafting Table On A Stick is Enabled");
|
||||
|
||||
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");
|
||||
tileEntityCompostAmountNeededToConvert = config.getInt("Compost: Amount Needed To Convert", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 10, 1, 64, "How many items are needed in the Compost to convert to Fertilizer");
|
||||
tileEntityCompostConversionTimeNeeded = config.getInt("Compost: Conversion Time Needed", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 1000, 30, 10000, "How long the Compost needs to convert to Fertilizer");
|
||||
|
||||
itemKnifeMaxDamage = config.getInt("itemKnifeMaxDamage", ConfigurationHandler.CATEGORY_ITEM_DAMAGE_VALUES, 100, 5, 5000, "How often the Knife can be crafted with");
|
||||
tileEntityFeederReach = config.getInt("Feeder: Reach", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 5, 1, 20, "The Radius of Action of the Feeder");
|
||||
tileEntityFeederTimeNeeded = config.getInt("Feeder: Time Needed", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 100, 50, 5000, "The time spent between feeding animals with the Feeder");
|
||||
tileEntityFeederThreshold = config.getInt("Feeder: Threshold", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 30, 3, 500, "How many animals need to be in the area for the Feeder to stop");
|
||||
|
||||
itemKnifeMaxDamage = config.getInt("Knife: Max Uses", ConfigurationHandler.CATEGORY_TOOL_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");
|
||||
toolEmeraldHarvestLevel = config.getInt("Emerald: Harvest Level", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Emerald Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)");
|
||||
toolEmeraldMaxUses = config.getInt("Emerald: Max Uses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2000, 50, 10000, "How often Emerald Tools can be used");
|
||||
toolEmeraldEfficiency = config.getFloat("Emerald: Efficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 9.0F, 1.0F, 20.0F, "How fast Emerald Tools are");
|
||||
toolEmeraldDamage = config.getFloat("Emerald: Damage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 5.0F, 0.1F, 50.0F, "How much damage an Emerald Tool deals");
|
||||
toolEmeraldEnchantability = config.getInt("Emerald: Enchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Emerald Tool is");
|
||||
enableToolEmeraldRecipe = config.getBoolean("Emerald Tools", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for Emerald Tools is Enabled");
|
||||
|
||||
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");
|
||||
toolObsidianHarvestLevel = config.getInt("Obsidian: Harvest Level", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Obsidian Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)");
|
||||
toolObsidianMaxUses = config.getInt("Obsidian: Max Uses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 8000, 50, 20000, "How often Obsidian Tools can be used");
|
||||
toolObsidianEfficiency = config.getFloat("Obsidian: Efficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 4.0F, 1.0F, 20.0F, "How fast Obsidian Tools are");
|
||||
toolObsidianDamage = config.getFloat("Obsidian: Damage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2.0F, 0.1F, 50.0F, "How much damage an Obsidian Tool deals");
|
||||
toolObsidianEnchantability = config.getInt("Obsidian: Enchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Obsidian Tool is");
|
||||
enableToolObsidianRecipe = config.getBoolean("Obsidian Tools", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for Obsidian Tools is Enabled");
|
||||
|
||||
grinderCrushTime = config.getInt("Crusher: Crush Time", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 200, 10, 1000, "How long the Crusher takes to crush an item");
|
||||
grinderDoubleCrushTime = config.getInt("Double Crusher: Crush Time", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 300, 10, 1000, "How long the Double Crusher takes to crush an item");
|
||||
furnaceDoubleSmeltTime = config.getInt("Double Furnace: Smelt Time", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 300, 10, 1000, "How long the Double Furnace takes to crush an item");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,14 +9,12 @@ public class ConfigurationHandler{
|
|||
|
||||
public static final String CATEGORY_FOOD_CRAFTING = "food crafting";
|
||||
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 final String CATEGORY_MACHINE_VALUES = "machine values";
|
||||
public static final String CATEGORY_MOB_DROPS = "mob drops";
|
||||
|
||||
public static Configuration config;
|
||||
|
||||
public static void init(File configFile){
|
||||
Util.logInfo("Grabbing Configurations...");
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
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;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class BlockCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
//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()));
|
||||
|
||||
//Crusher
|
||||
if(ConfigValues.enableCrusherRecipe)
|
||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockGrinder),
|
||||
"CFC", "CPC", "CFC",
|
||||
'C', new ItemStack(Blocks.cobblestone),
|
||||
'P', new ItemStack(Blocks.piston),
|
||||
'F', new ItemStack(Items.flint));
|
||||
|
||||
//Double Crusher
|
||||
if(ConfigValues.enableCrusherDoubleRecipe)
|
||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockGrinderDouble),
|
||||
"CCC", "RPR", "CCC",
|
||||
'C', new ItemStack(Blocks.cobblestone),
|
||||
'R', new ItemStack(InitBlocks.blockGrinder),
|
||||
'P', new ItemStack(Blocks.piston));
|
||||
|
||||
//Double Furnace
|
||||
if(ConfigValues.enableFurnaceDoubleRecipe)
|
||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockFurnaceDouble),
|
||||
"CCC", "RPR", "CCC",
|
||||
'C', new ItemStack(Blocks.cobblestone),
|
||||
'R', new ItemStack(Blocks.furnace),
|
||||
'P', new ItemStack(Items.brick));
|
||||
|
||||
//Feeder
|
||||
if(ConfigValues.enableFeederRecipe)
|
||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockFeeder),
|
||||
"WCW", "WHW", "WCW",
|
||||
'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD),
|
||||
'C', new ItemStack(Items.golden_carrot),
|
||||
'H', new ItemStack(Items.wheat));
|
||||
|
||||
//Giant Chest
|
||||
if(ConfigValues.enableGiantChestRecipe)
|
||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockGiantChest),
|
||||
"CWC", "W W", "CWC",
|
||||
'C', new ItemStack(Blocks.chest),
|
||||
'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD));
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
package ellpeck.someprettyrandomstuff.crafting;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
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.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class FoodCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
//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);
|
||||
|
||||
//Pizza
|
||||
if(ConfigValues.enabledFoodRecipes[TheFoods.PIZZA.ordinal()])
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.PIZZA.ordinal()),
|
||||
"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.cooked_fished, 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()),
|
||||
"KT ", "CB ", " T ",
|
||||
'T', new ItemStack(InitItems.itemFoods, 1, TheFoods.TOAST.ordinal()),
|
||||
'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()),
|
||||
'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()),
|
||||
"KCP", "FB ", "PCP",
|
||||
'P', new ItemStack(Items.paper),
|
||||
'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()),
|
||||
'F', new ItemStack(Items.cooked_fished, 1, Util.WILDCARD),
|
||||
'B', new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()),
|
||||
'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD));
|
||||
|
||||
//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(InitItems.itemKnife, 1, Util.WILDCARD));
|
||||
|
||||
//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_fished, 1, Util.WILDCARD),
|
||||
'P', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()),
|
||||
'F', new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.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.itemKnife));
|
||||
|
||||
//Chocolate
|
||||
if(ConfigValues.enabledFoodRecipes[TheFoods.CHOCOLATE.ordinal()])
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CHOCOLATE.ordinal()),
|
||||
"C C", "CMC", "C C",
|
||||
'C', new ItemStack(Items.dye, 1, 3),
|
||||
'M', new ItemStack(Items.milk_bucket));
|
||||
|
||||
//Chocolate Cake
|
||||
if(ConfigValues.enabledFoodRecipes[TheFoods.CHOCOLATE_CAKE.ordinal()])
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CHOCOLATE_CAKE.ordinal()),
|
||||
"MMM", "CCC", "EDS",
|
||||
'M', new ItemStack(Items.milk_bucket),
|
||||
'E', new ItemStack(Items.egg),
|
||||
'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()),
|
||||
'S', new ItemStack(Items.sugar),
|
||||
'C', new ItemStack(Items.dye, 1, 3));
|
||||
|
||||
//Toast
|
||||
if(ConfigValues.enabledFoodRecipes[TheFoods.TOAST.ordinal()])
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 2, TheFoods.TOAST.ordinal()),
|
||||
new ItemStack(Items.bread));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package ellpeck.someprettyrandomstuff.crafting;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheDusts;
|
||||
import ellpeck.someprettyrandomstuff.recipe.GrinderRecipes;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import org.apache.logging.log4j.Level;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GrinderCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
GrinderRecipes.instance().registerRecipe(new ItemStack(Blocks.iron_ore), new ItemStack(InitItems.itemDust, 2, TheDusts.IRON.ordinal()), new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()), 10);
|
||||
GrinderRecipes.instance().registerRecipe(new ItemStack(Blocks.redstone_ore), new ItemStack(Items.redstone, 10), null, 0);
|
||||
GrinderRecipes.instance().registerRecipe(new ItemStack(Blocks.lapis_ore), new ItemStack(Items.dye, 15, 4), null, 0);
|
||||
|
||||
registerFinally();
|
||||
}
|
||||
|
||||
public static void registerFinally(){
|
||||
String[] names = OreDictionary.getOreNames();
|
||||
for(String name : names){
|
||||
if(name.contains("ore")){
|
||||
String nameOfOre = name.substring(3);
|
||||
ArrayList<ItemStack> allDusts = OreDictionary.getOres("dust" + nameOfOre);
|
||||
if(allDusts != null && allDusts.size() > 0){
|
||||
ItemStack output = allDusts.get(0);
|
||||
output.stackSize = 2;
|
||||
ArrayList<ItemStack> allOresOfName = OreDictionary.getOres(name);
|
||||
if(allOresOfName != null && allOresOfName.size() > 0){
|
||||
for(ItemStack input : allOresOfName){
|
||||
if(GrinderRecipes.instance().getOutput(input, false) == null){
|
||||
|
||||
//Special Second Outputs
|
||||
if(name.equals("oreNickel")) GrinderRecipes.instance().registerRecipe(input, output, OreDictionary.getOres("dustPlatinum").get(0), 10);
|
||||
|
||||
else GrinderRecipes.instance().registerRecipe(input, output, null, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else Util.SPRS_LOGGER.log(Level.ERROR, "Couldn't register Crusher Recipe! Didn't find Items registered as '" + name + "'! This shouldn't happen as there is something registered as '" + name + "' that doesn't exist!");
|
||||
}
|
||||
else Util.SPRS_LOGGER.log(Level.WARN, "Couldn't register Crusher Recipe! An Item with OreDictionary Registry 'dust" + nameOfOre + "' doesn't exist! This is not an Error, just a bit sad :(");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,166 +1,19 @@
|
|||
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;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheFoods;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemFood;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
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);
|
||||
ItemCrafting.init();
|
||||
BlockCrafting.init();
|
||||
MiscCrafting.init();
|
||||
FoodCrafting.init();
|
||||
ToolCrafting.init();
|
||||
GrinderCrafting.init();
|
||||
|
||||
//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()),
|
||||
"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()),
|
||||
"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()),
|
||||
"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));
|
||||
|
||||
//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(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_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();
|
||||
}
|
||||
|
||||
public static void initMashedFoodRecipes(){
|
||||
|
||||
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, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
package ellpeck.someprettyrandomstuff.crafting;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemFood;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
//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()));
|
||||
|
||||
//Crafter on a Stick
|
||||
if(ConfigValues.enableCrafterRecipe)
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemCrafterOnAStick),
|
||||
new ItemStack(Blocks.crafting_table),
|
||||
new ItemStack(Items.sign),
|
||||
new ItemStack(Items.slime_ball));
|
||||
|
||||
//Mashed Food
|
||||
if(ConfigValues.enabledMiscRecipes[TheMiscItems.MASHED_FOOD.ordinal()])
|
||||
initMashedFoodRecipes();
|
||||
|
||||
}
|
||||
|
||||
public static void initMashedFoodRecipes(){
|
||||
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, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package ellpeck.someprettyrandomstuff.crafting;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class MiscCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
//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));
|
||||
|
||||
//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));
|
||||
|
||||
//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.leather));
|
||||
|
||||
//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.flint));
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
package ellpeck.someprettyrandomstuff.crafting;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ToolCrafting{
|
||||
|
||||
public static void init(){
|
||||
|
||||
if(ConfigValues.enableToolEmeraldRecipe){
|
||||
//Pickaxe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemPickaxeEmerald),
|
||||
"EEE", " S ", " S ",
|
||||
'E', new ItemStack(Items.emerald),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Sword
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemSwordEmerald),
|
||||
"E", "E", "S",
|
||||
'E', new ItemStack(Items.emerald),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Axe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemAxeEmerald),
|
||||
"EE", "ES", " S",
|
||||
'E', new ItemStack(Items.emerald),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Shovel
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemShovelEmerald),
|
||||
"E", "S", "S",
|
||||
'E', new ItemStack(Items.emerald),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Hoe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemHoeEmerald),
|
||||
"EE", " S", " S",
|
||||
'E', new ItemStack(Items.emerald),
|
||||
'S', new ItemStack(Items.stick));
|
||||
}
|
||||
|
||||
if(ConfigValues.enableToolObsidianRecipe){
|
||||
//Pickaxe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemPickaxeObsidian),
|
||||
"EEE", " S ", " S ",
|
||||
'E', new ItemStack(Blocks.obsidian),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Sword
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemSwordObsidian),
|
||||
"E", "E", "S",
|
||||
'E', new ItemStack(Blocks.obsidian),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Axe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemAxeObsidian),
|
||||
"EE", "ES", " S",
|
||||
'E', new ItemStack(Blocks.obsidian),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Shovel
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemShovelObsidian),
|
||||
"E", "S", "S",
|
||||
'E', new ItemStack(Blocks.obsidian),
|
||||
'S', new ItemStack(Items.stick));
|
||||
|
||||
//Hoe
|
||||
GameRegistry.addRecipe(new ItemStack(InitItems.itemHoeObsidian),
|
||||
"EE", " S", " S",
|
||||
'E', new ItemStack(Blocks.obsidian),
|
||||
'S', new ItemStack(Items.stick));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package ellpeck.someprettyrandomstuff.event;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import ellpeck.someprettyrandomstuff.achievement.InitAchievements;
|
||||
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheFoods;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
public class CraftEvent{
|
||||
@SubscribeEvent
|
||||
public void onCraftedEvent(PlayerEvent.ItemCraftedEvent event){
|
||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.DOUGH.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftDough, 1);
|
||||
}
|
||||
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);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.PAPER_CONE.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftPaperCone, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FRENCH_FRY.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFrenchFry, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FRENCH_FRIES.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFrenchFries, 1);
|
||||
}
|
||||
if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.FISH_N_CHIPS.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementCraftFishNChips, 1);
|
||||
}
|
||||
if(event.crafting.getItem()== Item.getItemFromBlock(InitBlocks.blockCompost)){
|
||||
event.player.addStat(InitAchievements.achievementCraftCompost, 1);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package ellpeck.someprettyrandomstuff.event;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
|
||||
public class InitEvents{
|
||||
|
||||
public static void init(){
|
||||
Util.logInfo("Initializing Events...");
|
||||
|
||||
Util.registerEvent(new SmeltEvent());
|
||||
Util.registerEvent(new CraftEvent());
|
||||
Util.registerEvent(new KilledEvent());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package ellpeck.someprettyrandomstuff.event;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheSpecialDrops;
|
||||
import net.minecraft.entity.EntityCreature;
|
||||
import net.minecraft.entity.monster.EntityMob;
|
||||
import net.minecraft.entity.passive.EntityAnimal;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.event.entity.living.LivingDropsEvent;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class KilledEvent{
|
||||
@SubscribeEvent
|
||||
public void onEntityDropEvent(LivingDropsEvent event){
|
||||
if(event.source.getEntity() instanceof EntityPlayer){
|
||||
for(int i = 0; i < TheSpecialDrops.values().length; i++){
|
||||
TheSpecialDrops theDrop = TheSpecialDrops.values()[i];
|
||||
if(theDrop.canDrop && event.entityLiving.getClass() == theDrop.dropFrom || (event.entityLiving instanceof EntityCreature && theDrop.dropFrom == EntityCreature.class) || (event.entityLiving instanceof EntityMob && theDrop.dropFrom == EntityMob.class) || (event.entityLiving instanceof EntityAnimal && theDrop.dropFrom == EntityAnimal.class)){
|
||||
if(new Random().nextInt(100) + 1 <= theDrop.chance){
|
||||
event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSpecialDrop, new Random().nextInt(theDrop.maxAmount) + 1, theDrop.ordinal()), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package ellpeck.someprettyrandomstuff.event;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import ellpeck.someprettyrandomstuff.achievement.InitAchievements;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheFoods;
|
||||
|
||||
public class SmeltEvent{
|
||||
@SubscribeEvent
|
||||
public void onSmeltedEvent(PlayerEvent.ItemSmeltedEvent event){
|
||||
if(event.smelting.getItem() == InitItems.itemFoods && event.smelting.getItemDamage() == TheFoods.BAGUETTE.ordinal()){
|
||||
event.player.addStat(InitAchievements.achievementSmeltBaguette, 1);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package ellpeck.someprettyrandomstuff.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.*;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ContainerCrafter extends Container{
|
||||
|
||||
public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3);
|
||||
public IInventory craftResult = new InventoryCraftResult();
|
||||
|
||||
public final int x;
|
||||
public final int y;
|
||||
public final int z;
|
||||
public final World world;
|
||||
|
||||
public ContainerCrafter(EntityPlayer player){
|
||||
InventoryPlayer inventory = player.inventory;
|
||||
|
||||
this.world = player.worldObj;
|
||||
this.x = (int)player.posX;
|
||||
this.y = (int)player.posY;
|
||||
this.z = (int)player.posZ;
|
||||
|
||||
this.addSlotToContainer(new SlotCrafting(inventory.player, this.craftMatrix, this.craftResult, 0, 124, 35));
|
||||
for (int i = 0; i < 3; i++){
|
||||
for (int j = 0; j < 3; j++){
|
||||
this.addSlotToContainer(new Slot(this.craftMatrix, j + i*3, 30 + j*18, 17 + i*18));
|
||||
}
|
||||
}
|
||||
|
||||
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, 84 + i*18));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 9; i++){
|
||||
this.addSlotToContainer(new Slot(inventory, i, 8 + i*18, 142));
|
||||
}
|
||||
|
||||
this.onCraftMatrixChanged(this.craftMatrix);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCraftMatrixChanged(IInventory p_75130_1_){
|
||||
this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.world));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onContainerClosed(EntityPlayer player){
|
||||
super.onContainerClosed(player);
|
||||
|
||||
if (!this.world.isRemote){
|
||||
for (int i = 0; i < 9; ++i){
|
||||
ItemStack stack = this.craftMatrix.getStackInSlotOnClosing(i);
|
||||
if(stack != null) player.dropPlayerItemWithRandomChoice(stack, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slot){
|
||||
ItemStack stack = null;
|
||||
Slot theSlot = (Slot)this.inventorySlots.get(slot);
|
||||
|
||||
if(theSlot != null && theSlot.getHasStack()){
|
||||
ItemStack savedStack = theSlot.getStack();
|
||||
stack = savedStack.copy();
|
||||
|
||||
if(slot == 0){
|
||||
if(!this.mergeItemStack(savedStack, 10, 46, true)) return null;
|
||||
theSlot.onSlotChange(savedStack, stack);
|
||||
}
|
||||
else if(slot >= 10 && slot < 37 && !this.mergeItemStack(savedStack, 37, 46, false)) return null;
|
||||
else if(slot >= 37 && slot < 46 && !this.mergeItemStack(savedStack, 10, 37, false)) return null;
|
||||
else if(!this.mergeItemStack(savedStack, 10, 46, false)) return null;
|
||||
|
||||
if(savedStack.stackSize == 0) theSlot.putStack(null);
|
||||
else theSlot.onSlotChanged();
|
||||
|
||||
if(savedStack.stackSize == stack.stackSize) return null;
|
||||
|
||||
theSlot.onPickupFromSlot(player, savedStack);
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
package ellpeck.someprettyrandomstuff.inventory;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.inventory.slot.SlotOutput;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityFurnaceDouble;
|
||||
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 ContainerFurnaceDouble extends Container{
|
||||
|
||||
private TileEntityFurnaceDouble tileFurnace;
|
||||
|
||||
private int lastCoalTime;
|
||||
private int lastCoalTimeLeft;
|
||||
private int lastFirstCrushTime;
|
||||
private int lastSecondCrushTime;
|
||||
|
||||
public ContainerFurnaceDouble(InventoryPlayer inventory, TileEntityBase tile){
|
||||
this.tileFurnace = (TileEntityFurnaceDouble)tile;
|
||||
|
||||
this.addSlotToContainer(new Slot(this.tileFurnace, TileEntityFurnaceDouble.SLOT_COAL, 80, 21));
|
||||
|
||||
this.addSlotToContainer(new Slot(this.tileFurnace, TileEntityFurnaceDouble.SLOT_INPUT_1, 51, 21));
|
||||
this.addSlotToContainer(new Slot(this.tileFurnace, TileEntityFurnaceDouble.SLOT_INPUT_2, 109, 21));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileFurnace, TileEntityFurnaceDouble.SLOT_OUTPUT_1, 51, 69));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileFurnace, TileEntityFurnaceDouble.SLOT_OUTPUT_2, 108, 69));
|
||||
|
||||
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, 97 + i * 18));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 9; i++){
|
||||
this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 155));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCraftingToCrafters(ICrafting iCraft){
|
||||
super.addCraftingToCrafters(iCraft);
|
||||
iCraft.sendProgressBarUpdate(this, 0, this.tileFurnace.coalTime);
|
||||
iCraft.sendProgressBarUpdate(this, 1, this.tileFurnace.coalTimeLeft);
|
||||
iCraft.sendProgressBarUpdate(this, 2, this.tileFurnace.firstSmeltTime);
|
||||
iCraft.sendProgressBarUpdate(this, 3, this.tileFurnace.secondSmeltTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detectAndSendChanges(){
|
||||
super.detectAndSendChanges();
|
||||
for(Object crafter : this.crafters){
|
||||
ICrafting iCraft = (ICrafting)crafter;
|
||||
|
||||
if(this.lastCoalTime != this.tileFurnace.coalTime) iCraft.sendProgressBarUpdate(this, 0, this.tileFurnace.coalTime);
|
||||
if(this.lastCoalTimeLeft != this.tileFurnace.coalTimeLeft) iCraft.sendProgressBarUpdate(this, 1, this.tileFurnace.coalTimeLeft);
|
||||
if(this.lastFirstCrushTime != this.tileFurnace.firstSmeltTime) iCraft.sendProgressBarUpdate(this, 2, this.tileFurnace.firstSmeltTime);
|
||||
if(this.lastSecondCrushTime != this.tileFurnace.secondSmeltTime) iCraft.sendProgressBarUpdate(this, 3, this.tileFurnace.secondSmeltTime);
|
||||
}
|
||||
|
||||
this.lastCoalTime = this.tileFurnace.coalTime;
|
||||
this.lastCoalTimeLeft = this.tileFurnace.coalTimeLeft;
|
||||
this.lastFirstCrushTime = this.tileFurnace.firstSmeltTime;
|
||||
this.lastSecondCrushTime = this.tileFurnace.secondSmeltTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateProgressBar(int par1, int par2){
|
||||
if(par1 == 0) this.tileFurnace.coalTime = par2;
|
||||
if(par1 == 1) this.tileFurnace.coalTimeLeft = par2;
|
||||
if(par1 == 2) this.tileFurnace.firstSmeltTime = par2;
|
||||
if(par1 == 3) this.tileFurnace.secondSmeltTime = par2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player){
|
||||
return this.tileFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slot){
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
package ellpeck.someprettyrandomstuff.inventory;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.inventory.slot.SlotOutput;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityGrinder;
|
||||
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 ContainerGrinder extends Container{
|
||||
|
||||
private TileEntityGrinder tileGrinder;
|
||||
private boolean isDouble;
|
||||
|
||||
private int lastCoalTime;
|
||||
private int lastCoalTimeLeft;
|
||||
private int lastFirstCrushTime;
|
||||
private int lastSecondCrushTime;
|
||||
|
||||
public ContainerGrinder(InventoryPlayer inventory, TileEntityBase tile, boolean isDouble){
|
||||
this.tileGrinder = (TileEntityGrinder)tile;
|
||||
this.isDouble = isDouble;
|
||||
|
||||
this.addSlotToContainer(new Slot(this.tileGrinder, TileEntityGrinder.SLOT_COAL, this.isDouble ? 80 : 51, 21));
|
||||
|
||||
this.addSlotToContainer(new Slot(this.tileGrinder, TileEntityGrinder.SLOT_INPUT_1, this.isDouble ? 51 : 80, 21));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileGrinder, TileEntityGrinder.SLOT_OUTPUT_1_1, this.isDouble ? 37 : 66, 69));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileGrinder, TileEntityGrinder.SLOT_OUTPUT_1_2, this.isDouble ? 64 : 92, 69));
|
||||
if(this.isDouble){
|
||||
this.addSlotToContainer(new Slot(this.tileGrinder, TileEntityGrinder.SLOT_INPUT_2, 109, 21));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileGrinder, TileEntityGrinder.SLOT_OUTPUT_2_1, 96, 69));
|
||||
this.addSlotToContainer(new SlotOutput(this.tileGrinder, TileEntityGrinder.SLOT_OUTPUT_2_2, 121, 69));
|
||||
}
|
||||
|
||||
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, 97 + i * 18));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 9; i++){
|
||||
this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 155));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCraftingToCrafters(ICrafting iCraft){
|
||||
super.addCraftingToCrafters(iCraft);
|
||||
iCraft.sendProgressBarUpdate(this, 0, this.tileGrinder.coalTime);
|
||||
iCraft.sendProgressBarUpdate(this, 1, this.tileGrinder.coalTimeLeft);
|
||||
iCraft.sendProgressBarUpdate(this, 2, this.tileGrinder.firstCrushTime);
|
||||
if(this.isDouble) iCraft.sendProgressBarUpdate(this, 3, this.tileGrinder.secondCrushTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detectAndSendChanges(){
|
||||
super.detectAndSendChanges();
|
||||
for(Object crafter : this.crafters){
|
||||
ICrafting iCraft = (ICrafting)crafter;
|
||||
|
||||
if(this.lastCoalTime != this.tileGrinder.coalTime) iCraft.sendProgressBarUpdate(this, 0, this.tileGrinder.coalTime);
|
||||
if(this.lastCoalTimeLeft != this.tileGrinder.coalTimeLeft) iCraft.sendProgressBarUpdate(this, 1, this.tileGrinder.coalTimeLeft);
|
||||
if(this.lastFirstCrushTime != this.tileGrinder.firstCrushTime) iCraft.sendProgressBarUpdate(this, 2, this.tileGrinder.firstCrushTime);
|
||||
if(this.isDouble) if(this.lastSecondCrushTime != this.tileGrinder.secondCrushTime) iCraft.sendProgressBarUpdate(this, 3, this.tileGrinder.secondCrushTime);
|
||||
}
|
||||
|
||||
this.lastCoalTime = this.tileGrinder.coalTime;
|
||||
this.lastCoalTimeLeft = this.tileGrinder.coalTimeLeft;
|
||||
this.lastFirstCrushTime = this.tileGrinder.firstCrushTime;
|
||||
if(this.isDouble) this.lastSecondCrushTime = this.tileGrinder.secondCrushTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void updateProgressBar(int par1, int par2){
|
||||
if(par1 == 0) this.tileGrinder.coalTime = par2;
|
||||
if(par1 == 1) this.tileGrinder.coalTimeLeft = par2;
|
||||
if(par1 == 2) this.tileGrinder.firstCrushTime = par2;
|
||||
if(this.isDouble && par1 == 3) this.tileGrinder.secondCrushTime = par2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player){
|
||||
return this.tileGrinder.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slot){
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package ellpeck.someprettyrandomstuff.inventory;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiCrafter extends GuiContainer{
|
||||
|
||||
private static final ResourceLocation resLoc = new ResourceLocation("textures/gui/container/crafting_table.png");
|
||||
|
||||
public GuiCrafter(EntityPlayer player){
|
||||
super(new ContainerCrafter(player));
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
}
|
|
@ -58,7 +58,7 @@ public class GuiFeeder extends GuiContainer{
|
|||
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("info." + Util.MOD_ID_LOWER + ".feeder.animal.desc") + (this.tileFeeder.currentAnimalAmount == 1 ? "" : StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.animalsSuffix.desc"))), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.tooMany.desc") : StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.notEnough.desc")))};
|
||||
String[] array = new String[]{(this.tileFeeder.currentAnimalAmount + " " + StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.animals.desc")), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.tooMany.desc") : StatCollector.translateToLocal("info." + Util.MOD_ID_LOWER + ".feeder.notEnough.desc")))};
|
||||
this.func_146283_a(Arrays.asList(array), x, y);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
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.TileEntityFurnaceDouble;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiFurnaceDouble extends GuiContainer{
|
||||
|
||||
private static final ResourceLocation resLoc = Util.getGuiLocation("guiFurnaceDouble");
|
||||
private TileEntityFurnaceDouble tileFurnace;
|
||||
|
||||
public GuiFurnaceDouble(InventoryPlayer inventory, TileEntityBase tile){
|
||||
super(new ContainerFurnaceDouble(inventory, tile));
|
||||
this.tileFurnace = (TileEntityFurnaceDouble)tile;
|
||||
this.xSize = 176;
|
||||
this.ySize = 93+86;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawGuiContainerBackgroundLayer(float f, int x, int y){
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
this.mc.getTextureManager().bindTexture(Util.GUI_INVENTORY_LOCATION);
|
||||
this.drawTexturedModalRect(this.guiLeft, this.guiTop+93, 0, 0, 176, 86);
|
||||
|
||||
this.mc.getTextureManager().bindTexture(resLoc);
|
||||
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, 176, 93);
|
||||
|
||||
if(this.tileFurnace.coalTime > 0){
|
||||
int i = this.tileFurnace.getCoalTimeToScale(15);
|
||||
this.drawTexturedModalRect(this.guiLeft+80, this.guiTop+5+14-i, 176, 44+14-i, 14, i);
|
||||
}
|
||||
if(this.tileFurnace.firstSmeltTime > 0){
|
||||
int i = this.tileFurnace.getFirstTimeToScale(23);
|
||||
this.drawTexturedModalRect(this.guiLeft+51, this.guiTop+40, 176, 0, 24, i);
|
||||
}
|
||||
if(this.tileFurnace.secondSmeltTime > 0){
|
||||
int i = this.tileFurnace.getSecondTimeToScale(23);
|
||||
this.drawTexturedModalRect(this.guiLeft + 101, this.guiTop + 40, 176, 22, 24, i);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int x, int y, float f){
|
||||
super.drawScreen(x, y, f);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
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.TileEntityGrinder;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiGrinder extends GuiContainer{
|
||||
|
||||
private static final ResourceLocation resLoc = Util.getGuiLocation("guiGrinder");
|
||||
private static final ResourceLocation resLocDouble = Util.getGuiLocation("guiGrinderDouble");
|
||||
private TileEntityGrinder tileGrinder;
|
||||
private boolean isDouble;
|
||||
|
||||
public GuiGrinder(InventoryPlayer inventory, TileEntityBase tile, boolean isDouble){
|
||||
super(new ContainerGrinder(inventory, tile, isDouble));
|
||||
this.tileGrinder = (TileEntityGrinder)tile;
|
||||
this.isDouble = isDouble;
|
||||
this.xSize = 176;
|
||||
this.ySize = 93+86;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawGuiContainerBackgroundLayer(float f, int x, int y){
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
this.mc.getTextureManager().bindTexture(Util.GUI_INVENTORY_LOCATION);
|
||||
this.drawTexturedModalRect(this.guiLeft, this.guiTop+93, 0, 0, 176, 86);
|
||||
|
||||
this.mc.getTextureManager().bindTexture(this.isDouble ? resLocDouble : resLoc);
|
||||
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, 176, 93);
|
||||
|
||||
if(this.tileGrinder.coalTime > 0){
|
||||
int i = this.tileGrinder.getCoalTimeToScale(15);
|
||||
this.drawTexturedModalRect(this.guiLeft+(isDouble ? 80 : 51), this.guiTop+5+14-i, 176, 44+14-i, 14, i);
|
||||
}
|
||||
if(this.tileGrinder.firstCrushTime > 0){
|
||||
int i = this.tileGrinder.getFirstTimeToScale(23);
|
||||
this.drawTexturedModalRect(this.guiLeft+(isDouble ? 51 : 80), this.guiTop+40, 176, 0, 24, i);
|
||||
}
|
||||
if(this.isDouble){
|
||||
if(this.tileGrinder.secondCrushTime > 0){
|
||||
int i = this.tileGrinder.getSecondTimeToScale(23);
|
||||
this.drawTexturedModalRect(this.guiLeft + 101, this.guiTop + 40, 176, 22, 24, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int x, int y, float f){
|
||||
super.drawScreen(x, y, f);
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ import cpw.mods.fml.common.network.IGuiHandler;
|
|||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityBase;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityGrinder;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -12,12 +13,24 @@ public class GuiHandler implements IGuiHandler{
|
|||
|
||||
@Override
|
||||
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);
|
||||
TileEntityBase tileFeeder = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new ContainerFeeder(entityPlayer.inventory, tileFeeder);
|
||||
case GIANT_CHEST_ID:
|
||||
return new ContainerGiantChest(entityPlayer.inventory, tile);
|
||||
TileEntityBase tileChest = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new ContainerGiantChest(entityPlayer.inventory, tileChest);
|
||||
case CRAFTER_ID:
|
||||
return new ContainerCrafter(entityPlayer);
|
||||
case GRINDER_ID:
|
||||
TileEntityBase tileGrinder = (TileEntityGrinder)world.getTileEntity(x, y, z);
|
||||
return new ContainerGrinder(entityPlayer.inventory, tileGrinder, false);
|
||||
case GRINDER_DOUBLE_ID:
|
||||
TileEntityBase tileGrinderDouble = (TileEntityGrinder)world.getTileEntity(x, y, z);
|
||||
return new ContainerGrinder(entityPlayer.inventory, tileGrinderDouble, true);
|
||||
case FURNACE_DOUBLE_ID:
|
||||
TileEntityBase tileFurnace = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new ContainerFurnaceDouble(entityPlayer.inventory, tileFurnace);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -25,12 +38,24 @@ public class GuiHandler implements IGuiHandler{
|
|||
|
||||
@Override
|
||||
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);
|
||||
TileEntityBase tileFeeder = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new GuiFeeder(entityPlayer.inventory, tileFeeder);
|
||||
case GIANT_CHEST_ID:
|
||||
return new GuiGiantChest(entityPlayer.inventory, tile);
|
||||
TileEntityBase tileChest = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new GuiGiantChest(entityPlayer.inventory, tileChest);
|
||||
case CRAFTER_ID:
|
||||
return new GuiCrafter(entityPlayer);
|
||||
case GRINDER_ID:
|
||||
TileEntityBase tileGrinder = (TileEntityGrinder)world.getTileEntity(x, y, z);
|
||||
return new GuiGrinder(entityPlayer.inventory, tileGrinder, false);
|
||||
case GRINDER_DOUBLE_ID:
|
||||
TileEntityBase tileGrinderDouble = (TileEntityGrinder)world.getTileEntity(x, y, z);
|
||||
return new GuiGrinder(entityPlayer.inventory, tileGrinderDouble, true);
|
||||
case FURNACE_DOUBLE_ID:
|
||||
TileEntityBase tileFurnace = (TileEntityBase)world.getTileEntity(x, y, z);
|
||||
return new GuiFurnaceDouble(entityPlayer.inventory, tileFurnace);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -38,6 +63,10 @@ public class GuiHandler implements IGuiHandler{
|
|||
|
||||
public static final int FEEDER_ID = 0;
|
||||
public static final int GIANT_CHEST_ID = 1;
|
||||
public static final int CRAFTER_ID = 2;
|
||||
public static final int GRINDER_ID = 3;
|
||||
public static final int GRINDER_DOUBLE_ID = 4;
|
||||
public static final int FURNACE_DOUBLE_ID = 5;
|
||||
|
||||
public static void init(){
|
||||
Util.logInfo("Initializing GuiHandler...");
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package ellpeck.someprettyrandomstuff.inventory.slot;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotOutput extends Slot{
|
||||
|
||||
public SlotOutput(IInventory inventory, int id, int x, int y){
|
||||
super(inventory, id, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack){
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -1,10 +1,9 @@
|
|||
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.IName;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
public class InitItems{
|
||||
|
@ -13,6 +12,9 @@ public class InitItems{
|
|||
public static Item itemMisc;
|
||||
public static Item itemFoods;
|
||||
public static Item itemKnife;
|
||||
public static Item itemCrafterOnAStick;
|
||||
public static Item itemDust;
|
||||
public static Item itemSpecialDrop;
|
||||
|
||||
public static Item itemPickaxeEmerald;
|
||||
public static Item itemAxeEmerald;
|
||||
|
@ -30,29 +32,38 @@ public class InitItems{
|
|||
Util.logInfo("Initializing Items...");
|
||||
|
||||
itemFertilizer = new ItemFertilizer();
|
||||
GameRegistry.registerItem(itemFertilizer, ((IName)itemFertilizer).getName());
|
||||
Util.register(itemFertilizer);
|
||||
|
||||
itemMisc = new ItemMisc();
|
||||
GameRegistry.registerItem(itemMisc, ((IName)itemMisc).getName());
|
||||
Util.register(itemMisc);
|
||||
|
||||
itemFoods = new ItemFoods();
|
||||
GameRegistry.registerItem(itemFoods, ((IName)itemFoods).getName());
|
||||
Util.register(itemFoods);
|
||||
|
||||
itemKnife = new ItemKnife();
|
||||
GameRegistry.registerItem(itemKnife, ((IName)itemKnife).getName());
|
||||
Util.register(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");
|
||||
itemCrafterOnAStick = new ItemCrafterOnAStick();
|
||||
Util.register(itemCrafterOnAStick);
|
||||
|
||||
itemDust = new ItemDust();
|
||||
Util.register(itemDust);
|
||||
|
||||
itemSpecialDrop = new ItemSpecialDrop();
|
||||
Util.register(itemSpecialDrop);
|
||||
|
||||
itemPickaxeEmerald = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemPickaxeEmerald", EnumRarity.rare);
|
||||
itemAxeEmerald = new ItemAxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemAxeEmerald", EnumRarity.rare);
|
||||
itemShovelEmerald = new ItemShovelSPRS(InitItemMaterials.toolMaterialEmerald, "itemShovelEmerald", EnumRarity.rare);
|
||||
itemSwordEmerald = new ItemSwordSPRS(InitItemMaterials.toolMaterialEmerald, "itemSwordEmerald", EnumRarity.rare);
|
||||
itemHoeEmerald = new ItemHoeSPRS(InitItemMaterials.toolMaterialEmerald, "itemHoeEmerald", EnumRarity.rare);
|
||||
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");
|
||||
itemPickaxeObsidian = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemPickaxeObsidian", EnumRarity.uncommon);
|
||||
itemAxeObsidian = new ItemAxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemAxeObsidian", EnumRarity.uncommon);
|
||||
itemShovelObsidian = new ItemShovelSPRS(InitItemMaterials.toolMaterialObsidian, "itemShovelObsidian", EnumRarity.uncommon);
|
||||
itemSwordObsidian = new ItemSwordSPRS(InitItemMaterials.toolMaterialObsidian, "itemSwordObsidian", EnumRarity.uncommon);
|
||||
itemHoeObsidian = new ItemHoeSPRS(InitItemMaterials.toolMaterialObsidian, "itemHoeObsidian", EnumRarity.uncommon);
|
||||
Util.registerItems(new Item[]{itemPickaxeObsidian, itemAxeObsidian, itemShovelObsidian, itemSwordObsidian, itemHoeObsidian});
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
package ellpeck.someprettyrandomstuff.items;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.SomePrettyRandomStuff;
|
||||
import ellpeck.someprettyrandomstuff.creative.CreativeTab;
|
||||
import ellpeck.someprettyrandomstuff.inventory.GuiHandler;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemCrafterOnAStick extends Item implements IName{
|
||||
|
||||
public ItemCrafterOnAStick(){
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setMaxStackSize(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
|
||||
list.add(Util.addStandardInformation(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack stack, int pass){
|
||||
return this.itemIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister iconReg){
|
||||
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player){
|
||||
if(!world.isRemote) player.openGui(SomePrettyRandomStuff.instance, GuiHandler.CRAFTER_ID, world, (int)player.posX, (int)player.posY, (int)player.posZ);
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.epic;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return "itemCrafterOnAStick";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
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.TheDusts;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
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.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemDust extends Item implements IName{
|
||||
|
||||
public static final TheDusts[] allDusts = TheDusts.values();
|
||||
|
||||
public ItemDust(){
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setHasSubtypes(true);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return "itemDust";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return allDusts[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list){
|
||||
for(int j = 0; j < allDusts.length; j++){
|
||||
list.add(new ItemStack(this, 1, j));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName() + allDusts[stack.getItemDamage()].name;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
|
||||
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + this.getName() + allDusts[stack.getItemDamage()].getName() + ".desc"));
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack stack, int pass){
|
||||
return this.itemIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getColorFromItemStack(ItemStack stack, int pass){
|
||||
return allDusts[stack.getItemDamage()].color;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister iconReg){
|
||||
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName());
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemDye;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -18,7 +19,7 @@ import java.util.List;
|
|||
public class ItemFertilizer extends Item implements IName{
|
||||
|
||||
public ItemFertilizer(){
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -31,6 +32,11 @@ public class ItemFertilizer extends Item implements IName{
|
|||
return super.onItemUse(stack, player, world, x, y, z, par7, par8, par9, par10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.rare;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
|
|
@ -10,10 +10,7 @@ import net.minecraft.client.renderer.texture.IIconRegister;
|
|||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemFood;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.*;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -27,7 +24,7 @@ public class ItemFoods extends ItemFood implements IName{
|
|||
|
||||
public ItemFoods(){
|
||||
super(0, 0.0F, false);
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setHasSubtypes(true);
|
||||
this.setMaxDamage(0);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
|
@ -35,6 +32,11 @@ public class ItemFoods extends ItemFood implements IName{
|
|||
TheFoods.setReturnItems();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return allFoods[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int func_150905_g(ItemStack stack){
|
||||
return allFoods[stack.getItemDamage()].healAmount;
|
||||
|
|
|
@ -4,20 +4,22 @@ 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.IInformation;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemKnife extends Item implements IName{
|
||||
public class ItemKnife extends Item implements IName, IInformation{
|
||||
|
||||
public ItemKnife(){
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setMaxDamage(ConfigValues.itemKnifeMaxDamage);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
this.setMaxStackSize(1);
|
||||
|
@ -32,6 +34,11 @@ public class ItemKnife extends Item implements IName{
|
|||
return theStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return EnumRarity.epic;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
@ -59,4 +66,9 @@ public class ItemKnife extends Item implements IName{
|
|||
public String getName(){
|
||||
return "itemKnife";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getInformationString(){
|
||||
return new String[]{"This is a test too but it's more cool senn se assa"};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ 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.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -22,7 +23,7 @@ public class ItemMisc extends Item implements IName{
|
|||
public IIcon[] textures = new IIcon[allMiscItems.length];
|
||||
|
||||
public ItemMisc(){
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setHasSubtypes(true);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
@ -32,6 +33,11 @@ public class ItemMisc extends Item implements IName{
|
|||
return "itemMisc";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return allMiscItems[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
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.TheSpecialDrops;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
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.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemSpecialDrop extends Item implements IName{
|
||||
|
||||
public static final TheSpecialDrops[] allDrops = TheSpecialDrops.values();
|
||||
public IIcon[] textures = new IIcon[allDrops.length];
|
||||
|
||||
public ItemSpecialDrop(){
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setHasSubtypes(true);
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return "itemSpecial";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return allDrops[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int damage){
|
||||
return damage;
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list){
|
||||
for(int j = 0; j < allDrops.length; j++){
|
||||
list.add(new ItemStack(this, 1, j));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack){
|
||||
return this.getUnlocalizedName() + allDrops[stack.getItemDamage()].name;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){
|
||||
if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + this.getName() + allDrops[stack.getItemDamage()].getName() + ".desc"));
|
||||
else list.add(Util.shiftForInfo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIconFromDamage(int par1){
|
||||
return textures[par1];
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister iconReg){
|
||||
for(int i = 0; i < textures.length; i++){
|
||||
textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName() + allDrops[i].getName());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package ellpeck.someprettyrandomstuff.items.metalists;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
|
||||
public enum TheDusts implements IName{
|
||||
|
||||
IRON("Iron", 7826534, EnumRarity.common),
|
||||
GOLD("Gold", 14335744, EnumRarity.uncommon),
|
||||
DIAMOND("Diamond", 292003, EnumRarity.rare),
|
||||
EMERALD("Emerald", 4319527, EnumRarity.epic),
|
||||
LAPIS("Lapis", 1849791, EnumRarity.uncommon);
|
||||
|
||||
public final String name;
|
||||
public final int color;
|
||||
public final EnumRarity rarity;
|
||||
|
||||
private TheDusts(String name, int color, EnumRarity rarity){
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.rarity = rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return this.name;
|
||||
}
|
||||
}
|
|
@ -3,26 +3,27 @@ package ellpeck.someprettyrandomstuff.items.metalists;
|
|||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public enum TheFoods implements IName{
|
||||
|
||||
CHEESE("Cheese", 1, 0.1F, false, 3),
|
||||
PUMPKIN_STEW("PumpkinStew", 10, 0.4F, true, 30),
|
||||
CARROT_JUICE("CarrotJuice", 6, 0.2F, true, 20),
|
||||
FISH_N_CHIPS("FishNChips", 20, 1F, false, 40),
|
||||
FRENCH_FRIES("FrenchFries", 16, 0.7F, false, 32),
|
||||
FRENCH_FRY("FrenchFry", 1, 0.01F, false, 3),
|
||||
SPAGHETTI("Spaghetti", 18, 0.8F, false, 38),
|
||||
NOODLE("Noodle", 1, 0.01F, false, 3),
|
||||
CHOCOLATE_CAKE("ChocolateCake", 16, 0.45F, false, 45),
|
||||
CHOCOLATE("Chocolate", 5, 0.05F, false, 15),
|
||||
TOAST("Toast", 7, 0.4F, false, 25),
|
||||
SUBMARINE_SANDWICH("SubmarineSandwich", 10, 0.7F, false, 40),
|
||||
BIG_COOKIE("BigCookie", 6, 0.1F, false, 20),
|
||||
HAMBURGER("Hamburger", 14, 0.9F, false, 40),
|
||||
PIZZA("Pizza", 20, 1F, false, 45),
|
||||
BAGUETTE("Baguette", 7, 0.2F, false, 25);
|
||||
CHEESE("Cheese", 1, 0.1F, false, 3, EnumRarity.common),
|
||||
PUMPKIN_STEW("PumpkinStew", 10, 0.4F, true, 30, EnumRarity.common),
|
||||
CARROT_JUICE("CarrotJuice", 6, 0.2F, true, 20, EnumRarity.common),
|
||||
FISH_N_CHIPS("FishNChips", 20, 1F, false, 40, EnumRarity.uncommon),
|
||||
FRENCH_FRIES("FrenchFries", 16, 0.7F, false, 32, EnumRarity.common),
|
||||
FRENCH_FRY("FrenchFry", 1, 0.01F, false, 3, EnumRarity.common),
|
||||
SPAGHETTI("Spaghetti", 18, 0.8F, false, 38, EnumRarity.common),
|
||||
NOODLE("Noodle", 1, 0.01F, false, 3, EnumRarity.common),
|
||||
CHOCOLATE_CAKE("ChocolateCake", 16, 0.45F, false, 45, EnumRarity.uncommon),
|
||||
CHOCOLATE("Chocolate", 5, 0.05F, false, 15, EnumRarity.common),
|
||||
TOAST("Toast", 7, 0.4F, false, 25, EnumRarity.common),
|
||||
SUBMARINE_SANDWICH("SubmarineSandwich", 10, 0.7F, false, 40, EnumRarity.uncommon),
|
||||
BIG_COOKIE("BigCookie", 6, 0.1F, false, 20, EnumRarity.uncommon),
|
||||
HAMBURGER("Hamburger", 14, 0.9F, false, 40, EnumRarity.common),
|
||||
PIZZA("Pizza", 20, 1F, false, 45, EnumRarity.uncommon),
|
||||
BAGUETTE("Baguette", 7, 0.2F, false, 25, EnumRarity.common);
|
||||
|
||||
public static void setReturnItems(){
|
||||
SPAGHETTI.returnItem = new ItemStack(Items.bowl);
|
||||
|
@ -38,13 +39,15 @@ public enum TheFoods implements IName{
|
|||
public final boolean getsDrunken;
|
||||
public final int useDuration;
|
||||
public ItemStack returnItem;
|
||||
public final EnumRarity rarity;
|
||||
|
||||
private TheFoods(String name, int healAmount, float saturation, boolean getsDrunken, int useDuration){
|
||||
private TheFoods(String name, int healAmount, float saturation, boolean getsDrunken, int useDuration, EnumRarity rarity){
|
||||
this.name = name;
|
||||
this.getsDrunken = getsDrunken;
|
||||
this.healAmount = healAmount;
|
||||
this.saturation = saturation;
|
||||
this.useDuration = useDuration;
|
||||
this.rarity = rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
package ellpeck.someprettyrandomstuff.items.metalists;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
|
||||
public enum TheMiscItems implements IName{
|
||||
|
||||
PAPER_CONE("PaperCone"),
|
||||
MASHED_FOOD("MashedFood"),
|
||||
REFINED_IRON("RefinedIron"),
|
||||
REFINED_REDSTONE("RefinedRedstone"),
|
||||
COMPRESSED_IRON("CompressedIron"),
|
||||
STEEL("Steel"),
|
||||
KNIFE_BLADE("KnifeBlade"),
|
||||
KNIFE_HANDLE("KnifeHandle"),
|
||||
DOUGH("Dough"),
|
||||
QUARTZ("BlackQuartz");
|
||||
PAPER_CONE("PaperCone", EnumRarity.common),
|
||||
MASHED_FOOD("MashedFood", EnumRarity.uncommon),
|
||||
KNIFE_BLADE("KnifeBlade", EnumRarity.common),
|
||||
KNIFE_HANDLE("KnifeHandle", EnumRarity.common),
|
||||
DOUGH("Dough", EnumRarity.common),
|
||||
QUARTZ("BlackQuartz", EnumRarity.epic);
|
||||
|
||||
public final String name;
|
||||
public final EnumRarity rarity;
|
||||
|
||||
private TheMiscItems(String name){
|
||||
private TheMiscItems(String name, EnumRarity rarity){
|
||||
this.name = name;
|
||||
this.rarity = rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package ellpeck.someprettyrandomstuff.items.metalists;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.util.IName;
|
||||
import net.minecraft.entity.EntityCreature;
|
||||
import net.minecraft.entity.monster.EntityCreeper;
|
||||
import net.minecraft.entity.monster.EntityEnderman;
|
||||
import net.minecraft.entity.monster.EntitySkeleton;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
|
||||
public enum TheSpecialDrops implements IName{
|
||||
|
||||
SOLIDIFIED_EXPERIENCE("SolidifiedExperience", 70, 3, EntityCreature.class, EnumRarity.uncommon, ConfigValues.enableExperienceDrop),
|
||||
BLOOD_FRAGMENT("BloodFragment", 30, 1, EntityCreature.class, EnumRarity.uncommon, ConfigValues.enableBloodDrop),
|
||||
//Change this into a Heart Fragment that is later crafted into a heart used to revive Villagers
|
||||
HEART_PART("HeartPart", 10, 1, EntityCreature.class, EnumRarity.rare, ConfigValues.enableHeartDrop),
|
||||
UNKNOWN_SUBSTANCE("UnknownSubstance", 5, 1, EntitySkeleton.class, EnumRarity.epic, ConfigValues.enableSubstanceDrop),
|
||||
PEARL_SHARD("PearlShard", 20, 3, EntityEnderman.class, EnumRarity.epic, ConfigValues.enablePearlShardDrop),
|
||||
EMERALD_SHARD("EmeraldShard", 15, 1, EntityCreeper.class, EnumRarity.rare, ConfigValues.enableEmeraldShardDrop);
|
||||
|
||||
public final String name;
|
||||
public final int chance;
|
||||
public final int maxAmount;
|
||||
public final Class<? extends EntityCreature> dropFrom;
|
||||
public final boolean canDrop;
|
||||
public final EnumRarity rarity;
|
||||
|
||||
private TheSpecialDrops(String name, int chance, int maxAmount, Class<? extends EntityCreature> dropFrom, EnumRarity rarity, boolean canDrop){
|
||||
this.name = name;
|
||||
this.chance = chance;
|
||||
this.rarity = rarity;
|
||||
this.maxAmount = maxAmount;
|
||||
this.dropFrom = dropFrom;
|
||||
this.canDrop = canDrop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return this.name;
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemAxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -17,11 +18,13 @@ import java.util.List;
|
|||
public class ItemAxeSPRS extends ItemAxe implements IName{
|
||||
|
||||
private String name;
|
||||
private EnumRarity rarity;
|
||||
|
||||
public ItemAxeSPRS(ToolMaterial toolMat, String unlocalizedName){
|
||||
public ItemAxeSPRS(ToolMaterial toolMat, String unlocalizedName, EnumRarity rarity){
|
||||
super(toolMat);
|
||||
this.name = unlocalizedName;
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.rarity = rarity;
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -46,6 +49,11 @@ public class ItemAxeSPRS extends ItemAxe implements IName{
|
|||
this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + this.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return this.rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(){
|
||||
return name;
|
||||
|
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemHoe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -17,11 +18,13 @@ import java.util.List;
|
|||
public class ItemHoeSPRS extends ItemHoe implements IName{
|
||||
|
||||
private String name;
|
||||
private EnumRarity rarity;
|
||||
|
||||
public ItemHoeSPRS(ToolMaterial toolMat, String unlocalizedName){
|
||||
public ItemHoeSPRS(ToolMaterial toolMat, String unlocalizedName, EnumRarity rarity){
|
||||
super(toolMat);
|
||||
this.name = unlocalizedName;
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.rarity = rarity;
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -35,6 +38,11 @@ public class ItemHoeSPRS extends ItemHoe implements IName{
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return this.rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack stack, int pass){
|
||||
return this.itemIcon;
|
||||
|
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -17,11 +18,13 @@ import java.util.List;
|
|||
public class ItemPickaxeSPRS extends ItemPickaxe implements IName{
|
||||
|
||||
private String name;
|
||||
private EnumRarity rarity;
|
||||
|
||||
public ItemPickaxeSPRS(ToolMaterial toolMat, String unlocalizedName){
|
||||
public ItemPickaxeSPRS(ToolMaterial toolMat, String unlocalizedName, EnumRarity rarity){
|
||||
super(toolMat);
|
||||
this.name = unlocalizedName;
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.rarity = rarity;
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -40,6 +43,11 @@ public class ItemPickaxeSPRS extends ItemPickaxe implements IName{
|
|||
return this.itemIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return this.rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister iconReg){
|
||||
|
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemSpade;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -17,11 +18,13 @@ import java.util.List;
|
|||
public class ItemShovelSPRS extends ItemSpade implements IName{
|
||||
|
||||
private String name;
|
||||
private EnumRarity rarity;
|
||||
|
||||
public ItemShovelSPRS(ToolMaterial toolMat, String unlocalizedName){
|
||||
public ItemShovelSPRS(ToolMaterial toolMat, String unlocalizedName, EnumRarity rarity){
|
||||
super(toolMat);
|
||||
this.name = unlocalizedName;
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.rarity = rarity;
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -35,6 +38,11 @@ public class ItemShovelSPRS extends ItemSpade implements IName{
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return this.rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack stack, int pass){
|
||||
return this.itemIcon;
|
||||
|
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.util.IName;
|
|||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSword;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -17,11 +18,13 @@ import java.util.List;
|
|||
public class ItemSwordSPRS extends ItemSword implements IName{
|
||||
|
||||
private String name;
|
||||
private EnumRarity rarity;
|
||||
|
||||
public ItemSwordSPRS(ToolMaterial toolMat, String unlocalizedName){
|
||||
public ItemSwordSPRS(ToolMaterial toolMat, String unlocalizedName, EnumRarity rarity){
|
||||
super(toolMat);
|
||||
this.name = unlocalizedName;
|
||||
this.setUnlocalizedName(Util.getNamePrefix() + this.getName());
|
||||
this.rarity = rarity;
|
||||
this.setUnlocalizedName(Util.setUnlocalizedName(this));
|
||||
this.setCreativeTab(CreativeTab.instance);
|
||||
}
|
||||
|
||||
|
@ -35,6 +38,11 @@ public class ItemSwordSPRS extends ItemSword implements IName{
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return this.rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(ItemStack stack, int pass){
|
||||
return this.itemIcon;
|
||||
|
|
|
@ -2,7 +2,10 @@ package ellpeck.someprettyrandomstuff.material;
|
|||
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item.ToolMaterial;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
|
||||
public class InitItemMaterials{
|
||||
|
@ -13,8 +16,8 @@ public class InitItemMaterials{
|
|||
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);
|
||||
toolMaterialEmerald = EnumHelper.addToolMaterial("toolMaterialEmerald", ConfigValues.toolEmeraldHarvestLevel, ConfigValues.toolEmeraldMaxUses, ConfigValues.toolEmeraldEfficiency, ConfigValues.toolEmeraldDamage, ConfigValues.toolEmeraldEnchantability).setRepairItem(new ItemStack(Items.emerald));
|
||||
toolMaterialObsidian = EnumHelper.addToolMaterial("toolMaterialObsidian", ConfigValues.toolObsidianHarvestLevel, ConfigValues.toolObsidianMaxUses, ConfigValues.toolObsidianEfficiency, ConfigValues.toolObsidianDamage, ConfigValues.toolObsidianEnchantability).setRepairItem(new ItemStack(Blocks.obsidian));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package ellpeck.someprettyrandomstuff.oredict;
|
||||
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheDusts;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
public class OreDictRegistry{
|
||||
|
||||
public static void init(){
|
||||
OreDictionary.registerOre("dustDiamond", new ItemStack(InitItems.itemDust, 1, TheDusts.DIAMOND.ordinal()));
|
||||
OreDictionary.registerOre("dustIron", new ItemStack(InitItems.itemDust, 1, TheDusts.IRON.ordinal()));
|
||||
OreDictionary.registerOre("dustGold", new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()));
|
||||
OreDictionary.registerOre("dustEmerald", new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.ordinal()));
|
||||
OreDictionary.registerOre("dustLapis", new ItemStack(InitItems.itemDust, 1, TheDusts.LAPIS.ordinal()));
|
||||
}
|
||||
}
|
|
@ -1,6 +1,15 @@
|
|||
package ellpeck.someprettyrandomstuff.proxy;
|
||||
|
||||
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import ellpeck.someprettyrandomstuff.blocks.InitBlocks;
|
||||
import ellpeck.someprettyrandomstuff.blocks.render.ModelCompost;
|
||||
import ellpeck.someprettyrandomstuff.blocks.render.RenderItems;
|
||||
import ellpeck.someprettyrandomstuff.blocks.render.RenderTileEntity;
|
||||
import ellpeck.someprettyrandomstuff.tile.TileEntityCompost;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class ClientProxy implements IProxy{
|
||||
|
||||
|
@ -11,7 +20,8 @@ public class ClientProxy implements IProxy{
|
|||
|
||||
@Override
|
||||
public void init(){
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompost.class, new RenderTileEntity(new ModelCompost()));
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockCompost), new RenderItems(new ModelCompost()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
package ellpeck.someprettyrandomstuff.recipe;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GrinderRecipes{
|
||||
|
||||
private static final GrinderRecipes instance = new GrinderRecipes();
|
||||
|
||||
public ArrayList<GrinderRecipe> recipes = new ArrayList<GrinderRecipe>();
|
||||
|
||||
public static GrinderRecipes instance(){
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void registerRecipe(ItemStack input, ItemStack outputOne, ItemStack outputTwo, int secondChance){
|
||||
this.recipes.add(new GrinderRecipe(input, outputOne, outputTwo, secondChance));
|
||||
}
|
||||
|
||||
public ItemStack getOutput(ItemStack input, boolean wantSecond){
|
||||
for(GrinderRecipe recipe : recipes){
|
||||
if(recipe.input.isItemEqual(input)){
|
||||
return wantSecond ? recipe.secondOutput : recipe.firstOutput;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getSecondChance(ItemStack input){
|
||||
for(GrinderRecipe recipe : recipes){
|
||||
if(recipe.input.isItemEqual(input)){
|
||||
return recipe.secondChance;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public class GrinderRecipe{
|
||||
|
||||
public final ItemStack input;
|
||||
public final ItemStack firstOutput;
|
||||
public final ItemStack secondOutput;
|
||||
public final int secondChance;
|
||||
|
||||
public GrinderRecipe(ItemStack input, ItemStack firstOutput, ItemStack secondOutput, int secondChance){
|
||||
this.input = input;
|
||||
this.firstOutput = firstOutput;
|
||||
this.secondOutput = secondOutput;
|
||||
this.secondChance = secondChance;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -2,13 +2,16 @@ package ellpeck.someprettyrandomstuff.tile;
|
|||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import ellpeck.someprettyrandomstuff.util.Util;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockAir;
|
||||
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.minecraft.world.World;
|
||||
|
||||
public abstract class TileEntityBase extends TileEntity{
|
||||
public class TileEntityBase extends TileEntity{
|
||||
|
||||
@Override
|
||||
public Packet getDescriptionPacket(){
|
||||
|
@ -28,5 +31,12 @@ public abstract class TileEntityBase extends TileEntity{
|
|||
GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID_LOWER + ":tileEntityCompost");
|
||||
GameRegistry.registerTileEntity(TileEntityFeeder.class, Util.MOD_ID_LOWER + ":tileEntityFeeder");
|
||||
GameRegistry.registerTileEntity(TileEntityGiantChest.class, Util.MOD_ID_LOWER + ":tileEntityGiantChest");
|
||||
GameRegistry.registerTileEntity(TileEntityGrinder.class, Util.MOD_ID_LOWER + ":tileEntityGrinder");
|
||||
GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, Util.MOD_ID_LOWER + ":tileEntityFurnaceDouble");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRefresh(Block oldBlock, Block newBlock, int oldMeta, int newMeta, World world, int x, int y, int z){
|
||||
return newBlock == null || newBlock instanceof BlockAir;
|
||||
}
|
||||
}
|
|
@ -3,6 +3,8 @@ package ellpeck.someprettyrandomstuff.tile;
|
|||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.items.InitItems;
|
||||
import ellpeck.someprettyrandomstuff.items.ItemFertilizer;
|
||||
import ellpeck.someprettyrandomstuff.items.ItemMisc;
|
||||
import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
|
@ -30,6 +32,11 @@ public class TileEntityCompost extends TileEntityInventoryBase{
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit(){
|
||||
return this.amountNeededToConvert;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound compound){
|
||||
super.writeToNBT(compound);
|
||||
|
@ -41,4 +48,19 @@ public class TileEntityCompost extends TileEntityInventoryBase{
|
|||
super.readFromNBT(compound);
|
||||
this.conversionTime = compound.getInteger("ConversionTime");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack){
|
||||
return stack.getItem() instanceof ItemMisc && stack.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, int side){
|
||||
return this.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, int side){
|
||||
return stack.getItem() instanceof ItemFertilizer;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
|||
import ellpeck.someprettyrandomstuff.network.PacketHandler;
|
||||
import ellpeck.someprettyrandomstuff.network.PacketTileEntityFeeder;
|
||||
import net.minecraft.entity.passive.EntityAnimal;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
|
@ -83,4 +84,19 @@ public class TileEntityFeeder extends TileEntityInventoryBase{
|
|||
super.readFromNBT(compound);
|
||||
this.currentTimer = compound.getInteger("Timer");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, int side){
|
||||
return this.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, int side){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
package ellpeck.someprettyrandomstuff.tile;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntityFurnace;
|
||||
|
||||
public class TileEntityFurnaceDouble extends TileEntityInventoryBase{
|
||||
|
||||
public static final int SLOT_COAL = 0;
|
||||
public static final int SLOT_INPUT_1 = 1;
|
||||
public static final int SLOT_OUTPUT_1 = 2;
|
||||
public static final int SLOT_INPUT_2 = 3;
|
||||
public static final int SLOT_OUTPUT_2 = 4;
|
||||
|
||||
public int coalTime;
|
||||
public int coalTimeLeft;
|
||||
|
||||
public final int maxBurnTime;
|
||||
|
||||
public int firstSmeltTime;
|
||||
public int secondSmeltTime;
|
||||
|
||||
public TileEntityFurnaceDouble(){
|
||||
super(5, "tileEntityFurnaceDouble");
|
||||
this.maxBurnTime = ConfigValues.furnaceDoubleSmeltTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void updateEntity(){
|
||||
if(!worldObj.isRemote){
|
||||
boolean theFlag = this.coalTimeLeft > 0;
|
||||
|
||||
if(this.coalTimeLeft > 0) this.coalTimeLeft--;
|
||||
|
||||
boolean canSmeltOnFirst = this.canSmeltOn(SLOT_INPUT_1, SLOT_OUTPUT_1);
|
||||
boolean canSmeltOnSecond = this.canSmeltOn(SLOT_INPUT_2, SLOT_OUTPUT_2);
|
||||
|
||||
if((canSmeltOnFirst || canSmeltOnSecond) && this.coalTimeLeft <= 0 && this.slots[SLOT_COAL] != null){
|
||||
this.coalTime = TileEntityFurnace.getItemBurnTime(this.slots[SLOT_COAL]);
|
||||
this.coalTimeLeft = this.coalTime;
|
||||
if(this.coalTime > 0){
|
||||
this.slots[SLOT_COAL].stackSize--;
|
||||
if(this.slots[SLOT_COAL].stackSize <= 0) this.slots[SLOT_COAL] = this.slots[SLOT_COAL].getItem().getContainerItem(this.slots[SLOT_COAL]);
|
||||
}
|
||||
}
|
||||
|
||||
if(this.coalTimeLeft > 0){
|
||||
if(canSmeltOnFirst){
|
||||
this.firstSmeltTime++;
|
||||
if(this.firstSmeltTime >= maxBurnTime){
|
||||
this.finishBurning(SLOT_INPUT_1, SLOT_OUTPUT_1);
|
||||
this.firstSmeltTime = 0;
|
||||
}
|
||||
}
|
||||
else this.firstSmeltTime = 0;
|
||||
|
||||
if(canSmeltOnSecond){
|
||||
this.secondSmeltTime++;
|
||||
if(this.secondSmeltTime >= maxBurnTime){
|
||||
this.finishBurning(SLOT_INPUT_2, SLOT_OUTPUT_2);
|
||||
this.secondSmeltTime = 0;
|
||||
}
|
||||
}
|
||||
else this.secondSmeltTime = 0;
|
||||
}
|
||||
else{
|
||||
this.firstSmeltTime = 0;
|
||||
this.secondSmeltTime = 0;
|
||||
this.coalTime = 0;
|
||||
}
|
||||
|
||||
if(theFlag != this.coalTimeLeft > 0){
|
||||
int metaBefore = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
||||
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, (this.coalTimeLeft > 0 ? metaBefore+4 : metaBefore-4), 2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public boolean canSmeltOn(int theInput, int theOutput){
|
||||
if(this.slots[theInput] != null){
|
||||
ItemStack output = FurnaceRecipes.smelting().getSmeltingResult(this.slots[theInput]);
|
||||
if(this.slots[theInput] != null){
|
||||
if(output != null){
|
||||
if(this.slots[theOutput] == null || (this.slots[theOutput].isItemEqual(output) && this.slots[theOutput].stackSize <= this.slots[theOutput].getMaxStackSize()-output.stackSize)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void finishBurning(int theInput, int theOutput){
|
||||
ItemStack output = FurnaceRecipes.smelting().getSmeltingResult(this.slots[theInput]);
|
||||
if (this.slots[theOutput] == null) this.slots[theOutput] = output.copy();
|
||||
else if(this.slots[theOutput].getItem() == output.getItem()) this.slots[theOutput].stackSize += output.stackSize;
|
||||
|
||||
this.slots[theInput].stackSize--;
|
||||
if (this.slots[theInput].stackSize <= 0) this.slots[theInput] = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound compound){
|
||||
super.writeToNBT(compound);
|
||||
compound.setInteger("CoalTime", this.coalTime);
|
||||
compound.setInteger("CoalTimeLeft", this.coalTimeLeft);
|
||||
compound.setInteger("FirstSmeltTime", this.firstSmeltTime);
|
||||
compound.setInteger("SecondSmeltTime", this.secondSmeltTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound compound){
|
||||
super.readFromNBT(compound);
|
||||
this.coalTime = compound.getInteger("CoalTime");
|
||||
this.coalTimeLeft = compound.getInteger("CoalTimeLeft");
|
||||
this.firstSmeltTime = compound.getInteger("FirstSmeltTime");
|
||||
this.secondSmeltTime = compound.getInteger("SecondSmeltTime");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getCoalTimeToScale(int i){
|
||||
return this.coalTimeLeft * i / this.coalTime;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getFirstTimeToScale(int i){
|
||||
return this.firstSmeltTime * i / this.maxBurnTime;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getSecondTimeToScale(int i){
|
||||
return this.secondSmeltTime * i / this.maxBurnTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack){
|
||||
return i == SLOT_COAL && TileEntityFurnace.getItemBurnTime(stack) > 0 || (i == SLOT_INPUT_1 || i == SLOT_INPUT_2) && FurnaceRecipes.smelting().getSmeltingResult(stack) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, int side){
|
||||
return this.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, int side){
|
||||
return slot == SLOT_OUTPUT_1 || slot == SLOT_OUTPUT_2;
|
||||
}
|
||||
}
|
|
@ -40,4 +40,24 @@ public class TileEntityGiantChest extends TileEntityInventoryBase{
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUpdate(){
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack){
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, int side){
|
||||
return this.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, int side){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,186 @@
|
|||
package ellpeck.someprettyrandomstuff.tile;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ellpeck.someprettyrandomstuff.config.ConfigValues;
|
||||
import ellpeck.someprettyrandomstuff.recipe.GrinderRecipes;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntityFurnace;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class TileEntityGrinder extends TileEntityInventoryBase{
|
||||
|
||||
public static final int SLOT_COAL = 0;
|
||||
public static final int SLOT_INPUT_1 = 1;
|
||||
public static final int SLOT_OUTPUT_1_1 = 2;
|
||||
public static final int SLOT_OUTPUT_1_2 = 3;
|
||||
public static final int SLOT_INPUT_2 = 4;
|
||||
public static final int SLOT_OUTPUT_2_1 = 5;
|
||||
public static final int SLOT_OUTPUT_2_2 = 6;
|
||||
|
||||
public int coalTime;
|
||||
public int coalTimeLeft;
|
||||
|
||||
public int maxCrushTime;
|
||||
|
||||
public int firstCrushTime;
|
||||
public int secondCrushTime;
|
||||
|
||||
public boolean isDouble;
|
||||
|
||||
public TileEntityGrinder(){
|
||||
super(0, "");
|
||||
}
|
||||
|
||||
public TileEntityGrinder(boolean isDouble){
|
||||
super(isDouble ? 7 : 4, isDouble ? "tileEntityGrinderDouble" : "tileEntityGrinder");
|
||||
this.maxCrushTime = isDouble ? ConfigValues.grinderDoubleCrushTime : ConfigValues.grinderCrushTime;
|
||||
this.isDouble = isDouble;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void updateEntity(){
|
||||
if(!worldObj.isRemote){
|
||||
boolean theFlag = this.coalTimeLeft > 0;
|
||||
|
||||
if(this.coalTimeLeft > 0) this.coalTimeLeft--;
|
||||
|
||||
boolean canCrushOnFirst = this.canCrushOn(SLOT_INPUT_1, SLOT_OUTPUT_1_1, SLOT_OUTPUT_1_2);
|
||||
boolean canCrushOnSecond = false;
|
||||
if(this.isDouble) canCrushOnSecond = this.canCrushOn(SLOT_INPUT_2, SLOT_OUTPUT_2_1, SLOT_OUTPUT_2_2);
|
||||
|
||||
if((canCrushOnFirst || canCrushOnSecond) && this.coalTimeLeft <= 0 && this.slots[SLOT_COAL] != null){
|
||||
this.coalTime = TileEntityFurnace.getItemBurnTime(this.slots[SLOT_COAL]);
|
||||
this.coalTimeLeft = this.coalTime;
|
||||
if(this.coalTime > 0){
|
||||
this.slots[SLOT_COAL].stackSize--;
|
||||
if(this.slots[SLOT_COAL].stackSize <= 0) this.slots[SLOT_COAL] = this.slots[SLOT_COAL].getItem().getContainerItem(this.slots[SLOT_COAL]);
|
||||
}
|
||||
}
|
||||
|
||||
if(this.coalTimeLeft > 0){
|
||||
if(canCrushOnFirst){
|
||||
this.firstCrushTime++;
|
||||
if(this.firstCrushTime >= maxCrushTime){
|
||||
this.finishCrushing(SLOT_INPUT_1, SLOT_OUTPUT_1_1, SLOT_OUTPUT_1_2);
|
||||
this.firstCrushTime = 0;
|
||||
}
|
||||
}
|
||||
else this.firstCrushTime = 0;
|
||||
|
||||
if(this.isDouble){
|
||||
if(canCrushOnSecond){
|
||||
this.secondCrushTime++;
|
||||
if(this.secondCrushTime >= maxCrushTime){
|
||||
this.finishCrushing(SLOT_INPUT_2, SLOT_OUTPUT_2_1, SLOT_OUTPUT_2_2);
|
||||
this.secondCrushTime = 0;
|
||||
}
|
||||
}
|
||||
else this.secondCrushTime = 0;
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.firstCrushTime = 0;
|
||||
this.secondCrushTime = 0;
|
||||
this.coalTime = 0;
|
||||
}
|
||||
|
||||
if(theFlag != this.coalTimeLeft > 0){
|
||||
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, (this.coalTimeLeft > 0 ? 1 : 0), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canCrushOn(int theInput, int theFirstOutput, int theSecondOutput){
|
||||
if(this.slots[theInput] != null){
|
||||
ItemStack outputOne = GrinderRecipes.instance().getOutput(this.slots[theInput], false);
|
||||
ItemStack outputTwo = GrinderRecipes.instance().getOutput(this.slots[theInput], true);
|
||||
if(this.slots[theInput] != null){
|
||||
if(outputOne != null){
|
||||
if((this.slots[theFirstOutput] == null || (this.slots[theFirstOutput].isItemEqual(outputOne) && this.slots[theFirstOutput].stackSize <= this.slots[theFirstOutput].getMaxStackSize()-outputOne.stackSize)) && (outputTwo == null || (this.slots[theSecondOutput] == null || (this.slots[theSecondOutput].isItemEqual(outputTwo) && this.slots[theSecondOutput].stackSize <= this.slots[theSecondOutput].getMaxStackSize()-outputTwo.stackSize)))){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void finishCrushing(int theInput, int theFirstOutput, int theSecondOutput){
|
||||
ItemStack outputOnFirst = GrinderRecipes.instance().getOutput(this.slots[theInput], false);
|
||||
if (this.slots[theFirstOutput] == null) this.slots[theFirstOutput] = outputOnFirst.copy();
|
||||
else if(this.slots[theFirstOutput].getItem() == outputOnFirst.getItem()) this.slots[theFirstOutput].stackSize += outputOnFirst.stackSize;
|
||||
|
||||
int chance = GrinderRecipes.instance().getSecondChance(this.slots[theInput]);
|
||||
ItemStack outputOnSecond = GrinderRecipes.instance().getOutput(this.slots[theInput], true);
|
||||
if(outputOnSecond != null){
|
||||
int rand = new Random().nextInt(100) + 1;
|
||||
if(rand <= chance){
|
||||
if(this.slots[theSecondOutput] == null) this.slots[theSecondOutput] = outputOnSecond.copy();
|
||||
else if(this.slots[theSecondOutput].getItem() == outputOnSecond.getItem()) this.slots[theSecondOutput].stackSize += outputOnSecond.stackSize;
|
||||
}
|
||||
}
|
||||
|
||||
this.slots[theInput].stackSize--;
|
||||
if (this.slots[theInput].stackSize <= 0) this.slots[theInput] = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound compound){
|
||||
compound.setInteger("CoalTime", this.coalTime);
|
||||
compound.setInteger("CoalTimeLeft", this.coalTimeLeft);
|
||||
compound.setInteger("FirstCrushTime", this.firstCrushTime);
|
||||
compound.setInteger("SecondCrushTime", this.secondCrushTime);
|
||||
compound.setInteger("MaxCrushTime", this.maxCrushTime);
|
||||
compound.setBoolean("IsDouble", this.isDouble);
|
||||
compound.setString("Name", this.name);
|
||||
compound.setInteger("Slots", this.slots.length);
|
||||
super.writeToNBT(compound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound compound){
|
||||
this.coalTime = compound.getInteger("CoalTime");
|
||||
this.coalTimeLeft = compound.getInteger("CoalTimeLeft");
|
||||
this.firstCrushTime = compound.getInteger("FirstCrushTime");
|
||||
this.secondCrushTime = compound.getInteger("SecondCrushTime");
|
||||
this.maxCrushTime = compound.getInteger("MaxCrushTime");
|
||||
this.isDouble = compound.getBoolean("IsDouble");
|
||||
this.name = compound.getString("Name");
|
||||
this.initializeSlots(compound.getInteger("Slots"));
|
||||
super.readFromNBT(compound);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getCoalTimeToScale(int i){
|
||||
return this.coalTimeLeft * i / this.coalTime;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getFirstTimeToScale(int i){
|
||||
return this.firstCrushTime * i / this.maxCrushTime;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getSecondTimeToScale(int i){
|
||||
return this.secondCrushTime * i / this.maxCrushTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack){
|
||||
return i == SLOT_COAL && TileEntityFurnace.getItemBurnTime(stack) > 0 || (i == SLOT_INPUT_1 || i == SLOT_INPUT_2) && GrinderRecipes.instance().getOutput(stack, false) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int slot, ItemStack stack, int side){
|
||||
return this.isItemValidForSlot(slot, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int slot, ItemStack stack, int side){
|
||||
return slot == SLOT_OUTPUT_1_1 || slot == SLOT_OUTPUT_1_2 || slot == SLOT_OUTPUT_2_1 || slot == SLOT_OUTPUT_2_2;
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
package ellpeck.someprettyrandomstuff.tile;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
public abstract class TileEntityInventoryBase extends TileEntityBase implements IInventory{
|
||||
public abstract class TileEntityInventoryBase extends TileEntityBase implements ISidedInventory{
|
||||
|
||||
public ItemStack slots[];
|
||||
public String name;
|
||||
|
@ -20,7 +20,7 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
|
|||
public void writeToNBT(NBTTagCompound compound){
|
||||
super.writeToNBT(compound);
|
||||
NBTTagList tagList = new NBTTagList();
|
||||
for(int currentIndex = 0; currentIndex < slots.length; ++currentIndex){
|
||||
for(int currentIndex = 0; currentIndex < slots.length; currentIndex++){
|
||||
if (slots[currentIndex] != null){
|
||||
NBTTagCompound tagCompound = new NBTTagCompound();
|
||||
tagCompound.setByte("Slot", (byte)currentIndex);
|
||||
|
@ -35,7 +35,7 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
|
|||
public void readFromNBT(NBTTagCompound compound){
|
||||
super.readFromNBT(compound);
|
||||
NBTTagList tagList = compound.getTagList("Items", 10);
|
||||
for (int i = 0; i < tagList.tagCount(); ++i){
|
||||
for (int i = 0; i < tagList.tagCount(); i++){
|
||||
NBTTagCompound tagCompound = tagList.getCompoundTagAt(i);
|
||||
byte slotIndex = tagCompound.getByte("Slot");
|
||||
if (slotIndex >= 0 && slotIndex < slots.length){
|
||||
|
@ -120,4 +120,13 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
|
|||
public void closeInventory(){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int side){
|
||||
int[] theInt = new int[slots.length];
|
||||
for(int i = 0; i < theInt.length; i++){
|
||||
theInt[i] = i;
|
||||
}
|
||||
return theInt;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package ellpeck.someprettyrandomstuff.util;
|
||||
|
||||
public interface IInformation{
|
||||
|
||||
public abstract String[] getInformationString();
|
||||
|
||||
}
|
|
@ -1,9 +1,13 @@
|
|||
package ellpeck.someprettyrandomstuff.util;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
@ -44,11 +48,14 @@ public class Util{
|
|||
public static final String UNDERLINE = (char)167 + "n";
|
||||
public static final String ITALIC = (char)167 + "o";
|
||||
|
||||
public static final String[] ROMAN_NUMERALS = new String[]{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"};
|
||||
|
||||
public static final int DECIMAL_COLOR_WHITE = 16777215;
|
||||
|
||||
public static boolean isShiftPressed(){
|
||||
return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static boolean isControlPressed(){
|
||||
return Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL);
|
||||
}
|
||||
|
@ -58,11 +65,8 @@ public class Util{
|
|||
}
|
||||
|
||||
public static String addStandardInformation(Item item){
|
||||
if(item instanceof IName){
|
||||
if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)item).getName() + ".desc");
|
||||
else return shiftForInfo();
|
||||
}
|
||||
return null;
|
||||
if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + Util.MOD_ID_LOWER + "." + ((IName)item).getName() + ".desc");
|
||||
else return shiftForInfo();
|
||||
}
|
||||
|
||||
public static void logInfo(String text){
|
||||
|
@ -71,9 +75,7 @@ public class Util{
|
|||
|
||||
public static void registerItems(Item[] items){
|
||||
for(Item item : items){
|
||||
if(item instanceof IName){
|
||||
GameRegistry.registerItem(item, ((IName)item).getName());
|
||||
}
|
||||
register(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,7 +83,24 @@ public class Util{
|
|||
return new ResourceLocation(MOD_ID_LOWER, "textures/gui/" + file + ".png");
|
||||
}
|
||||
|
||||
public static String getNamePrefix(){
|
||||
return MOD_ID_LOWER + ".";
|
||||
public static String setUnlocalizedName(Item item){
|
||||
return MOD_ID_LOWER + "." + ((IName)item).getName();
|
||||
}
|
||||
|
||||
public static String setUnlocalizedName(Block block){
|
||||
return MOD_ID_LOWER + "." + ((IName)block).getName();
|
||||
}
|
||||
|
||||
public static void register(Item item){
|
||||
GameRegistry.registerItem(item, ((IName)item).getName());
|
||||
}
|
||||
|
||||
public static void register(Block block, Class<? extends ItemBlock> itemBlock){
|
||||
GameRegistry.registerBlock(block, itemBlock, ((IName)block).getName());
|
||||
}
|
||||
|
||||
public static void registerEvent(Object o){
|
||||
FMLCommonHandler.instance().bus().register(o);
|
||||
MinecraftForge.EVENT_BUS.register(o);
|
||||
}
|
||||
}
|
|
@ -8,12 +8,11 @@ tile.someprettyrandomstuff.blockMiscBlackQuartzChiseled.name=Chiseled Block of B
|
|||
tile.someprettyrandomstuff.blockMiscBlackQuartzPillar.name=Pillar of Black Quartz
|
||||
tile.someprettyrandomstuff.blockFeeder.name=Automatic Feeder
|
||||
tile.someprettyrandomstuff.blockGiantChest.name=Giant Chest
|
||||
tile.someprettyrandomstuff.blockGrinder.name=Crusher
|
||||
tile.someprettyrandomstuff.blockGrinderDouble.name=Double Crusher
|
||||
tile.someprettyrandomstuff.blockFurnaceDouble.name=Double Furnace
|
||||
|
||||
item.someprettyrandomstuff.itemMiscMashedFood.name=Mashed Food
|
||||
item.someprettyrandomstuff.itemMiscRefinedIron.name=Refined Iron
|
||||
item.someprettyrandomstuff.itemMiscRefinedRedstone.name=Refined Redstone
|
||||
item.someprettyrandomstuff.itemMiscCompressedIron.name=Compressed Iron
|
||||
item.someprettyrandomstuff.itemMiscSteel.name=Steel
|
||||
item.someprettyrandomstuff.itemFertilizer.name=Fertilizer
|
||||
item.someprettyrandomstuff.itemMiscDough.name=Dough
|
||||
item.someprettyrandomstuff.itemMiscPaperCone.name=Paper Cone
|
||||
|
@ -32,6 +31,7 @@ item.someprettyrandomstuff.itemAxeObsidian.name=Obsidian Axe
|
|||
item.someprettyrandomstuff.itemShovelObsidian.name=Obsidian Shovel
|
||||
item.someprettyrandomstuff.itemHoeObsidian.name=Obsidian Hoe
|
||||
item.someprettyrandomstuff.itemSwordObsidian.name=Obsidian Sword
|
||||
item.someprettyrandomstuff.itemCrafterOnAStick.name=Crafting Table On A Stick
|
||||
|
||||
item.someprettyrandomstuff.itemFoodBaguette.name=Baguette
|
||||
item.someprettyrandomstuff.itemFoodPizza.name=Pizza
|
||||
|
@ -50,24 +50,42 @@ item.someprettyrandomstuff.itemFoodCarrotJuice.name=Carrot Juice
|
|||
item.someprettyrandomstuff.itemFoodPumpkinStew.name=Pumpkin Stew
|
||||
item.someprettyrandomstuff.itemFoodCheese.name=Cheese
|
||||
|
||||
item.someprettyrandomstuff.itemSpecialUnknownSubstance.name=Unknown Substance
|
||||
item.someprettyrandomstuff.itemSpecialSolidifiedExperience.name=Solidified Experience
|
||||
item.someprettyrandomstuff.itemSpecialBloodFragment.name=Blood Fragment
|
||||
item.someprettyrandomstuff.itemSpecialHeartPart.name=Part of a Heart
|
||||
item.someprettyrandomstuff.itemSpecialPearlShard.name=Ender Pearl Shard
|
||||
item.someprettyrandomstuff.itemSpecialEmeraldShard.name=Emerald Shard
|
||||
|
||||
item.someprettyrandomstuff.itemDustIron.name=Crushed Iron
|
||||
item.someprettyrandomstuff.itemDustGold.name=Crushed Gold
|
||||
item.someprettyrandomstuff.itemDustDiamond.name=Crushed Diamond
|
||||
item.someprettyrandomstuff.itemDustLapis.name=Crushed Lapis
|
||||
item.someprettyrandomstuff.itemDustEmerald.name=Crushed Emerald
|
||||
|
||||
tooltip.someprettyrandomstuff.shiftForInfo.desc=Press Shift for Info
|
||||
tooltip.someprettyrandomstuff.hunger.desc=Fills
|
||||
tooltip.someprettyrandomstuff.saturation.desc=Saturation
|
||||
tooltip.someprettyrandomstuff.durability.desc=Durability
|
||||
|
||||
tooltip.someprettyrandomstuff.blockCompost.desc=Used to make Fertilizer with Mashed Food
|
||||
tooltip.someprettyrandomstuff.blockCompost.desc.1=Used to make Fertilizer with Mashed Food
|
||||
tooltip.someprettyrandomstuff.blockCompost.desc.2=BETA INFO: Will visually contain Compost in the Future!
|
||||
tooltip.someprettyrandomstuff.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch!
|
||||
tooltip.someprettyrandomstuff.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating.
|
||||
tooltip.someprettyrandomstuff.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating.
|
||||
tooltip.someprettyrandomstuff.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say!
|
||||
tooltip.someprettyrandomstuff.blockFeeder.desc=Feeds Animals on its own!
|
||||
tooltip.someprettyrandomstuff.blockGiantChest.desc=GUI Scale on 'Auto'? That's a problem!
|
||||
tooltip.someprettyrandomstuff.blockGrinder.desc.1=Crushes Ores into Dusts!
|
||||
tooltip.someprettyrandomstuff.blockGrinder.desc.2=You get two Dusts per Ore and Extras!
|
||||
tooltip.someprettyrandomstuff.blockGrinder.desc.3=To crush two ores simultaneously,
|
||||
tooltip.someprettyrandomstuff.blockGrinder.desc.4=build the Double Crusher!
|
||||
tooltip.someprettyrandomstuff.blockGrinderDouble.desc.1=Crushes Ores into Dusts!
|
||||
tooltip.someprettyrandomstuff.blockGrinderDouble.desc.2=You get two Dusts per Ore and Extras!
|
||||
tooltip.someprettyrandomstuff.blockGrinderDouble.desc.3=Can crush two Ores simultaneously!
|
||||
tooltip.someprettyrandomstuff.blockFurnaceDouble.desc=Smelts two Things simultaneously!
|
||||
|
||||
tooltip.someprettyrandomstuff.itemMiscMashedFood.desc=Used to make Fertilizer
|
||||
tooltip.someprettyrandomstuff.itemMiscRefinedIron.desc=Iron, but better
|
||||
tooltip.someprettyrandomstuff.itemMiscRefinedRedstone.desc=Redstone, but better
|
||||
tooltip.someprettyrandomstuff.itemMiscCompressedIron.desc=Iron, but compressed
|
||||
tooltip.someprettyrandomstuff.itemMiscSteel.desc=Like Iron, but stronger. Much stronger.
|
||||
tooltip.someprettyrandomstuff.itemFertilizer.desc=Om nom nom. Don't eat it.
|
||||
tooltip.someprettyrandomstuff.itemMiscDough.desc=Used to make things that involve dough.
|
||||
tooltip.someprettyrandomstuff.itemMiscPaperCone.desc=Used to store foodstuffs!
|
||||
|
@ -86,12 +104,13 @@ tooltip.someprettyrandomstuff.itemAxeObsidian.desc=Mines Wood. Slooooowly.
|
|||
tooltip.someprettyrandomstuff.itemShovelObsidian.desc=Mines Dirt. Slooooowly.
|
||||
tooltip.someprettyrandomstuff.itemHoeObsidian.desc=Mines... uhm... yea.
|
||||
tooltip.someprettyrandomstuff.itemSwordObsidian.desc=Mines... mobs?
|
||||
tooltip.someprettyrandomstuff.itemCrafterOnAStick.desc=A Crafting Table you can carry around!
|
||||
|
||||
tooltip.someprettyrandomstuff.itemFoodBaguette.desc=It's french. It's noms.
|
||||
tooltip.someprettyrandomstuff.itemFoodPizza.desc=Who doesn't like it?
|
||||
tooltip.someprettyrandomstuff.itemFoodHamburger.desc=It's from a german city!
|
||||
tooltip.someprettyrandomstuff.itemFoodBigCookie.desc=Do you know? The Subway Thing?
|
||||
tooltip.someprettyrandomstuff.itemFoodSubmarineSandwich.desc=Do you know? The Subway and everything else Thing?
|
||||
tooltip.someprettyrandomstuff.itemFoodSubmarineSandwich.desc=Just like Subway used to make! ...still does, right?
|
||||
tooltip.someprettyrandomstuff.itemFoodToast.desc="GHOSTS! GHOSTS! TOASTS!"
|
||||
tooltip.someprettyrandomstuff.itemFoodChocolate.desc=Lari likes.
|
||||
tooltip.someprettyrandomstuff.itemFoodChocolateCake.desc=Looks delicious. With redberries. Or something.
|
||||
|
@ -104,6 +123,19 @@ tooltip.someprettyrandomstuff.itemFoodCarrotJuice.desc=Carrots, but pressed!
|
|||
tooltip.someprettyrandomstuff.itemFoodPumpkinStew.desc=Like Mushroom Stew or Rabbit Stew, but pumpykinny.
|
||||
tooltip.someprettyrandomstuff.itemFoodCheese.desc=Cheese.
|
||||
|
||||
tooltip.someprettyrandomstuff.itemSpecialUnknownSubstance.desc=Dropped by Skeletons. BETA INFO: Useless as of yet.
|
||||
tooltip.someprettyrandomstuff.itemSpecialSolidifiedExperience.desc=Dropped by everyone. BETA INFO: Useless as of yet.
|
||||
tooltip.someprettyrandomstuff.itemSpecialBloodFragment.desc=Dropped by everyone. BETA INFO: Useless as of yet.
|
||||
tooltip.someprettyrandomstuff.itemSpecialHeartPart.desc=Dropped by everyone. BETA INFO: Useless as of yet.
|
||||
tooltip.someprettyrandomstuff.itemSpecialPearlShard.desc=Dropped by Endermen. BETA INFO: Useless as of yet.
|
||||
tooltip.someprettyrandomstuff.itemSpecialEmeraldShard.desc=Dropped by Creepers. BETA INFO: Useless as of yet.
|
||||
|
||||
tooltip.someprettyrandomstuff.itemDustIron.desc=Iron! Crushed in the Crusher!
|
||||
tooltip.someprettyrandomstuff.itemDustGold.desc=Gold! Crushed in the Crusher!
|
||||
tooltip.someprettyrandomstuff.itemDustDiamond.desc=Diamond! Crushed in the Crusher!
|
||||
tooltip.someprettyrandomstuff.itemDustLapis.desc=Lapis! Crushed in the Crusher!
|
||||
tooltip.someprettyrandomstuff.itemDustEmerald.desc=Emerald! Crushed in the Crusher!
|
||||
|
||||
achievement.someprettyrandomstuff.smeltBaguette=Better than Bread!
|
||||
achievement.someprettyrandomstuff.smeltBaguette.desc=Bake a Baguette
|
||||
achievement.someprettyrandomstuff.craftDough=Knead, knead!
|
||||
|
@ -129,8 +161,7 @@ achievement.someprettyrandomstuff.craftKnifeBlade.desc=Craft a Knife Blade
|
|||
achievement.someprettyrandomstuff.craftKnife=Sharper! Even sharper!
|
||||
achievement.someprettyrandomstuff.craftKnife.desc=Craft a Knife
|
||||
|
||||
info.someprettyrandomstuff.feeder.animal.desc=Animal
|
||||
info.someprettyrandomstuff.feeder.animalsSuffix.desc=s
|
||||
info.someprettyrandomstuff.feeder.animals.desc=Animals
|
||||
info.someprettyrandomstuff.feeder.enoughToBreed.desc=Enough to breed!
|
||||
info.someprettyrandomstuff.feeder.tooMany.desc=Too many to breed!
|
||||
info.someprettyrandomstuff.feeder.notEnough.desc=Not enough to breed!
|
Before Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 324 B |
Before Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 422 B |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 312 B |
After Width: | Height: | Size: 575 B |
After Width: | Height: | Size: 530 B |
After Width: | Height: | Size: 588 B |
After Width: | Height: | Size: 708 B |
After Width: | Height: | Size: 586 B |
After Width: | Height: | Size: 575 B |
After Width: | Height: | Size: 607 B |
After Width: | Height: | Size: 447 B |
After Width: | Height: | Size: 446 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 375 B |
After Width: | Height: | Size: 486 B |
After Width: | Height: | Size: 268 B |
Before Width: | Height: | Size: 270 B |
Before Width: | Height: | Size: 277 B |
Before Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 18 KiB |
21
src/main/resources/mcmod.info
Normal file
|
@ -0,0 +1,21 @@
|
|||
[
|
||||
{
|
||||
"modid": "SomePrettyRandomStuff",
|
||||
"name": "Some Pretty Random Stuff",
|
||||
"description": "A bunch of random stuff added to your Game to make it even more fun, exciting and add some more variety!",
|
||||
"version": "0.0.1",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "https://github.com/Ellpeck/SomePrettyRandomStuff",
|
||||
"updateUrl": "",
|
||||
"authorList": [
|
||||
"Ellpeck"
|
||||
],
|
||||
"credits": "GlenthorLP for all of the awesome Graphics",
|
||||
"logoFile": "assets/someprettyrandomstuff/textures/logo.png",
|
||||
"screenshots": [
|
||||
],
|
||||
"parent":"",
|
||||
"dependencies": [
|
||||
]
|
||||
}
|
||||
]
|