mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-23 15:48:34 +01:00
Added configuration for Growth and Magnetic Rings
This commit is contained in:
parent
b86abff2f5
commit
efb642cefe
3 changed files with 27 additions and 14 deletions
|
@ -50,7 +50,16 @@ public enum ConfigIntValues{
|
||||||
|
|
||||||
FILLER_ENERGY_CAPACITY("Handheld Filler: Energy Capacity", ConfigCategories.TOOL_ENERGY_VALUES, 500000, 1000, 1000000000, "Amount of energy Handheld Filler can store"),
|
FILLER_ENERGY_CAPACITY("Handheld Filler: Energy Capacity", ConfigCategories.TOOL_ENERGY_VALUES, 500000, 1000, 1000000000, "Amount of energy Handheld Filler can store"),
|
||||||
FILLER_ENERGY_TRANSFER("Handheld Filler: Energy Transfer Rate", ConfigCategories.TOOL_ENERGY_VALUES, 1000, 1, 1000000000, "Amount of energy Handheld Filler can receive per tick"),
|
FILLER_ENERGY_TRANSFER("Handheld Filler: Energy Transfer Rate", ConfigCategories.TOOL_ENERGY_VALUES, 1000, 1, 1000000000, "Amount of energy Handheld Filler can receive per tick"),
|
||||||
FILLER_ENERGY_USE("Handheld Filler: Energy Use", ConfigCategories.TOOL_ENERGY_VALUES, 1500, 1, 1000000000, "Amount of energy used by Handheld Filler to perform action");
|
FILLER_ENERGY_USE("Handheld Filler: Energy Use", ConfigCategories.TOOL_ENERGY_VALUES, 1500, 1, 1000000000, "Amount of energy used by Handheld Filler to place block"),
|
||||||
|
|
||||||
|
GROWTH_RING_ENERGY_CAPACITY("Growth Ring: Energy Capacity", ConfigCategories.TOOL_ENERGY_VALUES, 1000000, 1000, 1000000000, "Amount of energy Growth Ring can store"),
|
||||||
|
GROWTH_RING_ENERGY_TRANSFER("Growth Ring: Energy Transfer Rate", ConfigCategories.TOOL_ENERGY_VALUES, 2000, 1, 1000000000, "Amount of energy Growth Ring can receive per tick"),
|
||||||
|
GROWTH_RING_ENERGY_USE("Growth Ring: Energy Use", ConfigCategories.TOOL_ENERGY_VALUES, 300, 1, 1000000000, "Amount of energy used by Growth Ring to fertilize crop"),
|
||||||
|
GROWTH_RING_FERTILIZE_ATTEMPTS("Growth Ring: Fertilize Attempts", ConfigCategories.TOOL_VALUES, 45, 1, 100, "Amount of attempts to fertilize crops; Growth Ring can fertilize up to this number of crops every 30 ticks"),
|
||||||
|
|
||||||
|
MAGNETIC_RING_ENERGY_CAPACITY("Magnetic Ring: Energy Capacity", ConfigCategories.TOOL_ENERGY_VALUES, 200000, 1000, 1000000000, "Amount of energy Magnetic Ring can store"),
|
||||||
|
MAGNETIC_RING_ENERGY_TRANSFER("Magnetic Ring: Energy Transfer Rate", ConfigCategories.TOOL_ENERGY_VALUES, 1000, 1, 1000000000, "Amount of energy Magnetic Ring can receive per tick"),
|
||||||
|
MAGNETIC_RING_ENERGY_USE("Magnetic Ring: Energy Use", ConfigCategories.TOOL_ENERGY_VALUES, 50, 1, 1000000000, "Amount of energy used by Magnetic Ring to suck item");
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
public final String category;
|
public final String category;
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.items;
|
package de.ellpeck.actuallyadditions.mod.items;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntValues;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy;
|
import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
@ -25,13 +29,10 @@ import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.IPlantable;
|
import net.minecraftforge.common.IPlantable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ItemGrowthRing extends ItemEnergy{
|
public class ItemGrowthRing extends ItemEnergy{
|
||||||
|
|
||||||
public ItemGrowthRing(String name){
|
public ItemGrowthRing(String name){
|
||||||
super(1000000, 2000, name);
|
super(ConfigIntValues.GROWTH_RING_ENERGY_CAPACITY.getValue(), ConfigIntValues.GROWTH_RING_ENERGY_TRANSFER.getValue(), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -43,7 +44,7 @@ public class ItemGrowthRing extends ItemEnergy{
|
||||||
EntityPlayer player = (EntityPlayer)entity;
|
EntityPlayer player = (EntityPlayer)entity;
|
||||||
ItemStack equipped = player.getHeldItemMainhand();
|
ItemStack equipped = player.getHeldItemMainhand();
|
||||||
|
|
||||||
int energyUse = 300;
|
int energyUse = ConfigIntValues.GROWTH_RING_ENERGY_USE.getValue();
|
||||||
if(StackUtil.isValid(equipped) && equipped == stack && this.getEnergyStored(stack) >= energyUse){
|
if(StackUtil.isValid(equipped) && equipped == stack && this.getEnergyStored(stack) >= energyUse){
|
||||||
List<BlockPos> blocks = new ArrayList<BlockPos>();
|
List<BlockPos> blocks = new ArrayList<BlockPos>();
|
||||||
|
|
||||||
|
@ -67,7 +68,8 @@ public class ItemGrowthRing extends ItemEnergy{
|
||||||
|
|
||||||
//Fertilizing the Blocks
|
//Fertilizing the Blocks
|
||||||
if(!blocks.isEmpty()){
|
if(!blocks.isEmpty()){
|
||||||
for(int i = 0; i < 45; i++){
|
int fertilizeAttempts = ConfigIntValues.GROWTH_RING_FERTILIZE_ATTEMPTS.getValue();
|
||||||
|
for(int i = 0; i < fertilizeAttempts; i++){
|
||||||
if(this.getEnergyStored(stack) >= energyUse){
|
if(this.getEnergyStored(stack) >= energyUse){
|
||||||
BlockPos pos = blocks.get(world.rand.nextInt(blocks.size()));
|
BlockPos pos = blocks.get(world.rand.nextInt(blocks.size()));
|
||||||
|
|
||||||
|
@ -80,10 +82,11 @@ public class ItemGrowthRing extends ItemEnergy{
|
||||||
IBlockState newState = world.getBlockState(pos);
|
IBlockState newState = world.getBlockState(pos);
|
||||||
if(newState.getBlock().getMetaFromState(newState) != metaBefore){
|
if(newState.getBlock().getMetaFromState(newState) != metaBefore){
|
||||||
world.playEvent(2005, pos, 0);
|
world.playEvent(2005, pos, 0);
|
||||||
}
|
|
||||||
|
|
||||||
if(!player.capabilities.isCreativeMode){
|
// Extract energy only if crop was fertilized
|
||||||
this.extractEnergyInternal(stack, energyUse, false);
|
if(!player.capabilities.isCreativeMode){
|
||||||
|
this.extractEnergyInternal(stack, energyUse, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -10,6 +10,9 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.items;
|
package de.ellpeck.actuallyadditions.mod.items;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntValues;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy;
|
import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.ItemUtil;
|
import de.ellpeck.actuallyadditions.mod.util.ItemUtil;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
||||||
|
@ -24,12 +27,10 @@ import net.minecraft.util.EnumHand;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class ItemMagnetRing extends ItemEnergy{
|
public class ItemMagnetRing extends ItemEnergy{
|
||||||
|
|
||||||
public ItemMagnetRing(String name){
|
public ItemMagnetRing(String name){
|
||||||
super(200000, 1000, name);
|
super(ConfigIntValues.MAGNETIC_RING_ENERGY_CAPACITY.getValue(), ConfigIntValues.MAGNETIC_RING_ENERGY_TRANSFER.getValue(), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -49,7 +50,7 @@ public class ItemMagnetRing extends ItemEnergy{
|
||||||
if(!items.isEmpty()){
|
if(!items.isEmpty()){
|
||||||
for(EntityItem item : items){
|
for(EntityItem item : items){
|
||||||
if(!item.isDead && !item.cannotPickup()){
|
if(!item.isDead && !item.cannotPickup()){
|
||||||
int energyForItem = 50*StackUtil.getStackSize(item.getItem());
|
int energyForItem = ConfigIntValues.MAGNETIC_RING_ENERGY_USE.getValue() * StackUtil.getStackSize(item.getItem());
|
||||||
|
|
||||||
if(this.getEnergyStored(stack) >= energyForItem){
|
if(this.getEnergyStored(stack) >= energyForItem){
|
||||||
ItemStack oldItem = StackUtil.validateCopy(item.getItem());
|
ItemStack oldItem = StackUtil.validateCopy(item.getItem());
|
||||||
|
|
Loading…
Reference in a new issue