Skip to content

Commit

Permalink
Revert "feat: ✨ Battery upgrade now pushes energy to attached cables …
Browse files Browse the repository at this point in the history
…in addition to allowing it to be pulled from the battery. Closes #406"

This reverts commit a27b434.
  • Loading branch information
P3pp3rF1y committed Feb 5, 2022
1 parent a27b434 commit 3c4be6a
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 41 deletions.
5 changes: 2 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,15 @@ dependencies {
//runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}")
compileOnly fg.deobf("curse.maven:craftingtweaks-233071:${crafting_tweaks_cf_file_id}")
compileOnly fg.deobf("curse.maven:balm-531761:${balm_cf_file_id}")
runtimeOnly fg.deobf("curse.maven:craftingtweaks-233071:${crafting_tweaks_cf_file_id}")
runtimeOnly fg.deobf("curse.maven:balm-531761:${balm_cf_file_id}")
//runtimeOnly fg.deobf("curse.maven:craftingtweaks-233071:${crafting_tweaks_cf_file_id}")
//runtimeOnly fg.deobf("curse.maven:balm-531761:${balm_cf_file_id}")

//runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.5-1.6.115")
//runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.5-3.1.0.242")
//runtimeOnly fg.deobf("curse.maven:mgui-351914:3291267")
//runtimeOnly fg.deobf("curse.maven:tetra-289712:3371803")
//runtimeOnly fg.deobf("curse.maven:invtweaks-383070:3102237")
//runtimeOnly fg.deobf("curse.maven:mekanism-268560:3206392")
runtimeOnly fg.deobf("curse.maven:immersiveengineering-231951:3587149")
}

test {
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
org.gradle.daemon=false
minecraft_version=1.18.1
forge_version=39.0.44
mod_version=3.15.5
mod_version=3.15.4
jei_mc_version=1.18.1
jei_version=9.1.0.+
curios_version=1.18-5.0.2.3
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.p3pp3rf1y.sophisticatedcore.upgrades.battery;

import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
Expand All @@ -15,25 +14,18 @@
import net.p3pp3rf1y.sophisticatedcore.upgrades.ITickableUpgrade;
import net.p3pp3rf1y.sophisticatedcore.upgrades.UpgradeWrapperBase;
import net.p3pp3rf1y.sophisticatedcore.util.NBTHelper;
import net.p3pp3rf1y.sophisticatedcore.util.WorldHelper;

import javax.annotation.Nullable;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer;

public class BatteryUpgradeWrapper extends UpgradeWrapperBase<BatteryUpgradeWrapper, BatteryUpgradeItem>
implements IRenderedBatteryUpgrade, IEnergyStorage, ITickableUpgrade, IStackableContentsUpgrade {
public static final int INPUT_SLOT = 0;
public static final int OUTPUT_SLOT = 1;
public static final String ENERGY_STORED_TAG = "energyStored";
private static final int CACHE_COOLDOWN = 40;

private Consumer<BatteryRenderInfo> updateTankRenderInfoCallback;
private final ItemStackHandler inventory;
private int energyStored;
private final Set<Direction> energyStorageDirections = new HashSet<>();
private long nextCacheTime = 0;

protected BatteryUpgradeWrapper(IStorageWrapper storageWrapper, ItemStack upgrade, Consumer<ItemStack> upgradeSaveHandler) {
super(storageWrapper, upgrade, upgradeSaveHandler);
Expand Down Expand Up @@ -159,39 +151,10 @@ public void tick(@Nullable LivingEntity entity, Level world, BlockPos pos) {

if (energyStored > 0) {
inventory.getStackInSlot(OUTPUT_SLOT).getCapability(CapabilityEnergy.ENERGY).ifPresent(this::extractToStorage);

if (entity == null) {
transferToAttachedEnergyStorage(world, pos);
}
}
}

private void transferToAttachedEnergyStorage(Level world, BlockPos pos) {
if (nextCacheTime <= world.getGameTime()) {
nextCacheTime = world.getGameTime() + CACHE_COOLDOWN;
energyStorageDirections.clear();
for (Direction dir : Direction.values()) {
BlockPos offsetPos = pos.offset(dir.getNormal());
WorldHelper.getBlockEntity(world, offsetPos).ifPresent(be -> be.getCapability(CapabilityEnergy.ENERGY, dir.getOpposite())
.ifPresent(energyStorage -> {
energyStorageDirections.add(dir);
extractToStorage(energyStorage);
}));
}
} else {
for (Direction dir : energyStorageDirections) {
BlockPos offsetPos = pos.offset(dir.getNormal());
WorldHelper.getBlockEntity(world, offsetPos).ifPresent(be -> be.getCapability(CapabilityEnergy.ENERGY, dir.getOpposite())
.ifPresent(this::extractToStorage));
}
}
}

private void extractToStorage(IEnergyStorage energyStorage) {
if (!energyStorage.canReceive()) {
return;
}

int toExtract = innerExtractEnergy(getMaxInOut(), true);
if (toExtract > 0) {
toExtract = energyStorage.receiveEnergy(toExtract, true);
Expand Down

0 comments on commit 3c4be6a

Please sign in to comment.