Add faster Acceleration Card to IO Ports for lategame cell handling (#218)

* Add upgraded Acceleration Card for use in IO Ports

* Update build.gradle

Co-authored-by: Martin Robertz <[email protected]>
This commit is contained in:
SampsaandMartin Robertz authored and GitHub committed 2022-12-29 20:23:39 +01:00
1 parent b556b0a335
commit d894375e00
12 files changed
+40 -4

No files matched your search

+1 -1
View File
@@ -45,7 +45,7 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11'
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.13'
}
}
plugins {
@@ -43,6 +43,7 @@ public enum Upgrades {
*/
FUZZY(1),
SPEED(1),
SUPERSPEED(1),
INVERTER(1),
PATTERN_CAPACITY(1),
ORE_FILTER(1);
@@ -85,6 +85,8 @@ public interface IMaterials {
IItemDefinition cardSpeed();
IItemDefinition cardSuperSpeed();
IItemDefinition cardCapacity();
IItemDefinition cardFuzzy();
@@ -88,6 +88,8 @@ public class Materials {
public AEItemDefinition materialCardSpeed;
public AEItemDefinition materialCardSuperSpeed;
public AEItemDefinition materialCardCapacity;
public AEItemDefinition materialCardFuzzy;
@@ -253,6 +253,7 @@ public final class Registration {
target.materialCardRedstone = this.converter.of(source.cardRedstone());
target.materialCardSpeed = this.converter.of(source.cardSpeed());
target.materialCardSpeed = this.converter.of(source.cardSuperSpeed());
target.materialCardCapacity = this.converter.of(source.cardCapacity());
target.materialCardFuzzy = this.converter.of(source.cardFuzzy());
target.materialCardInverter = this.converter.of(source.cardInverter());
@@ -574,6 +575,7 @@ public final class Registration {
// IO Port!
Upgrades.SPEED.registerItem(blocks.iOPort(), 3);
Upgrades.SUPERSPEED.registerItem(blocks.iOPort(), 3);
Upgrades.REDSTONE.registerItem(blocks.iOPort(), 1);
// Level Emitter!
@@ -67,6 +67,7 @@ public final class ApiMaterials implements IMaterials {
private final IItemDefinition cardRedstone;
private final IItemDefinition cardSpeed;
private final IItemDefinition cardSuperSpeed;
private final IItemDefinition cardCapacity;
private final IItemDefinition cardPatternCapacity;
private final IItemDefinition cardFuzzy;
@@ -157,6 +158,7 @@ public final class ApiMaterials implements IMaterials {
this.cardRedstone = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardRedstone));
this.cardSpeed = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardSpeed));
this.cardSuperSpeed = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardSuperSpeed));
this.cardCapacity = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardCapacity));
this.cardPatternCapacity =
new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardPatternCapacity));
@@ -345,6 +347,11 @@ public final class ApiMaterials implements IMaterials {
return this.cardSpeed;
}
@Override
public IItemDefinition cardSuperSpeed() {
return this.cardSuperSpeed;
}
@Override
public IItemDefinition cardCapacity() {
return this.cardCapacity;
@@ -143,6 +143,8 @@ public final class ItemMultiMaterial extends AEBaseItem implements IStorageCompo
return Upgrades.REDSTONE;
case CardSpeed:
return Upgrades.SPEED;
case CardSuperSpeed:
return Upgrades.SUPERSPEED;
case CardInverter:
return Upgrades.INVERTER;
case CardCrafting:
@@ -112,8 +112,8 @@ public enum MaterialType {
BlankPattern(52),
CardCrafting(53),
CardPatternCapacity(54),
CardOreFilter(55);
CardOreFilter(55),
CardSuperSpeed(56);
private final EnumSet<AEFeature> features;
// IIcon for the material.
@SideOnly(Side.CLIENT)
@@ -35,6 +35,7 @@ public abstract class UpgradeInventory extends AppEngInternalInventory implement
private boolean cached = false;
private int fuzzyUpgrades = 0;
private int speedUpgrades = 0;
private int superSpeedUpgrades = 0;
private int redstoneUpgrades = 0;
private int capacityUpgrades = 0;
private int inverterUpgrades = 0;
@@ -89,6 +90,8 @@ public abstract class UpgradeInventory extends AppEngInternalInventory implement
return this.redstoneUpgrades;
case SPEED:
return this.speedUpgrades;
case SUPERSPEED:
return this.superSpeedUpgrades;
case INVERTER:
return this.inverterUpgrades;
case CRAFTING:
@@ -105,7 +108,7 @@ public abstract class UpgradeInventory extends AppEngInternalInventory implement
private void updateUpgradeInfo() {
this.cached = true;
this.patternCapacityUpgrades = this.inverterUpgrades = this.capacityUpgrades = this.redstoneUpgrades =
this.speedUpgrades = this.fuzzyUpgrades = this.craftingUpgrades = this.oreFilterUpgrades = 0;
this.speedUpgrades = this.superSpeedUpgrades = this.fuzzyUpgrades = this.craftingUpgrades = this.oreFilterUpgrades = 0;
for (final ItemStack is : this) {
if (is == null || is.getItem() == null || !(is.getItem() instanceof IUpgradeModule)) {
@@ -129,6 +132,9 @@ public abstract class UpgradeInventory extends AppEngInternalInventory implement
case SPEED:
this.speedUpgrades++;
break;
case SUPERSPEED:
this.superSpeedUpgrades++;
break;
case INVERTER:
this.inverterUpgrades++;
break;
@@ -147,6 +153,7 @@ public abstract class UpgradeInventory extends AppEngInternalInventory implement
this.fuzzyUpgrades = Math.min(this.fuzzyUpgrades, this.getMaxInstalled(Upgrades.FUZZY));
this.redstoneUpgrades = Math.min(this.redstoneUpgrades, this.getMaxInstalled(Upgrades.REDSTONE));
this.speedUpgrades = Math.min(this.speedUpgrades, this.getMaxInstalled(Upgrades.SPEED));
this.superSpeedUpgrades = Math.min(this.superSpeedUpgrades, this.getMaxInstalled(Upgrades.SPEED));
this.inverterUpgrades = Math.min(this.inverterUpgrades, this.getMaxInstalled(Upgrades.INVERTER));
this.craftingUpgrades = Math.min(this.craftingUpgrades, this.getMaxInstalled(Upgrades.CRAFTING));
this.patternCapacityUpgrades =
@@ -300,6 +300,18 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
break;
}
switch (this.getInstalledUpgrades(Upgrades.SUPERSPEED)) {
case 1:
ItemsToMove *= 16;
break;
case 2:
ItemsToMove *= 128;
break;
case 3:
ItemsToMove *= 1024;
break;
}
try {
final IMEInventory<IAEItemStack> itemNet =
this.getProxy().getStorage().getItemInventory();
@@ -481,6 +481,7 @@ item.appliedenergistics2.ItemMaterial.CardFuzzy.name=Fuzzy Card
item.appliedenergistics2.ItemMaterial.CardInverter.name=Inverter Card
item.appliedenergistics2.ItemMaterial.CardRedstone.name=Redstone Card
item.appliedenergistics2.ItemMaterial.CardSpeed.name=Acceleration Card
item.appliedenergistics2.ItemMaterial.CardSuperSpeed.name=Hyper-Acceleration Card
item.appliedenergistics2.ItemMaterial.CardOreFilter.name=Oredictionary Filter Card
item.appliedenergistics2.ItemMaterial.Cell2SpatialPart.name=2³ Spatial Component
Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B