Skip to content

Commit

Permalink
Slower and Improved generation times (#240)
Browse files Browse the repository at this point in the history
  • Loading branch information
CommandrMoose authored May 2, 2024
1 parent 6ef8da1 commit 57349b5
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;
import whocraft.tardis_refined.TardisRefined;
Expand Down Expand Up @@ -34,6 +35,13 @@ public class Upgrades {
public static final RegistrySupplier<Upgrade> INSIDE_ARCHITECTURE = UPGRADE_DEFERRED_REGISTRY.register("inside_architecture", () -> new Upgrade(TRBlockRegistry.TERRAFORMER_BLOCK.get().asItem()::getDefaultInstance, ARCHITECTURE_SYSTEM, RegistryHelper.makeKey("inside_architecture"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(20).setPosition(4, 2));

public static final RegistrySupplier<Upgrade> IMPROVED_GENERATION_TIME_I = UPGRADE_DEFERRED_REGISTRY.register("improved_generation_time_i", () -> new Upgrade(Items.TURTLE_EGG::getDefaultInstance, INSIDE_ARCHITECTURE, RegistryHelper.makeKey("improved_generation_time_i"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(10).setPosition(4, 3));
public static final RegistrySupplier<Upgrade> IMPROVED_GENERATION_TIME_II = UPGRADE_DEFERRED_REGISTRY.register("improved_generation_time_ii", () -> new Upgrade(Items.RABBIT_FOOT::getDefaultInstance, IMPROVED_GENERATION_TIME_I, RegistryHelper.makeKey("improved_generation_time_ii"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(10).setPosition(4, 4));
public static final RegistrySupplier<Upgrade> IMPROVED_GENERATION_TIME_III = UPGRADE_DEFERRED_REGISTRY.register("improved_generation_time_iii", () -> new Upgrade(Items.MINECART::getDefaultInstance, IMPROVED_GENERATION_TIME_II, RegistryHelper.makeKey("improved_generation_time_iii"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(10).setPosition(4, 5));

// Defense Upgrades
public static final RegistrySupplier<Upgrade> DEFENSE_SYSTEM = UPGRADE_DEFERRED_REGISTRY.register("defense_system", () -> new Upgrade(Items.DIAMOND_SWORD::getDefaultInstance, TARDIS_XP, RegistryHelper.makeKey("defense_system"), Upgrade.UpgradeType.MAIN_UPGRADE)
.setSkillPointsRequired(1).setPosition(1, 1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public boolean onLeftClick(TardisLevelOperator operator, ConsoleTheme theme, Con
}

operator.getPilotingManager().setHandbrakeOn(true);
PlayerUtil.sendMessage(player, Component.translatable(ModMessages.HANDBRAKE).append(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED ), true);
PlayerUtil.sendMessage(player, Component.translatable(operator.getPilotingManager().isHandbrakeOn() ? ModMessages.HANDBRAKE_ENGAGED : ModMessages.HANDBRAKE_DISENGAGED), true);
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor;
import whocraft.tardis_refined.common.capability.TardisLevelOperator;
import whocraft.tardis_refined.common.capability.upgrades.UpgradeHandler;
import whocraft.tardis_refined.common.capability.upgrades.Upgrades;
import whocraft.tardis_refined.common.hum.HumEntry;
import whocraft.tardis_refined.common.hum.TardisHums;
import whocraft.tardis_refined.common.protection.ProtectedZone;
Expand Down Expand Up @@ -384,7 +386,25 @@ public BlockPos getCorridorAirlockCenter() {
public void prepareDesktop(DesktopTheme theme) {
this.preparedTheme = theme;
this.isWaitingToGenerate = true;
this.interiorGenerationCooldown = 1200; // Make this more independent.

// Cooldown based on upgrades
int cooldownSeconds = 180;

UpgradeHandler upgradeHandler = this.operator.getUpgradeHandler();

if (upgradeHandler.isUpgradeUnlocked(Upgrades.IMPROVED_GENERATION_TIME_I.get())) {
cooldownSeconds = 120;
}

if (upgradeHandler.isUpgradeUnlocked(Upgrades.IMPROVED_GENERATION_TIME_II.get())) {
cooldownSeconds = 30;
}

if (upgradeHandler.isUpgradeUnlocked(Upgrades.IMPROVED_GENERATION_TIME_III.get())) {
cooldownSeconds = 10;
}

this.interiorGenerationCooldown = 20 * cooldownSeconds;
}

public void cancelDesktopChange() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,9 @@ protected void addTranslations() {
addUpgrade(Upgrades.EXPLORER_III.get(), "Explorer III", "x5000 Increment");
addUpgrade(Upgrades.DIMENSION_TRAVEL.get(), "Inter-Dimensional Travel", "Allows the TARDIS to move between dimensions");
addUpgrade(Upgrades.LANDING_PAD.get(), "Landing Pad", "Allows the TARDIS to be summoned to a landing pad");
addUpgrade(Upgrades.IMPROVED_GENERATION_TIME_I.get(), "Improved Generation I", "Lowers desktop wait times to 120 seconds");
addUpgrade(Upgrades.IMPROVED_GENERATION_TIME_II.get(), "Improved Generation II", "Lowers desktop wait times to 60 seconds");
addUpgrade(Upgrades.IMPROVED_GENERATION_TIME_III.get(), "Improved Generation III", "Lowers desktop wait times to 10 seconds");


}
Expand Down

0 comments on commit 57349b5

Please sign in to comment.