Maybe fixed the last of the energy transmission issues?

This commit is contained in:
malte0811 2018-04-02 18:12:01 +02:00
parent b7bc55a0a9
commit 184d12b7cb
10 changed files with 296 additions and 170 deletions

View file

@ -210,47 +210,34 @@ public class TileEntityMultiblockConverter extends TileEntityIWMultiblock implem
}
}
private double transferElectric(int[] section, double[] available, Waveform[] availableWf, Waveform waveform, double[] requested,
boolean simulate) {
//return value is maximized to choose the waveform to use
private double transferElectric(int[] section, double[] available, Waveform[] availableWf, Waveform waveform,
double[] requested, boolean simulate) {
double totalAvailable = 0;
double totalRequested = 0;
for (int i = 0; i < available.length; i++) {
if (availableWf[i].equals(waveform)) {
totalAvailable += available[i];
} else {
available[i] = 0;
}
totalRequested += requested[i];
}
if (totalAvailable==0) {
return 0;
}
double transferred = 0;
double extractFactor = Math.min(1, totalRequested / totalAvailable);
double insertFactor = Math.min(1, totalAvailable / totalRequested);
double totalTransf = 0;
for (int i = section[0]; i < section[1]; i++) {
int i0 = i - section[0];
if (requested[i0] > 0 && totalAvailable != available[i0]) {
double otherAvailable = totalAvailable - available[i0];
double ins = Math.min(requested[i0], otherAvailable);
double extractFactor = ins / otherAvailable;
if (!simulate) {
IMBPartElectric electricalComp = ((IMBPartElectric) mechanical[i]);
electricalComp.insertEEnergy(ins, waveform, energyState);
}
for (int j = section[0]; j < section[1]; j++) {
if (i != j && availableWf[j-section[0]] == waveform) {
double extractRaw = extractFactor * available[j - section[0]];
available[j - section[0]] -= extractRaw;
if (!simulate) {
IMBPartElectric compJ = (IMBPartElectric) mechanical[j];
compJ.extractEEnergy(extractRaw);
}
}
}
totalAvailable -= ins;
transferred += ins;
} else if (!simulate) {
((IMBPartElectric)mechanical[i]).insertEEnergy(0, waveform, energyState);//Notify of possible waveform changes
double ins = requested[i0] * insertFactor;
double extr = available[i0] * extractFactor;
if (!simulate) {
IMBPartElectric electric = (IMBPartElectric) mechanical[i];
electric.insertEEnergy(ins, waveform, energyState);
electric.extractEEnergy(extr);
}
totalTransf += Math.abs(ins-extr);
}
return transferred;
return totalTransf;
}
@Override

View file

@ -76,7 +76,6 @@ public class TileRenderMBConverter extends TileEntitySpecialRenderer<TileEntityM
TES_WITH_MODELS.add(te);
}
GlStateManager.enableBlend();
//GlStateManager.disableCull();
GlStateManager.blendFunc(770, 771);
RenderHelper.disableStandardItemLighting();
Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
@ -89,7 +88,6 @@ public class TileRenderMBConverter extends TileEntitySpecialRenderer<TileEntityM
Tessellator tes = Tessellator.getInstance();
BufferBuilder bb = tes.getBuffer();
bb.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
//TODO fix that and probably remove the AT entry
ClientUtils.renderModelTESRFast(te.rotatingModel, bb, te.getWorld(), te.getPos());
tes.draw();
GlStateManager.popMatrix();

View file

@ -109,7 +109,7 @@ public class MechPartCommutator extends MechMBPart implements IMBPartElectric {
public double getOfferedEnergy() {
if (wfToWorld.isDC()) {
return Math.min(ConversionUtil.euPerJoule()*bufferToWorld,
ConversionUtil.euPerJoule()*getMaxBuffer()/getEnergyConnections().size()*2);
ConversionUtil.euPerJoule()*getMaxBuffer())/getEnergyConnections().size()*2;
}
return 0;
}

View file

@ -1 +0,0 @@
public net.minecraft.client.renderer.BlockModelRenderer func_187496_a(Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/math/BlockPos;IZLnet/minecraft/client/renderer/BufferBuilder;Ljava/util/List;Ljava/util/BitSet;)V #renderQuadsFlat

View file

@ -1,10 +1,2 @@
# Blender MTL File: 'RotaryConverter.blend'
# Material Count: 1
newmtl None
Ns 0
Ka 0.000000 0.000000 0.000000
Kd 0.8 0.8 0.8
Ks 0.8 0.8 0.8
d 1
illum 2
map_Ka industrialwires:blocks/converter/electrodes

View file

@ -2,22 +2,14 @@
# www.blender.org
mtllib four_electrodes.mtl
o Electrodes4_Cube.010
v 0.406250 0.500000 0.862500
v 0.406250 0.750000 0.862500
v 0.406250 0.500000 0.737500
v 0.406250 0.750000 0.737500
v 0.593750 0.500000 0.862500
v 0.593750 0.750000 0.862500
v 0.593750 0.500000 0.737500
v 0.593750 0.750000 0.737500
v 0.406250 0.500000 0.262500
v 0.406250 0.750000 0.262500
v 0.406250 0.500000 0.137500
v 0.406250 0.750000 0.137500
v 0.593750 0.500000 0.262500
v 0.593750 0.750000 0.262500
v 0.593750 0.500000 0.137500
v 0.593750 0.750000 0.137500
v 0.406250 0.500000 0.187500
v 0.406250 0.750000 0.187500
v 0.406250 0.500000 0.062500
v 0.406250 0.750000 0.062500
v 0.593750 0.500000 0.187500
v 0.593750 0.750000 0.187500
v 0.593750 0.500000 0.062500
v 0.593750 0.750000 0.062500
v -1.000000 0.750000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 0.750000 0.000000
@ -42,22 +34,190 @@ v -0.500000 -1.000000 1.000000
v -0.500000 0.750000 1.000000
v -0.500000 -1.000000 0.000000
v -0.500000 0.750000 0.000000
v 0.406250 0.500000 0.462500
v 0.406250 0.750000 0.462500
v 0.406250 0.500000 0.337500
v 0.406250 0.750000 0.337500
v 0.593750 0.500000 0.462500
v 0.593750 0.750000 0.462500
v 0.593750 0.500000 0.337500
v 0.593750 0.750000 0.337500
v 0.406250 0.500000 0.662500
v 0.406250 0.750000 0.662500
v 0.406250 0.500000 0.537500
v 0.406250 0.750000 0.537500
v 0.593750 0.500000 0.662500
v 0.593750 0.750000 0.662500
v 0.593750 0.500000 0.537500
v 0.593750 0.750000 0.537500
v -1.000000 0.000000 1.000000
v -1.000000 0.000000 0.000000
v 2.000000 0.000000 0.000000
v 2.000000 0.000000 1.000000
v 0.406250 0.500000 0.437500
v 0.406250 0.750000 0.437500
v 0.406250 0.500000 0.312500
v 0.406250 0.750000 0.312500
v 0.593750 0.500000 0.437500
v 0.593750 0.750000 0.437500
v 0.593750 0.500000 0.312500
v 0.593750 0.750000 0.312500
v 0.406250 0.500000 0.687500
v 0.406250 0.750000 0.687500
v 0.406250 0.500000 0.562500
v 0.406250 0.750000 0.562500
v 0.593750 0.500000 0.687500
v 0.593750 0.750000 0.687500
v 0.593750 0.500000 0.562500
v 0.593750 0.750000 0.562500
v 0.406250 0.500000 0.937500
v 0.406250 0.750000 0.937500
v 0.406250 0.500000 0.812500
v 0.406250 0.750000 0.812500
v 0.593750 0.500000 0.937500
v 0.593750 0.750000 0.937500
v 0.593750 0.500000 0.812500
v 0.593750 0.750000 0.812500
vt 0.104167 0.666667
vt -0.000000 0.666667
vt 0.000000 0.625000
vt 0.104167 0.625000
vt 0.333333 0.604167
vt 0.333333 0.666667
vt 0.229167 0.666667
vt 0.229167 0.604167
vt 0.104167 0.625000
vt 0.000000 0.625000
vt 0.000000 0.583333
vt 0.104167 0.583333
vt 0.333333 0.645833
vt 0.229167 0.645833
vt 0.229167 0.583333
vt 0.333333 0.583333
vt 0.270833 0.625000
vt 0.333333 0.625000
vt 0.333333 0.666667
vt 0.270833 0.666667
vt 0.416667 1.000000
vt 0.333333 1.000000
vt 0.333333 0.666667
vt 0.416667 0.666667
vt 1.000000 0.416667
vt 1.000000 0.500000
vt -0.000000 0.500000
vt 0.000000 0.416667
vt 0.416667 1.000000
vt 0.333333 1.000000
vt 0.333333 0.666667
vt 0.416667 0.666667
vt 0.000000 0.416667
vt -0.000000 0.333333
vt 1.000000 0.333333
vt 1.000000 0.416667
vt 1.000000 0.333333
vt -0.000000 0.333333
vt -0.000000 0.000000
vt 1.000000 -0.000000
vt -0.000000 -0.000000
vt 1.000000 0.000000
vt 0.416667 0.312500
vt 1.000000 0.312500
vt 1.000000 0.666667
vt 0.416667 0.666667
vt 1.000000 0.500000
vt 0.416667 0.500000
vt 0.416667 0.666667
vt 1.000000 0.666667
vt 0.666667 1.000000
vt 0.333333 1.000000
vt 0.333333 0.666667
vt 0.666667 0.666667
vt 1.000000 0.500000
vt 1.000000 0.333333
vt 0.416667 0.333333
vt 0.416667 0.500000
vt 0.711111 0.800000
vt 0.622222 0.800000
vt 0.622222 0.533333
vt 0.711111 0.533333
vt 0.711111 0.533333
vt 0.800000 0.533333
vt 0.800000 0.800000
vt 0.711111 0.800000
vt 0.666667 1.000000
vt 0.333333 1.000000
vt 0.333333 0.666667
vt 0.666667 0.666667
vt 0.416667 0.333333
vt 0.416667 0.500000
vt 1.000000 0.500000
vt 1.000000 0.333333
vt 1.000000 0.666667
vt 0.416667 0.666667
vt 0.416667 0.312500
vt 1.000000 0.312500
vt 1.000000 0.500000
vt 0.416667 0.500000
vt 0.533333 0.533333
vt 0.622222 0.533333
vt 0.622222 0.800000
vt 0.533333 0.800000
vt 0.766667 0.000000
vt 0.855556 0.000000
vt 0.855556 0.266667
vt 0.766667 0.266667
vt 0.666667 0.666667
vt 0.666667 1.000000
vt 0.416667 1.000000
vt 0.416667 0.666667
vt 0.666667 0.666667
vt 0.666667 1.000000
vt 0.416667 1.000000
vt 0.416667 0.666667
vt 0.104167 0.666667
vt -0.000000 0.666667
vt 0.000000 0.625000
vt 0.104167 0.625000
vt 0.333333 0.604167
vt 0.333333 0.666667
vt 0.229167 0.666667
vt 0.229167 0.604167
vt 0.104167 0.625000
vt 0.000000 0.625000
vt 0.000000 0.583333
vt 0.104167 0.583333
vt 0.333333 0.645833
vt 0.229167 0.645833
vt 0.229167 0.583333
vt 0.333333 0.583333
vt 0.270833 0.625000
vt 0.333333 0.625000
vt 0.333333 0.666667
vt 0.270833 0.666667
vt 0.104167 0.666667
vt -0.000000 0.666667
vt 0.000000 0.625000
vt 0.104167 0.625000
vt 0.333333 0.604167
vt 0.333333 0.666667
vt 0.229167 0.666667
vt 0.229167 0.604167
vt 0.104167 0.625000
vt 0.000000 0.625000
vt 0.000000 0.583333
vt 0.104167 0.583333
vt 0.333333 0.645833
vt 0.229167 0.645833
vt 0.229167 0.583333
vt 0.333333 0.583333
vt 0.270833 0.625000
vt 0.333333 0.625000
vt 0.333333 0.666667
vt 0.270833 0.666667
vt 0.104167 0.666667
vt -0.000000 0.666667
vt 0.000000 0.625000
vt 0.104167 0.625000
vt 0.333333 0.604167
vt 0.333333 0.666667
vt 0.229167 0.666667
vt 0.229167 0.604167
vt 0.104167 0.625000
vt 0.000000 0.625000
vt 0.000000 0.583333
vt 0.104167 0.583333
vt 0.333333 0.645833
vt 0.229167 0.645833
vt 0.229167 0.583333
vt 0.333333 0.583333
vt 0.270833 0.625000
vt 0.333333 0.625000
vt 0.333333 0.666667
vt 0.270833 0.666667
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
@ -66,45 +226,43 @@ vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl None
s off
f 1//1 2//1 4//1 3//1
f 3//2 4//2 8//2 7//2
f 7//3 8//3 6//3 5//3
f 5//4 6//4 2//4 1//4
f 3//5 7//5 5//5 1//5
f 8//6 4//6 2//6 6//6
f 9//1 10//1 12//1 11//1
f 11//2 12//2 16//2 15//2
f 15//3 16//3 14//3 13//3
f 13//4 14//4 10//4 9//4
f 11//5 15//5 13//5 9//5
f 16//6 12//6 10//6 14//6
f 17//1 18//1 20//1 19//1
f 19//2 20//2 24//2 23//2
f 23//3 24//3 22//3 21//3
f 21//4 22//4 18//4 17//4
f 19//5 23//5 21//5 17//5
f 24//6 20//6 18//6 22//6
f 25//1 26//1 28//1 27//1
f 27//2 28//2 32//2 31//2
f 31//3 32//3 30//3 29//3
f 29//4 30//4 26//4 25//4
f 27//5 31//5 29//5 25//5
f 32//6 28//6 26//6 30//6
f 33//1 34//1 36//1 35//1
f 35//2 36//2 40//2 39//2
f 39//3 40//3 38//3 37//3
f 37//4 38//4 34//4 33//4
f 35//5 39//5 37//5 33//5
f 40//6 36//6 34//6 38//6
f 41//1 42//1 44//1 43//1
f 43//2 44//2 48//2 47//2
f 47//3 48//3 46//3 45//3
f 45//4 46//4 42//4 41//4
f 43//5 47//5 45//5 41//5
f 48//6 44//6 42//6 46//6
f 49//1 50//1 52//1 51//1
f 51//2 52//2 56//2 55//2
f 55//3 56//3 54//3 53//3
f 53//4 54//4 50//4 49//4
f 51//5 55//5 53//5 49//5
f 56//6 52//6 50//6 54//6
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 3/17/5 7/18/5 5/19/5 1/20/5
f 9/21/1 10/22/1 12/23/1 11/24/1
f 11/25/2 12/26/2 16/27/2 15/28/2
f 15/29/3 16/30/3 14/31/3 13/32/3
f 13/33/4 14/34/4 10/35/4 9/36/4
f 11/37/5 15/38/5 13/39/5 9/40/5
f 16/41/6 12/42/6 10/35/6 14/34/6
f 17/43/1 18/44/1 20/45/1 19/46/1
f 18/47/4 17/48/4 21/49/4 22/50/4
f 23/51/3 35/52/3 36/53/3 21/54/3
f 30/55/4 26/56/4 25/57/4 29/58/4
f 19/59/5 23/60/5 21/61/5 17/62/5
f 24/63/6 20/64/6 18/65/6 22/66/6
f 25/67/1 33/68/1 34/69/1 27/70/1
f 20/71/2 24/72/2 23/73/2 19/74/2
f 31/75/3 32/76/3 30/77/3 29/78/3
f 31/75/2 27/79/2 28/80/2 32/76/2
f 27/81/5 31/82/5 29/83/5 25/84/5
f 32/85/6 28/86/6 26/87/6 30/88/6
f 34/89/1 33/90/1 26/91/1 28/92/1
f 36/93/3 35/94/3 24/95/3 22/96/3
f 37/97/1 38/98/1 40/99/1 39/100/1
f 39/101/2 40/102/2 44/103/2 43/104/2
f 43/105/3 44/106/3 42/107/3 41/108/3
f 41/109/4 42/110/4 38/111/4 37/112/4
f 39/113/5 43/114/5 41/115/5 37/116/5
f 45/117/1 46/118/1 48/119/1 47/120/1
f 47/121/2 48/122/2 52/123/2 51/124/2
f 51/125/3 52/126/3 50/127/3 49/128/3
f 49/129/4 50/130/4 46/131/4 45/132/4
f 47/133/5 51/134/5 49/135/5 45/136/5
f 53/137/1 54/138/1 56/139/1 55/140/1
f 55/141/2 56/142/2 60/143/2 59/144/2
f 59/145/3 60/146/3 58/147/3 57/148/3
f 57/149/4 58/150/4 54/151/4 53/152/4
f 55/153/5 59/154/5 57/155/5 53/156/5

View file

@ -1,5 +1,2 @@
# Blender MTL File: 'RotaryConverter.blend'
# Material Count: 1
newmtl Material.002
map_Ka industrialwires:blocks/converter/mag_ring

View file

@ -73,10 +73,10 @@ vt 0.500000 0.015625
vt 0.703125 0.015625
vt 0.703125 0.218750
vt 0.500000 0.218750
vt 0.728554 0.375000
vt 0.815162 0.250000
vt 1.000000 0.460455
vt 0.875000 0.517540
vt 0.728553 0.375000
vt 0.785638 0.250000
vt 0.999999 0.464361
vt 0.874999 0.521447
vt 0.500000 0.218750
vt 0.296875 0.218750
vt 0.296875 0.015625
@ -89,14 +89,13 @@ vt 0.250000 0.015625
vt 0.546875 0.015625
vt 0.546875 0.234375
vt 0.250000 0.234375
vt 0.521447 0.375000
vt 0.521446 0.375000
vt 0.521447 0.250000
vt 0.375000 0.250000
vt 0.375000 0.521447
vt 0.250000 1.000000
vt 0.375000 1.000000
vt 0.375000 0.250000
vt 0.250000 0.250000
vt 0.374999 0.521447
vt 0.250000 0.250001
vt 0.375000 0.999999
vt 0.250000 0.999999
vt 0.250000 0.250000
vt 0.015625 0.250000
vt 0.015625 0.781250
@ -113,38 +112,34 @@ vt 0.250000 1.000000
vt 0.015625 1.000000
vt 0.015625 0.703125
vt 0.250000 0.703125
vt 0.875000 0.724647
vt 1.000000 0.781732
vt 0.815162 1.000000
vt 0.728554 0.875000
vt 0.521447 0.875000
vt 0.874999 0.728553
vt 0.999999 0.785639
vt 0.785638 1.000000
vt 0.728553 0.875000
vt 0.521446 0.875000
vt 0.521447 1.000000
vt 0.375000 0.728594
vt 0.375000 1.000000
vt 0.250000 0.250000
vt 0.374999 0.728553
vt 0.015625 0.250000
vt 0.015625 0.781250
vt 0.250000 0.781250
vt 0.375000 0.728594
vt 0.375000 0.728554
vt 0.521447 0.875000
vt 0.521447 1.000000
vt 0.375000 1.000000
vt 0.728554 0.875000
vt 0.815162 1.000000
vt 0.875000 0.724647
vt 1.000000 0.781732
vt 0.875000 0.517540
vt 1.000000 0.460455
vt 0.250000 1.000000
vt 0.375000 1.000000
vt 0.375000 0.250000
vt 0.250000 0.250000
vt 0.375000 0.250000
vt 0.521447 0.250000
vt 0.728553 0.875000
vt 0.785639 1.000000
vt 0.875000 0.728553
vt 1.000000 0.785639
vt 0.875000 0.521447
vt 1.000000 0.464361
vt 0.250000 0.250001
vt 0.375000 0.249999
vt 0.250000 0.999999
vt 0.521448 0.250000
vt 0.521447 0.375000
vt 0.375000 0.521447
vt 0.728554 0.375000
vt 0.815162 0.250000
vt 0.728553 0.375000
vt 0.785639 0.250000
vn 0.7071 0.7071 0.0000
vn -0.7071 -0.7071 -0.0000
vn -0.7071 0.7071 0.0000
@ -168,22 +163,22 @@ f 1/10/8 9/27/8 10/28/8 2/11/8
f 30/29/9 22/30/9 21/31/9 29/32/9
f 9/17/5 1/33/5 18/34/5 28/18/5
f 17/35/5 18/34/5 1/33/5 3/36/5
f 19/37/5 17/38/5 32/39/5 25/40/5
f 24/41/8 51/42/8 52/43/8 53/44/8
f 19/45/4 25/46/4 26/47/4 20/48/4
f 53/49/3 52/50/3 55/51/3 54/52/3
f 28/53/1 27/54/1 30/55/1 29/56/1
f 19/37/5 17/35/5 32/38/5 25/39/5
f 24/40/8 51/41/8 52/42/8 53/43/8
f 19/44/4 25/45/4 26/46/4 20/47/4
f 53/48/3 52/49/3 55/50/3 54/51/3
f 28/52/1 27/53/1 30/54/1 29/55/1
f 15/2/9 3/9/9 4/12/9 16/3/9
f 11/57/5 13/20/5 29/19/5 21/58/5
f 11/57/5 21/58/5 23/59/5 7/60/5
f 5/61/5 7/60/5 23/59/5 31/62/5
f 15/63/5 5/61/5 31/62/5 32/64/5
f 19/65/7 20/66/7 27/67/7 28/68/7
f 43/69/10 48/70/10 34/71/10 33/72/10
f 48/70/10 47/73/10 38/74/10 34/71/10
f 45/75/10 39/76/10 38/74/10 47/73/10
f 45/75/10 44/77/10 35/78/10 39/76/10
f 40/79/10 42/80/10 33/81/10 37/82/10
f 42/83/10 41/84/10 50/85/10 49/86/10
f 46/87/10 50/85/10 41/84/10 36/88/10
f 46/87/10 36/88/10 35/78/10 44/77/10
f 11/56/5 13/20/5 29/19/5 21/57/5
f 11/56/5 21/57/5 23/58/5 7/59/5
f 5/60/5 7/59/5 23/58/5 31/61/5
f 15/62/5 5/60/5 31/61/5 32/38/5
f 19/37/7 20/63/7 27/64/7 28/65/7
f 43/66/10 48/67/10 34/68/10 33/69/10
f 48/67/10 47/70/10 38/71/10 34/68/10
f 45/72/10 39/73/10 38/71/10 47/70/10
f 45/72/10 44/74/10 35/75/10 39/73/10
f 40/76/10 42/77/10 33/69/10 37/78/10
f 42/77/10 41/79/10 50/80/10 49/81/10
f 46/82/10 50/80/10 41/79/10 36/83/10
f 46/82/10 36/83/10 35/75/10 44/74/10

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 556 B