mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 23:28:35 +01:00
commit
c2bcc936b4
24 changed files with 603 additions and 61 deletions
69
src/main/java/ellpeck/actuallyadditions/PLANNED.txt
Normal file
69
src/main/java/ellpeck/actuallyadditions/PLANNED.txt
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
-Redstone Control for the ESD
|
||||||
|
|
||||||
|
-Quartz Enchanter
|
||||||
|
-Lets you enchant Tools with Black Quartz
|
||||||
|
-Doesn't use Levels
|
||||||
|
-Needs Quartz and Diamond Blocks instead of Bookcases around
|
||||||
|
|
||||||
|
-Advanced ESD
|
||||||
|
-Has a Filter
|
||||||
|
|
||||||
|
-Heat Collector
|
||||||
|
-Powers Furnaces when next to them
|
||||||
|
-Needs Warmth Sources around it
|
||||||
|
|
||||||
|
-Instant Teleport Device
|
||||||
|
-Teleports Players to where they look (Much like the Bukkit Compass)
|
||||||
|
|
||||||
|
-Magnet
|
||||||
|
-Pulls Mobs and Items towards it
|
||||||
|
-Has a certain Redstone Output depending on Mob Amount
|
||||||
|
-Can be toggled On and Off
|
||||||
|
|
||||||
|
-Void Bag
|
||||||
|
-Sucks up picked up Items
|
||||||
|
-Has a Filter
|
||||||
|
-Destroys excess Items (also determined by a Filter)
|
||||||
|
-Gets emptied into Chest on Right-Click
|
||||||
|
|
||||||
|
-Rice
|
||||||
|
-Gets planted in the Water
|
||||||
|
-Used to make Rice Flour and Rice Bread
|
||||||
|
|
||||||
|
-Auto-Crafting Item
|
||||||
|
-Has a Recipe saved
|
||||||
|
-Crafts Recipe on Shift-Right-Click if all Items are in Inventory
|
||||||
|
|
||||||
|
-Repair Station
|
||||||
|
-Powered by Coal
|
||||||
|
-Repairs Items slowly
|
||||||
|
|
||||||
|
-TNT Arrows
|
||||||
|
|
||||||
|
-Teleport Arrows
|
||||||
|
-Teleport hit Entities randomly
|
||||||
|
|
||||||
|
-Thorn Plant
|
||||||
|
-Grows on the Floor
|
||||||
|
-Damages Entities walking on it
|
||||||
|
-Has Thorn Armor which damages the Enemy
|
||||||
|
|
||||||
|
-Cobblestone and Stone Signs
|
||||||
|
|
||||||
|
-Potion Rings
|
||||||
|
-Give certain Potion Effects when held
|
||||||
|
|
||||||
|
-Binoculars
|
||||||
|
-Allow you to see farther and closer
|
||||||
|
-With Night Vision Addon
|
||||||
|
|
||||||
|
-Sound Irritation Device
|
||||||
|
-Plays Random or Configured Sounds randomly
|
||||||
|
|
||||||
|
-Uncrafting Table
|
||||||
|
|
||||||
|
-Decorative Lead
|
||||||
|
-Can be placed between two Fences for Decoration
|
||||||
|
|
||||||
|
-Greenhouse Glass
|
||||||
|
-Gives Plants below more Growth Ticks
|
|
@ -8,8 +8,8 @@ public class AchievementAA extends Achievement{
|
||||||
|
|
||||||
public AchievementAA(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){
|
public AchievementAA(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){
|
||||||
super("achievement." + ModUtil.MOD_ID_LOWER + "." + name, ModUtil.MOD_ID_LOWER + "." + name, x, y, displayStack, hasToHaveBefore);
|
super("achievement." + ModUtil.MOD_ID_LOWER + "." + name, ModUtil.MOD_ID_LOWER + "." + name, x, y, displayStack, hasToHaveBefore);
|
||||||
InitAchievements.achievementList.add(this);
|
/*InitAchievements.achievementList.add(this);
|
||||||
if(hasToHaveBefore == null) this.initIndependentStat();
|
if(hasToHaveBefore == null) this.initIndependentStat();
|
||||||
this.registerStat();
|
this.registerStat();*/
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,21 +1,8 @@
|
||||||
package ellpeck.actuallyadditions.achievement;
|
package ellpeck.actuallyadditions.achievement;
|
||||||
|
|
||||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
|
||||||
import ellpeck.actuallyadditions.util.ModUtil;
|
|
||||||
import ellpeck.actuallyadditions.util.Util;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.stats.Achievement;
|
|
||||||
import net.minecraft.util.StatCollector;
|
|
||||||
import net.minecraftforge.common.AchievementPage;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class InitAchievements{
|
public class InitAchievements{
|
||||||
|
|
||||||
public static AchievementPage theAchievementPage;
|
/*public static AchievementPage theAchievementPage;
|
||||||
public static ArrayList<Achievement> achievementList = new ArrayList<Achievement>();
|
public static ArrayList<Achievement> achievementList = new ArrayList<Achievement>();
|
||||||
|
|
||||||
public static Achievement achievementCraftKnifeBlade;
|
public static Achievement achievementCraftKnifeBlade;
|
||||||
|
@ -32,10 +19,10 @@ public class InitAchievements{
|
||||||
public static Achievement achievementCraftPaperCone;
|
public static Achievement achievementCraftPaperCone;
|
||||||
public static Achievement achievementCraftFrenchFry;
|
public static Achievement achievementCraftFrenchFry;
|
||||||
public static Achievement achievementCraftFrenchFries;
|
public static Achievement achievementCraftFrenchFries;
|
||||||
public static Achievement achievementCraftFishNChips;
|
public static Achievement achievementCraftFishNChips;*/
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
Util.logInfo("Initializing Achievements...");
|
/*Util.logInfo("Initializing Achievements...");
|
||||||
|
|
||||||
achievementCraftKnifeBlade = new AchievementAA("craftKnifeBlade", -2, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), null);
|
achievementCraftKnifeBlade = new AchievementAA("craftKnifeBlade", -2, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), null);
|
||||||
achievementCraftKnife = new AchievementAA("craftKnife", 0, 0, new ItemStack(InitItems.itemKnife), achievementCraftKnifeBlade);
|
achievementCraftKnife = new AchievementAA("craftKnife", 0, 0, new ItemStack(InitItems.itemKnife), achievementCraftKnifeBlade);
|
||||||
|
@ -55,7 +42,7 @@ public class InitAchievements{
|
||||||
|
|
||||||
|
|
||||||
theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + ModUtil.MOD_ID_LOWER), achievementList.toArray(new Achievement[achievementList.size()]));
|
theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + ModUtil.MOD_ID_LOWER), achievementList.toArray(new Achievement[achievementList.size()]));
|
||||||
AchievementPage.registerAchievementPage(theAchievementPage);
|
AchievementPage.registerAchievementPage(theAchievementPage);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package ellpeck.actuallyadditions.blocks;
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import ellpeck.actuallyadditions.achievement.InitAchievements;
|
import ellpeck.actuallyadditions.config.ConfigValues;
|
||||||
import ellpeck.actuallyadditions.items.ItemFertilizer;
|
import ellpeck.actuallyadditions.items.ItemFertilizer;
|
||||||
import ellpeck.actuallyadditions.items.ItemMisc;
|
import ellpeck.actuallyadditions.items.ItemMisc;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
|
@ -44,7 +44,7 @@ public class BlockCompost extends BlockContainerBase implements IName{
|
||||||
ItemStack stackPlayer = player.getCurrentEquippedItem();
|
ItemStack stackPlayer = player.getCurrentEquippedItem();
|
||||||
TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(x, y, z);
|
TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(x, y, z);
|
||||||
//Add items to be composted
|
//Add items to be composted
|
||||||
if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < tile.amountNeededToConvert))){
|
if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < ConfigValues.tileEntityCompostAmountNeededToConvert))){
|
||||||
if(tile.slots[0] == null) tile.slots[0] = new ItemStack(stackPlayer.getItem(), 1, TheMiscItems.MASHED_FOOD.ordinal());
|
if(tile.slots[0] == null) tile.slots[0] = new ItemStack(stackPlayer.getItem(), 1, TheMiscItems.MASHED_FOOD.ordinal());
|
||||||
else tile.slots[0].stackSize++;
|
else tile.slots[0].stackSize++;
|
||||||
if(!player.capabilities.isCreativeMode) player.inventory.getCurrentItem().stackSize--;
|
if(!player.capabilities.isCreativeMode) player.inventory.getCurrentItem().stackSize--;
|
||||||
|
@ -53,7 +53,8 @@ public class BlockCompost extends BlockContainerBase implements IName{
|
||||||
else if(tile.slots[0] != null && (stackPlayer == null || (stackPlayer.getItem() instanceof ItemFertilizer && stackPlayer.stackSize <= stackPlayer.getMaxStackSize() - tile.slots[0].stackSize)) && tile.slots[0].getItem() instanceof ItemFertilizer){
|
else if(tile.slots[0] != null && (stackPlayer == null || (stackPlayer.getItem() instanceof ItemFertilizer && stackPlayer.stackSize <= stackPlayer.getMaxStackSize() - tile.slots[0].stackSize)) && tile.slots[0].getItem() instanceof ItemFertilizer){
|
||||||
if(stackPlayer == null) player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy());
|
if(stackPlayer == null) player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy());
|
||||||
else player.getCurrentEquippedItem().stackSize+=tile.slots[0].stackSize;
|
else player.getCurrentEquippedItem().stackSize+=tile.slots[0].stackSize;
|
||||||
player.addStat(InitAchievements.achievementCraftFertilizer, 1);
|
//TODO Add again when readding Achievements
|
||||||
|
//player.addStat(InitAchievements.achievementCraftFertilizer, 1);
|
||||||
tile.slots[0] = null;
|
tile.slots[0] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
package ellpeck.actuallyadditions.blocks;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import ellpeck.actuallyadditions.tile.TileEntityFishingNet;
|
||||||
|
import ellpeck.actuallyadditions.util.IName;
|
||||||
|
import ellpeck.actuallyadditions.util.ItemUtil;
|
||||||
|
import ellpeck.actuallyadditions.util.KeyUtil;
|
||||||
|
import ellpeck.actuallyadditions.util.ModUtil;
|
||||||
|
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.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.IIcon;
|
||||||
|
import net.minecraft.util.StatCollector;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BlockFishingNet extends BlockContainerBase implements IName{
|
||||||
|
|
||||||
|
public BlockFishingNet(){
|
||||||
|
super(Material.wood);
|
||||||
|
this.setHarvestLevel("axe", 0);
|
||||||
|
this.setHardness(1.0F);
|
||||||
|
this.setStepSound(soundTypeWood);
|
||||||
|
this.setBlockBounds(0F, 0F, 0F, 1F, 1F/16F, 1F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World world, int par2){
|
||||||
|
return new TileEntityFishingNet();
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 boolean isOpaqueCube(){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderAsNormalBlock(){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderType(){
|
||||||
|
return RenderingRegistry.getNextAvailableRenderId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName(){
|
||||||
|
return "blockFishingNet";
|
||||||
|
}
|
||||||
|
|
||||||
|
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(KeyUtil.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc"));
|
||||||
|
else list.add(ItemUtil.shiftForInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetadata(int meta){
|
||||||
|
return meta;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,106 @@
|
||||||
|
package ellpeck.actuallyadditions.blocks;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import ellpeck.actuallyadditions.tile.TileEntityFurnaceSolar;
|
||||||
|
import ellpeck.actuallyadditions.util.IName;
|
||||||
|
import ellpeck.actuallyadditions.util.ItemUtil;
|
||||||
|
import ellpeck.actuallyadditions.util.KeyUtil;
|
||||||
|
import ellpeck.actuallyadditions.util.ModUtil;
|
||||||
|
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.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.IIcon;
|
||||||
|
import net.minecraft.util.StatCollector;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BlockFurnaceSolar extends BlockContainerBase implements IName{
|
||||||
|
|
||||||
|
public BlockFurnaceSolar(){
|
||||||
|
super(Material.wood);
|
||||||
|
this.setHarvestLevel("axe", 0);
|
||||||
|
this.setHardness(1.0F);
|
||||||
|
this.setStepSound(soundTypeWood);
|
||||||
|
this.setBlockBounds(0F, 0F, 0F, 1F, 3F/16F, 1F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World world, int par2){
|
||||||
|
return new TileEntityFurnaceSolar();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IIcon getIcon(int side, int metadata){
|
||||||
|
return this.blockIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void registerBlockIcons(IIconRegister iconReg){
|
||||||
|
this.blockIcon = Blocks.daylight_detector.getIcon(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOpaqueCube(){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderAsNormalBlock(){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderType(){
|
||||||
|
return RenderingRegistry.getNextAvailableRenderId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName(){
|
||||||
|
return "blockFurnaceSolar";
|
||||||
|
}
|
||||||
|
|
||||||
|
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(KeyUtil.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((IName)theBlock).getName() + ".desc"));
|
||||||
|
else list.add(ItemUtil.shiftForInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetadata(int meta){
|
||||||
|
return meta;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,6 +15,8 @@ public class InitBlocks{
|
||||||
public static Block blockGrinderDouble;
|
public static Block blockGrinderDouble;
|
||||||
public static Block blockFurnaceDouble;
|
public static Block blockFurnaceDouble;
|
||||||
public static Block blockInputter;
|
public static Block blockInputter;
|
||||||
|
public static Block blockFishingNet;
|
||||||
|
public static Block blockFurnaceSolar;
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
Util.logInfo("Initializing Blocks...");
|
Util.logInfo("Initializing Blocks...");
|
||||||
|
@ -42,5 +44,11 @@ public class InitBlocks{
|
||||||
|
|
||||||
blockInputter = new BlockInputter();
|
blockInputter = new BlockInputter();
|
||||||
BlockUtil.register(blockInputter, BlockInputter.TheItemBlock.class);
|
BlockUtil.register(blockInputter, BlockInputter.TheItemBlock.class);
|
||||||
|
|
||||||
|
blockFishingNet = new BlockFishingNet();
|
||||||
|
BlockUtil.register(blockFishingNet, BlockFishingNet.TheItemBlock.class);
|
||||||
|
|
||||||
|
blockFurnaceSolar = new BlockFurnaceSolar();
|
||||||
|
BlockUtil.register(blockFurnaceSolar, BlockFurnaceSolar.TheItemBlock.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,109 @@
|
||||||
|
package ellpeck.actuallyadditions.blocks.render;
|
||||||
|
|
||||||
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelFishingNet extends ModelBaseAA{
|
||||||
|
|
||||||
|
public ModelRenderer s1;
|
||||||
|
public ModelRenderer s2;
|
||||||
|
public ModelRenderer s3;
|
||||||
|
public ModelRenderer s4;
|
||||||
|
public ModelRenderer s5;
|
||||||
|
public ModelRenderer s6;
|
||||||
|
public ModelRenderer s7;
|
||||||
|
public ModelRenderer s8;
|
||||||
|
public ModelRenderer s9;
|
||||||
|
public ModelRenderer s10;
|
||||||
|
public ModelRenderer s11;
|
||||||
|
public ModelRenderer s12;
|
||||||
|
public ModelRenderer s13;
|
||||||
|
public ModelRenderer s14;
|
||||||
|
public ModelRenderer s15;
|
||||||
|
public ModelRenderer s16;
|
||||||
|
|
||||||
|
public ModelFishingNet(){
|
||||||
|
this.textureWidth = 64;
|
||||||
|
this.textureHeight = 64;
|
||||||
|
this.s11 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s11.mirror = true;
|
||||||
|
this.s11.setRotationPoint(-3.5F, 23.0F, -8.0F);
|
||||||
|
this.s11.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s9 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s9.mirror = true;
|
||||||
|
this.s9.setRotationPoint(-7.5F, 23.0F, -8.0F);
|
||||||
|
this.s9.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s8 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s8.setRotationPoint(-8.0F, 23.0F, 6.5F);
|
||||||
|
this.s8.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s3 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s3.setRotationPoint(-8.0F, 23.0F, -3.5F);
|
||||||
|
this.s3.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s1 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s1.setRotationPoint(-8.0F, 23.0F, -7.5F);
|
||||||
|
this.s1.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s14 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s14.mirror = true;
|
||||||
|
this.s14.setRotationPoint(2.5F, 23.0F, -8.0F);
|
||||||
|
this.s14.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s15 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s15.mirror = true;
|
||||||
|
this.s15.setRotationPoint(4.5F, 23.0F, -8.0F);
|
||||||
|
this.s15.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s4 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s4.setRotationPoint(-8.0F, 23.0F, -1.5F);
|
||||||
|
this.s4.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s13 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s13.mirror = true;
|
||||||
|
this.s13.setRotationPoint(0.5F, 23.0F, -8.0F);
|
||||||
|
this.s13.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s5 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s5.setRotationPoint(-8.0F, 23.0F, 0.5F);
|
||||||
|
this.s5.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s6 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s6.setRotationPoint(-8.0F, 23.0F, 2.5F);
|
||||||
|
this.s6.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s12 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s12.mirror = true;
|
||||||
|
this.s12.setRotationPoint(-1.5F, 23.0F, -8.0F);
|
||||||
|
this.s12.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s16 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s16.mirror = true;
|
||||||
|
this.s16.setRotationPoint(6.5F, 23.0F, -8.0F);
|
||||||
|
this.s16.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
this.s2 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s2.setRotationPoint(-8.0F, 23.0F, -5.5F);
|
||||||
|
this.s2.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s7 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s7.setRotationPoint(-8.0F, 23.0F, 4.5F);
|
||||||
|
this.s7.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F);
|
||||||
|
this.s10 = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s10.mirror = true;
|
||||||
|
this.s10.setRotationPoint(-5.5F, 23.0F, -8.0F);
|
||||||
|
this.s10.addBox(0.0F, 0.0F, 0.0F, 1, 1, 16, 0.0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(float f){
|
||||||
|
this.s11.render(f);
|
||||||
|
this.s9.render(f);
|
||||||
|
this.s8.render(f);
|
||||||
|
this.s3.render(f);
|
||||||
|
this.s1.render(f);
|
||||||
|
this.s14.render(f);
|
||||||
|
this.s15.render(f);
|
||||||
|
this.s4.render(f);
|
||||||
|
this.s13.render(f);
|
||||||
|
this.s5.render(f);
|
||||||
|
this.s6.render(f);
|
||||||
|
this.s12.render(f);
|
||||||
|
this.s16.render(f);
|
||||||
|
this.s2.render(f);
|
||||||
|
this.s7.render(f);
|
||||||
|
this.s10.render(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName(){
|
||||||
|
return "modelFishingNet";
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package ellpeck.actuallyadditions.blocks.render;
|
||||||
|
|
||||||
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelFurnaceSolar extends ModelBaseAA{
|
||||||
|
|
||||||
|
public ModelRenderer s;
|
||||||
|
|
||||||
|
public ModelFurnaceSolar(){
|
||||||
|
this.textureWidth = 64;
|
||||||
|
this.textureHeight = 32;
|
||||||
|
this.s = new ModelRenderer(this, 0, 0);
|
||||||
|
this.s.setRotationPoint(-8.0F, 21.0F, -8.0F);
|
||||||
|
this.s.addBox(0.0F, 0.0F, 0.0F, 16, 3, 16, 0.0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(float f){
|
||||||
|
this.s.render(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName(){
|
||||||
|
return "modelFurnaceSolar";
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,6 +25,8 @@ public class ConfigValues{
|
||||||
public static int tileEntityFeederTimeNeeded;
|
public static int tileEntityFeederTimeNeeded;
|
||||||
public static int tileEntityFeederThreshold;
|
public static int tileEntityFeederThreshold;
|
||||||
|
|
||||||
|
public static int tileFishingNetTime;
|
||||||
|
|
||||||
public static int itemKnifeMaxDamage;
|
public static int itemKnifeMaxDamage;
|
||||||
|
|
||||||
public static int toolEmeraldHarvestLevel;
|
public static int toolEmeraldHarvestLevel;
|
||||||
|
@ -91,12 +93,12 @@ public class ConfigValues{
|
||||||
blackQuartzMinHeight = config.getInt("Black Quartz Min Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 0, 0, 256, "How high the Black Quartz starts to generate");
|
blackQuartzMinHeight = config.getInt("Black Quartz Min Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 0, 0, 256, "How high the Black Quartz starts to generate");
|
||||||
blackQuartzMaxHeight = config.getInt("Black Quartz Max Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 25, 0, 256, "How high the Black Quartz stops to generate at");
|
blackQuartzMaxHeight = config.getInt("Black Quartz Max Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 25, 0, 256, "How high the Black Quartz stops to generate at");
|
||||||
|
|
||||||
enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Solidified Experience drops from Mobs");
|
enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, true, "If the Solidified Experience drops from Mobs");
|
||||||
enableBloodDrop = config.getBoolean("Blood Fragments", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Blood Fragments drop 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");
|
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");
|
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");
|
enablePearlShardDrop = config.getBoolean("Ender Pearl Shard", ConfigurationHandler.CATEGORY_MOB_DROPS, true, "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");
|
enableEmeraldShardDrop = config.getBoolean("Emerald Shard", ConfigurationHandler.CATEGORY_MOB_DROPS, true, "If the Emerald Shard drops from Mobs");
|
||||||
|
|
||||||
enableCompostRecipe = config.getBoolean("Compost", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Compost is Enabled");
|
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");
|
enableKnifeRecipe = config.getBoolean("Knife", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for the Knife is Enabled");
|
||||||
|
@ -111,6 +113,8 @@ public class ConfigValues{
|
||||||
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");
|
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");
|
tileEntityCompostConversionTimeNeeded = config.getInt("Compost: Conversion Time Needed", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 1000, 30, 10000, "How long the Compost needs to convert to Fertilizer");
|
||||||
|
|
||||||
|
tileFishingNetTime = config.getInt("Fishing Net: Time Needed", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 2000, 50, 50000, "How long it takes on Average until the Fishing Net catches a Fish");
|
||||||
|
|
||||||
tileEntityFeederReach = config.getInt("Feeder: Reach", ConfigurationHandler.CATEGORY_MACHINE_VALUES, 5, 1, 20, "The Radius of Action of the Feeder");
|
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");
|
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");
|
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");
|
||||||
|
|
|
@ -29,8 +29,10 @@ public class ConfigurationHandler{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
finally{
|
finally{
|
||||||
|
if(config.hasChanged()){
|
||||||
config.save();
|
config.save();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,6 +2,7 @@ package ellpeck.actuallyadditions.crafting;
|
||||||
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
||||||
|
import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks;
|
||||||
import ellpeck.actuallyadditions.config.ConfigValues;
|
import ellpeck.actuallyadditions.config.ConfigValues;
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
|
@ -21,6 +22,27 @@ public class BlockCrafting{
|
||||||
'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD),
|
'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD),
|
||||||
'F', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()));
|
'F', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()));
|
||||||
|
|
||||||
|
//Quartz Block
|
||||||
|
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.QUARTZ.ordinal()),
|
||||||
|
"QQ", "QQ",
|
||||||
|
'Q', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()));
|
||||||
|
|
||||||
|
//Fishing Net
|
||||||
|
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockFishingNet),
|
||||||
|
"SSS", "SDS", "SSS",
|
||||||
|
'D', new ItemStack(Items.diamond),
|
||||||
|
'S', new ItemStack(Items.string));
|
||||||
|
|
||||||
|
//Quartz Pillar
|
||||||
|
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.QUARTZ_PILLAR.ordinal()),
|
||||||
|
"Q", "Q",
|
||||||
|
'Q', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()));
|
||||||
|
|
||||||
|
//Chiseled Quartz
|
||||||
|
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockMisc, 2, TheMiscBlocks.QUARTZ_CHISELED.ordinal()),
|
||||||
|
"Q", "Q",
|
||||||
|
'Q', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.QUARTZ.ordinal()));
|
||||||
|
|
||||||
//Inputter
|
//Inputter
|
||||||
if(ConfigValues.enableInputterRecipe)
|
if(ConfigValues.enableInputterRecipe)
|
||||||
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockInputter),
|
GameRegistry.addRecipe(new ItemStack(InitBlocks.blockInputter),
|
||||||
|
|
|
@ -30,6 +30,8 @@ public class CreativeTab extends CreativeTabs{
|
||||||
this.addBlock(InitBlocks.blockGrinder);
|
this.addBlock(InitBlocks.blockGrinder);
|
||||||
this.addBlock(InitBlocks.blockGrinderDouble);
|
this.addBlock(InitBlocks.blockGrinderDouble);
|
||||||
this.addBlock(InitBlocks.blockFurnaceDouble);
|
this.addBlock(InitBlocks.blockFurnaceDouble);
|
||||||
|
this.addBlock(InitBlocks.blockFurnaceSolar);
|
||||||
|
this.addBlock(InitBlocks.blockFishingNet);
|
||||||
|
|
||||||
this.addBlock(InitBlocks.blockMisc);
|
this.addBlock(InitBlocks.blockMisc);
|
||||||
this.addBlock(InitBlocks.blockFeeder);
|
this.addBlock(InitBlocks.blockFeeder);
|
||||||
|
|
|
@ -2,18 +2,12 @@ package ellpeck.actuallyadditions.event;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||||
import ellpeck.actuallyadditions.achievement.InitAchievements;
|
|
||||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
|
|
||||||
public class CraftEvent{
|
public class CraftEvent{
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onCraftedEvent(PlayerEvent.ItemCraftedEvent event){
|
public void onCraftedEvent(PlayerEvent.ItemCraftedEvent event){
|
||||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.DOUGH.ordinal()){
|
/*if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.DOUGH.ordinal()){
|
||||||
event.player.addStat(InitAchievements.achievementCraftDough, 1);
|
event.player.addStat(InitAchievements.achievementCraftDough, 1);
|
||||||
}
|
}
|
||||||
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal()){
|
if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal()){
|
||||||
|
@ -42,6 +36,6 @@ public class CraftEvent{
|
||||||
}
|
}
|
||||||
if(event.crafting.getItem()== Item.getItemFromBlock(InitBlocks.blockCompost)){
|
if(event.crafting.getItem()== Item.getItemFromBlock(InitBlocks.blockCompost)){
|
||||||
event.player.addStat(InitAchievements.achievementCraftCompost, 1);
|
event.player.addStat(InitAchievements.achievementCraftCompost, 1);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,13 @@ package ellpeck.actuallyadditions.event;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||||
import ellpeck.actuallyadditions.achievement.InitAchievements;
|
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
|
||||||
|
|
||||||
public class SmeltEvent{
|
public class SmeltEvent{
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onSmeltedEvent(PlayerEvent.ItemSmeltedEvent event){
|
public void onSmeltedEvent(PlayerEvent.ItemSmeltedEvent event){
|
||||||
if(event.smelting.getItem() == InitItems.itemFoods && event.smelting.getItemDamage() == TheFoods.BAGUETTE.ordinal()){
|
/*if(event.smelting.getItem() == InitItems.itemFoods && event.smelting.getItemDamage() == TheFoods.BAGUETTE.ordinal()){
|
||||||
event.player.addStat(InitAchievements.achievementSmeltBaguette, 1);
|
event.player.addStat(InitAchievements.achievementSmeltBaguette, 1);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,8 +14,8 @@ public enum TheSpecialDrops implements IName{
|
||||||
BLOOD_FRAGMENT("BloodFragment", 15, 1, EntityCreature.class, EnumRarity.uncommon, ConfigValues.enableBloodDrop),
|
BLOOD_FRAGMENT("BloodFragment", 15, 1, EntityCreature.class, EnumRarity.uncommon, ConfigValues.enableBloodDrop),
|
||||||
HEART_PART("HeartPart", 5, 1, EntityCreature.class, EnumRarity.rare, ConfigValues.enableHeartDrop),
|
HEART_PART("HeartPart", 5, 1, EntityCreature.class, EnumRarity.rare, ConfigValues.enableHeartDrop),
|
||||||
UNKNOWN_SUBSTANCE("UnknownSubstance", 3, 1, EntitySkeleton.class, EnumRarity.epic, ConfigValues.enableSubstanceDrop),
|
UNKNOWN_SUBSTANCE("UnknownSubstance", 3, 1, EntitySkeleton.class, EnumRarity.epic, ConfigValues.enableSubstanceDrop),
|
||||||
PEARL_SHARD("PearlShard", 20, 3, EntityEnderman.class, EnumRarity.epic, ConfigValues.enablePearlShardDrop),
|
PEARL_SHARD("PearlShard", 30, 3, EntityEnderman.class, EnumRarity.epic, ConfigValues.enablePearlShardDrop),
|
||||||
EMERALD_SHARD("EmeraldShard", 15, 1, EntityCreeper.class, EnumRarity.rare, ConfigValues.enableEmeraldShardDrop);
|
EMERALD_SHARD("EmeraldShard", 30, 3, EntityCreeper.class, EnumRarity.rare, ConfigValues.enableEmeraldShardDrop);
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
public final int chance;
|
public final int chance;
|
||||||
|
|
|
@ -3,10 +3,10 @@ package ellpeck.actuallyadditions.proxy;
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
||||||
import ellpeck.actuallyadditions.blocks.render.ModelCompost;
|
import ellpeck.actuallyadditions.blocks.render.*;
|
||||||
import ellpeck.actuallyadditions.blocks.render.RenderItems;
|
|
||||||
import ellpeck.actuallyadditions.blocks.render.RenderTileEntity;
|
|
||||||
import ellpeck.actuallyadditions.tile.TileEntityCompost;
|
import ellpeck.actuallyadditions.tile.TileEntityCompost;
|
||||||
|
import ellpeck.actuallyadditions.tile.TileEntityFishingNet;
|
||||||
|
import ellpeck.actuallyadditions.tile.TileEntityFurnaceSolar;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraftforge.client.MinecraftForgeClient;
|
import net.minecraftforge.client.MinecraftForgeClient;
|
||||||
|
|
||||||
|
@ -22,6 +22,12 @@ public class ClientProxy implements IProxy{
|
||||||
public void init(){
|
public void init(){
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompost.class, new RenderTileEntity(new ModelCompost()));
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompost.class, new RenderTileEntity(new ModelCompost()));
|
||||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockCompost), new RenderItems(new ModelCompost()));
|
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockCompost), new RenderItems(new ModelCompost()));
|
||||||
|
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFishingNet.class, new RenderTileEntity(new ModelFishingNet()));
|
||||||
|
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockFishingNet), new RenderItems(new ModelFishingNet()));
|
||||||
|
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceSolar.class, new RenderTileEntity(new ModelFurnaceSolar()));
|
||||||
|
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(InitBlocks.blockFurnaceSolar), new RenderItems(new ModelFurnaceSolar()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -35,6 +35,8 @@ public class TileEntityBase extends TileEntity{
|
||||||
GameRegistry.registerTileEntity(TileEntityGrinder.class, ModUtil.MOD_ID_LOWER + ":tileEntityGrinder");
|
GameRegistry.registerTileEntity(TileEntityGrinder.class, ModUtil.MOD_ID_LOWER + ":tileEntityGrinder");
|
||||||
GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, ModUtil.MOD_ID_LOWER + ":tileEntityFurnaceDouble");
|
GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, ModUtil.MOD_ID_LOWER + ":tileEntityFurnaceDouble");
|
||||||
GameRegistry.registerTileEntity(TileEntityInputter.class, ModUtil.MOD_ID_LOWER + ":tileEntityInputter");
|
GameRegistry.registerTileEntity(TileEntityInputter.class, ModUtil.MOD_ID_LOWER + ":tileEntityInputter");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityFishingNet.class, ModUtil.MOD_ID_LOWER + ":tileEntityFishingNet");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityFurnaceSolar.class, ModUtil.MOD_ID_LOWER + ":tileEntityFurnaceSolar");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package ellpeck.actuallyadditions.tile;
|
||||||
|
|
||||||
|
import ellpeck.actuallyadditions.config.ConfigValues;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraftforge.common.FishingHooks;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class TileEntityFishingNet extends TileEntityBase{
|
||||||
|
|
||||||
|
public int timeUntilNextDropToSet = ConfigValues.tileFishingNetTime;
|
||||||
|
|
||||||
|
public int timeUntilNextDrop;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEntity(){
|
||||||
|
if(!worldObj.isRemote){
|
||||||
|
if(worldObj.getBlock(xCoord, yCoord-1, zCoord).getMaterial() == Material.water){
|
||||||
|
Random rand = new Random();
|
||||||
|
if(this.timeUntilNextDrop > 0){
|
||||||
|
this.timeUntilNextDrop--;
|
||||||
|
if(timeUntilNextDrop <= 0){
|
||||||
|
worldObj.spawnEntityInWorld(new EntityItem(worldObj, xCoord+0.5, yCoord+1.8, zCoord+0.5, FishingHooks.getRandomFishable(rand, this.worldObj.rand.nextFloat())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else this.timeUntilNextDrop = this.timeUntilNextDropToSet + rand.nextInt(this.timeUntilNextDropToSet/2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToNBT(NBTTagCompound compound){
|
||||||
|
super.writeToNBT(compound);
|
||||||
|
compound.setInteger("TimeUntilNextDrop", this.timeUntilNextDrop);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromNBT(NBTTagCompound compound){
|
||||||
|
super.readFromNBT(compound);
|
||||||
|
this.timeUntilNextDrop = compound.getInteger("TimeUntilNextDrop");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
package ellpeck.actuallyadditions.tile;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockFurnace;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.tileentity.TileEntityFurnace;
|
||||||
|
|
||||||
|
public class TileEntityFurnaceSolar extends TileEntityBase{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEntity(){
|
||||||
|
if(!worldObj.isRemote){
|
||||||
|
if(worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) && worldObj.isDaytime()){
|
||||||
|
TileEntity tileBelow = TileEntityInputter.getTileEntityFromSide(1, worldObj, xCoord, yCoord, zCoord);
|
||||||
|
|
||||||
|
if(tileBelow instanceof TileEntityFurnace){
|
||||||
|
TileEntityFurnace furnaceBelow = (TileEntityFurnace)tileBelow;
|
||||||
|
int burnTimeBefore = furnaceBelow.furnaceBurnTime;
|
||||||
|
furnaceBelow.furnaceBurnTime = 42;
|
||||||
|
furnaceBelow.currentItemBurnTime = 42;
|
||||||
|
if(burnTimeBefore == 0){
|
||||||
|
BlockFurnace.updateFurnaceBlockState(true, this.worldObj, furnaceBelow.xCoord, furnaceBelow.yCoord, furnaceBelow.zCoord);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tileBelow instanceof TileEntityFurnaceDouble){
|
||||||
|
TileEntityFurnaceDouble doubleBelow = (TileEntityFurnaceDouble)tileBelow;
|
||||||
|
int coalTimeBefore = doubleBelow.coalTime;
|
||||||
|
doubleBelow.coalTime = 42;
|
||||||
|
doubleBelow.coalTimeLeft = 42;
|
||||||
|
if(coalTimeBefore == 0){
|
||||||
|
int metaBefore = worldObj.getBlockMetadata(doubleBelow.xCoord, doubleBelow.yCoord, doubleBelow.zCoord);
|
||||||
|
worldObj.setBlockMetadataWithNotify(doubleBelow.xCoord, doubleBelow.yCoord, doubleBelow.zCoord, metaBefore+4, 2);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tileBelow instanceof TileEntityGrinder){
|
||||||
|
TileEntityGrinder grinderBelow = (TileEntityGrinder)tileBelow;
|
||||||
|
int coalTimeBefore = grinderBelow.coalTime;
|
||||||
|
grinderBelow.coalTime = 42;
|
||||||
|
grinderBelow.coalTimeLeft = 42;
|
||||||
|
if(coalTimeBefore == 0){
|
||||||
|
worldObj.setBlockMetadataWithNotify(grinderBelow.xCoord, grinderBelow.yCoord, grinderBelow.zCoord, 1, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -136,7 +136,6 @@ public class TileEntityGrinder extends TileEntityInventoryBase{
|
||||||
compound.setInteger("CoalTimeLeft", this.coalTimeLeft);
|
compound.setInteger("CoalTimeLeft", this.coalTimeLeft);
|
||||||
compound.setInteger("FirstCrushTime", this.firstCrushTime);
|
compound.setInteger("FirstCrushTime", this.firstCrushTime);
|
||||||
compound.setInteger("SecondCrushTime", this.secondCrushTime);
|
compound.setInteger("SecondCrushTime", this.secondCrushTime);
|
||||||
compound.setInteger("MaxCrushTime", this.maxCrushTime);
|
|
||||||
compound.setBoolean("IsDouble", this.isDouble);
|
compound.setBoolean("IsDouble", this.isDouble);
|
||||||
compound.setString("Name", this.name);
|
compound.setString("Name", this.name);
|
||||||
compound.setInteger("Slots", this.slots.length);
|
compound.setInteger("Slots", this.slots.length);
|
||||||
|
@ -149,9 +148,9 @@ public class TileEntityGrinder extends TileEntityInventoryBase{
|
||||||
this.coalTimeLeft = compound.getInteger("CoalTimeLeft");
|
this.coalTimeLeft = compound.getInteger("CoalTimeLeft");
|
||||||
this.firstCrushTime = compound.getInteger("FirstCrushTime");
|
this.firstCrushTime = compound.getInteger("FirstCrushTime");
|
||||||
this.secondCrushTime = compound.getInteger("SecondCrushTime");
|
this.secondCrushTime = compound.getInteger("SecondCrushTime");
|
||||||
this.maxCrushTime = compound.getInteger("MaxCrushTime");
|
|
||||||
this.isDouble = compound.getBoolean("IsDouble");
|
this.isDouble = compound.getBoolean("IsDouble");
|
||||||
this.name = compound.getString("Name");
|
this.name = compound.getString("Name");
|
||||||
|
this.maxCrushTime = isDouble ? ConfigValues.grinderDoubleCrushTime : ConfigValues.grinderCrushTime;
|
||||||
this.initializeSlots(compound.getInteger("Slots"));
|
this.initializeSlots(compound.getInteger("Slots"));
|
||||||
super.readFromNBT(compound);
|
super.readFromNBT(compound);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import net.minecraft.inventory.ISidedInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class TileEntityInputter extends TileEntityInventoryBase{
|
public class TileEntityInputter extends TileEntityInventoryBase{
|
||||||
|
|
||||||
|
@ -152,8 +153,8 @@ public class TileEntityInputter extends TileEntityInventoryBase{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initVars(){
|
public void initVars(){
|
||||||
this.placeToPull = this.getTileEntityFromSide(this.sideToPull);
|
this.placeToPull = getTileEntityFromSide(this.sideToPull, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||||
this.placeToPut = this.getTileEntityFromSide(this.sideToPut);
|
this.placeToPut = getTileEntityFromSide(this.sideToPut, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||||
|
|
||||||
if(this.placeToPull != null && this.placeToPull instanceof IInventory){
|
if(this.placeToPull != null && this.placeToPull instanceof IInventory){
|
||||||
this.placeToPullSlotAmount = ((IInventory)this.placeToPull).getSizeInventory();
|
this.placeToPullSlotAmount = ((IInventory)this.placeToPull).getSizeInventory();
|
||||||
|
@ -172,13 +173,13 @@ public class TileEntityInputter extends TileEntityInventoryBase{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public TileEntity getTileEntityFromSide(int side){
|
public static TileEntity getTileEntityFromSide(int side, World world, int x, int y, int z){
|
||||||
if(side == 0) return worldObj.getTileEntity(xCoord, yCoord+1, zCoord);
|
if(side == 0) return world.getTileEntity(x, y+1, z);
|
||||||
if(side == 1) return worldObj.getTileEntity(xCoord, yCoord-1, zCoord);
|
if(side == 1) return world.getTileEntity(x, y-1, z);
|
||||||
if(side == 2) return worldObj.getTileEntity(xCoord, yCoord, zCoord-1);
|
if(side == 2) return world.getTileEntity(x, y, z-1);
|
||||||
if(side == 3) return worldObj.getTileEntity(xCoord-1, yCoord, zCoord);
|
if(side == 3) return world.getTileEntity(x-1, y, z);
|
||||||
if(side == 4) return worldObj.getTileEntity(xCoord, yCoord, zCoord+1);
|
if(side == 4) return world.getTileEntity(x, y, z+1);
|
||||||
if(side == 5) return worldObj.getTileEntity(xCoord+1, yCoord, zCoord);
|
if(side == 5) return world.getTileEntity(x+1, y, z);
|
||||||
else return null;
|
else return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
|
||||||
@Override
|
@Override
|
||||||
public void setInventorySlotContents(int i, ItemStack stack){
|
public void setInventorySlotContents(int i, ItemStack stack){
|
||||||
this.slots[i] = stack;
|
this.slots[i] = stack;
|
||||||
|
this.markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -81,16 +82,18 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack decrStackSize(int i, int j){
|
public ItemStack decrStackSize(int i, int j){
|
||||||
if (slots[i] != null) {
|
if (slots[i] != null){
|
||||||
ItemStack stackAt;
|
ItemStack stackAt;
|
||||||
if (slots[i].stackSize <= j) {
|
if(slots[i].stackSize <= j){
|
||||||
stackAt = slots[i];
|
stackAt = slots[i];
|
||||||
slots[i] = null;
|
slots[i] = null;
|
||||||
|
this.markDirty();
|
||||||
return stackAt;
|
return stackAt;
|
||||||
} else {
|
}
|
||||||
|
else{
|
||||||
stackAt = slots[i].splitStack(j);
|
stackAt = slots[i].splitStack(j);
|
||||||
if (slots[i].stackSize == 0)
|
if (slots[i].stackSize == 0) slots[i] = null;
|
||||||
slots[i] = null;
|
this.markDirty();
|
||||||
return stackAt;
|
return stackAt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ tile.actuallyadditions.blockGiantChest.name=Giant Chest
|
||||||
tile.actuallyadditions.blockGrinder.name=Crusher
|
tile.actuallyadditions.blockGrinder.name=Crusher
|
||||||
tile.actuallyadditions.blockGrinderDouble.name=Double Crusher
|
tile.actuallyadditions.blockGrinderDouble.name=Double Crusher
|
||||||
tile.actuallyadditions.blockFurnaceDouble.name=Double Furnace
|
tile.actuallyadditions.blockFurnaceDouble.name=Double Furnace
|
||||||
|
tile.actuallyadditions.blockFishingNet.name=Fishing Net
|
||||||
|
tile.actuallyadditions.blockFurnaceSolar.name=Solar Panel
|
||||||
|
|
||||||
tile.actuallyadditions.blockInputter.name=ESD
|
tile.actuallyadditions.blockInputter.name=ESD
|
||||||
tile.actuallyadditions.blockInputter.add.0.name=Ellpeck's Slot Device
|
tile.actuallyadditions.blockInputter.add.0.name=Ellpeck's Slot Device
|
||||||
|
@ -109,6 +111,8 @@ tooltip.actuallyadditions.blockInputter.desc.2=Acts like a more advanced Hopper
|
||||||
tooltip.actuallyadditions.blockInputter.desc.3=Configurable:
|
tooltip.actuallyadditions.blockInputter.desc.3=Configurable:
|
||||||
tooltip.actuallyadditions.blockInputter.desc.4=-Side to Output to and Input from
|
tooltip.actuallyadditions.blockInputter.desc.4=-Side to Output to and Input from
|
||||||
tooltip.actuallyadditions.blockInputter.desc.5=-Slot in the other Inventory to Output to and Input from
|
tooltip.actuallyadditions.blockInputter.desc.5=-Slot in the other Inventory to Output to and Input from
|
||||||
|
tooltip.actuallyadditions.blockFishingNet.desc=Catches Fish automatically when placed above Water
|
||||||
|
tooltip.actuallyadditions.blockFurnaceSolar.desc=Powers Furnaces and Crushers below it in Daylight
|
||||||
|
|
||||||
tooltip.actuallyadditions.itemMiscMashedFood.desc=Used to make Fertilizer
|
tooltip.actuallyadditions.itemMiscMashedFood.desc=Used to make Fertilizer
|
||||||
tooltip.actuallyadditions.itemFertilizer.desc=Om nom nom. Don't eat it. Made in a Compost.
|
tooltip.actuallyadditions.itemFertilizer.desc=Om nom nom. Don't eat it. Made in a Compost.
|
||||||
|
|
Loading…
Reference in a new issue