mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-23 15:48:34 +01:00
Added configuration for Laser Relays
This commit is contained in:
parent
6145ec9470
commit
6dec2b274e
7 changed files with 24 additions and 21 deletions
|
@ -193,15 +193,16 @@ public final class InitBooklet{
|
|||
new BookletChapter("lensMining", ActuallyAdditionsAPI.entryReconstruction, new ItemStack(InitItems.itemMiningLens), new PageTextOnly(1).addTextReplacement("<energy>", ConfigIntListValues.ATOMIC_RECONSTRUCTOR_LENSES_ENERGY_USE.getValue()[5]), new PageCrafting(2, ItemCrafting.recipeMiningLens).setNoText()).setImportant();
|
||||
|
||||
//Laser Relays
|
||||
chaptersIntroduction[8] = new BookletChapter("laserIntro", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserWrench), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("<range>", TileEntityLaserRelay.MAX_DISTANCE), new PageCrafting(3, ItemCrafting.recipeLaserWrench)).setImportant();
|
||||
new BookletChapter("laserRelays", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelay), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("<cap1>", TileEntityLaserRelayEnergy.CAP).addTextReplacement("<cap2>", TileEntityLaserRelayEnergyAdvanced.CAP).addTextReplacement("<cap3>", TileEntityLaserRelayEnergyExtreme.CAP), new PagePicture(3, "page_laser_relay", 0).setNoText(), new PageCrafting(4, BlockCrafting.recipeLaserRelay).setWildcard().setNoText(), new PageCrafting(5, BlockCrafting.recipeLaserRelayAdvanced).setWildcard().setNoText(), new PageCrafting(6, BlockCrafting.recipeLaserRelayExtreme).setWildcard().setNoText());
|
||||
chaptersIntroduction[8] = new BookletChapter("laserIntro", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserWrench), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("<range>", ConfigIntValues.LASER_RELAY_MAXIMUM_DISTANCE.getValue()), new PageCrafting(3, ItemCrafting.recipeLaserWrench)).setImportant();
|
||||
int[] laserRelayEnergyTransfer = ConfigIntListValues.LASER_RELAY_ENERGY_TRANSFER.getValue();
|
||||
new BookletChapter("laserRelays", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelay), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("<cap1>", laserRelayEnergyTransfer[0]).addTextReplacement("<cap2>", laserRelayEnergyTransfer[1]).addTextReplacement("<cap3>", laserRelayEnergyTransfer[2]), new PagePicture(3, "page_laser_relay", 0).setNoText(), new PageCrafting(4, BlockCrafting.recipeLaserRelay).setWildcard().setNoText(), new PageCrafting(5, BlockCrafting.recipeLaserRelayAdvanced).setWildcard().setNoText(), new PageCrafting(6, BlockCrafting.recipeLaserRelayExtreme).setWildcard().setNoText());
|
||||
new BookletChapter("fluidLaser", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayFluids), new PageTextOnly(1), new PageReconstructor(2, LensRecipeHandler.recipeFluidLaser).setWildcard().setNoText());
|
||||
new BookletChapter("itemRelays", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayItem), new PageTextOnly(1), new PageReconstructor(2, LensRecipeHandler.recipeItemLaser).setWildcard().setNoText()).setSpecial();
|
||||
new BookletChapter("itemInterfaces", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockItemViewer), new PageTextOnly(1), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipeItemInterface).setNoText());
|
||||
new BookletChapter("itemRelaysAdvanced", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeLaserRelayItemWhitelist).setWildcard());
|
||||
new BookletChapter("itemInterfacesHopping", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockItemViewerHopping), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeItemInterfaceHopping).setWildcard().setNoText());
|
||||
new BookletChapter("laserUpgradeInvisibility", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserUpgradeInvisibility), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeLaserUpgradeInvisibility).setNoText()).setImportant();
|
||||
new BookletChapter("laserUpgradeRange", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserUpgradeRange), new PageTextOnly(1).addTextReplacement("<def>", TileEntityLaserRelay.MAX_DISTANCE).addTextReplacement("<upgraded>", TileEntityLaserRelay.MAX_DISTANCE_RANGED), new PageCrafting(2, ItemCrafting.recipeLaserUpgradeRange).setNoText()).setImportant();
|
||||
new BookletChapter("laserUpgradeRange", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserUpgradeRange), new PageTextOnly(1).addTextReplacement("<def>", ConfigIntValues.LASER_RELAY_MAXIMUM_DISTANCE.getValue()).addTextReplacement("<upgraded>", ConfigIntValues.LASER_RELAY_MAXIMUM_UPGRADED_DISTANCE.getValue()), new PageCrafting(2, ItemCrafting.recipeLaserUpgradeRange).setNoText()).setImportant();
|
||||
|
||||
//No RF Using Blocks
|
||||
new BookletChapter("breaker", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockBreaker), new PageCrafting(1, BlockCrafting.recipeBreaker).setWildcard(), new PageCrafting(2, BlockCrafting.recipePlacer).setWildcard(), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer).setWildcard(), new PageCrafting(4, BlockCrafting.recipeLiquidCollector).setWildcard());
|
||||
|
|
|
@ -27,7 +27,9 @@ public enum ConfigIntListValues{
|
|||
EMPOWERER_RECIPE_COSTS("Empowerer: Recipe Energy Cost", ConfigCategories.MACHINE_RECIPE_COSTS, new int[]{5000, 50000, 1000}, "Amount of energy per Display Stand used per tick to craft item in Empowerer.\nOrder of items: Empowered Crystals, Empowered Crystal Blocks, Empowered Canola Seed"),
|
||||
EMPOWERER_RECIPE_DURATIONS("Empowerer: Recipe Duration", ConfigCategories.MACHINE_RECIPE_COSTS, new int[]{50, 500, 30}, "Time in ticks required to craft item in Empowerer.\nOrder of items: Empowered Crystals, Empowered Crystal Blocks, Empowered Canola Seed"),
|
||||
OIL_GENERATOR_ENERGY_PRODUCTION("Oil Generator: Energy Production", ConfigCategories.MACHINE_ENERGY_VALUES, new int[]{40, 80, 100, 120}, "Amound of energy Oil Generator produces for each oil type.\nThese values change energy density of each type of oil.\nConfig option 'Oil Gen: Power Values' is obsolete, please remove it."),
|
||||
OIL_GENERATOR_BURN_TIME("Oil Generator: Production Time", ConfigCategories.MACHINE_VALUES, new int[]{100, 120, 280, 400}, "Time in seconds each type of oil burns in Oil Generator.\nThese values change burn time of each type of oil.\nConfig option 'Oil Gen: Time Values' is obsolete, please remove it.");
|
||||
OIL_GENERATOR_BURN_TIME("Oil Generator: Production Time", ConfigCategories.MACHINE_VALUES, new int[]{100, 120, 280, 400}, "Time in seconds each type of oil burns in Oil Generator.\nThese values change burn time of each type of oil.\nConfig option 'Oil Gen: Time Values' is obsolete, please remove it."),
|
||||
LASER_RELAY_ENERGY_TRANSFER("Energy Laser Relay: Energy Transfer Rate Per Tier", ConfigCategories.MACHINE_ENERGY_VALUES, new int[]{1000, 10000, 100000}, "Amount of energy each tier of Energy Laser Relay can transfer per tick (per side)."),
|
||||
LASER_RELAY_ENERGY_LOSS_PERCENTAGE("Energy Laser Relay: Energy Loss Percentage Per Tier", ConfigCategories.MACHINE_ENERGY_VALUES, new int[]{5, 8, 10}, "Energy loss in percents for each tier of Energy Laser Relays, if enabled.");
|
||||
|
||||
public final String name;
|
||||
public final String category;
|
||||
|
|
|
@ -83,7 +83,9 @@ public enum ConfigIntValues{
|
|||
BIO_REACTOR_ENERGY_CAPACITY("Bio Reactor: Energy Capacity", ConfigCategories.MACHINE_ENERGY_VALUES, 200000, 1000, 1000000000, "Amount of energy Bio Reactor can store."),
|
||||
BIO_REACTOR_ENERGY_SEND("Bio Reactor: Energy Send Rate", ConfigCategories.MACHINE_ENERGY_VALUES, 800, 1, 1000000000, "Amount of energy Bio Reactor can send per tick."),
|
||||
BIO_REACTOR_ENERGY_PRODUCTION("Bio Reactor: Energy Production Per Type", ConfigCategories.MACHINE_ENERGY_VALUES, 2, 1, 10000, "Amount of energy Bio Reactor produces per item time.\nResulting energy production is: (this value * amount of different items) ^ 2."),
|
||||
BIO_REACTOR_BURN_TIME("Bio Reactor: Maximum Burn Time", ConfigCategories.MACHINE_VALUES, 200, 1, 72000, "Maximum time in ticks Bio Reactor can burn one item.\nLow values can result in nonoperability of Bio Reactor.");
|
||||
BIO_REACTOR_BURN_TIME("Bio Reactor: Maximum Burn Time", ConfigCategories.MACHINE_VALUES, 200, 1, 72000, "Maximum time in ticks Bio Reactor can burn one item.\nLow values can result in nonoperability of Bio Reactor."),
|
||||
LASER_RELAY_MAXIMUM_DISTANCE("Laser Relay: Maximum Distance", ConfigCategories.MACHINE_VALUES, 15, 1, 48, "Maximum distance in blocks between two Laser Relays"),
|
||||
LASER_RELAY_MAXIMUM_UPGRADED_DISTANCE("Laser Relay: Maximum Distance With Range Upgrade", ConfigCategories.MACHINE_VALUES, 35, 1, 96, "Maximum distance in blocks between two Laser Relays with Range upgrade");
|
||||
|
||||
public final String name;
|
||||
public final String category;
|
||||
|
|
|
@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
|||
import de.ellpeck.actuallyadditions.api.laser.IConnectionPair;
|
||||
import de.ellpeck.actuallyadditions.api.laser.LaserType;
|
||||
import de.ellpeck.actuallyadditions.api.laser.Network;
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntValues;
|
||||
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||||
import de.ellpeck.actuallyadditions.mod.misc.apiimpl.ConnectionPair;
|
||||
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
||||
|
@ -30,9 +31,6 @@ import net.minecraftforge.items.IItemHandler;
|
|||
|
||||
public abstract class TileEntityLaserRelay extends TileEntityInventoryBase{
|
||||
|
||||
public static final int MAX_DISTANCE = 15;
|
||||
public static final int MAX_DISTANCE_RANGED = 35;
|
||||
|
||||
public final LaserType type;
|
||||
|
||||
private Network cachedNetwork;
|
||||
|
@ -168,10 +166,10 @@ public abstract class TileEntityLaserRelay extends TileEntityInventoryBase{
|
|||
public int getMaxRange(){
|
||||
ItemStack upgrade = this.slots.getStackInSlot(0);
|
||||
if(StackUtil.isValid(upgrade) && upgrade.getItem() == InitItems.itemLaserUpgradeRange){
|
||||
return MAX_DISTANCE_RANGED;
|
||||
return ConfigIntValues.LASER_RELAY_MAXIMUM_UPGRADED_DISTANCE.getValue();
|
||||
}
|
||||
else{
|
||||
return MAX_DISTANCE;
|
||||
return ConfigIntValues.LASER_RELAY_MAXIMUM_DISTANCE.getValue();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import de.ellpeck.actuallyadditions.api.laser.LaserType;
|
|||
import de.ellpeck.actuallyadditions.api.laser.Network;
|
||||
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigBoolValues;
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntListValues;
|
||||
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
|
||||
import de.ellpeck.actuallyadditions.mod.util.compat.TeslaUtil;
|
||||
|
@ -39,7 +40,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
|
||||
public class TileEntityLaserRelayEnergy extends TileEntityLaserRelay{
|
||||
|
||||
public static final int CAP = 1000;
|
||||
public final ConcurrentHashMap<EnumFacing, TileEntity> receiversAround = new ConcurrentHashMap<EnumFacing, TileEntity>();
|
||||
private final IEnergyStorage[] energyStorages = new IEnergyStorage[6];
|
||||
private Mode mode = Mode.BOTH;
|
||||
|
@ -258,11 +258,11 @@ public class TileEntityLaserRelayEnergy extends TileEntityLaserRelay{
|
|||
}
|
||||
|
||||
public int getEnergyCap(){
|
||||
return CAP;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_TRANSFER.getValue()[0];
|
||||
}
|
||||
|
||||
public double getLossPercentage(){
|
||||
return 5;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_LOSS_PERCENTAGE.getValue()[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
|
||||
package de.ellpeck.actuallyadditions.mod.tile;
|
||||
|
||||
public class TileEntityLaserRelayEnergyAdvanced extends TileEntityLaserRelayEnergy{
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntListValues;
|
||||
|
||||
public static final int CAP = 10000;
|
||||
public class TileEntityLaserRelayEnergyAdvanced extends TileEntityLaserRelayEnergy{
|
||||
|
||||
public TileEntityLaserRelayEnergyAdvanced(){
|
||||
super("laserRelayAdvanced");
|
||||
|
@ -20,11 +20,11 @@ public class TileEntityLaserRelayEnergyAdvanced extends TileEntityLaserRelayEner
|
|||
|
||||
@Override
|
||||
public int getEnergyCap(){
|
||||
return CAP;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_TRANSFER.getValue()[1];
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getLossPercentage(){
|
||||
return 8;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_LOSS_PERCENTAGE.getValue()[1];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
|
||||
package de.ellpeck.actuallyadditions.mod.tile;
|
||||
|
||||
public class TileEntityLaserRelayEnergyExtreme extends TileEntityLaserRelayEnergy{
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntListValues;
|
||||
|
||||
public static final int CAP = 100000;
|
||||
public class TileEntityLaserRelayEnergyExtreme extends TileEntityLaserRelayEnergy{
|
||||
|
||||
public TileEntityLaserRelayEnergyExtreme(){
|
||||
super("laserRelayExtreme");
|
||||
|
@ -20,11 +20,11 @@ public class TileEntityLaserRelayEnergyExtreme extends TileEntityLaserRelayEnerg
|
|||
|
||||
@Override
|
||||
public int getEnergyCap(){
|
||||
return CAP;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_TRANSFER.getValue()[2];
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getLossPercentage(){
|
||||
return 10;
|
||||
return ConfigIntListValues.LASER_RELAY_ENERGY_LOSS_PERCENTAGE.getValue()[2];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue