From cf656e1540a29740ddfb479b1f13a48014ea2528 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Sun, 16 Aug 2020 18:14:57 +0200 Subject: [PATCH] Added initial TechReborn compatibility to the EnergyAcceptor. --- build.gradle | 14 ++-- gradle.properties | 9 +-- .../java/appeng/api/config/PowerUnits.java | 18 +++-- src/api/java/appeng/api/config/Settings.java | 2 +- .../gui/widgets/SettingToggleButton.java | 4 +- src/main/java/appeng/core/AEConfig.java | 56 +++++++++------- .../appeng/parts/p2p/FluidP2PTunnelPart.java | 2 +- .../powersink/AEBasePoweredBlockEntity.java | 63 ++++++++++++------ src/main/java/appeng/util/Platform.java | 2 +- .../appliedenergistics2/lang/cs_cz.json | 1 - .../appliedenergistics2/lang/de_de.json | 1 - .../appliedenergistics2/lang/en_us.json | 2 +- .../appliedenergistics2/lang/es_es.json | 1 - .../appliedenergistics2/lang/fr_fr.json | 1 - .../appliedenergistics2/lang/it_it.json | 1 - .../appliedenergistics2/lang/ja_jp.json | 1 - .../appliedenergistics2/lang/ko_kr.json | 1 - .../appliedenergistics2/lang/pt_br.json | 1 - .../appliedenergistics2/lang/ro_ro.json | 1 - .../appliedenergistics2/lang/ru_ru.json | 1 - .../appliedenergistics2/lang/sv_se.json | 1 - .../appliedenergistics2/lang/zh_cn.json | 1 - .../appliedenergistics2/lang/zh_tw.json | 1 - .../textures/guis/states.png | Bin 12506 -> 13116 bytes .../powersink/PoweredItemCapabilities.java | 8 +-- .../appeng/parts/p2p/FEP2PTunnelPart.java | 4 +- 26 files changed, 113 insertions(+), 84 deletions(-) diff --git a/build.gradle b/build.gradle index f1a5bbfb3..c541a322c 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,9 @@ repositories { maven { name = "BuildCraft" url = "https://mod-buildcraft.com/maven" + content { + includeGroup "alexiil.mc.lib" + } } maven { name = "HYWLA" @@ -42,10 +45,6 @@ repositories { includeGroup "mcp.mobius.waila" } } - maven { - name = 'Earthcomputer Mods' - url = 'https://dl.bintray.com/earthcomputer/mods' - } } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 @@ -141,6 +140,10 @@ dependencies { include "alexiil.mc.lib:libblockattributes-items:${libblockattributes_version}" include "alexiil.mc.lib:libblockattributes-fluids:${libblockattributes_version}" + // Energy API + modApi "teamreborn:energy:${tr_energy_version}" + include "teamreborn:energy:${tr_energy_version}" + modCompileOnly("me.shedaniel:RoughlyEnoughItems:5.0.2-unstable") { exclude group: "net.fabricmc.fabric-api" } @@ -150,6 +153,9 @@ dependencies { modRuntime("me.shedaniel:RoughlyEnoughItems:5.0.2-unstable") { exclude group: "net.fabricmc.fabric-api" } + modRuntime("TechReborn:TechReborn-1.16:3.5.1+build.101") { + exclude group: "net.fabricmc.fabric-api" + } // modRuntimeOnly "mcp.mobius.waila:Hwyla:1.16.1-1.9.22-75" implementation 'com.google.code.findbugs:jsr305:3.0.2' diff --git a/gradle.properties b/gradle.properties index 3b22be639..eaaf6a29e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,20 +18,15 @@ fabric_version=0.17.2+build.396-1.16 loom_version=0.4-SNAPSHOT -# Mod Properties -mod_version = 1.0.0 -maven_group = net.fabricmc -archives_base_name = fabric-example-mod - # Kotlin kotlin_version=1.3.61 fabric_kotlin_version=1.3.61+build.1 +# Dependencies libblockattributes_version=0.7.1-pre.9 +tr_energy_version=0.1.0 ######################################################### # Deployment # ######################################################### -website_version=1.16.1 -curse_versions=1.16.1 curseforge_project=223794 diff --git a/src/api/java/appeng/api/config/PowerUnits.java b/src/api/java/appeng/api/config/PowerUnits.java index de760b110..194c13368 100644 --- a/src/api/java/appeng/api/config/PowerUnits.java +++ b/src/api/java/appeng/api/config/PowerUnits.java @@ -27,21 +27,27 @@ import net.minecraft.text.Text; import net.minecraft.text.TranslatableText; public enum PowerUnits { - AE("gui.appliedenergistics2.units.appliedenergstics"), // Native Units - AE Energy - EU("gui.appliedenergistics2.units.ic2"), // IndustrialCraft 2 - Energy Units - RF("gui.appliedenergistics2.units.rf"); // RF - Redstone Flux + AE("gui.appliedenergistics2.units.appliedenergstics", "AE"), // Native Units - AE Energy + EU("gui.appliedenergistics2.units.ic2", "EU"), // IndustrialCraft 2 - Energy Units + TR("gui.appliedenergistics2.units.tr", "E"); // TR - TechReborn energy /** * unlocalized name for the power unit. */ public final String unlocalizedName; + + /** + * unlocalized name for the power unit's symbol used to display values. + */ + public final String symbolName; /** * please do not edit this value, it is set when AE loads its config files. */ public double conversionRatio = 1.0; - PowerUnits(final String un) { + PowerUnits(final String un, String symbolName) { this.unlocalizedName = un; + this.symbolName = symbolName; } /** @@ -64,4 +70,8 @@ public enum PowerUnits { return new TranslatableText(unlocalizedName); } + public String getSymbolName() { + return symbolName; + } + } \ No newline at end of file diff --git a/src/api/java/appeng/api/config/Settings.java b/src/api/java/appeng/api/config/Settings.java index bab85a659..9e3e2f3e3 100644 --- a/src/api/java/appeng/api/config/Settings.java +++ b/src/api/java/appeng/api/config/Settings.java @@ -36,7 +36,7 @@ public enum Settings { CONDENSER_OUTPUT(EnumSet.allOf(CondenserOutput.class)), - POWER_UNITS(EnumSet.allOf(PowerUnits.class)), + POWER_UNITS(EnumSet.of(PowerUnits.AE, PowerUnits.TR)), ACCESS(EnumSet.of(AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE)), diff --git a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java index bc788d22a..c06cecda6 100644 --- a/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/SettingToggleButton.java @@ -103,8 +103,8 @@ public class SettingToggleButton> extends IconButton { PowerUnits.AE.textComponent()); registerApp(16 * 10 + 1, Settings.POWER_UNITS, PowerUnits.EU, ButtonToolTips.PowerUnits, PowerUnits.EU.textComponent()); - registerApp(16 * 10 + 4, Settings.POWER_UNITS, PowerUnits.RF, ButtonToolTips.PowerUnits, - PowerUnits.RF.textComponent()); + registerApp(16 * 10 + 4, Settings.POWER_UNITS, PowerUnits.TR, ButtonToolTips.PowerUnits, + PowerUnits.TR.textComponent()); registerApp(3, Settings.REDSTONE_CONTROLLED, RedstoneMode.IGNORE, ButtonToolTips.RedstoneMode, ButtonToolTips.AlwaysActive); diff --git a/src/main/java/appeng/core/AEConfig.java b/src/main/java/appeng/core/AEConfig.java index cbf672f9a..1cb7c4565 100644 --- a/src/main/java/appeng/core/AEConfig.java +++ b/src/main/java/appeng/core/AEConfig.java @@ -18,22 +18,6 @@ package appeng.core; -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.EnumMap; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.DoubleSupplier; -import java.util.stream.Collectors; - -import net.minecraft.world.dimension.DimensionType; - import appeng.api.config.CondenserOutput; import appeng.api.config.PowerMultiplier; import appeng.api.config.PowerUnits; @@ -52,6 +36,21 @@ import appeng.core.config.IntegerOption; import appeng.core.config.StringListOption; import appeng.core.settings.TickRates; import appeng.util.EnumCycler; +import net.minecraft.world.dimension.DimensionType; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.DoubleSupplier; +import java.util.stream.Collectors; public final class AEConfig { @@ -87,7 +86,7 @@ public final class AEConfig { // Default Energy Conversion Rates private static final double DEFAULT_IC2_EXCHANGE = 2.0; - private static final double DEFAULT_RF_EXCHANGE = 0.5; + private static final double DEFAULT_TR_EXCHANGE = 2.0; public static final String VERSION = "@version@"; public static final String CHANNEL = "@aechannel@"; @@ -112,7 +111,6 @@ public final class AEConfig { private boolean useColoredCraftingStatus; private boolean disableColoredCableRecipesInJEI; private int craftingCalculationTimePerTick; - private PowerUnits selectedPowerUnit = PowerUnits.AE; // GUI Buttons private final int[] craftByStacks = new int[4]; @@ -157,9 +155,7 @@ public final class AEConfig { this.enableEffects = clientConfig.enableEffects.get(); this.useLargeFonts = clientConfig.useLargeFonts.get(); this.useColoredCraftingStatus = clientConfig.useColoredCraftingStatus.get(); - this.selectedPowerUnit = clientConfig.selectedPowerUnit.get(); - // load buttons.. for (int btnNum = 0; btnNum < 4; btnNum++) { this.craftByStacks[btnNum] = clientConfig.craftByStacks.get(btnNum).get(); this.priorityByStacks[btnNum] = clientConfig.priorityByStacks.get(btnNum).get(); @@ -169,7 +165,7 @@ public final class AEConfig { private void syncCommonConfig() { PowerUnits.EU.conversionRatio = commonConfig.powerRatioIc2.get(); - PowerUnits.RF.conversionRatio = commonConfig.powerRatioForgeEnergy.get(); + PowerUnits.TR.conversionRatio = commonConfig.powerRatioTechReborn.get(); PowerMultiplier.CONFIG.multiplier = commonConfig.powerUsageMultiplier.get(); CondenserOutput.MATTER_BALLS.requiredPower = commonConfig.condenserMatterBallsPower.get(); @@ -271,7 +267,6 @@ public final class AEConfig { } public void save() { - clientConfig.selectedPowerUnit.set(this.selectedPowerUnit); } /** @@ -299,7 +294,7 @@ public final class AEConfig { @SuppressWarnings("unchecked") public void nextPowerUnit(final boolean backwards) { - PowerUnits selectedPowerUnit = EnumCycler.rotateEnum(this.selectedPowerUnit, backwards, + PowerUnits selectedPowerUnit = EnumCycler.rotateEnum(getSelectedPowerUnit(), backwards, (EnumSet) Settings.POWER_UNITS.getPossibleValues()); clientConfig.selectedPowerUnit.set(selectedPowerUnit); } @@ -373,6 +368,10 @@ public final class AEConfig { return () -> this.chargedStaffBattery; } + public double getPowerTransactionLimitTechReborn() { + return commonConfig.powerTransactionLimitTechReborn.get(); + } + public float getSpawnChargedChance() { return (float) commonConfig.spawnChargedChance.get(); } @@ -494,9 +493,12 @@ public final class AEConfig { // Power Ratios public final DoubleOption powerRatioIc2; - public final DoubleOption powerRatioForgeEnergy; + public final DoubleOption powerRatioTechReborn; public final DoubleOption powerUsageMultiplier; + // How much TR energy can be transfered at most in one operation + public final DoubleOption powerTransactionLimitTechReborn; + // Condenser Power Requirement public final IntegerOption condenserMatterBallsPower; public final IntegerOption condenserSingularityPower; @@ -578,9 +580,13 @@ public final class AEConfig { ConfigSection PowerRatios = root.subsection("PowerRatios"); powerRatioIc2 = PowerRatios.addDouble("IC2", DEFAULT_IC2_EXCHANGE); - powerRatioForgeEnergy = PowerRatios.addDouble("ForgeEnergy", DEFAULT_RF_EXCHANGE); + powerRatioTechReborn = PowerRatios.addDouble("TechReborn", DEFAULT_TR_EXCHANGE); powerUsageMultiplier = PowerRatios.addDouble("UsageMultiplier", 1.0, 0.01, Double.MAX_VALUE); + ConfigSection integration = root.subsection("Integration"); + powerTransactionLimitTechReborn = integration.addDouble("MaxTechRebornEnergyPerTransaction", 10000.0, 0.1, 1000000.0, + "The maximum amount of TechReborn energy units that can be transfered per operation."); + ConfigSection Condenser = root.subsection("Condenser"); condenserMatterBallsPower = Condenser.addInt("MatterBalls", 256); condenserSingularityPower = Condenser.addInt("Singularity", 256000); diff --git a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java index 2d36a07cd..09ee15a5c 100644 --- a/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java +++ b/src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java @@ -141,7 +141,7 @@ public class FluidP2PTunnelPart extends P2PTunnelPart { } if (simulation.isAction()) { - FluidP2PTunnelPart.this.queueTunnelDrain(PowerUnits.RF, + FluidP2PTunnelPart.this.queueTunnelDrain(PowerUnits.TR, amount.sub(overflowAmount).asInexactDouble() * 1000); } } catch (GridAccessException ignored) { diff --git a/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java b/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java index f17734438..1d792ae8d 100644 --- a/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java +++ b/src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java @@ -18,31 +18,29 @@ package appeng.tile.powersink; -import java.util.EnumSet; -import java.util.Set; - -import com.google.common.collect.ImmutableSet; - -import net.minecraft.block.BlockState; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; -import net.minecraft.world.World; - -import alexiil.mc.lib.attributes.AttributeList; -import alexiil.mc.lib.attributes.AttributeProvider; - import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; import appeng.api.config.PowerUnits; import appeng.api.networking.energy.IAEPowerStorage; import appeng.api.networking.events.MENetworkPowerStorage.PowerEventType; +import appeng.core.AEConfig; import appeng.tile.AEBaseInvBlockEntity; +import com.google.common.collect.ImmutableSet; +import net.minecraft.block.BlockState; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.MathHelper; +import team.reborn.energy.EnergySide; +import team.reborn.energy.EnergyStorage; +import team.reborn.energy.EnergyTier; + +import java.util.EnumSet; +import java.util.Set; public abstract class AEBasePoweredBlockEntity extends AEBaseInvBlockEntity - implements IAEPowerStorage, IExternalPowerSink, AttributeProvider { + implements IAEPowerStorage, IExternalPowerSink, EnergyStorage { // values that determine general function, are set by inheriting classes if // needed. These should generally remain static. @@ -230,10 +228,37 @@ public abstract class AEBasePoweredBlockEntity extends AEBaseInvBlockEntity } @Override - public void addAllAttributes(World world, BlockPos pos, BlockState state, AttributeList to) { - super.addAllAttributes(world, pos, state, to); + public double getMaxInput(EnergySide side) { + double attemptedInsert = AEConfig.instance().getPowerTransactionLimitTechReborn(); + double overflow = this.injectExternalPower(PowerUnits.TR, attemptedInsert, Actionable.SIMULATE); + double couldInsert = attemptedInsert - overflow; + if (couldInsert < 0.001) { + return 0; + } - // FIXME FABRIC: Offer energy attributes + return PowerUnits.AE.convertTo(PowerUnits.TR, couldInsert); + } + + @Override + public double getStored(EnergySide energySide) { + // This block acts as if it cannot actually store any energy + return 0.0; + } + + @Override + public void setStored(double v) { + v = MathHelper.clamp(v, 0.001, getMaxStoredPower()); + this.injectExternalPower(PowerUnits.TR, v, Actionable.MODULATE); + } + + @Override + public double getMaxStoredPower() { + return AEConfig.instance().getPowerTransactionLimitTechReborn(); + } + + @Override + public EnergyTier getTier() { + return EnergyTier.INFINITE; } } diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index 065bab4b2..db73efec4 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -165,7 +165,7 @@ public class Platform { p = PowerUnits.AE.convertTo(displayUnits, p); final String[] preFixes = { "k", "M", "G", "T", "P", "T", "P", "E", "Z", "Y" }; - String unitName = displayUnits.name(); + String unitName = displayUnits.getSymbolName(); String level = ""; int offset = 0; diff --git a/src/main/resources/assets/appliedenergistics2/lang/cs_cz.json b/src/main/resources/assets/appliedenergistics2/lang/cs_cz.json index ec554de8c..bb9841399 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/cs_cz.json +++ b/src/main/resources/assets/appliedenergistics2/lang/cs_cz.json @@ -256,7 +256,6 @@ "gui.appliedenergistics2.security.security.tip": "Uživatel má přístupové a modifikační práva k bezpečnostnímu terminálu sítě.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Jednotky energie", - "gui.appliedenergistics2.units.rf": "Ruditový Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Aktivní jednou za pulz", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Aktivní se signálem", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Aktivní bez signálu", diff --git a/src/main/resources/assets/appliedenergistics2/lang/de_de.json b/src/main/resources/assets/appliedenergistics2/lang/de_de.json index 6342d821e..45b10ef1f 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/de_de.json +++ b/src/main/resources/assets/appliedenergistics2/lang/de_de.json @@ -283,7 +283,6 @@ "gui.appliedenergistics2.security.security.tip": "Der Nutzer darf auf die Sicherheitskonsole des Netzwerks zugreifen.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Einmalig aktiv je Puls", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Aktiv mit Signal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Aktiv ohne Signal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_us.json b/src/main/resources/assets/appliedenergistics2/lang/en_us.json index 0a5d8c073..3c18dbb4c 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_us.json +++ b/src/main/resources/assets/appliedenergistics2/lang/en_us.json @@ -307,7 +307,7 @@ "gui.appliedenergistics2.security.security.tip": "User can access and modify the security terminal of the network.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", + "gui.appliedenergistics2.units.tr": "TechReborn Energy", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Activate once per pulse", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Active with signal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Active without signal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/es_es.json b/src/main/resources/assets/appliedenergistics2/lang/es_es.json index ad81433ff..7d5afa897 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/es_es.json +++ b/src/main/resources/assets/appliedenergistics2/lang/es_es.json @@ -192,7 +192,6 @@ "gui.appliedenergistics2.security.security.tip": "El usario puede acceder y modificar la configuración de seguridad de la red.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Activar una vez por pulso", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Activo con señal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Active sin señal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/fr_fr.json b/src/main/resources/assets/appliedenergistics2/lang/fr_fr.json index 0d3361e8c..7f1d188e9 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/fr_fr.json +++ b/src/main/resources/assets/appliedenergistics2/lang/fr_fr.json @@ -281,7 +281,6 @@ "gui.appliedenergistics2.security.security.tip": "L'utilisateur peut accéder et modifier le terminal de sécurité du réseau.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Activer une fois par impulsion", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Actif avec un signal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Actif sans signal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/it_it.json b/src/main/resources/assets/appliedenergistics2/lang/it_it.json index 6c2497a89..09720e485 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/it_it.json +++ b/src/main/resources/assets/appliedenergistics2/lang/it_it.json @@ -270,7 +270,6 @@ "gui.appliedenergistics2.security.security.tip": "Utente ha il permesso di accedere e modificare il terminale di sicurezza del sistema.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Attivo una volta per impulso", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Attivo con segnale", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Attivo senza segnale", diff --git a/src/main/resources/assets/appliedenergistics2/lang/ja_jp.json b/src/main/resources/assets/appliedenergistics2/lang/ja_jp.json index 0e7e02b97..a428883c0 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/ja_jp.json +++ b/src/main/resources/assets/appliedenergistics2/lang/ja_jp.json @@ -336,7 +336,6 @@ "gui.tooltips.appliedenergistics2.P2PFrequency": "周波数: %s", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "エネルギーユニット", - "gui.appliedenergistics2.units.rf": "レッドストーンフラックス", "gui.appliedenergistics2.White": "白色", "gui.appliedenergistics2.Orange": "橙色", "gui.appliedenergistics2.Magenta": "赤紫色", diff --git a/src/main/resources/assets/appliedenergistics2/lang/ko_kr.json b/src/main/resources/assets/appliedenergistics2/lang/ko_kr.json index 1c58c7a8a..187057e64 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/ko_kr.json +++ b/src/main/resources/assets/appliedenergistics2/lang/ko_kr.json @@ -298,7 +298,6 @@ "gui.appliedenergistics2.security.security.tip": "유저는 네트워크의 보안 단말기에 액세스하여 수정할 수 있습니다.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "EU", - "gui.appliedenergistics2.units.rf": "RF", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "한 파동 당 활성화", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "신호있는 활성화", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "신호없는 활성화", diff --git a/src/main/resources/assets/appliedenergistics2/lang/pt_br.json b/src/main/resources/assets/appliedenergistics2/lang/pt_br.json index 839e3200d..cc43cb212 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/pt_br.json +++ b/src/main/resources/assets/appliedenergistics2/lang/pt_br.json @@ -300,7 +300,6 @@ "gui.appliedenergistics2.security.security.tip": "O usuário pode acessar e modificar o terminal de segurança da rede.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Unidades de Energia", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Ativar uma vez por pulso", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Ativo com sinal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Ativo sem sinal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/ro_ro.json b/src/main/resources/assets/appliedenergistics2/lang/ro_ro.json index 453632f58..9e0426509 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/ro_ro.json +++ b/src/main/resources/assets/appliedenergistics2/lang/ro_ro.json @@ -132,7 +132,6 @@ "gui.appliedenergistics2.security.security.tip": "Utilizator poate accesa şi modifica terminalul de securitate a reţelei.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Unități de Energie", - "gui.appliedenergistics2.units.rf": "Flux de Piatră-Roşie", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Activeaza odată per puls", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Activ cu semnal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Activ fără semnal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/ru_ru.json b/src/main/resources/assets/appliedenergistics2/lang/ru_ru.json index 9e98943ea..5ab8ba8ea 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/ru_ru.json +++ b/src/main/resources/assets/appliedenergistics2/lang/ru_ru.json @@ -290,7 +290,6 @@ "gui.appliedenergistics2.security.security.tip": "Пользователь может работать с терминалом безопасности и настраивать его в сети.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Активируется раз за импульс", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Активен с сигналом", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Активен без сигнала", diff --git a/src/main/resources/assets/appliedenergistics2/lang/sv_se.json b/src/main/resources/assets/appliedenergistics2/lang/sv_se.json index 3ce21b9df..ec2cc148c 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/sv_se.json +++ b/src/main/resources/assets/appliedenergistics2/lang/sv_se.json @@ -306,7 +306,6 @@ "gui.appliedenergistics2.security.security.tip": "Användare kan komma åt och ändra nätverkets säkerhetsterminal.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "Energy Units", - "gui.appliedenergistics2.units.rf": "Redstone Flux", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "Aktivera en gång per puls", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "Aktiv med signal", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "Aktiv utan signal", diff --git a/src/main/resources/assets/appliedenergistics2/lang/zh_cn.json b/src/main/resources/assets/appliedenergistics2/lang/zh_cn.json index ce50ff308..a6f6f1378 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/zh_cn.json +++ b/src/main/resources/assets/appliedenergistics2/lang/zh_cn.json @@ -300,7 +300,6 @@ "gui.appliedenergistics2.security.security.tip": "用户可以访问修改网络的安全终端.", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "EU", - "gui.appliedenergistics2.units.rf": "RF", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "有脉冲信号时激活", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "有信号时激活", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "无信号时激活", diff --git a/src/main/resources/assets/appliedenergistics2/lang/zh_tw.json b/src/main/resources/assets/appliedenergistics2/lang/zh_tw.json index d95271f4f..a09e20457 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/zh_tw.json +++ b/src/main/resources/assets/appliedenergistics2/lang/zh_tw.json @@ -290,7 +290,6 @@ "gui.appliedenergistics2.security.security.tip": "用戶可以訪問修改網絡的安全終端。", "gui.appliedenergistics2.units.appliedenergstics": "AE", "gui.appliedenergistics2.units.ic2": "EU", - "gui.appliedenergistics2.units.rf": "RF", "gui.tooltips.appliedenergistics2.ActiveOnPulse": "有脈沖信號時激活", "gui.tooltips.appliedenergistics2.ActiveWithSignal": "有信號時激活", "gui.tooltips.appliedenergistics2.ActiveWithoutSignal": "無信號時激活", diff --git a/src/main/resources/assets/appliedenergistics2/textures/guis/states.png b/src/main/resources/assets/appliedenergistics2/textures/guis/states.png index 15f840c4878a20213a2d8112eba8895576096271..d401c375cd04468ea89779880c0a69446c7d5b51 100644 GIT binary patch literal 13116 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 bKl_E;3*>AkpVDGrU|{fc^>bP0l+XkK%;f62 literal 12506 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 { } if (!simulate) { - FEP2PTunnelPart.this.queueTunnelDrain(PowerUnits.RF, total); + FEP2PTunnelPart.this.queueTunnelDrain(PowerUnits.TR, total); } } catch (GridAccessException ignored) { } @@ -177,7 +177,7 @@ public class FEP2PTunnelPart extends P2PTunnelPart { final int total = FEP2PTunnelPart.this.getAttachedEnergyStorage().extractEnergy(maxExtract, simulate); if (!simulate) { - FEP2PTunnelPart.this.queueTunnelDrain(PowerUnits.RF, total); + FEP2PTunnelPart.this.queueTunnelDrain(PowerUnits.TR, total); } return total;