mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 23:28:35 +01:00
Removed Special Drops and added Solidified Experience as own item
This commit is contained in:
parent
d49d3ad7a9
commit
a64991b75f
21 changed files with 89 additions and 198 deletions
|
@ -16,7 +16,6 @@ import ellpeck.actuallyadditions.ActuallyAdditions;
|
||||||
import ellpeck.actuallyadditions.blocks.base.BlockContainerBase;
|
import ellpeck.actuallyadditions.blocks.base.BlockContainerBase;
|
||||||
import ellpeck.actuallyadditions.inventory.GuiHandler;
|
import ellpeck.actuallyadditions.inventory.GuiHandler;
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.tile.TileEntityXPSolidifier;
|
import ellpeck.actuallyadditions.tile.TileEntityXPSolidifier;
|
||||||
import ellpeck.actuallyadditions.util.ModUtil;
|
import ellpeck.actuallyadditions.util.ModUtil;
|
||||||
import ellpeck.actuallyadditions.util.Util;
|
import ellpeck.actuallyadditions.util.Util;
|
||||||
|
@ -134,9 +133,9 @@ public class BlockXPSolidifier extends BlockContainerBase{
|
||||||
int stacks = solidifier.amount/64;
|
int stacks = solidifier.amount/64;
|
||||||
int rest = solidifier.amount%64;
|
int rest = solidifier.amount%64;
|
||||||
for(int i = 0; i < stacks; i++){
|
for(int i = 0; i < stacks; i++){
|
||||||
this.spawnItem(world, x, y, z, new ItemStack(InitItems.itemSpecialDrop, 64, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()));
|
this.spawnItem(world, x, y, z, new ItemStack(InitItems.itemSolidifiedExperience, 64));
|
||||||
}
|
}
|
||||||
this.spawnItem(world, x, y, z, new ItemStack(InitItems.itemSpecialDrop, rest, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()));
|
this.spawnItem(world, x, y, z, new ItemStack(InitItems.itemSolidifiedExperience, rest));
|
||||||
solidifier.amount = 0;
|
solidifier.amount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.lens.LensNoneRecipeHandler;
|
import ellpeck.actuallyadditions.items.lens.LensNoneRecipeHandler;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.tile.*;
|
import ellpeck.actuallyadditions.tile.*;
|
||||||
import ellpeck.actuallyadditions.util.Util;
|
import ellpeck.actuallyadditions.util.Util;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
|
@ -93,7 +92,7 @@ public class InitBooklet{
|
||||||
new BookletChapter("phantomfaces", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomLiquiface), new PageTextOnly(1).addTextReplacement("<range>", TileEntityPhantomface.RANGE), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipePhantomface), new PageCrafting(4, BlockCrafting.recipeLiquiface), new PageCrafting(5, BlockCrafting.recipeEnergyface), new PageCrafting(6, ItemCrafting.recipePhantomConnector).setNoText(), new PageCrafting(7, BlockCrafting.recipePhantomBooster)).setImportant();
|
new BookletChapter("phantomfaces", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomLiquiface), new PageTextOnly(1).addTextReplacement("<range>", TileEntityPhantomface.RANGE), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipePhantomface), new PageCrafting(4, BlockCrafting.recipeLiquiface), new PageCrafting(5, BlockCrafting.recipeEnergyface), new PageCrafting(6, ItemCrafting.recipePhantomConnector).setNoText(), new PageCrafting(7, BlockCrafting.recipePhantomBooster)).setImportant();
|
||||||
new BookletChapter("phantomBreaker", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomBreaker), new PageTextOnly(1).addTextReplacement("<range>", TileEntityPhantomPlacer.RANGE), new PageCrafting(2, BlockCrafting.recipePhantomPlacer).setNoText(), new PageCrafting(3, BlockCrafting.recipePhantomBreaker).setNoText());
|
new BookletChapter("phantomBreaker", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomBreaker), new PageTextOnly(1).addTextReplacement("<range>", TileEntityPhantomPlacer.RANGE), new PageCrafting(2, BlockCrafting.recipePhantomPlacer).setNoText(), new PageCrafting(3, BlockCrafting.recipePhantomBreaker).setNoText());
|
||||||
new BookletChapter("esd", entryFunctionalNonRF, new ItemStack(InitBlocks.blockInputterAdvanced), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeESD).setNoText(), new PageCrafting(3, BlockCrafting.recipeAdvancedESD).setNoText()).setSpecial();
|
new BookletChapter("esd", entryFunctionalNonRF, new ItemStack(InitBlocks.blockInputterAdvanced), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeESD).setNoText(), new PageCrafting(3, BlockCrafting.recipeAdvancedESD).setNoText()).setSpecial();
|
||||||
new BookletChapter("xpSolidifier", entryFunctionalNonRF, new ItemStack(InitBlocks.blockXPSolidifier), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal())), new PageCrafting(2, BlockCrafting.recipeSolidifier).setNoText()).setSpecial();
|
new BookletChapter("xpSolidifier", entryFunctionalNonRF, new ItemStack(InitBlocks.blockXPSolidifier), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemSolidifiedExperience)), new PageCrafting(2, BlockCrafting.recipeSolidifier).setNoText()).setSpecial();
|
||||||
new BookletChapter("greenhouseGlass", entryFunctionalNonRF, new ItemStack(InitBlocks.blockGreenhouseGlass), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeGlass));
|
new BookletChapter("greenhouseGlass", entryFunctionalNonRF, new ItemStack(InitBlocks.blockGreenhouseGlass), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeGlass));
|
||||||
new BookletChapter("fishingNet", entryFunctionalNonRF, new ItemStack(InitBlocks.blockFishingNet), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeFisher).setNoText());
|
new BookletChapter("fishingNet", entryFunctionalNonRF, new ItemStack(InitBlocks.blockFishingNet), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeFisher).setNoText());
|
||||||
new BookletChapter("feeder", entryFunctionalNonRF, new ItemStack(InitBlocks.blockFeeder), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeFeeder).setNoText());
|
new BookletChapter("feeder", entryFunctionalNonRF, new ItemStack(InitBlocks.blockFeeder), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeFeeder).setNoText());
|
||||||
|
|
|
@ -18,7 +18,6 @@ import ellpeck.actuallyadditions.config.values.ConfigCrafting;
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheCrystals;
|
import ellpeck.actuallyadditions.items.metalists.TheCrystals;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.util.Util;
|
import ellpeck.actuallyadditions.util.Util;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
|
@ -211,7 +210,7 @@ public class BlockCrafting{
|
||||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockSmileyCloud),
|
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockSmileyCloud),
|
||||||
" W ", "WXW", " W ",
|
" W ", "WXW", " W ",
|
||||||
'W', new ItemStack(Blocks.wool, 1, Util.WILDCARD),
|
'W', new ItemStack(Blocks.wool, 1, Util.WILDCARD),
|
||||||
'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal())));
|
'X', new ItemStack(InitItems.itemSolidifiedExperience)));
|
||||||
recipeSmileyCloud = Util.GetRecipes.lastIRecipe();
|
recipeSmileyCloud = Util.GetRecipes.lastIRecipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -228,7 +227,7 @@ public class BlockCrafting{
|
||||||
if(ConfigCrafting.XP_SOLIDIFIER.isEnabled()){
|
if(ConfigCrafting.XP_SOLIDIFIER.isEnabled()){
|
||||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockXPSolidifier),
|
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockXPSolidifier),
|
||||||
"XXX", "DCD", "XXX",
|
"XXX", "DCD", "XXX",
|
||||||
'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()),
|
'X', new ItemStack(InitItems.itemSolidifiedExperience),
|
||||||
'D', new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.DIAMOND.ordinal()),
|
'D', new ItemStack(InitBlocks.blockCrystal, 1, TheCrystals.DIAMOND.ordinal()),
|
||||||
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
|
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
|
||||||
recipeSolidifier = Util.GetRecipes.lastIRecipe();
|
recipeSolidifier = Util.GetRecipes.lastIRecipe();
|
||||||
|
|
|
@ -405,16 +405,6 @@ public class ItemCrafting{
|
||||||
recipeCoilAdvanced = Util.GetRecipes.lastIRecipe();
|
recipeCoilAdvanced = Util.GetRecipes.lastIRecipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Ender Pearl
|
|
||||||
GameRegistry.addRecipe(new ItemStack(Items.ender_pearl),
|
|
||||||
"XXX", "XXX", "XXX",
|
|
||||||
'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.PEARL_SHARD.ordinal()));
|
|
||||||
|
|
||||||
//Emerald
|
|
||||||
GameRegistry.addRecipe(new ItemStack(Items.emerald),
|
|
||||||
"XXX", "XXX", "XXX",
|
|
||||||
'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.EMERALD_SHARD.ordinal()));
|
|
||||||
|
|
||||||
//Advanced Leaf Blower
|
//Advanced Leaf Blower
|
||||||
if(ConfigCrafting.LEAF_BLOWER_ADVANCED.isEnabled()){
|
if(ConfigCrafting.LEAF_BLOWER_ADVANCED.isEnabled()){
|
||||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced),
|
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced),
|
||||||
|
|
|
@ -172,7 +172,7 @@ public class CreativeTab extends CreativeTabs{
|
||||||
add(InitItems.itemKnife);
|
add(InitItems.itemKnife);
|
||||||
add(InitItems.itemCrafterOnAStick);
|
add(InitItems.itemCrafterOnAStick);
|
||||||
add(InitItems.itemDust);
|
add(InitItems.itemDust);
|
||||||
add(InitItems.itemSpecialDrop);
|
add(InitItems.itemSolidifiedExperience);
|
||||||
add(InitItems.itemLeafBlower);
|
add(InitItems.itemLeafBlower);
|
||||||
add(InitItems.itemLeafBlowerAdvanced);
|
add(InitItems.itemLeafBlowerAdvanced);
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
|
import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.util.Util;
|
import ellpeck.actuallyadditions.util.Util;
|
||||||
|
import net.minecraft.entity.EntityCreature;
|
||||||
import net.minecraft.entity.monster.EntitySpider;
|
import net.minecraft.entity.monster.EntitySpider;
|
||||||
import net.minecraft.entity.passive.EntityBat;
|
import net.minecraft.entity.passive.EntityBat;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -28,13 +28,10 @@ public class LivingDropEvent{
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onEntityDropEvent(LivingDropsEvent event){
|
public void onEntityDropEvent(LivingDropsEvent event){
|
||||||
if(event.source.getEntity() instanceof EntityPlayer){
|
if(event.source.getEntity() instanceof EntityPlayer){
|
||||||
//Drop Special Items (Solidified Experience, Pearl Shards etc.)
|
//Drop Solidified XP
|
||||||
for(int i = 0; i < TheSpecialDrops.values().length; i++){
|
if(event.entityLiving instanceof EntityCreature){
|
||||||
TheSpecialDrops theDrop = TheSpecialDrops.values()[i];
|
if(Util.RANDOM.nextInt(15) <= 0){
|
||||||
if(theDrop.canDrop && theDrop.dropFrom.isAssignableFrom(event.entityLiving.getClass())){
|
event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSolidifiedExperience, Util.RANDOM.nextInt(2)+1), 0);
|
||||||
if(Util.RANDOM.nextInt(100)+1 <= theDrop.chance){
|
|
||||||
event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSpecialDrop, Util.RANDOM.nextInt(theDrop.maxAmount)+1, theDrop.ordinal()), 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class InitItems{
|
||||||
public static Item itemKnife;
|
public static Item itemKnife;
|
||||||
public static Item itemCrafterOnAStick;
|
public static Item itemCrafterOnAStick;
|
||||||
public static Item itemDust;
|
public static Item itemDust;
|
||||||
public static Item itemSpecialDrop;
|
public static Item itemSolidifiedExperience;
|
||||||
public static Item itemLeafBlower;
|
public static Item itemLeafBlower;
|
||||||
public static Item itemLeafBlowerAdvanced;
|
public static Item itemLeafBlowerAdvanced;
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ public class InitItems{
|
||||||
itemKnife = new ItemKnife("itemKnife");
|
itemKnife = new ItemKnife("itemKnife");
|
||||||
itemCrafterOnAStick = new ItemCrafterOnAStick("itemCrafterOnAStick");
|
itemCrafterOnAStick = new ItemCrafterOnAStick("itemCrafterOnAStick");
|
||||||
itemDust = new ItemDust("itemDust");
|
itemDust = new ItemDust("itemDust");
|
||||||
itemSpecialDrop = new ItemSpecialDrop("itemSpecial");
|
itemSolidifiedExperience = new ItemSolidifiedExperience("itemSolidifiedExperience");
|
||||||
itemLeafBlower = new ItemLeafBlower(false, "itemLeafBlower");
|
itemLeafBlower = new ItemLeafBlower(false, "itemLeafBlower");
|
||||||
itemLeafBlowerAdvanced = new ItemLeafBlower(true, "itemLeafBlowerAdvanced");
|
itemLeafBlowerAdvanced = new ItemLeafBlower(true, "itemLeafBlowerAdvanced");
|
||||||
itemPotionRing = new ItemPotionRing(false, "itemPotionRing");
|
itemPotionRing = new ItemPotionRing(false, "itemPotionRing");
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* This file ("ItemSolidifiedExperience.java") is part of the Actually Additions Mod for Minecraft.
|
||||||
|
* It is created and owned by Ellpeck and distributed
|
||||||
|
* under the Actually Additions License to be found at
|
||||||
|
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
||||||
|
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||||
|
*
|
||||||
|
* © 2015 Ellpeck
|
||||||
|
*/
|
||||||
|
|
||||||
|
package ellpeck.actuallyadditions.items;
|
||||||
|
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import ellpeck.actuallyadditions.items.base.ItemBase;
|
||||||
|
import ellpeck.actuallyadditions.util.ModUtil;
|
||||||
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
|
import net.minecraft.entity.item.EntityXPOrb;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.EnumRarity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.IIcon;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class ItemSolidifiedExperience extends ItemBase{
|
||||||
|
|
||||||
|
public static final int SOLID_XP_AMOUNT = 8;
|
||||||
|
|
||||||
|
public ItemSolidifiedExperience(String name){
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player){
|
||||||
|
if(!world.isRemote){
|
||||||
|
if(!player.isSneaking()){
|
||||||
|
world.spawnEntityInWorld(new EntityXPOrb(world, player.posX+0.5, player.posY+0.5, player.posZ+0.5, SOLID_XP_AMOUNT));
|
||||||
|
if(!player.capabilities.isCreativeMode){
|
||||||
|
stack.stackSize--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
world.spawnEntityInWorld(new EntityXPOrb(world, player.posX+0.5, player.posY+0.5, player.posZ+0.5, SOLID_XP_AMOUNT*stack.stackSize));
|
||||||
|
if(!player.capabilities.isCreativeMode){
|
||||||
|
stack.stackSize = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EnumRarity getRarity(ItemStack stack){
|
||||||
|
return EnumRarity.uncommon;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void registerIcons(IIconRegister iconReg){
|
||||||
|
this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public IIcon getIcon(ItemStack stack, int pass){
|
||||||
|
return this.itemIcon;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,102 +0,0 @@
|
||||||
/*
|
|
||||||
* This file ("ItemSpecialDrop.java") is part of the Actually Additions Mod for Minecraft.
|
|
||||||
* It is created and owned by Ellpeck and distributed
|
|
||||||
* under the Actually Additions License to be found at
|
|
||||||
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
|
||||||
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
|
||||||
*
|
|
||||||
* © 2015 Ellpeck
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ellpeck.actuallyadditions.items;
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
|
||||||
import ellpeck.actuallyadditions.items.base.ItemBase;
|
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.util.ModUtil;
|
|
||||||
import ellpeck.actuallyadditions.util.StringUtil;
|
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
|
||||||
import net.minecraft.entity.item.EntityXPOrb;
|
|
||||||
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 ItemSpecialDrop extends ItemBase{
|
|
||||||
|
|
||||||
public static final int SOLID_XP_AMOUNT = 8;
|
|
||||||
|
|
||||||
public static final TheSpecialDrops[] allDrops = TheSpecialDrops.values();
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public IIcon[] textures;
|
|
||||||
|
|
||||||
public ItemSpecialDrop(String name){
|
|
||||||
super(name);
|
|
||||||
this.setHasSubtypes(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public IIcon getIconFromDamage(int par1){
|
|
||||||
return par1 >= textures.length ? null : textures[par1];
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player){
|
|
||||||
if(!world.isRemote){
|
|
||||||
if(stack.getItemDamage() == TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()){
|
|
||||||
if(!player.isSneaking()){
|
|
||||||
world.spawnEntityInWorld(new EntityXPOrb(world, player.posX+0.5, player.posY+0.5, player.posZ+0.5, SOLID_XP_AMOUNT));
|
|
||||||
if(!player.capabilities.isCreativeMode){
|
|
||||||
stack.stackSize--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
world.spawnEntityInWorld(new EntityXPOrb(world, player.posX+0.5, player.posY+0.5, player.posZ+0.5, SOLID_XP_AMOUNT*stack.stackSize));
|
|
||||||
if(!player.capabilities.isCreativeMode){
|
|
||||||
stack.stackSize = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getMetadata(int damage){
|
|
||||||
return damage;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUnlocalizedName(ItemStack stack){
|
|
||||||
return stack.getItemDamage() >= allDrops.length ? StringUtil.BUGGED_ITEM_NAME : this.getUnlocalizedName()+allDrops[stack.getItemDamage()].name;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EnumRarity getRarity(ItemStack stack){
|
|
||||||
return stack.getItemDamage() >= allDrops.length ? EnumRarity.common : allDrops[stack.getItemDamage()].rarity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@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
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public void registerIcons(IIconRegister iconReg){
|
|
||||||
this.textures = new IIcon[allDrops.length];
|
|
||||||
for(int i = 0; i < textures.length; i++){
|
|
||||||
textures[i] = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getBaseName()+allDrops[i].name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
/*
|
|
||||||
* This file ("TheSpecialDrops.java") is part of the Actually Additions Mod for Minecraft.
|
|
||||||
* It is created and owned by Ellpeck and distributed
|
|
||||||
* under the Actually Additions License to be found at
|
|
||||||
* http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
|
|
||||||
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
|
||||||
*
|
|
||||||
* © 2015 Ellpeck
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ellpeck.actuallyadditions.items.metalists;
|
|
||||||
|
|
||||||
import ellpeck.actuallyadditions.config.values.ConfigBoolValues;
|
|
||||||
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{
|
|
||||||
|
|
||||||
SOLIDIFIED_EXPERIENCE("SolidifiedExperience", 40, 3, EntityCreature.class, EnumRarity.uncommon, ConfigBoolValues.EXPERIENCE_DROP.isEnabled()),
|
|
||||||
BLOOD_FRAGMENT("BloodFragment", 15, 1, EntityCreature.class, EnumRarity.uncommon, ConfigBoolValues.BLOOD_DROP.isEnabled()),
|
|
||||||
HEART_PART("HeartPart", 5, 1, EntityCreature.class, EnumRarity.rare, ConfigBoolValues.HEART_DROP.isEnabled()),
|
|
||||||
UNKNOWN_SUBSTANCE("UnknownSubstance", 3, 1, EntitySkeleton.class, EnumRarity.epic, ConfigBoolValues.SUBSTANCE_DROP.isEnabled()),
|
|
||||||
PEARL_SHARD("PearlShard", 30, 3, EntityEnderman.class, EnumRarity.epic, ConfigBoolValues.PEARL_SHARD_DROP.isEnabled()),
|
|
||||||
EMERALD_SHARD("EmeraldShard", 30, 3, EntityCreeper.class, EnumRarity.rare, ConfigBoolValues.EMERALD_SHARD_CROP.isEnabled());
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -16,7 +16,6 @@ import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheDusts;
|
import ellpeck.actuallyadditions.items.metalists.TheDusts;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
import ellpeck.actuallyadditions.items.metalists.TheFoods;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.util.ModUtil;
|
import ellpeck.actuallyadditions.util.ModUtil;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
|
@ -59,10 +58,6 @@ public class InitOreDict{
|
||||||
//For Crafting
|
//For Crafting
|
||||||
addOre(InitItems.itemMisc, TheMiscItems.RICE_SLIME.ordinal(), "slimeball");
|
addOre(InitItems.itemMisc, TheMiscItems.RICE_SLIME.ordinal(), "slimeball");
|
||||||
|
|
||||||
//For Compat
|
|
||||||
addOre(InitItems.itemSpecialDrop, TheSpecialDrops.EMERALD_SHARD.ordinal(), "nuggetEmerald");
|
|
||||||
addOre(InitItems.itemSpecialDrop, TheSpecialDrops.PEARL_SHARD.ordinal(), "nuggetEnderpearl");
|
|
||||||
|
|
||||||
//For Crafting
|
//For Crafting
|
||||||
addOre(InitItems.itemMisc, TheMiscItems.BLACK_DYE.ordinal(), "dyeBlack");
|
addOre(InitItems.itemMisc, TheMiscItems.BLACK_DYE.ordinal(), "dyeBlack");
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
package ellpeck.actuallyadditions.recipe;
|
package ellpeck.actuallyadditions.recipe;
|
||||||
|
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -47,9 +46,7 @@ public class HairyBallHandler{
|
||||||
addReturn(new ItemStack(Blocks.sand), 50);
|
addReturn(new ItemStack(Blocks.sand), 50);
|
||||||
addReturn(new ItemStack(Blocks.vine), 30);
|
addReturn(new ItemStack(Blocks.vine), 30);
|
||||||
addReturn(new ItemStack(Blocks.web), 4);
|
addReturn(new ItemStack(Blocks.web), 4);
|
||||||
addReturn(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()), 20);
|
addReturn(new ItemStack(InitItems.itemSolidifiedExperience), 20);
|
||||||
addReturn(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.EMERALD_SHARD.ordinal()), 10);
|
|
||||||
addReturn(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.PEARL_SHARD.ordinal()), 10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addReturn(ItemStack stack, int chance){
|
public static void addReturn(ItemStack stack, int chance){
|
||||||
|
|
|
@ -13,7 +13,6 @@ package ellpeck.actuallyadditions.recipe;
|
||||||
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
import ellpeck.actuallyadditions.blocks.InitBlocks;
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheJams;
|
import ellpeck.actuallyadditions.items.metalists.TheJams;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.WeightedRandom;
|
import net.minecraft.util.WeightedRandom;
|
||||||
|
@ -32,7 +31,7 @@ public class TreasureChestHandler{
|
||||||
addReturn(new ItemStack(Items.ender_pearl), 10, 1, 2);
|
addReturn(new ItemStack(Items.ender_pearl), 10, 1, 2);
|
||||||
addReturn(new ItemStack(Items.emerald), 3, 1, 1);
|
addReturn(new ItemStack(Items.emerald), 3, 1, 1);
|
||||||
addReturn(new ItemStack(Items.experience_bottle), 5, 3, 6);
|
addReturn(new ItemStack(Items.experience_bottle), 5, 3, 6);
|
||||||
addReturn(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal()), 15, 3, 6);
|
addReturn(new ItemStack(InitItems.itemSolidifiedExperience), 15, 3, 6);
|
||||||
addReturn(new ItemStack(Items.record_11), 1, 1, 1);
|
addReturn(new ItemStack(Items.record_11), 1, 1, 1);
|
||||||
addReturn(new ItemStack(Items.record_13), 1, 1, 1);
|
addReturn(new ItemStack(Items.record_13), 1, 1, 1);
|
||||||
addReturn(new ItemStack(Items.record_blocks), 1, 1, 1);
|
addReturn(new ItemStack(Items.record_blocks), 1, 1, 1);
|
||||||
|
|
|
@ -12,8 +12,7 @@ package ellpeck.actuallyadditions.tile;
|
||||||
|
|
||||||
|
|
||||||
import ellpeck.actuallyadditions.items.InitItems;
|
import ellpeck.actuallyadditions.items.InitItems;
|
||||||
import ellpeck.actuallyadditions.items.ItemSpecialDrop;
|
import ellpeck.actuallyadditions.items.ItemSolidifiedExperience;
|
||||||
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
|
|
||||||
import ellpeck.actuallyadditions.network.gui.IButtonReactor;
|
import ellpeck.actuallyadditions.network.gui.IButtonReactor;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -36,7 +35,7 @@ public class TileEntityXPSolidifier extends TileEntityInventoryBase implements I
|
||||||
if(this.amount > 0){
|
if(this.amount > 0){
|
||||||
if(this.slots[0] == null){
|
if(this.slots[0] == null){
|
||||||
int toSet = this.amount > 64 ? 64 : this.amount;
|
int toSet = this.amount > 64 ? 64 : this.amount;
|
||||||
this.slots[0] = new ItemStack(InitItems.itemSpecialDrop, toSet, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal());
|
this.slots[0] = new ItemStack(InitItems.itemSolidifiedExperience, toSet);
|
||||||
this.amount -= toSet;
|
this.amount -= toSet;
|
||||||
}
|
}
|
||||||
else if(this.slots[0].stackSize < 64){
|
else if(this.slots[0].stackSize < 64){
|
||||||
|
@ -84,9 +83,9 @@ public class TileEntityXPSolidifier extends TileEntityInventoryBase implements I
|
||||||
public void onButtonPressed(int buttonID, EntityPlayer player){
|
public void onButtonPressed(int buttonID, EntityPlayer player){
|
||||||
if(buttonID < this.buttonAmounts.length){
|
if(buttonID < this.buttonAmounts.length){
|
||||||
if(this.getPlayerXP(player) > 0){
|
if(this.getPlayerXP(player) > 0){
|
||||||
int xp = this.buttonAmounts[buttonID] == -999 ? this.getPlayerXP(player)/ItemSpecialDrop.SOLID_XP_AMOUNT : this.buttonAmounts[buttonID];
|
int xp = this.buttonAmounts[buttonID] == -999 ? this.getPlayerXP(player)/ItemSolidifiedExperience.SOLID_XP_AMOUNT : this.buttonAmounts[buttonID];
|
||||||
if(this.amount < Short.MAX_VALUE-xp && this.getPlayerXP(player) >= ItemSpecialDrop.SOLID_XP_AMOUNT*xp){
|
if(this.amount < Short.MAX_VALUE-xp && this.getPlayerXP(player) >= ItemSolidifiedExperience.SOLID_XP_AMOUNT*xp){
|
||||||
this.addPlayerXP(player, -(ItemSpecialDrop.SOLID_XP_AMOUNT*xp));
|
this.addPlayerXP(player, -(ItemSolidifiedExperience.SOLID_XP_AMOUNT*xp));
|
||||||
if(!worldObj.isRemote){
|
if(!worldObj.isRemote){
|
||||||
this.amount += xp;
|
this.amount += xp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,12 +280,7 @@ item.actuallyadditions.itemMiscCoil.name=Basic Coil
|
||||||
item.actuallyadditions.itemMiscCoilAdvanced.name=Advanced Coil
|
item.actuallyadditions.itemMiscCoilAdvanced.name=Advanced Coil
|
||||||
item.actuallyadditions.itemPotionRing.name=Ring of
|
item.actuallyadditions.itemPotionRing.name=Ring of
|
||||||
item.actuallyadditions.itemPotionRingAdvanced.name=Advanced Ring of
|
item.actuallyadditions.itemPotionRingAdvanced.name=Advanced Ring of
|
||||||
item.actuallyadditions.itemSpecialUnknownSubstance.name=Unknown Substance
|
item.actuallyadditions.itemSolidifiedExperience.name=Solidified Experience
|
||||||
item.actuallyadditions.itemSpecialSolidifiedExperience.name=Solidified Experience
|
|
||||||
item.actuallyadditions.itemSpecialBloodFragment.name=Blood Fragment
|
|
||||||
item.actuallyadditions.itemSpecialHeartPart.name=Part of a Heart
|
|
||||||
item.actuallyadditions.itemSpecialPearlShard.name=Ender Pearl Shard
|
|
||||||
item.actuallyadditions.itemSpecialEmeraldShard.name=Emerald Shard
|
|
||||||
item.actuallyadditions.itemDustIron.name=Crushed Iron
|
item.actuallyadditions.itemDustIron.name=Crushed Iron
|
||||||
item.actuallyadditions.itemDustGold.name=Crushed Gold
|
item.actuallyadditions.itemDustGold.name=Crushed Gold
|
||||||
item.actuallyadditions.itemDustDiamond.name=Crushed Diamond
|
item.actuallyadditions.itemDustDiamond.name=Crushed Diamond
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 377 B |
Binary file not shown.
Before Width: | Height: | Size: 395 B |
Binary file not shown.
Before Width: | Height: | Size: 557 B |
Binary file not shown.
Before Width: | Height: | Size: 566 B |
Binary file not shown.
Before Width: | Height: | Size: 531 B |
Binary file not shown.
Before Width: | Height: | Size: 631 B |
Loading…
Reference in a new issue