Merge remote-tracking branch 'origin/master' into fabric-1.16
# Conflicts: # gradle.properties # gradle/wrapper/gradle-wrapper.jar # gradle/wrapper/gradle-wrapper.properties # src/api/java/appeng/api/features/IWorldGen.java # src/api/java/appeng/api/implementations/items/ISpatialStorageCell.java # src/api/java/appeng/api/parts/IPart.java # src/api/java/appeng/api/storage/ISpatialDimension.java # src/api/java/appeng/api/util/DimensionalCoord.java # src/datagen/java/appeng/data/providers/IAE2DataProvider.java # src/main/java/appeng/block/AEBaseBlockItemChargeable.java # src/main/java/appeng/block/misc/ChargerBlock.java # src/main/java/appeng/block/misc/QuartzFixtureBlock.java # src/main/java/appeng/block/networking/CableBusBlock.java # src/main/java/appeng/block/networking/CableBusColor.java # src/main/java/appeng/block/networking/ControllerBlock.java # src/main/java/appeng/block/networking/WirelessBlock.java # src/main/java/appeng/block/paint/PaintSplotchesBakedModel.java # src/main/java/appeng/block/paint/PaintSplotchesModel.java # src/main/java/appeng/block/qnb/QnbFormedBakedModel.java # src/main/java/appeng/block/qnb/QnbFormedModel.java # src/main/java/appeng/block/spatial/MatrixFrameBlock.java # src/main/java/appeng/block/storage/ChestBlock.java # src/main/java/appeng/block/storage/DriveSlotState.java # src/main/java/appeng/client/gui/AEBaseMEScreen.java # src/main/java/appeng/client/gui/AEBaseScreen.java # src/main/java/appeng/client/gui/implementations/AESubScreen.java # src/main/java/appeng/client/gui/implementations/CellWorkbenchScreen.java # src/main/java/appeng/client/gui/implementations/ChestScreen.java # src/main/java/appeng/client/gui/implementations/CondenserScreen.java # src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java # src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java # src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java # src/main/java/appeng/client/gui/implementations/CraftingStatusScreen.java # src/main/java/appeng/client/gui/implementations/CraftingTermScreen.java # src/main/java/appeng/client/gui/implementations/DriveScreen.java # src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java # src/main/java/appeng/client/gui/implementations/GrinderScreen.java # src/main/java/appeng/client/gui/implementations/IOPortScreen.java # src/main/java/appeng/client/gui/implementations/InscriberScreen.java # src/main/java/appeng/client/gui/implementations/InterfaceScreen.java # src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java # src/main/java/appeng/client/gui/implementations/LevelEmitterScreen.java # src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java # src/main/java/appeng/client/gui/implementations/MolecularAssemblerScreen.java # src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java # src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java # src/main/java/appeng/client/gui/implementations/NumberEntryWidget.java # src/main/java/appeng/client/gui/implementations/PatternTermScreen.java # src/main/java/appeng/client/gui/implementations/PriorityScreen.java # src/main/java/appeng/client/gui/implementations/QNBScreen.java # src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java # src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java # src/main/java/appeng/client/gui/implementations/SkyChestScreen.java # src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java # src/main/java/appeng/client/gui/implementations/StorageBusScreen.java # src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java # src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java # src/main/java/appeng/client/gui/implementations/WirelessScreen.java # src/main/java/appeng/client/gui/widgets/AETextField.java # src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java # src/main/java/appeng/client/gui/widgets/ITooltip.java # src/main/java/appeng/client/gui/widgets/IconButton.java # src/main/java/appeng/client/gui/widgets/NumberBox.java # src/main/java/appeng/client/gui/widgets/ProgressBar.java # src/main/java/appeng/client/gui/widgets/TabButton.java # src/main/java/appeng/client/gui/widgets/ToggleButton.java # src/main/java/appeng/client/render/ColorableTileBlockColor.java # src/main/java/appeng/client/render/DummyFluidDispatcherBakedModel.java # src/main/java/appeng/client/render/FacadeItemModel.java # src/main/java/appeng/client/render/FacingToRotation.java # src/main/java/appeng/client/render/SpatialSkyRender.java # src/main/java/appeng/client/render/StackSizeRenderer.java # src/main/java/appeng/client/render/StaticBlockColor.java # src/main/java/appeng/client/render/TesrRenderHelper.java # src/main/java/appeng/client/render/cablebus/CableBuilder.java # src/main/java/appeng/client/render/cablebus/CableBusBreakingParticle.java # src/main/java/appeng/client/render/cablebus/CableBusModel.java # src/main/java/appeng/client/render/cablebus/CableBusRenderState.java # src/main/java/appeng/client/render/cablebus/CableCoreType.java # src/main/java/appeng/client/render/cablebus/CubeBuilder.java # src/main/java/appeng/client/render/cablebus/FacadeBlockAccess.java # src/main/java/appeng/client/render/cablebus/FacadeBuilder.java # src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java # src/main/java/appeng/client/render/cablebus/QuadRotator.java # src/main/java/appeng/client/render/cablebus/SmartCableTextures.java # src/main/java/appeng/client/render/crafting/CraftingCubeModel.java # src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.java # src/main/java/appeng/client/render/crafting/EncodedPatternModel.java # src/main/java/appeng/client/render/effects/CraftingFx.java # src/main/java/appeng/client/render/effects/EnergyFx.java # src/main/java/appeng/client/render/effects/LightningArcParticleData.java # src/main/java/appeng/client/render/effects/LightningFX.java # src/main/java/appeng/client/render/effects/MatterCannonFX.java # src/main/java/appeng/client/render/effects/VibrantFX.java # src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java # src/main/java/appeng/client/render/model/BiometricCardModel.java # src/main/java/appeng/client/render/model/ColorApplicatorModel.java # src/main/java/appeng/client/render/model/DriveBakedModel.java # src/main/java/appeng/client/render/model/DriveModel.java # src/main/java/appeng/client/render/model/GlassBakedModel.java # src/main/java/appeng/client/render/model/GlassModel.java # src/main/java/appeng/client/render/model/MatrixVertexTransformer.java # src/main/java/appeng/client/render/model/MemoryCardModel.java # src/main/java/appeng/client/render/model/RenderHelper.java # src/main/java/appeng/client/render/model/SkyCompassBakedModel.java # src/main/java/appeng/client/render/model/SkyCompassModel.java # src/main/java/appeng/client/render/renderable/ItemRenderable.java # src/main/java/appeng/client/render/spatial/SpatialPylonModel.java # src/main/java/appeng/client/render/tesr/CellLedRenderer.java # src/main/java/appeng/client/render/tesr/CrankTESR.java # src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java # src/main/java/appeng/client/render/tesr/InscriberTESR.java # src/main/java/appeng/client/render/tesr/SkyChestTESR.java # src/main/java/appeng/container/implementations/PatternTermContainer.java # src/main/java/appeng/core/AEConfig.java # src/main/java/appeng/core/AppEng.java # src/main/java/appeng/core/Registration.java # src/main/java/appeng/core/features/registries/MovableTileRegistry.java # src/main/java/appeng/core/features/registries/WorldGenRegistry.java # src/main/java/appeng/core/localization/GuiText.java # src/main/java/appeng/core/sync/BasePacket.java # src/main/java/appeng/core/sync/network/NetworkHandler.java # src/main/java/appeng/core/sync/network/TargetPoint.java # src/main/java/appeng/core/sync/packets/ClickPacket.java # src/main/java/appeng/core/sync/packets/ConfigValuePacket.java # src/main/java/appeng/core/worlddata/WorldData.java # src/main/java/appeng/crafting/CraftingTreeProcess.java # src/main/java/appeng/datagen/AE2DataGenerators.java # src/main/java/appeng/datagen/providers/IAE2DataProvider.java # src/main/java/appeng/datagen/providers/loot/BlockDropProvider.java # src/main/java/appeng/datagen/providers/recipes/SlabStairRecipes.java # src/main/java/appeng/debug/ChunkLoaderBlockEntity.java # src/main/java/appeng/debug/DebugPartPlacerItem.java # src/main/java/appeng/debug/ReplicatorCardItem.java # src/main/java/appeng/entity/TinyTNTPrimedEntity.java # src/main/java/appeng/entity/TinyTNTPrimedRenderer.java # src/main/java/appeng/fluids/client/gui/FluidFormationPlaneScreen.java # src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java # src/main/java/appeng/fluids/client/gui/FluidLevelEmitterScreen.java # src/main/java/appeng/fluids/client/gui/FluidStorageBusScreen.java # src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java # src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java # src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java # src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java # src/main/java/appeng/fluids/parts/FluidFormationPlanePart.java # src/main/java/appeng/fluids/parts/FluidInterfacePart.java # src/main/java/appeng/fluids/parts/FluidStorageBusPart.java # src/main/java/appeng/fluids/parts/SharedFluidBusPart.java # src/main/java/appeng/forge/data/providers/IAE2DataProvider.java # src/main/java/appeng/helpers/AEMaterials.java # src/main/java/appeng/helpers/CraftingPatternDetails.java # src/main/java/appeng/helpers/DualityInterface.java # src/main/java/appeng/helpers/Splotch.java # src/main/java/appeng/integration/modules/jei/CondenserCategory.java # src/main/java/appeng/integration/modules/theoneprobe/part/ChannelInfoProvider.java # src/main/java/appeng/integration/modules/theoneprobe/part/P2PStateInfoProvider.java # src/main/java/appeng/integration/modules/theoneprobe/part/PowerStateInfoProvider.java # src/main/java/appeng/integration/modules/theoneprobe/tile/ChargerInfoProvider.java # src/main/java/appeng/integration/modules/theoneprobe/tile/CraftingMonitorInfoProvider.java # src/main/java/appeng/integration/modules/theoneprobe/tile/PowerStorageInfoProvider.java # src/main/java/appeng/integration/modules/waila/part/PartAccessor.java # src/main/java/appeng/integration/modules/waila/part/PartStackWailaDataProvider.java # src/main/java/appeng/integration/modules/waila/part/StorageMonitorWailaDataProvider.java # src/main/java/appeng/integration/modules/waila/tile/PowerStateWailaDataProvider.java # src/main/java/appeng/items/misc/EncodedPatternItem.java # src/main/java/appeng/items/parts/FacadeItem.java # src/main/java/appeng/items/storage/SpatialStorageCellItem.java # src/main/java/appeng/items/tools/BiometricCardItem.java # src/main/java/appeng/items/tools/MemoryCardItem.java # src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java # src/main/java/appeng/items/tools/powered/MatterCannonItem.java # src/main/java/appeng/items/tools/quartz/QuartzCuttingKnifeItem.java # src/main/java/appeng/items/tools/quartz/QuartzHoeItem.java # src/main/java/appeng/me/cluster/MBCalculator.java # src/main/java/appeng/me/cluster/implementations/QuantumCluster.java # src/main/java/appeng/parts/AEBasePart.java # src/main/java/appeng/parts/CableBusContainer.java # src/main/java/appeng/parts/ICableBusContainer.java # src/main/java/appeng/parts/NullCableBusContainer.java # src/main/java/appeng/parts/PartPlacement.java # src/main/java/appeng/parts/automation/AnnihilationPlanePart.java # src/main/java/appeng/parts/automation/ExportBusPart.java # src/main/java/appeng/parts/automation/FormationPlanePart.java # src/main/java/appeng/parts/automation/ImportBusPart.java # src/main/java/appeng/parts/automation/PlaneModel.java # src/main/java/appeng/parts/misc/CableAnchorPart.java # src/main/java/appeng/parts/misc/InterfacePart.java # src/main/java/appeng/parts/misc/StorageBusPart.java # src/main/java/appeng/parts/p2p/P2PTunnelPart.java # src/main/java/appeng/parts/reporting/AbstractMonitorPart.java # src/main/java/appeng/parts/reporting/AbstractReportingPart.java # src/main/java/appeng/parts/reporting/AbstractTerminalPart.java # src/main/java/appeng/parts/reporting/ConversionMonitorPart.java # src/main/java/appeng/parts/reporting/InterfaceTerminalPart.java # src/main/java/appeng/parts/reporting/PatternTerminalPart.java # src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java # src/main/java/appeng/recipes/handlers/InscriberRecipeSerializer.java # src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java # src/main/java/appeng/server/subcommands/TestOreGenCommand.java # src/main/java/appeng/services/CompassService.java # src/main/java/appeng/spatial/SpatialDimensionManager.java # src/main/java/appeng/spatial/StorageCellDimension.java # src/main/java/appeng/thirdparty/codechicken/lib/model/Quad.java # src/main/java/appeng/thirdparty/codechicken/lib/model/pipeline/transformers/QuadCornerKicker.java # src/main/java/appeng/thirdparty/codechicken/lib/model/pipeline/transformers/QuadMatrixTransformer.java # src/main/java/appeng/tile/AEBaseBlockEntity.java # src/main/java/appeng/tile/AEBaseInvTileEntity.java # src/main/java/appeng/tile/crafting/CraftingBlockEntity.java # src/main/java/appeng/tile/crafting/CraftingMonitorBlockEntity.java # src/main/java/appeng/tile/crafting/MolecularAssemblerBlockEntity.java # src/main/java/appeng/tile/grid/AENetworkBlockEntity.java # src/main/java/appeng/tile/grid/AENetworkInvBlockEntity.java # src/main/java/appeng/tile/grid/AENetworkPowerBlockEntity.java # src/main/java/appeng/tile/misc/CellWorkbenchBlockEntity.java # src/main/java/appeng/tile/misc/CondenserBlockEntity.java # src/main/java/appeng/tile/misc/InscriberBlockEntity.java # src/main/java/appeng/tile/misc/InterfaceBlockEntity.java # src/main/java/appeng/tile/misc/PaintSplotchesBlockEntity.java # src/main/java/appeng/tile/misc/SecurityStationBlockEntity.java # src/main/java/appeng/tile/misc/VibrationChamberBlockEntity.java # src/main/java/appeng/tile/networking/CableBusBlockEntity.java # src/main/java/appeng/tile/networking/EnergyCellBlockEntity.java # src/main/java/appeng/tile/powersink/AEBasePoweredBlockEntity.java # src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java # src/main/java/appeng/tile/storage/ChestBlockEntity.java # src/main/java/appeng/tile/storage/DriveBlockEntity.java # src/main/java/appeng/tile/storage/IOPortBlockEntity.java # src/main/java/appeng/util/Platform.java # src/main/java/appeng/worldgen/ChargedQuartzOreConfig.java # src/main/java/appeng/worldgen/ChargedQuartzOreFeature.java # src/main/java/appeng/worldgen/meteorite/MeteoriteStructure.java # src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java # src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java # src/unported/java/appeng/client/ClientHelper.java # src/unported/java/appeng/client/render/DummyFluidItemModel.java # src/unported/java/appeng/client/render/model/UVLModelLoader.java
This commit is contained in:
@@ -21,6 +21,8 @@ jobs:
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
@@ -28,6 +30,6 @@ jobs:
|
||||
with:
|
||||
run: ./gradlew runData --no-daemon
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build --no-daemon
|
||||
|
||||
@@ -21,6 +21,8 @@ jobs:
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
@@ -28,6 +30,6 @@ jobs:
|
||||
with:
|
||||
run: ./gradlew runData --no-daemon
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build --no-daemon
|
||||
|
||||
@@ -21,6 +21,8 @@ jobs:
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
@@ -28,7 +30,7 @@ jobs:
|
||||
with:
|
||||
run: ./gradlew runData --no-daemon
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
with:
|
||||
run: ./gradlew runData --no-daemon
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
env:
|
||||
KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }}
|
||||
|
||||
@@ -45,7 +45,7 @@ A Mod about Matter, Energy and using them to conquer the world..
|
||||
|
||||
## Downloads
|
||||
|
||||
Downloads can be found on [CurseForge](http://www.curse.com/mc-mods/minecraft/223794-applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
|
||||
Downloads can be found on [CurseForge](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -103,7 +103,7 @@ However the dependency might need to be wrapped in `fg.deobf()` like `runtimeOnl
|
||||
1. Clone this repository via
|
||||
- SSH `git clone git@github.com:AppliedEnergistics/Applied-Energistics-2.git` or
|
||||
- HTTPS `git clone https://github.com/AppliedEnergistics/Applied-Energistics-2.git`
|
||||
2. Build using the gradle `build` task. Jar will be in `build/libs`
|
||||
2. Build using the `gradlew runData build` command. Jar will be in `build/libs`
|
||||
3. For core developer: Setup IDE
|
||||
- IntelliJ: Import as gradle project
|
||||
- Eclipse: Import as gradle project or execute gradle task `eclipse` and potentially `genEclipseRuns`
|
||||
@@ -132,12 +132,13 @@ Here are a few things to keep in mind that will help get your PR approved.
|
||||
* SSH `git clone git@github.com:<your username>/Applied-Energistics-2.git` or
|
||||
* HTTPS `git clone https://github.com/<your username>/Applied-Energistics-2.git`
|
||||
3. Change code base
|
||||
4. Add changes to git `git add -A`
|
||||
5. Commit changes to your clone `git commit -m "<summary of made changes>"`
|
||||
6. Push to your fork `git push`
|
||||
7. Create a Pull-Request on GitHub
|
||||
8. Wait for review
|
||||
9. Squash commits for cleaner history
|
||||
4. Run `gradlew spotlessApply` to apply automatic code formatting
|
||||
5. Add changes to git `git add -A`
|
||||
6. Commit changes to your clone `git commit -m "<summary of made changes>"`
|
||||
7. Push to your fork `git push`
|
||||
8. Create a Pull-Request on GitHub
|
||||
9. Wait for review
|
||||
10. Squash commits for cleaner history
|
||||
|
||||
If you are only doing single file pull requests, GitHub supports using a quick way without the need of cloning your fork. Also read up about [synching](https://help.github.com/articles/syncing-a-fork) if you plan to contribute on regular basis.
|
||||
|
||||
|
||||
+2
-2
@@ -30,6 +30,6 @@ fabric_kotlin_version=1.3.61+build.1
|
||||
#########################################################
|
||||
# Deployment #
|
||||
#########################################################
|
||||
website_version=1.15.2
|
||||
curse_versions=1.15.2
|
||||
website_version=1.16.1
|
||||
curse_versions=1.16.1
|
||||
curseforge_project=223794
|
||||
|
||||
@@ -23,51 +23,6 @@ repositories {
|
||||
name 'modmaven'
|
||||
url "https://modmaven.k-4u.nl/"
|
||||
}
|
||||
|
||||
maven {
|
||||
name "Mobius"
|
||||
url "http://mobiusstrip.eu/maven"
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "JEI repo"
|
||||
url "http://dvs1.progwml6.com/files/maven"
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "Tesla repo"
|
||||
url "http://maven.mcmoddev.com"
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "IC2 repo"
|
||||
url = "http://maven.ic2.player.to"
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "CoFH Maven"
|
||||
url = "http://maven.covers1624.net"
|
||||
}
|
||||
|
||||
maven { // TheOneProbe
|
||||
name 'tterrag maven'
|
||||
url "http://maven.tterrag.com/"
|
||||
}
|
||||
|
||||
maven {
|
||||
name 'mcjty'
|
||||
url "http://maven.k-4u.nl/"
|
||||
}
|
||||
|
||||
maven { // CraftTweaker
|
||||
name 'jared maven'
|
||||
url "http://maven.blamejared.com/"
|
||||
}
|
||||
|
||||
maven {
|
||||
name = "CurseForge"
|
||||
url = "https://minecraft.curseforge.com/api/maven/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -80,7 +35,7 @@ dependencies {
|
||||
// Runtime, Mods
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
|
||||
runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}")
|
||||
runtimeOnly fg.deobf("team.chisel.ctm:CTM:${ctm_version}")
|
||||
//runtimeOnly fg.deobf("team.chisel.ctm:CTM:${ctm_version}")
|
||||
|
||||
// unit test dependencies
|
||||
testCompile "junit:junit:4.13"
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -23,6 +23,8 @@
|
||||
|
||||
package appeng.api.networking.crafting;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.inventory.CraftingInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
@@ -60,24 +62,65 @@ public interface ICraftingPatternDetails {
|
||||
boolean isCraftable();
|
||||
|
||||
/**
|
||||
* Equal itemstacks will be aggregated into one, respectively 3*64 will be
|
||||
* returned as one stack of 192, up to 576 of a single type.
|
||||
* <p>
|
||||
* This should be the preferred way to deal with the list of inputs.
|
||||
* <p>
|
||||
* The list will be sorted in descending order by stack size. However there is
|
||||
* no guarantee about maintaining the placement order of the inputs in case of
|
||||
* equal values.
|
||||
*
|
||||
* @return an immutable list of inputs without nulls
|
||||
*/
|
||||
List<IAEItemStack> getInputs();
|
||||
|
||||
/**
|
||||
* Equal itemstacks will be aggregated into one, respectively 2*32 will be
|
||||
* returned as one stack of 64, up to 192 of a single type.
|
||||
* <p>
|
||||
* This should be the preferred way to deal with the list of outputs.
|
||||
* <p>
|
||||
*
|
||||
* The list will be sorted in descending order by stack size. However there is
|
||||
* no guarantee about maintaining the placement order of the outputs in case of
|
||||
* equal values.
|
||||
*
|
||||
* @return an immutable list of outputs without nulls
|
||||
*/
|
||||
List<IAEItemStack> getOutputs();
|
||||
|
||||
/**
|
||||
* A sparse list representing the placement order of a crafting grid, left to
|
||||
* right, then top to bottom.
|
||||
* <p>
|
||||
* Only use when absolutely necessary, always prefer
|
||||
* {@link ICraftingPatternDetails#getInputs()}
|
||||
* <p>
|
||||
* This will contain exactly 9 entries.
|
||||
* <p>
|
||||
* This can return a copy from the internal structure, so there are no
|
||||
* guarantees about modifications.
|
||||
*
|
||||
* @return a list of the inputs, will include nulls.
|
||||
*/
|
||||
IAEItemStack[] getInputs();
|
||||
|
||||
/**
|
||||
* @return a list of the inputs, will be clean
|
||||
*/
|
||||
IAEItemStack[] getCondensedInputs();
|
||||
|
||||
/**
|
||||
* @return a list of the outputs, will be clean
|
||||
*/
|
||||
IAEItemStack[] getCondensedOutputs();
|
||||
IAEItemStack[] getSparseInputs();
|
||||
|
||||
/**
|
||||
* A sparse list representing the placement order of the respective output
|
||||
* slots.
|
||||
* <p>
|
||||
* Only use when absolutely necessary, always prefer
|
||||
* {@link ICraftingPatternDetails#getOutputs()}
|
||||
* <p>
|
||||
* This will either contain 1 entry for crafting patterns or 3 for processing.
|
||||
* <p>
|
||||
* This can return a copy from the internal structure, so there are no
|
||||
* guarantees about modifications.
|
||||
*
|
||||
* @return a list of the outputs, will include nulls.
|
||||
*/
|
||||
IAEItemStack[] getOutputs();
|
||||
IAEItemStack[] getSparseOutputs();
|
||||
|
||||
/**
|
||||
* @return if this pattern is enabled to support substitutions.
|
||||
|
||||
@@ -30,7 +30,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
|
||||
import appeng.api.util.AEColor;
|
||||
import appeng.api.util.AEPartLocation;
|
||||
@@ -146,7 +146,7 @@ public interface IPartHost extends ICustomCableConnection {
|
||||
*
|
||||
* @return a new SelectedPart, this is never null.
|
||||
*/
|
||||
SelectedPart selectPart(Vec3d pos);
|
||||
SelectedPart selectPart(Vector3d pos);
|
||||
|
||||
/**
|
||||
* can be used by parts to trigger the tile or part to save.
|
||||
|
||||
@@ -22,10 +22,13 @@
|
||||
|
||||
package appeng.client.gui.implementations;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
|
||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.text.StringTextComponent;
|
||||
|
||||
import appeng.container.implementations.CraftingStatusContainer;
|
||||
import appeng.core.localization.GuiText;
|
||||
@@ -81,7 +84,7 @@ public class CraftingStatusScreen extends CraftingCPUScreen<CraftingStatusContai
|
||||
btnTextText = GuiText.NoCraftingJobs.text();
|
||||
}
|
||||
|
||||
this.selectCPU.setMessage(btnTextText);
|
||||
this.selectCPU.setMessage(new StringTextComponent(btnTextText));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -296,12 +296,15 @@ public class MEMonitorableScreen<T extends MEMonitorableContainer> extends AEBas
|
||||
@Override
|
||||
public boolean mouseClicked(final double xCoord, final double yCoord, final int btn) {
|
||||
if (this.searchField.mouseClicked(xCoord, yCoord, btn)) {
|
||||
if (btn == 1 && this.searchField.isMouseOver(xCoord, yCoord)) {
|
||||
this.searchField.setText("");
|
||||
this.repo.setSearchString("");
|
||||
this.repo.updateView();
|
||||
this.setScrollBar();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Right-clicking on the search field should clear it
|
||||
if (this.searchField.isMouseOver(xCoord, yCoord) && btn == 1) {
|
||||
this.searchField.setText("");
|
||||
this.repo.setSearchString("");
|
||||
this.repo.updateView();
|
||||
this.setScrollBar();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public class NumberBox extends TextFieldWidget {
|
||||
final Class<?> type, LongConsumer changeListener) {
|
||||
super(fontRenderer, x, y, width, height, new LiteralText("0"));
|
||||
this.setText("0");
|
||||
setChangedListener(this::onTextChanged);
|
||||
setChangedListener(this::handleTextChanged);
|
||||
this.lastValue = 0;
|
||||
this.changeListener = changeListener;
|
||||
if (type == int.class || type == Integer.class) {
|
||||
@@ -48,7 +48,11 @@ public class NumberBox extends TextFieldWidget {
|
||||
}
|
||||
}
|
||||
|
||||
private void onTextChanged(String text) {
|
||||
// NOTE: This method MUST NOT BE NAMED like a method in the superclass because
|
||||
// of a ForgeGradle remapping bug
|
||||
// since it'll not remap this method's name, but it will remap the name of the
|
||||
// method reference above.
|
||||
private void handleTextChanged(String text) {
|
||||
if (text.isEmpty()) {
|
||||
setText("0"); // Will call onTextChanged recursively
|
||||
return;
|
||||
|
||||
@@ -273,21 +273,13 @@ public class PatternTermContainer extends MEMonitorableContainer
|
||||
return new ItemStack[] { out };
|
||||
}
|
||||
} else {
|
||||
final List<ItemStack> list = new ArrayList<>(3);
|
||||
boolean hasValue = false;
|
||||
final ItemStack[] list = new ItemStack[3];
|
||||
|
||||
for (final OptionalFakeSlot outputSlot : this.outputSlots) {
|
||||
final ItemStack out = outputSlot.getStack();
|
||||
|
||||
if (!out.isEmpty() && out.getCount() > 0) {
|
||||
list.add(out);
|
||||
hasValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (hasValue) {
|
||||
return list.toArray(new ItemStack[list.size()]);
|
||||
for (int i = 0; i < this.outputSlots.length; i++) {
|
||||
final ItemStack out = this.outputSlots[i].getStack();
|
||||
list[i] = out;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -89,7 +89,7 @@ public final class AEConfig {
|
||||
private boolean useColoredCraftingStatus;
|
||||
private boolean disableColoredCableRecipesInJEI;
|
||||
private int craftingCalculationTimePerTick;
|
||||
private PowerUnits selectedPowerUnit;
|
||||
private PowerUnits selectedPowerUnit = PowerUnits.AE;
|
||||
|
||||
// GUI Buttons
|
||||
private final int[] craftByStacks = new int[4];
|
||||
|
||||
@@ -32,6 +32,14 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
public abstract class BasePacket {
|
||||
|
||||
/**
|
||||
* Sadly {@link PacketBuffer#readString()} gets inlined by Proguard which means
|
||||
* it's not available on the Server. This field has the default string length
|
||||
* that is used for writeString, which then also should be used for readString
|
||||
* when it has no special length requirements.
|
||||
*/
|
||||
public static final int MAX_STRING_LENGTH = 32767;
|
||||
|
||||
// KEEP THIS SHORT. It's serialized as a string!
|
||||
public static final Identifier CHANNEL = new Identifier("ae2:m");
|
||||
|
||||
|
||||
@@ -45,8 +45,8 @@ public class ConfigValuePacket extends BasePacket {
|
||||
private final String Value;
|
||||
|
||||
public ConfigValuePacket(final PacketByteBuf stream) {
|
||||
this.Name = stream.readString();
|
||||
this.Value = stream.readString();
|
||||
this.Name = stream.readString(MAX_STRING_LENGTH);
|
||||
this.Value = stream.readString(MAX_STRING_LENGTH);
|
||||
}
|
||||
|
||||
// api
|
||||
|
||||
@@ -85,7 +85,7 @@ public class CraftingTreeNode {
|
||||
}
|
||||
|
||||
boolean notRecursive(final ICraftingPatternDetails details) {
|
||||
IAEItemStack[] o = details.getCondensedOutputs();
|
||||
Collection<IAEItemStack> o = details.getOutputs();
|
||||
|
||||
for (final IAEItemStack i : o) {
|
||||
if (i.equals(this.what)) {
|
||||
@@ -93,7 +93,7 @@ public class CraftingTreeNode {
|
||||
}
|
||||
}
|
||||
|
||||
o = details.getCondensedInputs();
|
||||
o = details.getInputs();
|
||||
|
||||
for (final IAEItemStack i : o) {
|
||||
if (i.equals(this.what)) {
|
||||
|
||||
@@ -62,10 +62,10 @@ public class CraftingTreeProcess {
|
||||
final World world = job.getWorld();
|
||||
|
||||
if (details.isCraftable()) {
|
||||
final IAEItemStack[] list = details.getInputs();
|
||||
final IAEItemStack[] list = details.getSparseInputs();
|
||||
|
||||
final CraftingInventory ic = new CraftingInventory(new ContainerNull(), 3, 3);
|
||||
final IAEItemStack[] is = details.getInputs();
|
||||
final IAEItemStack[] is = details.getSparseInputs();
|
||||
for (int x = 0; x < ic.size(); x++) {
|
||||
ic.setStack(x, is[x] == null ? ItemStack.EMPTY : is[x].createItemStack());
|
||||
}
|
||||
@@ -81,11 +81,11 @@ public class CraftingTreeProcess {
|
||||
}
|
||||
}
|
||||
|
||||
for (final IAEItemStack part : details.getCondensedInputs()) {
|
||||
for (final IAEItemStack part : details.getInputs()) {
|
||||
final ItemStack g = part.createItemStack();
|
||||
|
||||
boolean isAnInput = false;
|
||||
for (final IAEItemStack a : details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack a : details.getOutputs()) {
|
||||
if (!g.isEmpty() && a != null && a.equals(g)) {
|
||||
isAnInput = true;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ public class CraftingTreeProcess {
|
||||
} else {
|
||||
// this is minor different then below, this slot uses the pattern, but kinda
|
||||
// fudges it.
|
||||
for (final IAEItemStack part : details.getCondensedInputs()) {
|
||||
for (final IAEItemStack part : details.getInputs()) {
|
||||
for (int x = 0; x < list.length; x++) {
|
||||
final IAEItemStack comparePart = list[x];
|
||||
if (part != null && part.equals(comparePart)) {
|
||||
@@ -126,11 +126,11 @@ public class CraftingTreeProcess {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (final IAEItemStack part : details.getCondensedInputs()) {
|
||||
for (final IAEItemStack part : details.getInputs()) {
|
||||
final ItemStack g = part.createItemStack();
|
||||
|
||||
boolean isAnInput = false;
|
||||
for (final IAEItemStack a : details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack a : details.getOutputs()) {
|
||||
if (!g.isEmpty() && a != null && a.equals(g)) {
|
||||
isAnInput = true;
|
||||
}
|
||||
@@ -141,7 +141,7 @@ public class CraftingTreeProcess {
|
||||
}
|
||||
}
|
||||
|
||||
for (final IAEItemStack part : details.getCondensedInputs()) {
|
||||
for (final IAEItemStack part : details.getInputs()) {
|
||||
this.nodes.put(new CraftingTreeNode(cc, job, part.copy(), this, -1, depth + 1), part.getStackSize());
|
||||
}
|
||||
}
|
||||
@@ -208,7 +208,7 @@ public class CraftingTreeProcess {
|
||||
// assume its possible.
|
||||
|
||||
// add crafting results..
|
||||
for (final IAEItemStack out : this.details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack out : this.details.getOutputs()) {
|
||||
final IAEItemStack o = out.copy();
|
||||
o.setStackSize(o.getStackSize() * i);
|
||||
inv.injectItems(o, Actionable.MODULATE, src);
|
||||
@@ -227,7 +227,7 @@ public class CraftingTreeProcess {
|
||||
}
|
||||
|
||||
IAEItemStack getAmountCrafted(IAEItemStack what2) {
|
||||
for (final IAEItemStack is : this.details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack is : this.details.getOutputs()) {
|
||||
if (is.equals(what2)) {
|
||||
what2 = what2.copy();
|
||||
what2.setStackSize(is.getStackSize());
|
||||
@@ -236,7 +236,7 @@ public class CraftingTreeProcess {
|
||||
}
|
||||
|
||||
// more fuzzy!
|
||||
for (final IAEItemStack is : this.details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack is : this.details.getOutputs()) {
|
||||
if (is.getItem() == what2.getItem()
|
||||
&& (is.getItem().isDamageable() || is.getItemDamage() == what2.getItemDamage())) {
|
||||
what2 = is.copy();
|
||||
|
||||
@@ -263,12 +263,15 @@ public class FluidTerminalScreen extends AEBaseMEScreen<FluidTerminalContainer>
|
||||
@Override
|
||||
public boolean mouseClicked(final double xCoord, final double yCoord, final int btn) {
|
||||
if (this.searchField.mouseClicked(xCoord, yCoord, btn)) {
|
||||
if (btn == 1 && this.searchField.isMouseOver(xCoord, yCoord)) {
|
||||
this.searchField.setText("");
|
||||
this.repo.setSearchString("");
|
||||
this.repo.updateView();
|
||||
this.setScrollBar();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Right-clicking on the search field should clear it
|
||||
if (this.searchField.isMouseOver(xCoord, yCoord) && btn == 1) {
|
||||
this.searchField.setText("");
|
||||
this.repo.setSearchString("");
|
||||
this.repo.updateView();
|
||||
this.setScrollBar();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -329,4 +332,5 @@ public class FluidTerminalScreen extends AEBaseMEScreen<FluidTerminalContainer>
|
||||
protected String getBackground() {
|
||||
return "guis/terminal.png";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import net.minecraft.particle.DustParticleEffect;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import appeng.api.config.RedstoneMode;
|
||||
@@ -281,7 +281,7 @@ public class FluidLevelEmitterPart extends UpgradeablePart
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vec3d pos) {
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vector3d pos) {
|
||||
if (Platform.isServer()) {
|
||||
ContainerOpener.openContainer(FluidLevelEmitterContainer.TYPE, player, ContainerLocator.forPart(this));
|
||||
}
|
||||
|
||||
@@ -19,13 +19,17 @@
|
||||
package appeng.helpers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import net.minecraft.inventory.CraftingInventory;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -46,14 +50,21 @@ import appeng.util.Platform;
|
||||
|
||||
public class CraftingPatternDetails implements ICraftingPatternDetails, Comparable<CraftingPatternDetails> {
|
||||
|
||||
private static final int ALL_INPUT_LIMIT = 9;
|
||||
private static final int CRAFTING_OUTPUT_LIMIT = 1;
|
||||
private static final int PROCESSING_OUTPUT_LIMIT = 3;
|
||||
|
||||
private static final Comparator<IAEItemStack> COMPARE_BY_STACKSIZE = (left, right) -> Long
|
||||
.compare(right.getStackSize(), left.getStackSize());
|
||||
|
||||
private final CraftingInventory crafting = new CraftingInventory(new ContainerNull(), 3, 3);
|
||||
private final CraftingInventory testFrame = new CraftingInventory(new ContainerNull(), 3, 3);
|
||||
private final ItemStack correctOutput;
|
||||
private final CraftingRecipe standardRecipe;
|
||||
private final IAEItemStack[] condensedInputs;
|
||||
private final IAEItemStack[] condensedOutputs;
|
||||
private final IAEItemStack[] inputs;
|
||||
private final IAEItemStack[] outputs;
|
||||
private final List<IAEItemStack> inputs;
|
||||
private final List<IAEItemStack> outputs;
|
||||
private final IAEItemStack[] sparseInputs;
|
||||
private final IAEItemStack[] sparseOutputs;
|
||||
private final boolean isCraftable;
|
||||
private final boolean canSubstitute;
|
||||
private final Set<TestLookup> failCache = new HashSet<>();
|
||||
@@ -79,7 +90,7 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
final List<IAEItemStack> in = new ArrayList<>();
|
||||
final List<IAEItemStack> out = new ArrayList<>();
|
||||
|
||||
for (int x = 0; x < 9; x++) {
|
||||
for (int x = 0; x < ALL_INPUT_LIMIT; x++) {
|
||||
final IAEItemStack ais = ingredients.get(x);
|
||||
final ItemStack gs = ais != null ? ais.createItemStack() : ItemStack.EMPTY;
|
||||
|
||||
@@ -109,70 +120,19 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
this.standardRecipe = null;
|
||||
this.correctOutput = ItemStack.EMPTY;
|
||||
|
||||
for (int x = 0; x < 3; x++) {
|
||||
for (int x = 0; x < PROCESSING_OUTPUT_LIMIT; x++) {
|
||||
final IAEItemStack ais = products.get(x);
|
||||
final ItemStack gs = ais.createItemStack();
|
||||
|
||||
if (!gs.isEmpty()) {
|
||||
out.add(ais.copy());
|
||||
}
|
||||
out.add(ais != null ? ais.copy() : null);
|
||||
}
|
||||
}
|
||||
|
||||
this.inputs = in.toArray(new IAEItemStack[0]);
|
||||
this.outputs = out.toArray(new IAEItemStack[0]);
|
||||
final int outputLength = this.isCraftable ? CRAFTING_OUTPUT_LIMIT : PROCESSING_OUTPUT_LIMIT;
|
||||
this.sparseInputs = in.toArray(new IAEItemStack[ALL_INPUT_LIMIT]);
|
||||
this.sparseOutputs = out.toArray(new IAEItemStack[outputLength]);
|
||||
|
||||
final Map<IAEItemStack, IAEItemStack> tmpOutputs = new HashMap<>();
|
||||
|
||||
for (final IAEItemStack io : this.outputs) {
|
||||
if (io == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
final IAEItemStack g = tmpOutputs.get(io);
|
||||
|
||||
if (g == null) {
|
||||
tmpOutputs.put(io, io.copy());
|
||||
} else {
|
||||
g.add(io);
|
||||
}
|
||||
}
|
||||
|
||||
final Map<IAEItemStack, IAEItemStack> tmpInputs = new HashMap<>();
|
||||
|
||||
for (final IAEItemStack io : this.inputs) {
|
||||
if (io == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
final IAEItemStack g = tmpInputs.get(io);
|
||||
|
||||
if (g == null) {
|
||||
tmpInputs.put(io, io.copy());
|
||||
} else {
|
||||
g.add(io);
|
||||
}
|
||||
}
|
||||
|
||||
if (tmpOutputs.isEmpty() || tmpInputs.isEmpty()) {
|
||||
throw new IllegalStateException("No pattern here!");
|
||||
}
|
||||
|
||||
this.condensedInputs = new IAEItemStack[tmpInputs.size()];
|
||||
int offset = 0;
|
||||
|
||||
for (final IAEItemStack io : tmpInputs.values()) {
|
||||
this.condensedInputs[offset] = io;
|
||||
offset++;
|
||||
}
|
||||
|
||||
offset = 0;
|
||||
this.condensedOutputs = new IAEItemStack[tmpOutputs.size()];
|
||||
|
||||
for (final IAEItemStack io : tmpOutputs.values()) {
|
||||
this.condensedOutputs[offset] = io;
|
||||
offset++;
|
||||
}
|
||||
this.inputs = this.condenseStacks(in);
|
||||
this.outputs = this.condenseStacks(out);
|
||||
}
|
||||
|
||||
private void markItemAs(final int slotIndex, final ItemStack i, final TestStatus b) {
|
||||
@@ -213,8 +173,8 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
this.testFrame.setStack(slotIndex, i);
|
||||
|
||||
// If we cannot substitute, the items must match exactly
|
||||
if (!canSubstitute && slotIndex < inputs.length) {
|
||||
if (!inputs[slotIndex].isSameType(i)) {
|
||||
if (!canSubstitute && slotIndex < sparseInputs.length) {
|
||||
if (!sparseInputs[slotIndex].isSameType(i)) {
|
||||
this.markItemAs(slotIndex, i, TestStatus.DECLINE);
|
||||
return false;
|
||||
}
|
||||
@@ -240,25 +200,25 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAEItemStack[] getInputs() {
|
||||
public IAEItemStack[] getSparseInputs() {
|
||||
return this.sparseInputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IAEItemStack> getInputs() {
|
||||
return this.inputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAEItemStack[] getCondensedInputs() {
|
||||
return this.condensedInputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAEItemStack[] getCondensedOutputs() {
|
||||
return this.condensedOutputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAEItemStack[] getOutputs() {
|
||||
public List<IAEItemStack> getOutputs() {
|
||||
return this.outputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IAEItemStack[] getSparseOutputs() {
|
||||
return this.sparseOutputs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSubstitute() {
|
||||
return this.canSubstitute;
|
||||
@@ -276,8 +236,8 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
}
|
||||
}
|
||||
|
||||
if (this.outputs != null && this.outputs.length > 0) {
|
||||
return this.outputs[0].createItemStack();
|
||||
if (this.sparseOutputs != null && this.sparseOutputs.length > 0) {
|
||||
return this.sparseOutputs[0].createItemStack();
|
||||
}
|
||||
|
||||
return ItemStack.EMPTY;
|
||||
@@ -344,6 +304,29 @@ public class CraftingPatternDetails implements ICraftingPatternDetails, Comparab
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges all equal entries into a single one while adding their total stack
|
||||
* sizes.
|
||||
*
|
||||
* @throws IllegalStateException if the result would be empty.
|
||||
*
|
||||
* @param collection the collection to condense
|
||||
*
|
||||
* @return a non empty list of condensed stacks.
|
||||
*/
|
||||
private List<IAEItemStack> condenseStacks(Collection<IAEItemStack> collection) {
|
||||
final List<IAEItemStack> merged = collection.stream().filter(Objects::nonNull)
|
||||
.collect(Collectors.toMap(Function.identity(), IAEItemStack::copy,
|
||||
(left, right) -> left.setStackSize(left.getStackSize() + right.getStackSize())))
|
||||
.values().stream().sorted(COMPARE_BY_STACKSIZE).collect(ImmutableList.toImmutableList());
|
||||
|
||||
if (merged.isEmpty()) {
|
||||
throw new IllegalStateException("No pattern here!");
|
||||
}
|
||||
|
||||
return merged;
|
||||
}
|
||||
|
||||
private enum TestStatus {
|
||||
ACCEPT, DECLINE, TEST
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
package appeng.items.misc;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.WeakHashMap;
|
||||
@@ -152,8 +153,8 @@ public class EncodedPatternItem extends AEBaseItem implements AEToolItem {
|
||||
final boolean isCrafting = details.isCraftable();
|
||||
final boolean substitute = details.canSubstitute();
|
||||
|
||||
final IAEItemStack[] in = details.getCondensedInputs();
|
||||
final IAEItemStack[] out = details.getCondensedOutputs();
|
||||
final Collection<IAEItemStack> in = details.getInputs();
|
||||
final Collection<IAEItemStack> out = details.getOutputs();
|
||||
|
||||
final Text label = (isCrafting ? GuiText.Crafts.text() : GuiText.Creates.text())
|
||||
.copy().append(": ");
|
||||
@@ -200,7 +201,7 @@ public class EncodedPatternItem extends AEBaseItem implements AEToolItem {
|
||||
|
||||
final ICraftingPatternDetails details = Api.instance().crafting().decodePattern(item, w);
|
||||
|
||||
out = details != null ? details.getOutputs()[0].createItemStack() : ItemStack.EMPTY;
|
||||
out = details != null ? details.getOutputs().get(0).createItemStack() : ItemStack.EMPTY;
|
||||
|
||||
SIMPLE_CACHE.put(item, out);
|
||||
return out;
|
||||
@@ -218,7 +219,9 @@ public class EncodedPatternItem extends AEBaseItem implements AEToolItem {
|
||||
final CompoundTag tag = itemStack.getTag();
|
||||
Preconditions.checkArgument(tag != null, "itemStack missing a NBT tag");
|
||||
|
||||
return new Identifier(tag.getString(NBT_RECIPE_ID));
|
||||
return tag.contains(NBT_RECIPE_ID, Constants.NBT.TAG_STRING)
|
||||
? new Identifier(tag.getString(NBT_RECIPE_ID))
|
||||
: null;
|
||||
}
|
||||
|
||||
public List<IAEItemStack> getIngredients(ItemStack itemStack) {
|
||||
@@ -271,7 +274,7 @@ public class EncodedPatternItem extends AEBaseItem implements AEToolItem {
|
||||
|
||||
Preconditions.checkArgument(tag != null, "itemStack missing a NBT tag");
|
||||
|
||||
return getCraftingRecipeId(itemStack) == null && tag.getBoolean(NBT_SUBSITUTE);
|
||||
return getCraftingRecipeId(itemStack) != null && tag.getBoolean(NBT_SUBSITUTE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,7 +18,12 @@
|
||||
|
||||
package appeng.me.cluster.implementations;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
@@ -36,9 +41,15 @@ import appeng.api.config.FuzzyMode;
|
||||
import appeng.api.config.PowerMultiplier;
|
||||
import appeng.api.crafting.ICraftingHelper;
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.IGridHost;
|
||||
import appeng.api.networking.IGridNode;
|
||||
import appeng.api.networking.crafting.*;
|
||||
import appeng.api.networking.crafting.CraftingItemList;
|
||||
import appeng.api.networking.crafting.ICraftingCPU;
|
||||
import appeng.api.networking.crafting.ICraftingGrid;
|
||||
import appeng.api.networking.crafting.ICraftingJob;
|
||||
import appeng.api.networking.crafting.ICraftingLink;
|
||||
import appeng.api.networking.crafting.ICraftingMedium;
|
||||
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
||||
import appeng.api.networking.crafting.ICraftingRequester;
|
||||
import appeng.api.networking.energy.IEnergyGrid;
|
||||
import appeng.api.networking.events.MENetworkCraftingCpuChange;
|
||||
import appeng.api.networking.security.IActionSource;
|
||||
@@ -51,7 +62,11 @@ import appeng.api.storage.data.IItemList;
|
||||
import appeng.container.ContainerNull;
|
||||
import appeng.core.AELog;
|
||||
import appeng.core.Api;
|
||||
import appeng.crafting.*;
|
||||
import appeng.crafting.CraftBranchFailure;
|
||||
import appeng.crafting.CraftingJob;
|
||||
import appeng.crafting.CraftingLink;
|
||||
import appeng.crafting.CraftingWatcher;
|
||||
import appeng.crafting.MECraftingInventory;
|
||||
import appeng.me.cache.CraftingGridCache;
|
||||
import appeng.me.cluster.IAECluster;
|
||||
import appeng.me.cluster.MBCalculator;
|
||||
@@ -427,7 +442,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean canCraft(final ICraftingPatternDetails details, final IAEItemStack[] condensedInputs) {
|
||||
private boolean canCraft(final ICraftingPatternDetails details, final Collection<IAEItemStack> condensedInputs) {
|
||||
for (IAEItemStack g : condensedInputs) {
|
||||
|
||||
if (details.isCraftable()) {
|
||||
@@ -555,7 +570,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
|
||||
final ICraftingPatternDetails details = e.getKey();
|
||||
|
||||
if (this.canCraft(details, details.getCondensedInputs())) {
|
||||
if (this.canCraft(details, details.getInputs())) {
|
||||
CraftingInventory ic = null;
|
||||
|
||||
for (final ICraftingMedium m : cc.getMediums(e.getKey())) {
|
||||
@@ -565,7 +580,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
|
||||
if (!m.isBusy()) {
|
||||
if (ic == null) {
|
||||
final IAEItemStack[] input = details.getInputs();
|
||||
final IAEItemStack[] input = details.getSparseInputs();
|
||||
double sum = 0;
|
||||
|
||||
for (final IAEItemStack anInput : input) {
|
||||
@@ -661,7 +676,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
this.somethingChanged = true;
|
||||
this.remainingOperations--;
|
||||
|
||||
for (final IAEItemStack out : details.getCondensedOutputs()) {
|
||||
for (final IAEItemStack out : details.getOutputs()) {
|
||||
this.postChange(out, this.machineSrc);
|
||||
this.waitingFor.add(out.copy());
|
||||
this.postCraftingStatusChange(out.copy());
|
||||
@@ -894,7 +909,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
break;
|
||||
case PENDING:
|
||||
for (final Entry<ICraftingPatternDetails, TaskProgress> t : this.tasks.entrySet()) {
|
||||
for (IAEItemStack ais : t.getKey().getCondensedOutputs()) {
|
||||
for (IAEItemStack ais : t.getKey().getOutputs()) {
|
||||
ais = ais.copy();
|
||||
ais.setStackSize(ais.getStackSize() * t.getValue().value);
|
||||
list.add(ais);
|
||||
@@ -913,7 +928,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
}
|
||||
|
||||
for (final Entry<ICraftingPatternDetails, TaskProgress> t : this.tasks.entrySet()) {
|
||||
for (IAEItemStack ais : t.getKey().getCondensedOutputs()) {
|
||||
for (IAEItemStack ais : t.getKey().getOutputs()) {
|
||||
ais = ais.copy();
|
||||
ais.setStackSize(ais.getStackSize() * t.getValue().value);
|
||||
list.add(ais);
|
||||
@@ -958,7 +973,7 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU {
|
||||
is.setStackSize(0);
|
||||
|
||||
for (final Entry<ICraftingPatternDetails, TaskProgress> t : this.tasks.entrySet()) {
|
||||
for (final IAEItemStack ais : t.getKey().getCondensedOutputs()) {
|
||||
for (final IAEItemStack ais : t.getKey().getOutputs()) {
|
||||
if (ais.equals(is)) {
|
||||
is.setStackSize(is.getStackSize() + ais.getStackSize() * t.getValue().value);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import appeng.api.config.FuzzyMode;
|
||||
@@ -402,7 +402,7 @@ public class LevelEmitterPart extends UpgradeablePart implements IEnergyWatcherH
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vec3d pos) {
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vector3d pos) {
|
||||
if (Platform.isServer()) {
|
||||
ContainerOpener.openContainer(LevelEmitterContainer.TYPE, player, ContainerLocator.forPart(this));
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -171,7 +171,7 @@ public abstract class AbstractReportingPart extends AEBasePart implements IMonit
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vec3d pos) {
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vector3d pos) {
|
||||
final BlockEntity te = this.getTile();
|
||||
|
||||
if (Platform.isWrench(player, player.inventory.getMainHandStack(), te.getPos())) {
|
||||
|
||||
@@ -26,7 +26,7 @@ import net.minecraft.screen.ScreenHandlerType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
|
||||
import appeng.api.config.Settings;
|
||||
import appeng.api.config.SortDir;
|
||||
@@ -104,7 +104,7 @@ public abstract class AbstractTerminalPart extends AbstractDisplayPart
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vec3d pos) {
|
||||
public boolean onPartActivate(final PlayerEntity player, final Hand hand, final Vector3d pos) {
|
||||
if (!super.onPartActivate(player, hand, pos)) {
|
||||
if (!player.world.isClient) {
|
||||
ContainerOpener.openContainer(getContainerType(player), player, ContainerLocator.forPart(this));
|
||||
|
||||
@@ -111,13 +111,13 @@ public class PatternTerminalPart extends AbstractTerminalPart {
|
||||
this.setCraftingRecipe(details.isCraftable());
|
||||
this.setSubstitution(details.canSubstitute());
|
||||
|
||||
for (int x = 0; x < this.crafting.getSlotCount() && x < details.getInputs().length; x++) {
|
||||
final IAEItemStack item = details.getInputs()[x];
|
||||
for (int x = 0; x < this.crafting.getSlotCount() && x < details.getSparseInputs().length; x++) {
|
||||
final IAEItemStack item = details.getSparseInputs()[x];
|
||||
this.crafting.forceSetInvStack(x, item == null ? ItemStack.EMPTY : item.createItemStack());
|
||||
}
|
||||
|
||||
for (int x = 0; x < this.output.getSlotCount() && x < details.getOutputs().length; x++) {
|
||||
final IAEItemStack item = details.getOutputs()[x];
|
||||
for (int x = 0; x < this.output.getSlotCount() && x < details.getSparseOutputs().length; x++) {
|
||||
final IAEItemStack item = details.getSparseOutputs()[x];
|
||||
this.output.forceSetInvStack(x, item == null ? ItemStack.EMPTY : item.createItemStack());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.JsonHelper;
|
||||
|
||||
import appeng.core.AEConfig;
|
||||
import appeng.core.sync.BasePacket;
|
||||
|
||||
public class GrinderRecipeSerializer implements RecipeSerializer<GrinderRecipe> {
|
||||
|
||||
@@ -63,7 +64,7 @@ public class GrinderRecipeSerializer implements RecipeSerializer<GrinderRecipe>
|
||||
@Override
|
||||
public GrinderRecipe read(Identifier recipeId, PacketByteBuf buffer) {
|
||||
|
||||
String group = buffer.readString();
|
||||
String group = buffer.readString(BasePacket.MAX_STRING_LENGTH);
|
||||
Ingredient ingredient = Ingredient.fromPacket(buffer);
|
||||
int ingredientCount = buffer.readVarInt();
|
||||
ItemStack result = buffer.readItemStack();
|
||||
|
||||
@@ -13,6 +13,7 @@ import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.JsonHelper;
|
||||
|
||||
import appeng.api.features.InscriberProcessType;
|
||||
import appeng.core.sync.BasePacket;
|
||||
|
||||
public class InscriberRecipeSerializer implements RecipeSerializer<InscriberRecipe> {
|
||||
|
||||
@@ -60,7 +61,7 @@ public class InscriberRecipeSerializer implements RecipeSerializer<InscriberReci
|
||||
@Nullable
|
||||
@Override
|
||||
public InscriberRecipe read(Identifier recipeId, PacketByteBuf buffer) {
|
||||
String group = buffer.readString();
|
||||
String group = buffer.readString(BasePacket.MAX_STRING_LENGTH);
|
||||
Ingredient middle = Ingredient.fromPacket(buffer);
|
||||
ItemStack result = buffer.readItemStack();
|
||||
Ingredient top = Ingredient.fromPacket(buffer);
|
||||
|
||||
@@ -61,6 +61,7 @@ import appeng.api.util.DimensionalCoord;
|
||||
import appeng.block.storage.DriveSlotsState;
|
||||
import appeng.container.implementations.DriveContainer;
|
||||
import appeng.core.Api;
|
||||
import appeng.core.sync.BasePacket;
|
||||
import appeng.helpers.IPriorityHost;
|
||||
import appeng.me.GridAccessException;
|
||||
import appeng.me.helpers.MachineSource;
|
||||
@@ -183,7 +184,7 @@ public class DriveBlockEntity extends AENetworkInvBlockEntity implements IChestO
|
||||
int uniqueIdCount = data.readByte();
|
||||
int[] uniqueIds = new int[uniqueIdCount];
|
||||
for (int i = 0; i < uniqueIdCount; i++) {
|
||||
uniqueIds[i] = data.readVarInt();
|
||||
uniqueIds[i] = data.readVarInt(BasePacket.MAX_STRING_LENGTH);
|
||||
}
|
||||
|
||||
boolean changed = false;
|
||||
|
||||
@@ -18,23 +18,23 @@
|
||||
|
||||
package appeng.util;
|
||||
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
|
||||
public class LookDirection {
|
||||
|
||||
private final Vec3d a;
|
||||
private final Vec3d b;
|
||||
private final Vector3d a;
|
||||
private final Vector3d b;
|
||||
|
||||
public LookDirection(final Vec3d a, final Vec3d b) {
|
||||
public LookDirection(final Vector3d a, final Vector3d b) {
|
||||
this.a = a;
|
||||
this.b = b;
|
||||
}
|
||||
|
||||
public Vec3d getA() {
|
||||
public Vector3d getA() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public Vec3d getB() {
|
||||
public Vector3d getB() {
|
||||
return this.b;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,708 @@
|
||||
{
|
||||
"achievement.ae2.ChargedQuartz": "Chockerande",
|
||||
"achievement.ae2.ChargedQuartz.desc": "Hitta uppladdad kvarts",
|
||||
"achievement.ae2.Charger": "Fluixproduktion",
|
||||
"achievement.ae2.Charger.desc": "Tillverka en uppladdare",
|
||||
"achievement.ae2.Compass": "Meteoritjägare",
|
||||
"achievement.ae2.Compass.desc": "Tillverka en meteoritkompass",
|
||||
"achievement.ae2.Controller": "Kontrollpanel för nätverk",
|
||||
"achievement.ae2.Controller.desc": "Tillverka en kontroll",
|
||||
"achievement.ae2.CraftingCPU": "Nästa generationens tillverkning",
|
||||
"achievement.ae2.CraftingCPU.desc": "Tillverka en tillverkningsenhet",
|
||||
"achievement.ae2.CraftingTerminal": "Ett (mycket) större bord",
|
||||
"achievement.ae2.CraftingTerminal.desc": "Tillverka en tillverkningsterminal",
|
||||
"achievement.ae2.CrystalGrowthAccelerator": "Accelerering är en underdrift",
|
||||
"achievement.ae2.CrystalGrowthAccelerator.desc": "Tillverka en kristallutvidgningsaccelerator",
|
||||
"achievement.ae2.Facade": "Nätverksestetik",
|
||||
"achievement.ae2.Facade.desc": "Tillverka en kabelfasad",
|
||||
"achievement.ae2.Fluix": "Onaturligt",
|
||||
"achievement.ae2.Fluix.desc": "Skapa fluixkristaller",
|
||||
"achievement.ae2.GlassCable": "Fluixenergianslutning",
|
||||
"achievement.ae2.GlassCable.desc": "Tillverka en ME-glaskabel",
|
||||
"achievement.ae2.IOPort": "Lagringscellstango",
|
||||
"achievement.ae2.IOPort.desc": "Tillverka en IO-port",
|
||||
"achievement.ae2.NetworkTool": "Nätverksdiagnostik",
|
||||
"achievement.ae2.NetworkTool.desc": "Tillverka ett nätverksverktyg",
|
||||
"achievement.ae2.Networking1": "Nätverkslärling",
|
||||
"achievement.ae2.Networking1.desc": "Låt 8 kanaler använda enheter i ett nätverk.",
|
||||
"achievement.ae2.Networking2": "Nätverksingenjör",
|
||||
"achievement.ae2.Networking2.desc": "Låt 128 kanaler använda enheter i ett nätverk.",
|
||||
"achievement.ae2.Networking3": "Nätverksadministratör",
|
||||
"achievement.ae2.Networking3.desc": "Låt 2048 kanaler använda enheter i ett nätverk.",
|
||||
"achievement.ae2.P2P": "Punkt till punkt-nätverk",
|
||||
"achievement.ae2.P2P.desc": "Tillverka en P2P-tunnel",
|
||||
"achievement.ae2.PatternTerminal": "Tillverkningsmästare",
|
||||
"achievement.ae2.PatternTerminal.desc": "Tillverka en mönsterterminal",
|
||||
"achievement.ae2.PortableCell": "Lagringsnomad",
|
||||
"achievement.ae2.PortableCell.desc": "Tillverka en portabel cell",
|
||||
"achievement.ae2.Presses": "Okänd teknologi",
|
||||
"achievement.ae2.Presses.desc": "Hitta en processorpress",
|
||||
"achievement.ae2.QNB": "Kvantumtunnlar",
|
||||
"achievement.ae2.QNB.desc": "Tillverka en kvantumlänk",
|
||||
"achievement.ae2.Recursive": "Rekursivt nätverk",
|
||||
"achievement.ae2.Recursive.desc": "Placera ett gränssnitt på en lagringsbuss.",
|
||||
"achievement.ae2.Root": "Applied Energistics",
|
||||
"achievement.ae2.Root.desc": "När en kista helt enkelt inte räcker till.",
|
||||
"achievement.ae2.SpatialIO": "Rumskoordination",
|
||||
"achievement.ae2.SpatialIO.desc": "Tillverka en spatial IO-port",
|
||||
"achievement.ae2.SpatialIOExplorer": "Mot nya djärva mål",
|
||||
"achievement.ae2.SpatialIOExplorer.desc": "Lagra i en spatial lagringscell",
|
||||
"achievement.ae2.StorageBus": "Gränslös potential",
|
||||
"achievement.ae2.StorageBus.desc": "Tillverka en lagringsbuss",
|
||||
"achievement.ae2.StorageCell": "Bättre än kistor",
|
||||
"achievement.ae2.StorageCell.desc": "Tillverka en lagringscell",
|
||||
"appliedenergistics2.permission_denied": "Du saknar behörighet för att komma åt detta.",
|
||||
"block.appliedenergistics2.cable_bus": "AE2-kabel och/eller -buss",
|
||||
"block.appliedenergistics2.cell_workbench": "Cellarbetsbänk",
|
||||
"block.appliedenergistics2.charged_quartz_ore": "Uppladdad certuskvartsmalm",
|
||||
"block.appliedenergistics2.charger": "Uppladdare",
|
||||
"block.appliedenergistics2.chest": "ME-kista",
|
||||
"block.appliedenergistics2.chiseled_quartz_block": "Mejslat certuskvartsblock",
|
||||
"block.appliedenergistics2.chiseled_quartz_slab": "Mejslad certuskvartsplatta",
|
||||
"block.appliedenergistics2.chiseled_quartz_stairs": "Mejslad certuskvartstrappa",
|
||||
"block.appliedenergistics2.condenser": "Materiakondensator",
|
||||
"block.appliedenergistics2.controller": "ME-kontroll",
|
||||
"block.appliedenergistics2.crafting_accelerator": "Medbearbetande tillverkningsenhet",
|
||||
"block.appliedenergistics2.crafting_monitor": "Tillverkningsskärm",
|
||||
"block.appliedenergistics2.16k_crafting_storage": "Tillverkningslagring (16k)",
|
||||
"block.appliedenergistics2.1k_crafting_storage": "Tillverkningslagring (1k)",
|
||||
"block.appliedenergistics2.4k_crafting_storage": "Tillverkningslagring (4k)",
|
||||
"block.appliedenergistics2.64k_crafting_storage": "Tillverkningslagring (64k)",
|
||||
"block.appliedenergistics2.crafting_unit": "Tillverkningsenhet",
|
||||
"block.appliedenergistics2.crank": "Trävev",
|
||||
"block.appliedenergistics2.creative_energy_cell": "Kreativ energicell",
|
||||
"block.appliedenergistics2.debug_chunk_loader": "Dev.ChunkLoader",
|
||||
"block.appliedenergistics2.debug_cube_gen": "Dev.CubeGen",
|
||||
"block.appliedenergistics2.debug_energy_gen": "Dev.EnergyGen",
|
||||
"block.appliedenergistics2.debug_item_gen": "Dev.ItemGen",
|
||||
"block.appliedenergistics2.debug_phantom_node": "Dev.PhantomNode",
|
||||
"block.appliedenergistics2.dense_energy_cell": "Kompakt energicell",
|
||||
"block.appliedenergistics2.drive": "ME-hårddisk",
|
||||
"block.appliedenergistics2.energy_acceptor": "Energiaccepterare",
|
||||
"block.appliedenergistics2.energy_cell": "Energicell",
|
||||
"block.appliedenergistics2.fluid_interface": "ME-gränssnitt för vätska",
|
||||
"block.appliedenergistics2.fluix_block": "Fluixblock",
|
||||
"block.appliedenergistics2.fluix_slab": "Fluixplatta",
|
||||
"block.appliedenergistics2.fluix_stairs": "Fluixtrappa",
|
||||
"block.appliedenergistics2.grindstone": "Kvartsslipsten",
|
||||
"block.appliedenergistics2.inscriber": "Pressmaskin",
|
||||
"block.appliedenergistics2.interface": "ME-gränssnitt",
|
||||
"block.appliedenergistics2.io_port": "IO-port för ME",
|
||||
"block.appliedenergistics2.light_detector": "Ljusupptäckande fixtur",
|
||||
"block.appliedenergistics2.matrix_frame": "Matrisram",
|
||||
"block.appliedenergistics2.molecular_assembler": "Molekylär montör",
|
||||
"block.appliedenergistics2.quantum_link": "ME-kvantumlänkskammare",
|
||||
"block.appliedenergistics2.quantum_ring": "ME-kvantumring",
|
||||
"block.appliedenergistics2.quartz_block": "Certuskvartsblock",
|
||||
"block.appliedenergistics2.quartz_fixture": "Uppladdad kvartsfixtur",
|
||||
"block.appliedenergistics2.quartz_glass": "Kvartsglas",
|
||||
"block.appliedenergistics2.quartz_growth_accelerator": "Kristallutvidgningsaccelerator",
|
||||
"block.appliedenergistics2.quartz_ore": "Certuskvartsmalm",
|
||||
"block.appliedenergistics2.quartz_pillar": "Certuskvartspelare",
|
||||
"block.appliedenergistics2.quartz_pillar_slab": "Certuskvartspelarplatta",
|
||||
"block.appliedenergistics2.quartz_pillar_stairs": "Certuskvartspelartrappa",
|
||||
"block.appliedenergistics2.quartz_slab": "Certuskvartsplatta",
|
||||
"block.appliedenergistics2.quartz_stairs": "Certuskvartstrappa",
|
||||
"block.appliedenergistics2.quartz_vibrant_glass": "Livfullt kvartsglas",
|
||||
"block.appliedenergistics2.security_station": "ME-säkerhetsterminal",
|
||||
"block.appliedenergistics2.sky_compass": "Meteoritkompass",
|
||||
"block.appliedenergistics2.sky_stone_block": "Himmelsten",
|
||||
"block.appliedenergistics2.sky_stone_brick": "Himmelstenstegel",
|
||||
"block.appliedenergistics2.sky_stone_brick_slab": "Himmelstenstegelplatta",
|
||||
"block.appliedenergistics2.sky_stone_brick_stairs": "Himmelstenstegeltrappa",
|
||||
"block.appliedenergistics2.sky_stone_chest": "Himmelstenskista",
|
||||
"block.appliedenergistics2.sky_stone_slab": "Himmelstensplatta",
|
||||
"block.appliedenergistics2.sky_stone_small_brick": "Himmelsten med litet tegel",
|
||||
"block.appliedenergistics2.sky_stone_small_brick_slab": "Himmelstensplatta med litet tegel",
|
||||
"block.appliedenergistics2.sky_stone_small_brick_stairs": "Himmelstenstrappa med litet tegel",
|
||||
"block.appliedenergistics2.sky_stone_stairs": "Himmelstenstrappa",
|
||||
"block.appliedenergistics2.smooth_sky_stone_block": "Himmelstensblock",
|
||||
"block.appliedenergistics2.smooth_sky_stone_chest": "Himmelstensblockkista",
|
||||
"block.appliedenergistics2.smooth_sky_stone_slab": "Himmelstensblockplatta",
|
||||
"block.appliedenergistics2.smooth_sky_stone_stairs": "Himmelstensblocktrappa",
|
||||
"block.appliedenergistics2.spatial_io_port": "Spatial IO-port",
|
||||
"block.appliedenergistics2.spatial_pylon": "Spatial pylon",
|
||||
"block.appliedenergistics2.tiny_tnt": "Liten dynamit",
|
||||
"block.appliedenergistics2.vibration_chamber": "Vibrationskammare",
|
||||
"block.appliedenergistics2.wireless_access_point": "Trådlös ME-åtkomstpunkt",
|
||||
"chat.appliedenergistics2.AmmoDepleted": "Slut på ammunition.",
|
||||
"chat.appliedenergistics2.ChestCannotReadStorageCell": "ME-kista kan inte läsa lagringscell.",
|
||||
"chat.appliedenergistics2.CommunicationError": "Fel uppstod under kommunikation med nätverket.",
|
||||
"chat.appliedenergistics2.DeviceNotLinked": "Enheten är inte länkad.",
|
||||
"chat.appliedenergistics2.DeviceNotPowered": "Enheten har för lite ström.",
|
||||
"chat.appliedenergistics2.DeviceNotWirelessTerminal": "Enheten är inte en trådlös terminal.",
|
||||
"chat.appliedenergistics2.InvalidMachine": "Ogiltig maskin.",
|
||||
"chat.appliedenergistics2.LoadedSettings": "Läste in enhetskonfiguration från minneskortet.",
|
||||
"chat.appliedenergistics2.MachineNotPowered": "Maskinen har ingen energi.",
|
||||
"chat.appliedenergistics2.OutOfRange": "Trådlös anslutning är utom räckhåll.",
|
||||
"chat.appliedenergistics2.ResetSettings": "Ny enhetskonfiguration skapades och kopierades till minneskortet.",
|
||||
"chat.appliedenergistics2.SavedSettings": "Kopierade nuvarande enhetskonfiguration till minneskortet.",
|
||||
"chat.appliedenergistics2.SettingCleared": "Minneskortet rensades.",
|
||||
"chat.appliedenergistics2.StationCanNotBeLocated": "Stationen kan inte hittas.",
|
||||
"chat.appliedenergistics2.isNowLocked": "Skärmen är nu låst.",
|
||||
"chat.appliedenergistics2.isNowUnlocked": "Skärmen är nu upplåst.",
|
||||
"commands.ae2.ChunkLoggerOff": "Loggning av datablock har inaktiverats",
|
||||
"commands.ae2.ChunkLoggerOn": "Loggning av datablock har aktiverats",
|
||||
"commands.ae2.permissions": "Du har inte tillräckliga behörigheter för att köra detta kommando.",
|
||||
"commands.ae2.usage": "Kommandon som Applied Energistics 2 tillhandahåller - använd \"/ae2 list\" för en lista och \"/ae2 help _____\" för hjälp med ett kommando.",
|
||||
"gui.appliedenergistics2.And": "och",
|
||||
"gui.appliedenergistics2.Automatic": "Automatisk",
|
||||
"gui.appliedenergistics2.Black": "Svart",
|
||||
"gui.appliedenergistics2.Blank": "Blankt",
|
||||
"gui.appliedenergistics2.Blue": "Blå",
|
||||
"gui.appliedenergistics2.Brown": "Brun",
|
||||
"gui.appliedenergistics2.Bytes": "Lagring",
|
||||
"gui.appliedenergistics2.BytesUsed": "Byte används",
|
||||
"gui.appliedenergistics2.CPUs": "Processor",
|
||||
"gui.appliedenergistics2.CalculatingWait": "Beräknar, var god vänta...",
|
||||
"gui.appliedenergistics2.Cancel": "Avbryt",
|
||||
"gui.appliedenergistics2.CellWorkbench": "Cellarbetsbänk",
|
||||
"gui.appliedenergistics2.ChargedQuartz": "Uppladdad certuskvarts tillverkas genom att stoppa in en ouppladdad certuskvarts- kristall i en uppladdare och sedan förse den med energi.",
|
||||
"gui.appliedenergistics2.ChargedQuartzFind": "Uppladdad certuskvarts kan hittas runt om i världen, men är ganska sällsynt och liknar vanlig certuskvarts bortsett från att den gnistrar.",
|
||||
"gui.appliedenergistics2.Chest": "ME-kista",
|
||||
"gui.appliedenergistics2.Clean": "Rensa",
|
||||
"gui.appliedenergistics2.CoProcessors": "Medprocessorer",
|
||||
"gui.appliedenergistics2.Condenser": "Materiakondensator",
|
||||
"gui.appliedenergistics2.Config": "Konfiguration",
|
||||
"gui.appliedenergistics2.CopyMode": "Kopieringsläge",
|
||||
"gui.appliedenergistics2.CopyModeDesc": "Kontrollerar om konfigurationspanelens innehållet rensas när du tar bort cellen.",
|
||||
"gui.appliedenergistics2.Crafting": "Tillverkning",
|
||||
"gui.appliedenergistics2.CraftingCPU": "Tillverkningsprocessor",
|
||||
"gui.appliedenergistics2.CraftingPattern": "Tillverkningsmönster",
|
||||
"gui.appliedenergistics2.CraftingPlan": "Tillverkningsplan",
|
||||
"gui.appliedenergistics2.CraftingStatus": "Tillverkningsstatus",
|
||||
"gui.appliedenergistics2.CraftingTerminal": "Tillverkningsterminal",
|
||||
"gui.appliedenergistics2.Crafts": "Tillverkar",
|
||||
"gui.appliedenergistics2.Creates": "Skapar",
|
||||
"gui.appliedenergistics2.Cyan": "Turkos",
|
||||
"gui.appliedenergistics2.Drive": "ME-hårddisk",
|
||||
"gui.appliedenergistics2.ETAFormat": "HH:mm:ss",
|
||||
"gui.appliedenergistics2.Efficiency": "Effektivitet",
|
||||
"gui.appliedenergistics2.Empty": "Tom",
|
||||
"gui.appliedenergistics2.Unformatted": "Oformaterad",
|
||||
"gui.appliedenergistics2.SerialNumber": "Serienummer: %s",
|
||||
"gui.appliedenergistics2.Encoded": "Kodad",
|
||||
"gui.appliedenergistics2.EnergyDrain": "Passiv dränering",
|
||||
"gui.appliedenergistics2.Excluded": "Exkluderad",
|
||||
"gui.appliedenergistics2.ExportBus": "ME-exportbuss",
|
||||
"gui.appliedenergistics2.ExportBusFluids": "ME-exportbuss för vätska",
|
||||
"gui.appliedenergistics2.FacadeCrafting": "Fasadtillverkning",
|
||||
"gui.appliedenergistics2.FluidFormationPlane": "Formationsplatta för vätska",
|
||||
"gui.appliedenergistics2.FluidInterface": "ME-gränssnitt för vätska",
|
||||
"gui.appliedenergistics2.FluidLevelEmitter": "ME-nivåavgivare för vätska",
|
||||
"gui.appliedenergistics2.Fluix": "Fluix",
|
||||
"gui.appliedenergistics2.FormationPlane": "Formationsplatta",
|
||||
"gui.appliedenergistics2.FromStorage": "Tillgänglig",
|
||||
"gui.appliedenergistics2.Fuzzy": "Suddig",
|
||||
"gui.appliedenergistics2.Gray": "Grå",
|
||||
"gui.appliedenergistics2.Green": "Grön",
|
||||
"gui.appliedenergistics2.GrindStone": "Slipsten",
|
||||
"gui.appliedenergistics2.IOBuses": "ME-import/exportbuss",
|
||||
"gui.appliedenergistics2.IOBusesFluids": "ME-import/exportbuss för vätska",
|
||||
"gui.appliedenergistics2.IOPort": "IO-port för ME",
|
||||
"gui.appliedenergistics2.ImportBus": "ME-importbuss",
|
||||
"gui.appliedenergistics2.ImportBusFluids": "ME-importbuss för vätska",
|
||||
"gui.appliedenergistics2.InWorldCrafting": "Tillverka i världen med AE2",
|
||||
"gui.appliedenergistics2.Included": "Inkluderad",
|
||||
"gui.appliedenergistics2.Inscriber": "Pressmaskin",
|
||||
"gui.appliedenergistics2.Installed": "Installerad",
|
||||
"gui.appliedenergistics2.Interface": "ME-gränssnitt",
|
||||
"gui.appliedenergistics2.InterfaceTerminal": "Gränssnittsterminal",
|
||||
"gui.appliedenergistics2.InterfaceTerminalHint": "Visa eller dölj i gränssnittsterminal.",
|
||||
"gui.appliedenergistics2.InvalidPattern": "Ogiltigt mönster",
|
||||
"gui.appliedenergistics2.LargeFontCraft": "+",
|
||||
"gui.appliedenergistics2.LevelEmitter": "ME-nivåavgivare",
|
||||
"gui.appliedenergistics2.LightBlue": "Ljusblå",
|
||||
"gui.appliedenergistics2.LightGray": "Ljusgrå",
|
||||
"gui.appliedenergistics2.Lime": "Limegrön",
|
||||
"gui.appliedenergistics2.Linked": "Länkad",
|
||||
"gui.appliedenergistics2.Lumen": "Lumen",
|
||||
"gui.appliedenergistics2.Magenta": "Ljuslila",
|
||||
"gui.appliedenergistics2.MaxPower": "Maximal ström",
|
||||
"gui.appliedenergistics2.Missing": "Saknas",
|
||||
"gui.appliedenergistics2.MolecularAssembler": "Molekylmontör",
|
||||
"gui.appliedenergistics2.MultipleOutputs": "%1$d %% sekundär, %2$d %% tertiär utmatning.",
|
||||
"gui.appliedenergistics2.NetworkDetails": "Nätverksdetaljer",
|
||||
"gui.appliedenergistics2.NetworkTool": "Nätverksverktyg",
|
||||
"gui.appliedenergistics2.Next": "Nästa",
|
||||
"gui.appliedenergistics2.No": "Nej",
|
||||
"gui.appliedenergistics2.NoCraftingCPUs": "Inga tillgängliga tillverkningsprocessorer",
|
||||
"gui.appliedenergistics2.NoCraftingJobs": "Inga aktiva tillverkningsjobb",
|
||||
"gui.appliedenergistics2.NoPermissions": "Inga behörigheter har valts",
|
||||
"gui.appliedenergistics2.NoSecondOutput": "Ingen sekundär utmatning",
|
||||
"gui.appliedenergistics2.Nothing": "Ingenting",
|
||||
"gui.appliedenergistics2.OCTunnel": "OpenComputers",
|
||||
"gui.appliedenergistics2.Of": "av",
|
||||
"gui.appliedenergistics2.OfSecondOutput": "%1$d %% chans för sekundär utmatning.",
|
||||
"gui.appliedenergistics2.Orange": "Orange",
|
||||
"gui.appliedenergistics2.Partitioned": "Partitionerad",
|
||||
"gui.appliedenergistics2.PatternTerminal": "Mönsterterminal",
|
||||
"gui.appliedenergistics2.Patterns": "Mönster",
|
||||
"gui.appliedenergistics2.Pink": "Rosa",
|
||||
"gui.appliedenergistics2.PortableCell": "Portabel cell",
|
||||
"gui.appliedenergistics2.PowerInputRate": "Energigenerering",
|
||||
"gui.appliedenergistics2.PowerUsageRate": "Energianvändning",
|
||||
"gui.appliedenergistics2.Precise": "Exakt",
|
||||
"gui.appliedenergistics2.PressureTunnel": "Tryck",
|
||||
"gui.appliedenergistics2.Priority": "Prioritet",
|
||||
"gui.appliedenergistics2.ProcessingPattern": "Bearbetningsmönster",
|
||||
"gui.appliedenergistics2.Purple": "Lila",
|
||||
"gui.appliedenergistics2.QuantumLinkChamber": "Kvantumlänkskammare",
|
||||
"gui.appliedenergistics2.QuartzCuttingKnife": "Kvartskniv",
|
||||
"gui.appliedenergistics2.Range": "Intervall",
|
||||
"gui.appliedenergistics2.Red": "Röd",
|
||||
"gui.appliedenergistics2.RequiredPower": "Nödvändig ström",
|
||||
"gui.appliedenergistics2.SCSInvalid": "Ogiltig",
|
||||
"gui.appliedenergistics2.SCSSize": "SCS-storlek",
|
||||
"gui.appliedenergistics2.Scheduled": "Schemalagd",
|
||||
"gui.appliedenergistics2.Security": "Säk.terminal",
|
||||
"gui.appliedenergistics2.SecurityCardEditor": "Biometrisk kortredigerare",
|
||||
"gui.appliedenergistics2.SelectAmount": "Välj mängd",
|
||||
"gui.appliedenergistics2.Simulation": "Simulering",
|
||||
"gui.appliedenergistics2.SkyChest": "Himmelstenskista",
|
||||
"gui.appliedenergistics2.SmallFontCraft": "Tillverka",
|
||||
"gui.appliedenergistics2.SpatialIOPort": "Spatial IO-port",
|
||||
"gui.appliedenergistics2.Start": "Start",
|
||||
"gui.appliedenergistics2.StorageBus": "Lagringsbuss",
|
||||
"gui.appliedenergistics2.StorageBusFluids": "Lagringsbuss för vätska",
|
||||
"gui.appliedenergistics2.StorageCells": "ME-lagringsceller",
|
||||
"gui.appliedenergistics2.Stored": "Lagrad",
|
||||
"gui.appliedenergistics2.StoredEnergy": "Lagrad energi",
|
||||
"gui.appliedenergistics2.StoredFluids": "Lagrad vätska",
|
||||
"gui.appliedenergistics2.StoredItems": "Lagrade föremål",
|
||||
"gui.appliedenergistics2.StoredPower": "Lagrad ström",
|
||||
"gui.appliedenergistics2.StoredSize": "Lagrad storlek: %dx%dx%d",
|
||||
"gui.appliedenergistics2.SpatialCapacity": "Kapacitet: %dx%dx%d",
|
||||
"gui.appliedenergistics2.Stores": "Lagrar",
|
||||
"gui.appliedenergistics2.Substitute": "Använder ersättning:",
|
||||
"gui.appliedenergistics2.Terminal": "Terminal",
|
||||
"gui.appliedenergistics2.ToCraft": "Att tillverka",
|
||||
"gui.appliedenergistics2.TransparentFacades": "Genomskinliga fasader",
|
||||
"gui.appliedenergistics2.TransparentFacadesHint": "Kontrollerar synligheten för fasader när nätverksverktyget är inuti din föremålsmeny.",
|
||||
"gui.appliedenergistics2.Types": "typer",
|
||||
"gui.appliedenergistics2.Unlinked": "Olänkad",
|
||||
"gui.appliedenergistics2.VibrationChamber": "Vibrationskammare",
|
||||
"gui.appliedenergistics2.White": "Vit",
|
||||
"gui.appliedenergistics2.Wireless": "Trådlös åtkomstpunkt",
|
||||
"gui.appliedenergistics2.WirelessTerminal": "Trådlös terminal",
|
||||
"gui.appliedenergistics2.With": "med",
|
||||
"gui.appliedenergistics2.Yellow": "Gul",
|
||||
"gui.appliedenergistics2.Yes": "Ja",
|
||||
"gui.appliedenergistics2.inWorldCraftingPresses": "Tillverkningspressar finns inuti meteoriter som kan hittas runtomkring i världen, vilket i sin tur kan hittas med hjälp av en meteoritkompass.",
|
||||
"gui.appliedenergistics2.inWorldFluix": "Släpp 1 uppladdad certus- kvartskristall + 1 netherkvarts + redstonedamm i en vattenpöl och vänta en stund för att få 2 fluixkristaller.",
|
||||
"gui.appliedenergistics2.inWorldPurificationCertus": "Släpp ett certuskvartsfrö som skapas ifrån certuskvartdamm och sand i en vattenpöl; lägg till kristallutvidgnings- acceleratorer för att snabba på processen.",
|
||||
"gui.appliedenergistics2.inWorldPurificationFluix": "Släpp ett fluixfrö som skapas ifrån fluixdamm och sand i en vattenpöl; lägg till kristall- utvidgningsacceleratorer för att snabba på processen.",
|
||||
"gui.appliedenergistics2.inWorldPurificationNether": "Släpp ett netherkvartsfrö som skapas ifrån netherkvartdamm och sand i en vattenpöl; lägg till kristallutvidgnings- acceleratorer för att snabba på processen.",
|
||||
"gui.appliedenergistics2.inWorldSingularity": "Släpp 1 singularitet samt 1 enderdamm på marken och orsaka sedan en explosion i närheten av föremålen.",
|
||||
"gui.appliedenergistics2.security.build.name": "Bygga",
|
||||
"gui.appliedenergistics2.security.build.tip": "Användare kan ändra nätverkets fysiska struktur och ändra konfigurationen.",
|
||||
"gui.appliedenergistics2.security.craft.name": "Tillverka",
|
||||
"gui.appliedenergistics2.security.craft.tip": "Användare kan starta nya tillverkningsjobb.",
|
||||
"gui.appliedenergistics2.security.extract.name": "Ta ut",
|
||||
"gui.appliedenergistics2.security.extract.tip": "Användare får ta bort föremål från lagringen.",
|
||||
"gui.appliedenergistics2.security.inject.name": "Sätta in",
|
||||
"gui.appliedenergistics2.security.inject.tip": "Användare får lagra nya föremål i lagringen.",
|
||||
"gui.appliedenergistics2.security.security.name": "Säkerhet",
|
||||
"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",
|
||||
"gui.tooltips.appliedenergistics2.AlwaysActive": "Alltid aktiv",
|
||||
"gui.tooltips.appliedenergistics2.BlockPlacement": "Blockplacering",
|
||||
"gui.tooltips.appliedenergistics2.BlockPlacementNo": "Blocken kommer att släppas som föremål.",
|
||||
"gui.tooltips.appliedenergistics2.BlockPlacementYes": "Blocken kommer att placeras som block.",
|
||||
"gui.tooltips.appliedenergistics2.Blocking": "Flytta inte tillverkningsföremål om utrustning innehåller föremål.",
|
||||
"gui.tooltips.appliedenergistics2.Clear": "Rensa",
|
||||
"gui.tooltips.appliedenergistics2.ClearSettings": "Rensa konfigurationer/inställningar",
|
||||
"gui.tooltips.appliedenergistics2.CondenserOutput": "ME-kondensator - Utmatning",
|
||||
"gui.tooltips.appliedenergistics2.Craft": "Tillverkningsbeteende",
|
||||
"gui.tooltips.appliedenergistics2.CraftEither": "Använd lagrade föremål eller tillverka föremål under export.",
|
||||
"gui.tooltips.appliedenergistics2.CraftOnly": "Använd inte lagrade föremål, tillverka endast föremål under export.",
|
||||
"gui.tooltips.appliedenergistics2.CraftViaRedstone": "Avge redstone för att tillverka föremål.",
|
||||
"gui.tooltips.appliedenergistics2.Craftable": "Tillverkningsbara",
|
||||
"gui.tooltips.appliedenergistics2.Disabled": "Inaktiverad",
|
||||
"gui.tooltips.appliedenergistics2.DoesntDespawn": "Detta föremål kommer inte försvinna.",
|
||||
"gui.tooltips.appliedenergistics2.EmitLevelAbove": "Avge när nivåerna är ovan eller lika med gränsen.",
|
||||
"gui.tooltips.appliedenergistics2.EmitLevelsBelow": "Avge när nivåerna är under gränsen.",
|
||||
"gui.tooltips.appliedenergistics2.EmitWhenCrafting": "Avge redstone när föremål tillverkas.",
|
||||
"gui.tooltips.appliedenergistics2.EmitterMode": "Tillverkaravgivarläge",
|
||||
"gui.tooltips.appliedenergistics2.Enable": "Aktiverad",
|
||||
"gui.tooltips.appliedenergistics2.Encode": "Kodningsmönster",
|
||||
"gui.tooltips.appliedenergistics2.EncodeDescription": "Skriv det angivna mönstret till det nuvarande kodade mönstret eller till tillgängliga blanka mönster.",
|
||||
"gui.tooltips.appliedenergistics2.FZIgnoreAll": "Matcha allting",
|
||||
"gui.tooltips.appliedenergistics2.FZPercent_25": "Fördela skada vid 25 %%",
|
||||
"gui.tooltips.appliedenergistics2.FZPercent_50": "Fördela skada vid 50 %%",
|
||||
"gui.tooltips.appliedenergistics2.FZPercent_75": "Fördela skada vid 75 %%",
|
||||
"gui.tooltips.appliedenergistics2.FZPercent_99": "Fördela skada vid 99 %%",
|
||||
"gui.tooltips.appliedenergistics2.FilterMode": "Sökfiltersläge",
|
||||
"gui.tooltips.appliedenergistics2.FilterModeClear": "Rensa vid varje öppning.",
|
||||
"gui.tooltips.appliedenergistics2.FilterModeKeep": "Återställ föregående sökfilter.",
|
||||
"gui.tooltips.appliedenergistics2.FuzzyMode": "Suddig jämförelse",
|
||||
"gui.tooltips.appliedenergistics2.IOMode": "In-/utmatningsläge",
|
||||
"gui.tooltips.appliedenergistics2.InterfaceBlockingMode": "Blockeringsläge",
|
||||
"gui.tooltips.appliedenergistics2.InterfaceCraftingMode": "Tillverkningsläge",
|
||||
"gui.tooltips.appliedenergistics2.InventoryTweaks": "Utrustningsjusteringar",
|
||||
"gui.tooltips.appliedenergistics2.ItemName": "Föremålsnamn",
|
||||
"gui.tooltips.appliedenergistics2.ItemsRequestable": "Begärbara föremål: %s",
|
||||
"gui.tooltips.appliedenergistics2.ItemsStored": "Lagrade föremål: %s",
|
||||
"gui.tooltips.appliedenergistics2.LevelType": "Nivåtyp",
|
||||
"gui.tooltips.appliedenergistics2.LevelType_Energy": "Energi",
|
||||
"gui.tooltips.appliedenergistics2.LevelType_Item": "Föremål",
|
||||
"gui.tooltips.appliedenergistics2.MatterBalls": "Kondenseras till materiabollar %s per föremål",
|
||||
"gui.tooltips.appliedenergistics2.Mod": "Mod",
|
||||
"gui.tooltips.appliedenergistics2.MoveWhenEmpty": "Flytta till utmatning när den är tom.",
|
||||
"gui.tooltips.appliedenergistics2.MoveWhenFull": "Flytta till utmatning när den är full.",
|
||||
"gui.tooltips.appliedenergistics2.MoveWhenWorkIsDone": "Flytta till utmatning när arbetet är färdigt.",
|
||||
"gui.tooltips.appliedenergistics2.NonBlocking": "Ignorera innehållet i målutrustningen.",
|
||||
"gui.tooltips.appliedenergistics2.NumberOfItems": "Antal föremål",
|
||||
"gui.tooltips.appliedenergistics2.OperationMode": "Operationsläge",
|
||||
"gui.tooltips.appliedenergistics2.P2PFrequency": "Frekvens: %s",
|
||||
"gui.tooltips.appliedenergistics2.PartitionStorage": "Partitionslagring",
|
||||
"gui.tooltips.appliedenergistics2.PartitionStorageHint": "Konfigurerar partitionen baserat på nuvarande lagrade föremål.",
|
||||
"gui.tooltips.appliedenergistics2.PowerUnits": "Strömenheter",
|
||||
"gui.tooltips.appliedenergistics2.Read": "Extrahera bara",
|
||||
"gui.tooltips.appliedenergistics2.ReadWrite": "Båda riktningar",
|
||||
"gui.tooltips.appliedenergistics2.RedstoneMode": "Redstoneläge",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleFluids": "Rapportera oåtkomliga vätskor",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleFluidsNo": "Nej: Endast vätskor som kan extraheras kommer att vara synliga.",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleFluidsYes": "Ja: Vätskor som inte kan extraeras kommer vara synliga.",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleItems": "Rapportera oåtkomliga föremål",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleItemsNo": "Nej: Endast föremål som kan extraheras kommer vara synliga.",
|
||||
"gui.tooltips.appliedenergistics2.ReportInaccessibleItemsYes": "Ja: Föremål som inte kan extraheras kommer vara synliga.",
|
||||
"gui.tooltips.appliedenergistics2.SchedulingMode": "Schemaläge",
|
||||
"gui.tooltips.appliedenergistics2.SchedulingModeDefault": "Exportera det första föremålet tills nätverket är tomt, försök sedan med de nästkommande.",
|
||||
"gui.tooltips.appliedenergistics2.SchedulingModeRandom": "Exportera föremål i slumpartat läge.",
|
||||
"gui.tooltips.appliedenergistics2.SchedulingModeRoundRobin": "Exportera med \"round robin\"-läget.",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode": "Läge för sökfältet",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_Auto": "Automatisk sökning",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_AutoKeep": "Automatisk sökning, behåll inmatningen",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_JEIAuto": "Synkronisera automatiskt med JEI",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_JEIAutoKeep": "Synkronisera automatiskt med JEI, behåll inmatningen",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_JEIStandard": "Standardsynkronisera med JEI",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_JEIStandardKeep": "Standardsynkronisera med JEI, behåll inmatningen",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_Standard": "Standardsökning",
|
||||
"gui.tooltips.appliedenergistics2.SearchMode_StandardKeep": "Standardsökning, behåll inmatningen",
|
||||
"gui.tooltips.appliedenergistics2.Singularity": "Kondenseras till singulariteter %s per föremål",
|
||||
"gui.tooltips.appliedenergistics2.SortBy": "Sortera efter",
|
||||
"gui.tooltips.appliedenergistics2.SortOrder": "Sorteringsordning",
|
||||
"gui.tooltips.appliedenergistics2.Stash": "Lagra föremål",
|
||||
"gui.tooltips.appliedenergistics2.StashDesc": "Returnera föremål i tillverkningsrutan till nätverkslagringen.",
|
||||
"gui.tooltips.appliedenergistics2.StoredCraftable": "Lagrade / Tillverkningsbara",
|
||||
"gui.tooltips.appliedenergistics2.StoredItems": "Lagrade föremål",
|
||||
"gui.tooltips.appliedenergistics2.Substitutions": "Ersättningsföremål",
|
||||
"gui.tooltips.appliedenergistics2.SubstitutionsDescDisabled": "Förhindrar att ersättningsföremål används som inmatningskomponenter.",
|
||||
"gui.tooltips.appliedenergistics2.SubstitutionsDescEnabled": "Tillåter att ersättningsföremål används som inmatningskomponenter.",
|
||||
"gui.tooltips.appliedenergistics2.SubstitutionsOff": "Ersättningar inaktiverades",
|
||||
"gui.tooltips.appliedenergistics2.SubstitutionsOn": "Ersättningar aktiverades",
|
||||
"gui.tooltips.appliedenergistics2.TerminalStyle": "Terminalstil",
|
||||
"gui.tooltips.appliedenergistics2.TerminalStyle_Full": "Helskärmsterminal",
|
||||
"gui.tooltips.appliedenergistics2.TerminalStyle_Small": "Liten centrerad terminal",
|
||||
"gui.tooltips.appliedenergistics2.TerminalStyle_Tall": "Lång centrerad terminal",
|
||||
"gui.tooltips.appliedenergistics2.ToggleSortDirection": "Växla sorteringsriktning",
|
||||
"gui.tooltips.appliedenergistics2.TransferDirection": "Överförningsriktning",
|
||||
"gui.tooltips.appliedenergistics2.TransferToNetwork": "Överför data till nätverk",
|
||||
"gui.tooltips.appliedenergistics2.TransferToStorageCell": "Överför data till lagringscell",
|
||||
"gui.tooltips.appliedenergistics2.Trash": "Förstör föremål",
|
||||
"gui.tooltips.appliedenergistics2.TrashController": "Radera genom att Shift-/mellanslagsklicka.",
|
||||
"gui.tooltips.appliedenergistics2.View": "Visa",
|
||||
"gui.tooltips.appliedenergistics2.Write": "Infoga bara",
|
||||
"item.appliedenergistics2.advanced_card": "Avancerat kort",
|
||||
"item.appliedenergistics2.annihilation_core": "Annihilationskärna",
|
||||
"item.appliedenergistics2.annihilation_plane": "ME-annihilationsplatta",
|
||||
"item.appliedenergistics2.basic_card": "Enkelt kort",
|
||||
"item.appliedenergistics2.biometric_card": "Biometriskt kort",
|
||||
"item.appliedenergistics2.black_covered_cable": "Svart täckt ME-kabel",
|
||||
"item.appliedenergistics2.black_covered_dense_cable": "Svart kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.black_glass_cable": "Svart ME-glaskabel",
|
||||
"item.appliedenergistics2.black_lumen_paint_ball": "Svart lumenfärgboll",
|
||||
"item.appliedenergistics2.black_paint_ball": "Svart färgboll",
|
||||
"item.appliedenergistics2.black_smart_cable": "Svart smart ME-kabel",
|
||||
"item.appliedenergistics2.black_smart_dense_cable": "Svart kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.blank_pattern": "Blankt mönster",
|
||||
"item.appliedenergistics2.blue_covered_cable": "Blå täckt ME-kabel",
|
||||
"item.appliedenergistics2.blue_covered_dense_cable": "Blå kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.blue_glass_cable": "Blå ME-glaskabel",
|
||||
"item.appliedenergistics2.blue_lumen_paint_ball": "Blå lumenfärgboll",
|
||||
"item.appliedenergistics2.blue_paint_ball": "Blå färgboll",
|
||||
"item.appliedenergistics2.blue_smart_cable": "Blå smart ME-kabel",
|
||||
"item.appliedenergistics2.blue_smart_dense_cable": "Blå kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.brown_covered_cable": "Brun täckt ME-kabel",
|
||||
"item.appliedenergistics2.brown_covered_dense_cable": "Brun kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.brown_glass_cable": "Brun ME-glaskabel",
|
||||
"item.appliedenergistics2.brown_lumen_paint_ball": "Brun lumenfärgboll",
|
||||
"item.appliedenergistics2.brown_paint_ball": "Brun färgboll",
|
||||
"item.appliedenergistics2.brown_smart_cable": "Brun smart ME-kabel",
|
||||
"item.appliedenergistics2.brown_smart_dense_cable": "Brun kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.cable_anchor": "Kabelankare",
|
||||
"item.appliedenergistics2.cable_fluid_interface": "ME-gränssnitt för vätska",
|
||||
"item.appliedenergistics2.cable_interface": "ME-gränssnitt",
|
||||
"item.appliedenergistics2.calculation_processor": "Beräkningsprocessor",
|
||||
"item.appliedenergistics2.calculation_processor_press": "Beräkningspressform",
|
||||
"item.appliedenergistics2.printed_calculation_processor": "Pressad beräkningskrets",
|
||||
"item.appliedenergistics2.capacity_card": "Kapacitetskort",
|
||||
"item.appliedenergistics2.16k_cell_component": "ME-lagringskomponent (16k)",
|
||||
"item.appliedenergistics2.1k_cell_component": "ME-lagringskomponent (1k)",
|
||||
"item.appliedenergistics2.4k_cell_component": "ME-lagringskomponent (4k)",
|
||||
"item.appliedenergistics2.64k_cell_component": "ME-lagringskomponent (64k)",
|
||||
"item.appliedenergistics2.certus_crystal_seed": "Certuskvartsfrö",
|
||||
"item.appliedenergistics2.certus_quartz_axe": "Certuskvartsyxa",
|
||||
"item.appliedenergistics2.certus_quartz_crystal": "Certuskvartskristall",
|
||||
"item.appliedenergistics2.certus_quartz_cutting_knife": "Certuskvartskniv",
|
||||
"item.appliedenergistics2.certus_quartz_dust": "Certuskvartsdamm",
|
||||
"item.appliedenergistics2.certus_quartz_hoe": "Certuskvartsflåhacka",
|
||||
"item.appliedenergistics2.certus_quartz_pickaxe": "Certuskvartshacka",
|
||||
"item.appliedenergistics2.certus_quartz_shovel": "Certuskvartsspade",
|
||||
"item.appliedenergistics2.certus_quartz_sword": "Certuskvartssvärd",
|
||||
"item.appliedenergistics2.certus_quartz_wrench": "Certuskvartsblocknyckel",
|
||||
"item.appliedenergistics2.charged_certus_quartz_crystal": "Uppladdad certuskvartskristall",
|
||||
"item.appliedenergistics2.charged_staff": "Uppladdad stav",
|
||||
"item.appliedenergistics2.color_applicator": "Färgpåstrykare",
|
||||
"item.appliedenergistics2.conversion_monitor": "ME-omvandlingsskärm",
|
||||
"item.appliedenergistics2.crafting_card": "Tillverkningskort",
|
||||
"item.appliedenergistics2.crafting_monitor": "ME-tillverkningsskärm",
|
||||
"item.appliedenergistics2.crafting_terminal": "ME-tillverkningsterminal",
|
||||
"item.appliedenergistics2.creative_storage_cell": "Kreativ ME-lagringscell",
|
||||
"item.appliedenergistics2.cyan_covered_cable": "Turkos täckt ME-kabel",
|
||||
"item.appliedenergistics2.cyan_covered_dense_cable": "Turkos kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.cyan_glass_cable": "Turkos ME-glaskabel",
|
||||
"item.appliedenergistics2.cyan_lumen_paint_ball": "Turkos lumenfärgboll",
|
||||
"item.appliedenergistics2.cyan_paint_ball": "Turkos färgboll",
|
||||
"item.appliedenergistics2.cyan_smart_cable": "Turkos smart ME-kabel",
|
||||
"item.appliedenergistics2.cyan_smart_dense_cable": "Turkos kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.dark_monitor": "Mörk upplyst panel",
|
||||
"item.appliedenergistics2.debug_card": "Dev.DebugCard",
|
||||
"item.appliedenergistics2.debug_eraser": "Dev.Eraser",
|
||||
"item.appliedenergistics2.debug_meteorite_placer": "Dev.MeteoritePlacer",
|
||||
"item.appliedenergistics2.debug_part_placer": "Dev.PartPlacer",
|
||||
"item.appliedenergistics2.debug_replicator_card": "Dev.ReplicatorCard",
|
||||
"item.appliedenergistics2.empty_storage_cell": "ME-lagringsmagasinering",
|
||||
"item.appliedenergistics2.encoded_pattern": "Kodat mönster",
|
||||
"item.appliedenergistics2.ender_dust": "Enderdamm",
|
||||
"item.appliedenergistics2.engineering_processor": "Ingenjörsprocessor",
|
||||
"item.appliedenergistics2.engineering_processor_press": "Ingenjörspressform",
|
||||
"item.appliedenergistics2.printed_engineering_processor": "Pressad ingenjörskrets",
|
||||
"item.appliedenergistics2.entropy_manipulator": "Entropimanipulerare",
|
||||
"item.appliedenergistics2.export_bus": "ME-exportbuss",
|
||||
"item.appliedenergistics2.facade": "Kabelfasad",
|
||||
"item.appliedenergistics2.fe_p2p_tunnel": "P2P-tunnel för FE",
|
||||
"item.appliedenergistics2.flour": "Mjöl",
|
||||
"item.appliedenergistics2.fluid_annihilation_plane": "ME-annihilationsplatta för vätska",
|
||||
"item.appliedenergistics2.16k_fluid_cell_component": "ME-lagringskomponent för vätska (16k)",
|
||||
"item.appliedenergistics2.1k_fluid_cell_component": "ME-lagringskomponent för vätska (1k)",
|
||||
"item.appliedenergistics2.4k_fluid_cell_component": "ME-lagringskomponent för vätska (4k)",
|
||||
"item.appliedenergistics2.64k_fluid_cell_component": "ME-lagringskomponent för vätska (64k)",
|
||||
"item.appliedenergistics2.fluid_export_bus": "ME-exportbuss för vätska",
|
||||
"item.appliedenergistics2.fluid_formation_plane": "ME-formationsplatta för vätska",
|
||||
"item.appliedenergistics2.fluid_import_bus": "ME-importbuss för vätska",
|
||||
"item.appliedenergistics2.fluid_level_emitter": "ME-nivåavgivare för vätska",
|
||||
"item.appliedenergistics2.fluid_p2p_tunnel": "P2P-tunnel för vätska",
|
||||
"item.appliedenergistics2.fluid_storage_bus": "ME-lagringsbuss för vätska",
|
||||
"item.appliedenergistics2.16k_fluid_storage_cell": "ME-lagringscell för vätska (16k)",
|
||||
"item.appliedenergistics2.1k_fluid_storage_cell": "ME-lagringscell för vätska (1k)",
|
||||
"item.appliedenergistics2.4k_fluid_storage_cell": "ME-lagringscell för vätska (4k)",
|
||||
"item.appliedenergistics2.64k_fluid_storage_cell": "ME-lagringscell för vätska (64k)",
|
||||
"item.appliedenergistics2.fluid_terminal": "ME-terminal för vätska",
|
||||
"item.appliedenergistics2.fluix_covered_cable": "Täckt ME-fluixkabel",
|
||||
"item.appliedenergistics2.fluix_covered_dense_cable": "Kompakt täckt ME-fluixkabel",
|
||||
"item.appliedenergistics2.fluix_crystal": "Fluixkristall",
|
||||
"item.appliedenergistics2.fluix_crystal_seed": "Fluixfrö",
|
||||
"item.appliedenergistics2.fluix_dust": "Fluixdamm",
|
||||
"item.appliedenergistics2.fluix_glass_cable": "ME-fluixglaskabel",
|
||||
"item.appliedenergistics2.fluix_lumen_paint_ball": "Fluixlumenfärgboll",
|
||||
"item.appliedenergistics2.fluix_paint_ball": "Fluixfärgboll",
|
||||
"item.appliedenergistics2.fluix_pearl": "Fluixpärla",
|
||||
"item.appliedenergistics2.fluix_smart_cable": "Smart ME-fluixkabel",
|
||||
"item.appliedenergistics2.fluix_smart_dense_cable": "Kompakt smart ME-fluixkabel",
|
||||
"item.appliedenergistics2.formation_core": "Formationskärna",
|
||||
"item.appliedenergistics2.formation_plane": "ME-formationsplatta",
|
||||
"item.appliedenergistics2.fuzzy_card": "Suddigt kort",
|
||||
"item.appliedenergistics2.gold_dust": "Gulddamm",
|
||||
"item.appliedenergistics2.gray_covered_cable": "Grå täckt ME-kabel",
|
||||
"item.appliedenergistics2.gray_covered_dense_cable": "Grå kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.gray_glass_cable": "Grå ME-glaskabel",
|
||||
"item.appliedenergistics2.gray_lumen_paint_ball": "Grå lumenfärgboll",
|
||||
"item.appliedenergistics2.gray_paint_ball": "Grå färgboll",
|
||||
"item.appliedenergistics2.gray_smart_cable": "Grå smart ME-kabel",
|
||||
"item.appliedenergistics2.gray_smart_dense_cable": "Grå kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.green_covered_cable": "Grön täckt ME-kabel",
|
||||
"item.appliedenergistics2.green_covered_dense_cable": "Grön kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.green_glass_cable": "Grön ME-glaskabel",
|
||||
"item.appliedenergistics2.green_lumen_paint_ball": "Grön lumenfärgboll",
|
||||
"item.appliedenergistics2.green_paint_ball": "Grön färgboll",
|
||||
"item.appliedenergistics2.green_smart_cable": "Grön smart ME-kabel",
|
||||
"item.appliedenergistics2.green_smart_dense_cable": "Grön kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.ic2_p2p_tunnel": "P2P-tunnel för EU",
|
||||
"item.appliedenergistics2.identity_annihilation_plane": "ME-annihilationsplatta för identiteter",
|
||||
"item.appliedenergistics2.import_bus": "ME-importbuss",
|
||||
"item.appliedenergistics2.interface_terminal": "ME-gränssnittsterminal",
|
||||
"item.appliedenergistics2.invalid_type": "Inaktiverat föremål",
|
||||
"item.appliedenergistics2.inverted_toggle_bus": "Inverterad ME-strömbrytarbuss",
|
||||
"item.appliedenergistics2.inverter_card": "Inverteringskort",
|
||||
"item.appliedenergistics2.iron_dust": "Järndamm",
|
||||
"item.appliedenergistics2.item_p2p_tunnel": "P2P-tunnel för föremål",
|
||||
"item.appliedenergistics2.level_emitter": "ME-nivåavgivare",
|
||||
"item.appliedenergistics2.light_blue_covered_cable": "Ljusblå täckt ME-kabel",
|
||||
"item.appliedenergistics2.light_blue_covered_dense_cable": "Ljusblå kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.light_blue_glass_cable": "Ljusblå ME-glaskabel",
|
||||
"item.appliedenergistics2.light_blue_lumen_paint_ball": "Ljusblå lumenfärgboll",
|
||||
"item.appliedenergistics2.light_blue_paint_ball": "Ljusblå färgboll",
|
||||
"item.appliedenergistics2.light_blue_smart_cable": "Ljusblå smart ME-kabel",
|
||||
"item.appliedenergistics2.light_blue_smart_dense_cable": "Ljusblå kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.light_gray_covered_cable": "Ljusgrå täckt ME-kabel",
|
||||
"item.appliedenergistics2.light_gray_covered_dense_cable": "Ljusgrå kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.light_gray_glass_cable": "Ljusgrå ME-glaskabel",
|
||||
"item.appliedenergistics2.light_gray_lumen_paint_ball": "Ljusgrå lumenfärgboll",
|
||||
"item.appliedenergistics2.light_gray_paint_ball": "Ljusgrå färgboll",
|
||||
"item.appliedenergistics2.light_gray_smart_cable": "Ljusgrå smart ME-kabel",
|
||||
"item.appliedenergistics2.light_gray_smart_dense_cable": "Ljusgrå kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.light_p2p_tunnel": "P2P-tunnel för ljus",
|
||||
"item.appliedenergistics2.lime_covered_cable": "Limegrön täckt ME-kabel",
|
||||
"item.appliedenergistics2.lime_covered_dense_cable": "Limegrön kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.lime_glass_cable": "Limegrön ME-glaskabel",
|
||||
"item.appliedenergistics2.lime_lumen_paint_ball": "Limegrön lumenfärgboll",
|
||||
"item.appliedenergistics2.lime_paint_ball": "Limegrön färgboll",
|
||||
"item.appliedenergistics2.lime_smart_cable": "Limegrön smart ME-kabel",
|
||||
"item.appliedenergistics2.lime_smart_dense_cable": "Limegrön kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.logic_processor": "Logikprocessor",
|
||||
"item.appliedenergistics2.logic_processor_asm": "Ofärdig logikprocessor",
|
||||
"item.appliedenergistics2.logic_processor_press": "Logikpressform",
|
||||
"item.appliedenergistics2.printed_logic_processor": "Pressad logikkrets",
|
||||
"item.appliedenergistics2.magenta_covered_cable": "Ljuslila täckt ME-kabel",
|
||||
"item.appliedenergistics2.magenta_covered_dense_cable": "Ljuslila kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.magenta_glass_cable": "Ljuslila ME-glaskabel",
|
||||
"item.appliedenergistics2.magenta_lumen_paint_ball": "Ljuslila lumenfärgboll",
|
||||
"item.appliedenergistics2.magenta_paint_ball": "Ljuslila färgboll",
|
||||
"item.appliedenergistics2.magenta_smart_cable": "Ljuslila smart ME-kabel",
|
||||
"item.appliedenergistics2.magenta_smart_dense_cable": "Ljuslila kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.matter_ball": "Materiaboll",
|
||||
"item.appliedenergistics2.matter_cannon": "Materiakanon",
|
||||
"item.appliedenergistics2.me_p2p_tunnel": "P2P-tunnel för ME",
|
||||
"item.appliedenergistics2.memory_card": "Minneskort",
|
||||
"item.appliedenergistics2.monitor": "Ljus upplyst panel",
|
||||
"item.appliedenergistics2.name_press": "Namnpressform",
|
||||
"item.appliedenergistics2.nether_quartz_axe": "Netherkvartsyxa",
|
||||
"item.appliedenergistics2.nether_quartz_cutting_knife": "Netherkvartskniv",
|
||||
"item.appliedenergistics2.nether_quartz_dust": "Netherkvartsdamm",
|
||||
"item.appliedenergistics2.nether_quartz_hoe": "Netherkvartsflåhacka",
|
||||
"item.appliedenergistics2.nether_quartz_pickaxe": "Netherkvartshacka",
|
||||
"item.appliedenergistics2.nether_quartz_seed": "Netherkvartsfrö",
|
||||
"item.appliedenergistics2.nether_quartz_shovel": "Netherkvartsspade",
|
||||
"item.appliedenergistics2.nether_quartz_sword": "Netherkvartssvärd",
|
||||
"item.appliedenergistics2.nether_quartz_wrench": "Netherkvartsblocknyckel",
|
||||
"item.appliedenergistics2.network_tool": "Nätverksverktyg",
|
||||
"item.appliedenergistics2.orange_covered_cable": "Orange täckt ME-kabel",
|
||||
"item.appliedenergistics2.orange_covered_dense_cable": "Orange kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.orange_glass_cable": "Orange smart ME-kabel",
|
||||
"item.appliedenergistics2.orange_lumen_paint_ball": "Orange lumenfärgboll",
|
||||
"item.appliedenergistics2.orange_paint_ball": "Orange färgboll",
|
||||
"item.appliedenergistics2.orange_smart_cable": "Orange smart ME-kabel",
|
||||
"item.appliedenergistics2.orange_smart_dense_cable": "Orange kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.pattern_terminal": "ME-mönsterterminal",
|
||||
"item.appliedenergistics2.pink_covered_cable": "Rosa täckt ME-kabel",
|
||||
"item.appliedenergistics2.pink_covered_dense_cable": "Rosa kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.pink_glass_cable": "Rosa ME-glaskabel",
|
||||
"item.appliedenergistics2.pink_lumen_paint_ball": "Rosa lumenfärgboll",
|
||||
"item.appliedenergistics2.pink_paint_ball": "Rosa färgboll",
|
||||
"item.appliedenergistics2.pink_smart_cable": "Rosa smart ME-kabel",
|
||||
"item.appliedenergistics2.pink_smart_dense_cable": "Rosa kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.portable_cell": "Portabel cell",
|
||||
"item.appliedenergistics2.purified_certus_quartz_crystal": "Ren certuskvartskristall",
|
||||
"item.appliedenergistics2.purified_fluix_crystal": "Ren fluixkristall",
|
||||
"item.appliedenergistics2.purified_nether_quartz_crystal": "Ren netherkvartskristall",
|
||||
"item.appliedenergistics2.purple_covered_cable": "Lila täckt ME-kabel",
|
||||
"item.appliedenergistics2.purple_covered_dense_cable": "Lila kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.purple_glass_cable": "Lila ME-glaskabel",
|
||||
"item.appliedenergistics2.purple_lumen_paint_ball": "Lila lumenfärgboll",
|
||||
"item.appliedenergistics2.purple_paint_ball": "Lila färgboll",
|
||||
"item.appliedenergistics2.purple_smart_cable": "Lila smart ME-kabel",
|
||||
"item.appliedenergistics2.purple_smart_dense_cable": "Lila kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.quantum_entangled_singularity": "Kvantumbunden singularitet",
|
||||
"item.appliedenergistics2.quartz_fiber": "Kvartsfiber",
|
||||
"item.appliedenergistics2.red_covered_cable": "Röd täckt ME-kabel",
|
||||
"item.appliedenergistics2.red_covered_dense_cable": "Röd kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.red_glass_cable": "Röd ME-glaskabel",
|
||||
"item.appliedenergistics2.red_lumen_paint_ball": "Röd lumenfärgboll",
|
||||
"item.appliedenergistics2.red_paint_ball": "Röd färgboll",
|
||||
"item.appliedenergistics2.red_smart_cable": "Röd smart ME-kabel",
|
||||
"item.appliedenergistics2.red_smart_dense_cable": "Röd kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.redstone_card": "Redstonekort",
|
||||
"item.appliedenergistics2.redstone_p2p_tunnel": "P2P-tunnel för redstone",
|
||||
"item.appliedenergistics2.semi_dark_monitor": "Upplyst panel",
|
||||
"item.appliedenergistics2.silicon": "Silikon",
|
||||
"item.appliedenergistics2.silicon_press": "Silikonpressform",
|
||||
"item.appliedenergistics2.printed_silicon": "Pressat silikon",
|
||||
"item.appliedenergistics2.singularity": "Singularitet",
|
||||
"item.appliedenergistics2.sky_dust": "Himmelstensdamm",
|
||||
"item.appliedenergistics2.128_cubed_spatial_cell_component": "Spatial komponent (128³)",
|
||||
"item.appliedenergistics2.16_cubed_spatial_cell_component": "Spatial komponent (16³)",
|
||||
"item.appliedenergistics2.2_cubed_spatial_cell_component": "Spatial komponent (2³)",
|
||||
"item.appliedenergistics2.128_cubed_spatial_storage_cell": "Spatial lagringscell (128³)",
|
||||
"item.appliedenergistics2.16_cubed_spatial_storage_cell": "Spatial lagringscell (16³)",
|
||||
"item.appliedenergistics2.2_cubed_spatial_storage_cell": "Spatial lagringscell (2³)",
|
||||
"item.appliedenergistics2.speed_card": "Accelereringskort",
|
||||
"item.appliedenergistics2.storage_bus": "ME-lagringsbuss",
|
||||
"item.appliedenergistics2.16k_storage_cell": "ME-lagringscell (16k)",
|
||||
"item.appliedenergistics2.1k_storage_cell": "ME-lagringscell (1k)",
|
||||
"item.appliedenergistics2.4k_storage_cell": "ME-lagringscell (4k)",
|
||||
"item.appliedenergistics2.64k_storage_cell": "ME-lagringscell (64k)",
|
||||
"item.appliedenergistics2.storage_monitor": "ME-lagringsskärm",
|
||||
"item.appliedenergistics2.terminal": "ME-terminal",
|
||||
"item.appliedenergistics2.toggle_bus": "ME-strömbrytarbuss",
|
||||
"item.appliedenergistics2.view_cell": "Visningscell",
|
||||
"item.appliedenergistics2.white_covered_cable": "Vit täckt ME-kabel",
|
||||
"item.appliedenergistics2.white_covered_dense_cable": "Vit kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.white_glass_cable": "Vit ME-glaskabel",
|
||||
"item.appliedenergistics2.white_lumen_paint_ball": "Vit lumenfärgboll",
|
||||
"item.appliedenergistics2.white_paint_ball": "Vit färgboll",
|
||||
"item.appliedenergistics2.white_smart_cable": "Vit smart ME-kabel",
|
||||
"item.appliedenergistics2.white_smart_dense_cable": "Vit kompakt smart ME-kabel",
|
||||
"item.appliedenergistics2.wireless_booster": "Trådlös förstärkning",
|
||||
"item.appliedenergistics2.wireless_receiver": "Trådlös mottagare",
|
||||
"item.appliedenergistics2.wireless_terminal": "Trådlös terminal",
|
||||
"item.appliedenergistics2.wooden_gear": "Träkugghjul",
|
||||
"item.appliedenergistics2.yellow_covered_cable": "Gul täckt ME-kabel",
|
||||
"item.appliedenergistics2.yellow_covered_dense_cable": "Gul kompakt täckt ME-kabel",
|
||||
"item.appliedenergistics2.yellow_glass_cable": "Gul ME-glaskabel",
|
||||
"item.appliedenergistics2.yellow_lumen_paint_ball": "Gul lumenfärgboll",
|
||||
"item.appliedenergistics2.yellow_paint_ball": "Gul färgboll",
|
||||
"item.appliedenergistics2.yellow_smart_cable": "Gul smart ME-kabel",
|
||||
"item.appliedenergistics2.yellow_smart_dense_cable": "Gul kompakt smart ME-kabel",
|
||||
"itemGroup.appliedenergistics2": "Applied Energistics 2",
|
||||
"itemGroup.appliedenergistics2.facades": "Applied Energistics 2 - Fasader",
|
||||
"key.appliedenergistics2.category": "Applied Energistics 2",
|
||||
"key.toggle_focus.desc": "Växla fokus för sökfältet",
|
||||
"stat.appliedenergistics2.items_extracted": "Extraherade föremål från ME-lagringar",
|
||||
"stat.appliedenergistics2.items_inserted": "Inmatade föremål i ME-lagringar",
|
||||
"stat.appliedenergistics2.turned_cranks": "Vridna vevar",
|
||||
"theoneprobe.appliedenergistics2.channels": "%1$d av %2$d kanaler",
|
||||
"theoneprobe.appliedenergistics2.contains": "Innehåller",
|
||||
"theoneprobe.appliedenergistics2.crafting": "Tillverkar: %1$s",
|
||||
"theoneprobe.appliedenergistics2.device_missing_channel": "Enheten saknar kanal",
|
||||
"theoneprobe.appliedenergistics2.device_offline": "Enheten är frånkopplad",
|
||||
"theoneprobe.appliedenergistics2.device_online": "Enheten är uppkopplad",
|
||||
"theoneprobe.appliedenergistics2.locked": "Låst",
|
||||
"theoneprobe.appliedenergistics2.p2p_frequency": "Frekvens: %1$s",
|
||||
"theoneprobe.appliedenergistics2.p2p_input_many_outputs": "Länkad (inmatningssida) - %d utmatningar",
|
||||
"theoneprobe.appliedenergistics2.p2p_input_one_output": "Länkad (inmatningssida)",
|
||||
"theoneprobe.appliedenergistics2.p2p_output": "Länkad (utmatningssida)",
|
||||
"theoneprobe.appliedenergistics2.p2p_unlinked": "Olänkad",
|
||||
"theoneprobe.appliedenergistics2.showing": "Visas",
|
||||
"theoneprobe.appliedenergistics2.stored_energy": "%1$d / %2$d",
|
||||
"theoneprobe.appliedenergistics2.unlocked": "Upplåst",
|
||||
"waila.appliedenergistics2.Channels": "%1$d av %2$d kanaler",
|
||||
"waila.appliedenergistics2.Contains": "Innehåller",
|
||||
"waila.appliedenergistics2.Crafting": "Tillverkning",
|
||||
"waila.appliedenergistics2.DeviceMissingChannel": "Enheten saknar kanal",
|
||||
"waila.appliedenergistics2.DeviceOffline": "Enheten är frånkopplad",
|
||||
"waila.appliedenergistics2.DeviceOnline": "Enheten är uppkopplad",
|
||||
"waila.appliedenergistics2.Locked": "Låst",
|
||||
"waila.appliedenergistics2.P2PInputManyOutputs": "Länkad (inmatningssida) - %d utmatningar",
|
||||
"waila.appliedenergistics2.P2PInputOneOutput": "Länkad (inmatningssida)",
|
||||
"waila.appliedenergistics2.P2POutput": "Länkad (utmatningssida)",
|
||||
"waila.appliedenergistics2.P2PUnlinked": "Olänkad",
|
||||
"waila.appliedenergistics2.Showing": "Visas",
|
||||
"waila.appliedenergistics2.Unlocked": "Upplåst"
|
||||
}
|
||||
Reference in New Issue
Block a user