Compare commits

...
12 Commits
Author SHA1 Message Date
Martin RobertzandPilzinsel64 985b0f18a5 Prevent ghostloading (#116)
* prevent ghostloading by MEConduit

* prevent more ghostloading by MEConduit

* spottlessApply

* prevent ghostloading by ConduitUtil

---------

Co-authored-by: Pilzinsel64 <[email protected]>
2023-03-29 22:15:12 +02:00
D-Cysteine 4e40230bf3 Try to fix energy overflow (#114) 2023-03-29 17:25:43 +02:00
Pilzinsel64 76708883c0 needUpdateConnections only while updating cons (#113) 2023-03-23 21:12:11 +01:00
Pilzinsel64 0a1ee81780 Add comments for needUpdateConnections (#112)
* imrpove canConnectToExternal()

* needUpdateConnections

* add comments for needUpdateconnections
2023-03-23 06:46:13 +01:00
Pilzinsel64 1fd7ae7567 Improve canConnectToExternal() (#111)
* imrpove canConnectToExternal()

* needUpdateConnections
2023-03-22 23:43:32 +01:00
Pilzinsel64 251fcc26b0 Ultra Dense ME Conduits (#105)
* basic MEConduit DenseUltra implementation

* add assets for ME Conduit Dense Ultra

* fix icon array count

* fix previous commit

* finalize ultra dense me conduits

* add configu for Ultra Dense ME Conduits

* edit texture a little bit more

* adjust meConduitCoreDenseUltra.png

* fix enableMEUltraDenseConduits

* spottlessApply

* fix texture

* improve canConnectToExternal()
2023-03-19 10:35:42 +01:00
Pilzinsel64 b22915cc9c More German Translation (#110)
* more german translation

* fix crystalline pink slime missmatch
2023-03-12 11:19:10 +01:00
Pilzinsel64 0bf8d3f568 Revert "fix ME Conduits onChunkUnload (#107)" (#109)
This reverts commit 73cb43a761.
2023-03-05 18:05:17 +01:00
Pilzinsel64andglowredman 35e6667da5 Some more German translation (#108)
* some more German translation

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

* Update src/main/resources/assets/enderio/lang/de_DE.lang

Co-authored-by: glowredman <[email protected]>

---------

Co-authored-by: glowredman <[email protected]>
2023-03-05 13:31:55 +01:00
Pilzinsel64 73cb43a761 fix ME Conduits onChunkUnload (#107) 2023-03-05 11:10:11 +01:00
miozune d32a8e88a3 Fix mouse wheel with lwjgl3 (#106)
* Fix mouse wheel with lwjgl3

* updateBuildScript, revert dependency change
2023-03-04 16:15:11 +01:00
Glease 447450d541 fix item conduit settings not sent to server (#103) 2023-03-02 12:08:53 +01:00
23 changed files with 324 additions and 48 deletions

No files matched your search

-4
View File
@@ -18,9 +18,5 @@ end_of_line = crlf
[*.{dtd,json,info,mcmeta,md,sh,svg,xml,xsd,xsl,yaml,yml}]
indent_size = 2
[*.java]
indent_size = 2
ij_java_space_before_if_parentheses = false
[*.lang]
trim_trailing_whitespace = false
+5 -4
View File
@@ -1,4 +1,4 @@
//version: 1677142954
//version: 1677938302
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
@@ -695,13 +695,13 @@ ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies"
}
dependencies {
def lwjgl3ifyVersion = '1.1.28'
def lwjgl3ifyVersion = '1.1.35'
def asmVersion = '9.4'
if (modId != 'lwjgl3ify') {
java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}")
}
if (modId != 'hodgepodge') {
java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.0.35')
java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.0.40')
}
java17PatchDependencies('net.minecraft:launchwrapper:1.15') {transitive = false}
@@ -718,8 +718,8 @@ dependencies {
ext.java17JvmArgs = [
// Java 9+ support
"--illegal-access=warn",
"-Dfile.encoding=UTF-8",
"-Djava.security.manager=allow",
"-Dfile.encoding=UTF-8",
"--add-opens", "java.base/jdk.internal.loader=ALL-UNNAMED",
"--add-opens", "java.base/java.net=ALL-UNNAMED",
"--add-opens", "java.base/java.nio=ALL-UNNAMED",
@@ -730,6 +730,7 @@ ext.java17JvmArgs = [
"--add-opens", "java.base/java.util=ALL-UNNAMED",
"--add-opens", "java.base/jdk.internal.reflect=ALL-UNNAMED",
"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED",
"--add-opens", "jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED,java.naming",
"--add-opens", "java.desktop/sun.awt.image=ALL-UNNAMED",
"--add-modules", "jdk.dynalink",
"--add-opens", "jdk.dynalink/jdk.dynalink.beans=ALL-UNNAMED",
@@ -206,6 +206,8 @@ public class EnderIO {
public static final Lang lang = new Lang("enderio");
public static final boolean hasLwjgl3 = Loader.isModLoaded("lwjgl3ify");
// Materials
public static ItemCapacitor itemBasicCapacitor;
public static ItemAlloy itemAlloy;
@@ -84,6 +84,18 @@ public abstract class AbstractConduit implements IConduit {
protected boolean connectionsDirty = true;
/**
* This shows if the currently running connection update should not finish with settings connectionsDirty to false.
* If this is true, it will trigger a reconnection on the next Tick.
* <p>
* Use the method needUpdateConnections() instead of setting this to true.
*
* @see needUpdateConnections()
*/
private boolean needUpdateConnections = false;
private boolean isUpdatingConnections = false;
protected AbstractConduit() {}
@Override
@@ -434,10 +446,13 @@ public abstract class AbstractConduit implements IConduit {
}
private void updateConnections() {
if (!connectionsDirty) {
if (!connectionsDirty && !needUpdateConnections) {
return;
}
isUpdatingConnections = true;
needUpdateConnections = false;
boolean externalConnectionsChanged = false;
List<ForgeDirection> copy = new ArrayList<ForgeDirection>(externalConnections);
// remove any no longer valid connections
@@ -462,6 +477,21 @@ public abstract class AbstractConduit implements IConduit {
}
connectionsDirty = false;
isUpdatingConnections = false;
}
/**
* This method prevents connection update from getting completed successfully by not settings connectionsDirty to
* false. This will trigger an connection update at the next Tick.
* <p>
* Only use this while executing updateConnections().
* <p>
* See this PR for more info: https://github.com/GTNewHorizons/EnderIO/pull/111
*/
protected void needUpdateConnections() {
if (isUpdatingConnections) {
needUpdateConnections = true;
}
}
@Override
@@ -682,6 +682,11 @@ public class ConduitRecipes {
addShaped(res.copy(), "bbb", "fqf", "bbb", 'b', conduitBinder, 'f', pureFluix, 'q', quartzFiber);
res.stackSize = 1;
addShaped(new ItemStack(EnderIO.itemMEConduit, 1, 1), "bCb", "CbC", "bCb", 'b', conduitBinder, 'C', res);
ItemStack resDense = new ItemStack(EnderIO.itemMEConduit, 1, 1);
ItemStack resUltra = new ItemStack(EnderIO.itemMEConduit, 1, 2);
addShaped(resDense, "bCb", "CbC", "bCb", 'b', conduitBinder, 'C', res);
if (Config.enableMEUltraDenseConduits) {
addShaped(resUltra, "bCb", "CbC", "bCb", 'b', conduitBinder, 'C', resDense);
}
}
}
@@ -248,7 +248,7 @@ public class ConduitUtil {
public static <T extends IConduit> Collection<T> getConnectedConduits(World world, int x, int y, int z,
Class<T> type) {
TileEntity te = world.getTileEntity(x, y, z);
TileEntity te = world.blockExists(x, y, z) ? world.getTileEntity(x, y, z) : null;
if (!(te instanceof IConduitBundle)) {
return Collections.emptyList();
}
@@ -25,6 +25,7 @@ import crazypants.enderio.conduit.gui.GuiExternalConnection;
import crazypants.enderio.conduit.item.IItemConduit;
import crazypants.enderio.conduit.item.filter.IItemFilter;
import crazypants.enderio.conduit.packet.PacketExtractMode;
import crazypants.enderio.conduit.packet.PacketItemConduitFilter;
import crazypants.enderio.gui.IconEIO;
import crazypants.enderio.gui.RedstoneModeButton;
import crazypants.enderio.machine.IRedstoneModeControlable;
@@ -212,9 +213,12 @@ public class ItemSettings extends BaseSettingsPanel {
} else if (guiButton.id == ID_EXTRACT_CHANNEL) {
DyeColor col = DyeColor.fromIndex(extractChannelB.getColorIndex());
itemConduit.setInputColor(gui.getDir(), col);
} else {
if (insertFilterGui != null) insertFilterGui.actionPerformed(guiButton);
if (extractFilterGui != null) extractFilterGui.actionPerformed(guiButton);
return;
}
if (insertFilterGui != null) insertFilterGui.actionPerformed(guiButton);
if (extractFilterGui != null) extractFilterGui.actionPerformed(guiButton);
PacketHandler.INSTANCE.sendToServer(new PacketItemConduitFilter(itemConduit, gui.getDir()));
}
@Override
@@ -14,5 +14,7 @@ public interface IMEConduit extends IConduit {
boolean isDense();
boolean isDenseUltra();
int getChannelsInUse();
}
@@ -15,7 +15,8 @@ public class ItemMEConduit extends AbstractItemConduit {
private static ItemConduitSubtype[] subtypes = new ItemConduitSubtype[] {
new ItemConduitSubtype(ModObject.itemMEConduit.name(), "enderio:itemMeConduit"),
new ItemConduitSubtype(ModObject.itemMEConduit.name() + "Dense", "enderio:itemMeConduitDense") };
new ItemConduitSubtype(ModObject.itemMEConduit.name() + "Dense", "enderio:itemMeConduitDense"),
new ItemConduitSubtype(ModObject.itemMEConduit.name() + "DenseUltra", "enderio:itemMeConduitDenseUltra") };
public static ItemMEConduit create() {
ItemMEConduit result = new ItemMEConduit();
@@ -13,6 +13,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.AEApi;
import appeng.api.networking.GridFlags;
import appeng.api.networking.IGridConnection;
import appeng.api.networking.IGridHost;
import appeng.api.networking.IGridNode;
@@ -44,6 +45,7 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
public static IIcon[] longTextures;
private boolean isDense;
private boolean isDenseUltra;
private int playerID = -1;
public MEConduit() {
@@ -51,6 +53,7 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
}
public MEConduit(int itemDamage) {
isDenseUltra = itemDamage == 2;
isDense = itemDamage == 1;
}
@@ -59,14 +62,16 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
@Override
public void registerIcons(IIconRegister register) {
coreTextures = new IIcon[2];
longTextures = new IIcon[2];
coreTextures = new IIcon[3];
longTextures = new IIcon[3];
coreTextures[0] = register.registerIcon(EnderIO.DOMAIN + ":meConduitCore");
coreTextures[1] = register.registerIcon(EnderIO.DOMAIN + ":meConduitCoreDense");
coreTextures[2] = register.registerIcon(EnderIO.DOMAIN + ":meConduitCoreDenseUltra");
longTextures[0] = register.registerIcon(EnderIO.DOMAIN + ":meConduit");
longTextures[1] = register.registerIcon(EnderIO.DOMAIN + ":meConduitDense");
longTextures[2] = register.registerIcon(EnderIO.DOMAIN + ":meConduitDenseUltra");
}
@Override
@@ -76,8 +81,14 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
});
}
public static int getDamageForState(boolean isDense) {
return isDense ? 1 : 0;
public static int getDamageForState(boolean isDense, boolean isDenseUltra) {
if (isDenseUltra) {
return 2;
}
if (isDense) {
return 1;
}
return 0;
}
@Override
@@ -87,7 +98,7 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
@Override
public ItemStack createItem() {
return new ItemStack(EnderIO.itemMEConduit, 1, getDamageForState(isDense));
return new ItemStack(EnderIO.itemMEConduit, 1, getDamageForState(isDense, isDenseUltra));
}
@Override
@@ -105,6 +116,7 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
public void writeToNBT(NBTTagCompound nbtRoot) {
super.writeToNBT(nbtRoot);
nbtRoot.setBoolean("isDense", isDense);
nbtRoot.setBoolean("isDenseUltra", isDenseUltra);
nbtRoot.setInteger("playerID", playerID);
}
@@ -117,6 +129,9 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
} else {
playerID = -1;
}
if (nbtRoot.hasKey("isDenseUltra")) {
isDenseUltra = nbtRoot.getBoolean("isDenseUltra");
}
}
public void setPlayerID(int playerID) {
@@ -140,7 +155,16 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
public boolean canConnectToExternal(ForgeDirection dir, boolean ignoreDisabled) {
World world = getBundle().getWorld();
BlockCoord pos = getLocation();
TileEntity te = world.getTileEntity(pos.x + dir.offsetX, pos.y + dir.offsetY, pos.z + dir.offsetZ);
final int exactPosX = pos.x + dir.offsetX;
final int exactPosY = pos.y + dir.offsetY;
final int exactPosZ = pos.z + dir.offsetZ;
if (!world.blockExists(exactPosX, exactPosY, exactPosZ)) {
return false;
}
TileEntity te = world.getTileEntity(exactPosX, exactPosY, exactPosZ);
if (te instanceof TileConduitBundle) {
return false;
@@ -148,26 +172,44 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
// because the AE2 API doesn't allow an easy query like "which side can connect to an ME cable" it needs this
// mess
IGridNode node = null;
if (te instanceof IPartHost) {
IPart part = ((IPartHost) te).getPart(dir.getOpposite());
if (part == null) {
part = ((IPartHost) te).getPart(ForgeDirection.UNKNOWN);
return part != null;
}
if (part.getExternalFacingNode() != null) {
return true;
if (part != null) {
node = part.getExternalFacingNode();
if (node == null) {
node = part.getGridNode();
}
if (node == null) {
// The GridNode has not been initialized yet, let's try on the next Tick.
needUpdateConnections();
}
}
String name = part.getClass().getSimpleName();
return "PartP2PTunnelME".equals(name) || "PartQuartzFiber".endsWith(name)
|| "PartToggleBus".equals(name)
|| "PartInvertedToggleBus".equals(name);
} else if (te instanceof IGridHost) {
IGridNode node = ((IGridHost) te).getGridNode(dir.getOpposite());
node = ((IGridHost) te).getGridNode(dir.getOpposite());
if (node == null) {
node = ((IGridHost) te).getGridNode(ForgeDirection.UNKNOWN);
}
if (node != null) {
return node.getGridBlock().getConnectableSides().contains(dir.getOpposite());
}
if (node != null) {
return canConnectToGridNode(node, dir);
}
return false;
}
@Method(modid = "appliedenergistics2")
private Boolean canConnectToGridNode(IGridNode node, ForgeDirection dir) {
if (node.getGridBlock().getConnectableSides().contains(dir.getOpposite())) {
if (isDenseUltra()) {
return node.hasFlag(GridFlags.ULTRA_DENSE_CAPACITY)
|| ((node.hasFlag(GridFlags.DENSE_CAPACITY)) && !node.hasFlag(GridFlags.CANNOT_CARRY));
} else if (isDense()) {
return true;
} else {
return !node.hasFlag(GridFlags.ULTRA_DENSE_CAPACITY);
}
}
return false;
@@ -175,7 +217,7 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
@Override
public IIcon getTextureForState(CollidableComponent component) {
int state = getDamageForState(isDense);
int state = getDamageForState(isDense, isDenseUltra);
if (component.dir == ForgeDirection.UNKNOWN) {
return coreTextures[state];
} else {
@@ -272,7 +314,11 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
private void onNodeChanged(BlockCoord location) {
World world = getBundle().getWorld();
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
TileEntity te = location.getLocation(dir).getTileEntity(world);
BlockCoord dirLocation = location.getLocation(dir);
TileEntity te = null;
if (world.blockExists(dirLocation.x, dirLocation.y, dirLocation.z)) {
te = location.getLocation(dir).getTileEntity(world);
}
if (te != null && te instanceof IGridHost && !(te instanceof IConduitBundle)) {
IGridNode node = ((IGridHost) te).getGridNode(ForgeDirection.UNKNOWN);
if (node == null) {
@@ -288,7 +334,12 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
@Override
public void onAddedToBundle() {
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
TileEntity te = getLocation().getLocation(dir).getTileEntity(getBundle().getWorld());
World world = getBundle().getWorld();
BlockCoord dirLocation = getLocation().getLocation(dir);
TileEntity te = null;
if (world.blockExists(dirLocation.x, dirLocation.y, dirLocation.z)) {
te = dirLocation.getTileEntity(world);
}
if (te instanceof TileConduitBundle) {
IMEConduit cond = ((TileConduitBundle) te).getConduit(IMEConduit.class);
if (cond != null) {
@@ -343,4 +394,9 @@ public class MEConduit extends AbstractConduit implements IMEConduit {
public boolean isDense() {
return isDense;
}
@Override
public boolean isDenseUltra() {
return isDenseUltra;
}
}
@@ -43,7 +43,13 @@ public class MEConduitGrid implements IGridBlock {
@Override
public EnumSet<GridFlags> getFlags() {
return conduit.isDense() ? EnumSet.of(GridFlags.DENSE_CAPACITY) : EnumSet.noneOf(GridFlags.class);
if (conduit.isDenseUltra()) {
return EnumSet.of(GridFlags.ULTRA_DENSE_CAPACITY);
}
if (conduit.isDense()) {
return EnumSet.of(GridFlags.DENSE_CAPACITY);
}
return EnumSet.noneOf(GridFlags.class);
}
@Override
@@ -438,6 +438,7 @@ public final class Config {
public static boolean isGasConduitEnabled = true;
public static boolean enableMEConduits = true;
public static boolean enableMEUltraDenseConduits = false;
public static boolean enableOCConduits = true;
public static boolean enableOCConduitsAnimatedTexture = true;
@@ -2298,6 +2299,11 @@ public final class Config {
sectionItems.name,
enableMEConduits,
"Allows ME conduits. Only has an effect with AE2 installed.");
enableMEUltraDenseConduits = config.getBoolean(
"enableMEUltraDenseConduits",
sectionItems.name,
enableMEUltraDenseConduits,
"Allows ME Ultra Dense conduits. Only has an effect with AE2 installed.");
enableOCConduits = config.getBoolean(
"enableOCConduits",
sectionItems.name,
@@ -17,6 +17,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
@@ -180,7 +181,11 @@ public class GuiEnderface extends GuiScreen {
}
}
distance -= Mouse.getDWheel() * 0.01;
int wheelD = Mouse.getEventDWheel();
if (!EnderIO.hasLwjgl3) {
wheelD = MathHelper.clamp_int(wheelD, -1, 1);
}
distance -= wheelD;
distance = VecmathUtil.clamp(distance, 0.1, 20);
long elapsed = EnderIO.proxy.getTickCount() - initTime;
@@ -17,6 +17,7 @@ import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
@@ -156,7 +157,11 @@ public class IoConfigRenderer {
}
}
distance -= Mouse.getEventDWheel() * 0.01;
int wheelD = Mouse.getEventDWheel();
if (!EnderIO.hasLwjgl3) {
wheelD = MathHelper.clamp_int(wheelD, -1, 1);
}
distance -= wheelD;
distance = VecmathUtil.clamp(distance, 0.01, 200);
long elapsed = System.currentTimeMillis() - initTime;
@@ -131,6 +131,10 @@ public class ItemMagnet extends ItemEnergyContainer implements IResourceTooltipP
@Override
public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) {
if (maxReceive < 0) {
return 0;
}
int res = super.receiveEnergy(container, maxReceive, simulate);
if (res != 0 && !simulate) {
updateDamage(container);
@@ -148,6 +152,10 @@ public class ItemMagnet extends ItemEnergyContainer implements IResourceTooltipP
}
public int extractEnergyInternal(ItemStack container, int maxExtract, boolean simulate) {
if (maxExtract < 0) {
return 0;
}
int res = super.extractEnergy(container, maxExtract, simulate);
if (res != 0 && !simulate) {
updateDamage(container);
@@ -67,6 +67,12 @@ public class ItemTeleportStaff extends ItemTravelStaff {
return equipped;
}
@Override
public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) {
// Don't allow receiving energy, since we have infinite energy.
return 0;
}
@Override
public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) {
// Don't allow extracting energy.
@@ -103,6 +103,10 @@ public class ItemTravelStaff extends ItemEnergyContainer implements IItemOfTrave
@Override
public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) {
if (maxReceive < 0) {
return 0;
}
int res = super.receiveEnergy(container, maxReceive, simulate);
if (res != 0 && !simulate) {
updateDamage(container);
@@ -112,6 +116,10 @@ public class ItemTravelStaff extends ItemEnergyContainer implements IItemOfTrave
@Override
public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) {
if (maxExtract < 0) {
return 0;
}
int res = super.extractEnergy(container, maxExtract, simulate);
if (res != 0 && !simulate) {
updateDamage(container);
@@ -353,13 +353,14 @@ public class WailaCompat implements IWailaDataProvider {
} else if (itemStack.getItem() == EnderIO.itemMEConduit) {
NBTTagCompound nbtRoot = _accessor.getNBTData();
if (nbtRoot.hasKey("isDense")) {
boolean isDenseUltra = nbtRoot.getBoolean("isDenseUltra");
boolean isDense = nbtRoot.getBoolean("isDense");
int channelsInUse = nbtRoot.getInteger("channelsInUse");
currenttip.add(
MessageFormat.format(
EnderIO.lang.localize("itemMEConduit.channelsUsed"),
channelsInUse,
isDense ? 32 : 8));
isDenseUltra ? 128 : (isDense ? 32 : 8)));
}
}
}
@@ -395,6 +396,7 @@ public class WailaCompat implements IWailaDataProvider {
if (mec != null) {
tag.setInteger("channelsInUse", mec.getChannelsInUse());
tag.setBoolean("isDense", mec.isDense());
tag.setBoolean("isDenseUltra", mec.isDenseUltra());
}
} else if (te instanceof IInternalPoweredTile) {
IInternalPoweredTile ipte = (IInternalPoweredTile) te;
+143 -11
View File
@@ -33,6 +33,19 @@ enderio.itemPowerConduit.name=Energieleitung
enderio.itemPowerConduitEnhanced.name=Verbesserte Energieleitung
enderio.itemPowerConduitEnder.name=Ender-Energieleitung
enderio.itemPowerConduitEndergyCrude.name=Lehm-Energieleitung
enderio.itemPowerConduitEndergyIron.name=Eisen-Energieleitung
enderio.itemPowerConduitEndergyAluminum.name=Aluminium-Energieleitung
enderio.itemPowerConduitEndergyGold.name=Gold-Energieleitung
enderio.itemPowerConduitEndergyCopper.name=Kupfer-Energieleitung
enderio.itemPowerConduitEndergySilver.name=Silber-Energieleitung
enderio.itemPowerConduitEndergyElectrum.name=Elektrum-Energieleitung
enderio.itemPowerConduitEndergyEnergeticSilver.name=Elektrisches Silber-Energieleitung
enderio.itemPowerConduitEndergyCrystalline.name=Kristallin-Energieleitung
enderio.itemPowerConduitEndergyCrystallinePinkSlime.name=Kristalliner Rosa Schleim Energieleitung
enderio.itemPowerConduitEndergyMelodic.name=Melodische Energieleitung
enderio.itemPowerConduitEndergyStellar.name=Hervorragende Energieleitung
enderio.itemRedstoneConduit.name=Redstone-Leitung
enderio.itemRedstoneConduitSwitch.name=Leitungsschalter
enderio.itemRedstoneConduitInsulated.name=Isolierte Redstone-Leitung
@@ -40,12 +53,10 @@ enderio.itemRedstoneConduitInsulated.name=Isolierte Redstone-Leitung
enderio.itemLiquidConduit.name=Flüssigkeitsleitung
enderio.itemLiquidConduitAdvanced.name=Flüssigkeitsdruckleitung
enderio.itemLiquidConduitEnder.name=Ender-Flüssigkeitsleitung
# BEGIN needs translation
enderio.itemLiquidConduitCrystallineEnder.name=Crystalline Ender Fluid Conduit
enderio.itemLiquidConduitCrystallinePinkSlimeEnder.name=Crystalline Pink Slime Ender Fluid Conduit
enderio.itemLiquidConduitMelodicEnder.name=Melodic Ender Fluid Conduit
enderio.itemLiquidConduitStellarEnder.name=Stellar Ender Fluid Conduit
# END needs translation
enderio.itemLiquidConduitCrystallineEnder.name=Kristallin-Flüssigkeitsdruckleitung
enderio.itemLiquidConduitCrystallinePinkSlimeEnder.name=Kristalliner Rosa Schleim Flüssigkeitsdruckleitung
enderio.itemLiquidConduitMelodicEnder.name=Melodische Flüssigkeitsdruckleitung
enderio.itemLiquidConduitStellarEnder.name=Hervorragende Flüssigkeitsdruckleitung
enderio.itemLiquidConduit.lockedType=Flüssigkeitstyp gebunden an
enderio.itemLiquidConduit.unlockedType=Flüssigkeitstyp nicht mehr gebunden
enderio.itemLiquidConduit.lockedWaila=Festgelegt auf
@@ -119,6 +130,7 @@ enderio.itemGasConduit.tooltip.detailed.line1=Transportiert Mekanism-kompatible
enderio.itemMEConduit.name=ME-Leitung
enderio.itemMEConduitDense.name=Dichte ME-Leitung
enderio.itemMEConduitDenseUltra.name=Extrem Dichte ME-Leitungen
enderio.itemMEConduit.channelsUsed={0,number} von {1,number} Kanälen
enderio.itemOCConduit.name=Netzwerkleitung (OC)
@@ -218,6 +230,42 @@ enderio.phasedIron.name=Pulsierendes Eisen
enderio.vibrantNugget.name=Dynamischer Nugget
enderio.darkSteel.name=Dunkelstahl
enderio.soularium.name=Soularium
enderio.endSteel.name=End-Stahl
enderio.endSteelNugget.name=End-Stahl-Nugget
enderio.crudeSteel.name=Lehmzusammensetzung
enderio.crystallineAlloy.name=Kristallin-Legierung
enderio.melodicAlloy.name=Melodische Legierung
enderio.stellarAlloy.name=Hervorragende Legierung
enderio.crystallinePinkSlime.name=Kristalliner Rosa Schleim
enderio.energeticSilver.name=Energetisches Silber
enderio.vividAlloy.name=Lebendige Legierung
enderio.crudeSteelGrindingBall.name=Mahlwerkkugel aus Lehmzusammensetzung
enderio.crystallineAlloyGrindingBall.name=Mahlwerkkugel aus Kristallin-Legierung
enderio.melodicAlloyGrindingBall.name=Mahlwerkkugel aus Melodischer Legierung
enderio.stellarAlloyGrindingBall.name=Mahlwerkkugel aus Hervorragender Legierung
enderio.crystallinePinkSlimeGrindingBall.name=Mahlwerkkugel aus Kristallinem Rosa Schleim
enderio.energeticSilverGrindingBall.name=Mahlwerkkugel aus Energetischem Silber
enderio.vividAlloyGrindingBall.name=Mahlwerkkugel aus Lebendiger Legierung
enderio.precientCrystal.name=Vorausschauender Kristall
enderio.pulsatingPowder.name=Körner der Piezalität
enderio.vibrantPowder.name=Körner der Lebendigkeit
enderio.enderCrystalPowder.name=Körner des Ends
enderio.precientPowder.name=Körner der Voraussicht
#Balls
enderio.electricalSteel_ball.name=Ball aus Elektrischem Stahl
enderio.energeticAlloy_ball.name=Ball aus Energetisierter Ligierung
enderio.phasedGold_ball.name=Ball aus Dynamischer Legierung
enderio.redstoneAlloy_ball.name=Ball aus Redstone-Legierung
enderio.conductiveIron_ball.name=Ball aus Leitendem Eisen
enderio.phasedIron_ball.name=Ball aus Pulsierendem Eisen
enderio.vibrantNugget_ball.name=Ball aus Dynamischen Nuggets
enderio.darkSteel_ball.name=Ball aus Dunkelstahl
enderio.soularium_ball.name=Ball aus Soularium
enderio.endSteel_ball.name=Ball aus End-Stahl
tile.blockIngotStorage.name=Barrenspeicher
tile.enderio.electricalSteel.name=Block aus Elektrischem Stahl
@@ -245,6 +293,13 @@ enderio.itemBasicCapacitor.name=Kondensator
enderio.basicCapacitor.name=Basiskondensator
enderio.activatedCapacitor.name=Doppelschichtkondensator
enderio.enderCapacitor.name=Oktadischer Kondensator
enderio.crystallineCapacitor.name=Kristallin-Kondensator
enderio.melodicCapacitor.name=Melodischer Kondensator
enderio.stellarCapacitor.name=Hervorragende Kondensator
enderio.silverCapacitor.name=Silber-Kondensator
enderio.endergeticCapacitor.name=Energetischer Kondensator
enderio.endergisedCapacitor.name=Energetisierter Kondensator
enderio.totemicCapacitor.name=Totemischer Kondensator
enderio.machine.tooltip.upgrade=Maschinen-Upgrade
enderio.machine.tooltip.upgrade.tooltip.detailed.line1=Erhöht Energiespeicher sowie
@@ -403,6 +458,16 @@ tile.blockZombieGenerator.tooltip.detailed.line2=um Energie zu erzeugen
enderio.zombieGenerator.fuelTank=Nahrhafter Tank
enderio.gui.fluid.minReq=%s benötigt für die Aktivierung
tile.blockFrankenzombieGenerator.name=Frank'N'Zombie-Generator
tile.blockFrankenzombieGenerator.tooltip.detailed.line1=Konsumiert Nahrhaftes Destillat,
tile.blockFrankenzombieGenerator.tooltip.detailed.line2=um Energie zu erzeugen
enderio.frankenzombieGenerator.fuelTank=Nahrhafter Tank
tile.blockEnderGenerator.name=Ender-Generator
tile.blockEnderGenerator.tooltip.detailed.line1=Konsumiert Tau des Voids,
tile.blockEnderGenerator.tooltip.detailed.line2=um Energie zu erzeugen
enderio.enderGenerator.fuelTank=Leere-Tank
tile.blockKillerJoe.name=Killer Joe
tile.blockKillerJoe.tooltip.detailed.line1=Attackiert nahe Mobs und Spieler,
tile.blockKillerJoe.tooltip.detailed.line2=wenn mit einem Schwert und
@@ -613,6 +678,12 @@ item.itemTravelStaff.tooltip.detailed.line4=<shift><r-click> wird den Spieler ei
item.itemTravelStaff.tooltip.detailed.line5=kurze Distanz teleportieren
enderio.itemTravelStaff.notEnoughPower=Nicht genügend Energie
item.itemTeleportStaff.name=Stab der Teleportation
item.itemTeleportStaff.tooltip.detailed.line1=Rechtsklick, um zu teleportieren, wohin auch immer du schaust
item.itemTeleportStaff.tooltip.detailed.line2=Shift-Rechtsklick, um zu Reiseankern zu telportieren
item.itemTeleportStaff.tooltip.detailed.line3=Rechtsklick auf einen benachbarten Block, um zu versuchen
item.itemTeleportStaff.tooltip.detailed.line4=zur anderen Seite zu teleportieren
item.itemCoordSelector.name=Koordinatenselektor
item.itemCoordSelector.tooltip.detailed.line1=Speichert die Koordinaten eines Blocks.
item.itemCoordSelector.tooltip.detailed.line2=Rechts-Klick auf Block um den
@@ -689,6 +760,8 @@ skullZombieController.name=Z-Logik-Controller
skullZombieFrankenstien.name=Frank'N'Zombie
skullEnderResonator.name=Enderresonator
skullSentientEnder.name=Empfindsamer Ender
skullSkeletalContractor.name=Skelettunternehmer
skullGuardianDiode.name=Wächterdiode
item.itemSpawnEggEnderIO.name=Spawn
@@ -702,19 +775,55 @@ item.darkSteel_pickaxe.name=Dunkelspitzhacke
item.darkSteel_axe.name=Dunkelaxt
item.darkSteel_shears.name=Dunkelschere
#End Steel
item.endSteel_helmet.name=Endstahl-Helm
item.endSteel_chestplate.name=Endstahl-Brustpanzer
item.endSteel_leggings.name=Endstahl-Beinschutz
item.endSteel_boots.name=Endstahl-Stiefel
item.endSteel_sword.name=Endstahl-Schwert
item.endSteel_pickaxe.name=Endstahl-Spitzhacke
item.endSteel_axe.name=Endstahl-Axt
#Stellar
item.stellar_helmet.name=Hervorragender Helm
item.stellar_chestplate.name=Hervorragender Brustpanzer
item.stellar_leggings.name=Hervorragender Beinschutz
item.stellar_boots.name=Hervorragende Stiefel
item.stellar_sword.name=Hervorragendes Schwert
item.stellar_pickaxe.name=Hervorragende Spitzhacke
item.stellar_axe.name=Hervorragende Axt
enderio.item.darkSteel.tooltip.lvs=Level
enderio.item.darkSteel_pickaxe.tooltip.effPowered=Effizienz, wenn aktiviert
enderio.item.darkSteel_pickaxe.tooltip.effObs=Effizienz baut Obsidian ab
enderio.item.darkSteel_pickaxe.tooltip.cost=Kosten
enderio.item.endSteel_pickaxe.tooltip.effPowered=Effizienz, wenn aktiviert
enderio.item.endSteel_pickaxe.tooltip.effObs=Effizienz baut Obsidian ab
enderio.item.endSteel_pickaxe.tooltip.cost=Kosten
enderio.item.stellar_pickaxe.tooltip.effPowered=Effizienz, wenn aktiviert
enderio.item.stellar_pickaxe.tooltip.effObs=Effizienz baut Obsidian ab
enderio.item.stellar_pickaxe.tooltip.cost=Kosten
enderio.item.darkSteel_axe.tooltip.multiHarvest=Schleiche, um mehr Holz auf einmal abzubauen
enderio.item.endSteel_axe.tooltip.multiHarvest=Schleiche, um mehr Holz auf einmal abzubauen
enderio.item.stellar_axe.tooltip.multiHarvest=Schleiche, um mehr Holz auf einmal abzubauen
enderio.item.darkSteel_shears.tooltip.multiHarvest=Schert mehrere Blöcke/Schafe wenn verstärkt
enderio.item.darkSteel_sword.tooltip.line1=Erhöht Schädel- und Enderperlen-Drops.
enderio.item.darkSteel_sword.tooltip.line2=Endermen können sich nach einem Treffer nicht mehr teleportieren.
enderio.item.darkSteel_sword.tooltip.line3=+1 Schaden, wenn aktiviert
enderio.item.darkSteel_sword.tooltip.line3=+2 Schaden, wenn aktiviert
enderio.item.endSteel_sword.tooltip.line1=Erhöht Schädel- und Enderperlen-Drops
enderio.item.endSteel_sword.tooltip.line2=Endermen können sich nach einem Treffer nicht mehr teleportieren.
enderio.item.endSteel_sword.tooltip.line3=+2 Schaden, wenn aktiviert
enderio.item.stellar_sword.tooltip.line1=Erhöht Schädel- und Enderperlen-Drops
enderio.item.stellar_sword.tooltip.line2=Endermen können sich nach einem Treffer nicht mehr teleportieren.
enderio.item.stellar_sword.tooltip.line3=+2 Schaden, wenn aktiviert
enderio.item.darkSteel_armor.tooltip.line1=Schutz auf Diamant-Level,
enderio.item.darkSteel_armor.tooltip.line2=wenn mit Energie versorgt
@@ -722,26 +831,43 @@ enderio.item.darkSteel_armor.tooltip.line2=wenn mit Energie versorgt
enderio.item.darkSteel_boots.tooltip.line1=Negiert Fallschaden,
enderio.item.darkSteel_boots.tooltip.line2=wenn mit Energie versorgt
enderio.item.stellar_armor.tooltip.line1=Schutz auf Diamant-Level+,
enderio.item.stellar_armor.tooltip.line2=wenn mit Energie versorgt
enderio.item.darkSteel_boots.tooltip.line1=Fallschaden negiert,
enderio.item.darkSteel_boots.tooltip.line2=wenn mit Energie versorgt
enderio.item.endSteel_boots.tooltip.line1=Fallschaden negiert,
enderio.item.endSteel_boots.tooltip.line2=wenn mit Energie versorgt
enderio.item.stellar_boots.tooltip.line1=Fallschaden negiert,
enderio.item.stellar_boots.tooltip.line2=wenn mit Energie versorgt
enderio.darksteel.upgrade.empowered_one.name=Verstärkt
enderio.darksteel.upgrade.empowered_one.tooltip.detailed.line1=Energie: $P
enderio.darksteel.upgrade.empowered_one.tooltip.detailed.line2=Hälfte des Haltbarkeitsschadens
enderio.darksteel.upgrade.empowered_one.tooltip.detailed.line2=$D% des Haltbarkeitsschaden
enderio.darksteel.upgrade.empowered_one.tooltip.detailed.line3=von Energie absorbiert
enderio.darksteel.upgrade.empowered_two.name=Verstärkt II
enderio.darksteel.upgrade.empowered_two.tooltip.detailed.line1=Energie: $P
enderio.darksteel.upgrade.empowered_two.tooltip.detailed.line2=Hälfte des Haltbarkeitsschadens
enderio.darksteel.upgrade.empowered_two.tooltip.detailed.line2=$D% des Haltbarkeitsschaden
enderio.darksteel.upgrade.empowered_two.tooltip.detailed.line3=von Energie absorbiert
enderio.darksteel.upgrade.empowered_three.name=Verstärkt III
enderio.darksteel.upgrade.empowered_three.tooltip.detailed.line1=Energie: $P
enderio.darksteel.upgrade.empowered_three.tooltip.detailed.line2=Hälfte des Haltbarkeitsschadens
enderio.darksteel.upgrade.empowered_three.tooltip.detailed.line2=$D% des Haltbarkeitsschaden
enderio.darksteel.upgrade.empowered_three.tooltip.detailed.line3=von Energie absorbiert
enderio.darksteel.upgrade.empowered_four.name=Verstärkt IV
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line1=Energie: $P
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line2=Hälfte des Haltbarkeitsschadens
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line2=$D% des Haltbarkeitsschaden
enderio.darksteel.upgrade.empowered_four.tooltip.detailed.line3=von Energie absorbiert
enderio.darksteel.upgrade.empowered_five.name=Verstärkt V
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line1=Energie: $P
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line2=$D% des Haltbarkeitsschaden
enderio.darksteel.upgrade.empowered_five.tooltip.detailed.line3=von Energie absorbiert
enderio.darksteel.upgrade.travel.name=Reise
enderio.darksteel.upgrade.travel.tooltip.detailed.line1=Halte Shift und Rechts-Klick zum Teleportieren,
enderio.darksteel.upgrade.travel.tooltip.detailed.line2=oder aktiviere einen Reiseanker oder Ender-IO
@@ -825,6 +951,9 @@ enderio.darksteel.upgrade.solar_one.tooltip.detailed.line1=Generiert Energie aus
enderio.darksteel.upgrade.solar_two.name=Solar II
enderio.darksteel.upgrade.solar_two.tooltip.detailed.line1=Generiert Energie von der Sonne.
enderio.darksteel.upgrade.solar_three.name=Solar III
enderio.darksteel.upgrade.solar_three.tooltip.detailed.line1=Generiert Energie von der Sonne.
#------GUI
enderio.gui.simple.in=Max. Ein:
@@ -985,6 +1114,9 @@ enderio.gui.travelAccessable.ok=Autorisieren
enderio.gui.travelAccessable.skipLocked=Überspringe abgeschlossene Anker, benutzte gezielten Teleport.
enderio.gui.travelAccessable.skipObstructed=Überspringe versperrte Anker.
enderio.gui.travelAccessable.skipPrivate=Überspringe private Anker.
enderio.gui.travelAccessable.tooltip.visible=Sicherbarkeit
enderio.gui.travelAccessable.tooltip.visible.desc1=Wenn deaktiviert kannst du diesen Block von anderen Blöcken aus nicht sehen.
enderio.gui.travelAccessable.tooltip.visible.desc2=Nützlich für Aufzüge.
enderio.gui.telepad.configure.travel=Reiseeinstellungen
enderio.gui.telepad.configure.telepad=Telepad-Einstellungen
@@ -131,6 +131,7 @@ enderio.itemGasConduit.tooltip.detailed.line1=Transfers Mekanism-compatible gase
enderio.itemMEConduit.name=ME Conduit
enderio.itemMEConduitDense.name=Dense ME Conduit
enderio.itemMEConduitDenseUltra.name=Ultra Dense ME Conduit
enderio.itemMEConduit.channelsUsed={0,number} of {1,number} Channels
enderio.itemOCConduit.name=Network Conduit (OC)
Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB