Compare commits

..

No commits in common. "release" and "release/3.11.2.1" have entirely different histories.

28 changed files with 51 additions and 222 deletions

View file

@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: pull-request-action
uses: vsoch/pull-request-action@1.1.0
uses: vsoch/pull-request-action@1.0.24
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PULL_REQUEST_BRANCH: "develop"

View file

@ -1,4 +1,4 @@
name: Create release on tag push
name: Create release on tag push
on:
push:
@ -14,10 +14,10 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
uses: gradle/gradle-build-action@v2
- name: Run build with Gradle Wrapper
run: chmod +x ./gradlew && ./gradlew build

View file

@ -1,4 +1,4 @@
name: Publish to Curseforge on release
name: Publish to Curseforge on release
on:
release:
@ -16,7 +16,7 @@ jobs:
run: echo "RELEASE_VERSION=${GITHUB_REF_NAME#release/}" >> $GITHUB_ENV
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Download release artifacts
env:

3
.gitignore vendored
View file

@ -13,9 +13,6 @@ out
*.iml
.idea
# jdk
jdk-17.0.2
# gradle
build
.gradle

View file

@ -1,45 +1,3 @@
# 3.13.0.0
Many thanks to @xyzminecraftserver for sponsoring the project!
This release is only rudimentarily tested since I am not currently playing the pack. Please report any issues you run into.
* Updated dependencies for Vault Hunters 3.13.
# 3.12.4.0 (2023-11-19)
* Updated dependencies for Vault Hunters 3.12.4.
# 3.12.2.0 (2023-11-14)
* Updated dependencies for Vault Hunters 3.12.2.
# 3.12.1.1 (2023-11-09)
* Added support for overriding the new Jeweler Expertise; disabling it now grants 3 free cuts by default.
# 3.12.1.0 (2023-11-09)
* Updated dependencies for Vault Hunters 3.12.1.
* Fixed Transmog Table mixin for 3.12.1.
* Updated Vault Altar tags to reflect the Lvl 40 → Lvl 50 pool change.
# 3.11.4.0 (2023-09-10)
* Updated dependencies for Vault Hunters 3.11.4.
* Added God Axe transmog to the super secret feature™.
# 3.11.3.0 (2023-09-03)
* Updated dependencies for Vault Hunters 3.11.3.
* Added Livingrock Bricks to the `the_vault:trash` tag, now that it has soul value.
# 3.11.2.2 (2023-08-20)
* Updated dependencies for Vault Hunters 3.11.2.2.
* Fixed jewel cutting tweaks being en-/disabled via the Jeweller expertise switch, the dedicated option now takes effect.
* Fixed race condition between Vault Mod config loading and Tweaks Mod config loading; the Vault Mod config is now reloaded whenever the Tweaks Mod config is (re-)loaded. (fixes #9)
# 3.11.2.1 (2023-08-07)
* Updated dependencies for Vault Hunters 3.11.2.1.

View file

@ -24,7 +24,6 @@ Bug fixes are enabled, balance changes disabled by default.
## Miscellaneous
* Added tags for the new Vault trash items found in loot chests (`the_vault:trash`).
* Added support for making Vault Portals out of arbitrary blocks.
* Added tags to all Vault Altar requirements:
* `the_vault:altar_requirements`

View file

@ -24,9 +24,9 @@ apply plugin: 'eu.davidea.grabver'
versioning {
// Required (number)
major 3
minor 13
minor 11
// Optional, force custom patch (number)
patch 0
// patch 1
// Optional (any string)
//preRelease "RC1"
// Optional, custom task name to trigger the increase of the version
@ -186,11 +186,11 @@ dependencies {
// Specify the version of Minecraft to use. If this is any group other than 'net.minecraft', it is assumed
// that the dep is a ForgeGradle 'patcher' dependency, and its patches will be applied.
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
minecraft 'net.minecraftforge:forge:1.18.2-40.2.17'
minecraft 'net.minecraftforge:forge:1.18.2-40.2.10'
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
implementation fg.deobf('curse.maven:vault-hunters-official-mod-458203:5076087')
implementation fg.deobf('curse.maven:vault-hunters-official-mod-458203:4686889')
// implementation fg.deobf('curse.maven:vault-integrations-867003:4570137')
// implementation fg.deobf("curse.maven:refined-storage-243076:3712882")
implementation fg.deobf('appeng:appliedenergistics2-forge:11.7.0')
@ -200,7 +200,6 @@ dependencies {
implementation fg.deobf("curse.maven:quark-243121:3840125")
implementation fg.deobf("curse.maven:autoreglib-250363:3642382")
implementation fg.deobf("curse.maven:ecologics-570463:4171283")
implementation fg.deobf("curse.maven:geckolib-388172:4181370")
implementation fg.deobf("curse.maven:sophisticated-core-618298:4668692")
implementation fg.deobf("curse.maven:sophisticated-backpacks-422301:4637292")
@ -208,8 +207,6 @@ dependencies {
implementation fg.deobf("curse.maven:lazydfu-433518:3209972")
implementation fg.deobf("curse.maven:modernfix-790626:4593891")
implementation fg.deobf("curse.maven:configured-457570:4462832")
implementation fg.deobf("curse.maven:better-mods-button-541584:4608772")
implementation fg.deobf("curse.maven:fore-config-screens-544048:3671318")
// Real mod deobf dependency examples - these get remapped to your current mappings
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // Adds JEI API as a compile dependency

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"#the_vault:altar_requirements/mob/40",
"#the_vault:altar_requirements/resource/40",
"#the_vault:altar_requirements/farmable/40",
"#the_vault:altar_requirements/misc/40"
]
}

View file

@ -1,9 +0,0 @@
{
"replace": false,
"values": [
"#the_vault:altar_requirements/mob/50",
"#the_vault:altar_requirements/resource/50",
"#the_vault:altar_requirements/farmable/50",
"#the_vault:altar_requirements/misc/50"
]
}

View file

@ -4,7 +4,7 @@
"#the_vault:altar_requirements/farmable/0",
"#the_vault:altar_requirements/farmable/10",
"#the_vault:altar_requirements/farmable/20",
"#the_vault:altar_requirements/farmable/50",
"#the_vault:altar_requirements/farmable/40",
"#the_vault:altar_requirements/farmable/75"
]
}

View file

@ -4,7 +4,7 @@
"#the_vault:altar_requirements/misc/0",
"#the_vault:altar_requirements/misc/10",
"#the_vault:altar_requirements/misc/20",
"#the_vault:altar_requirements/misc/50",
"#the_vault:altar_requirements/misc/40",
"#the_vault:altar_requirements/misc/75",
"#the_vault:altar_requirements/misc/90"
]

View file

@ -4,7 +4,7 @@
"#the_vault:altar_requirements/mob/0",
"#the_vault:altar_requirements/mob/10",
"#the_vault:altar_requirements/mob/20",
"#the_vault:altar_requirements/mob/50",
"#the_vault:altar_requirements/mob/40",
"#the_vault:altar_requirements/mob/75"
]
}

View file

@ -4,7 +4,7 @@
"#the_vault:altar_requirements/resource/0",
"#the_vault:altar_requirements/resource/10",
"#the_vault:altar_requirements/resource/20",
"#the_vault:altar_requirements/resource/50",
"#the_vault:altar_requirements/resource/40",
"#the_vault:altar_requirements/resource/75"
]
}

View file

@ -18,6 +18,7 @@
package tv.alterNERD.VaultModTweaks;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.minecraft.resources.ResourceLocation;
@ -40,7 +41,6 @@ public class Configuration {
public static BooleanValue JEWELER_ENABLED;
public static DoubleValue JEWELER_CHANCE;
public static IntValue JEWELER_FREE_CUTS;
public static BooleanValue JEWELS_ENABLED;
public static IntValue JEWELS_SIZE;
@ -96,11 +96,8 @@ public class Configuration {
.comment("Remove the Jeweler Expertise and change the default cutting chance accordingly")
.define("disableJeweler", false);
JEWELER_CHANCE = builder
.comment("Chance to break the jewel / remove a modifier (DEPRECATED since Vault Hunters 3.12.1)")
.comment("Chance to break the jewel / remove a modifier")
.defineInRange("breakChance", 0.25d, 0d, 0.5d);
JEWELER_FREE_CUTS = builder
.comment("Number of free cuts (pack default: up to 3 with Jeweler Expetise)")
.defineInRange("free_cuts", 3, 0, 10);
builder.pop();
// Budding Crystal

View file

@ -26,13 +26,10 @@ import net.minecraft.data.tags.BlockTagsProvider;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.config.ModConfigEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
import iskallia.vault.init.ModConfigs;
import tv.alterNERD.VaultModTweaks.integration.TagManager;
import tv.alterNERD.VaultModTweaks.util.I18n;
@Mod("the_vault_tweaks")
public class VaultModTweaks
@ -43,7 +40,6 @@ public class VaultModTweaks
public VaultModTweaks() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::gatherData);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::configLoaded);
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Configuration.CONFIG);
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, Configuration.CLIENTCONFIG);
}
@ -63,11 +59,4 @@ public class VaultModTweaks
event.getExistingFileHelper())
);
}
private void configLoaded(final ModConfigEvent event) {
if (event.getConfig().getType() == ModConfig.Type.SERVER) {
LOGGER.info(I18n.get("the_vault_tweaks.log.config.reloadvaultconfig"));
ModConfigs.register();
}
}
}

View file

@ -1,50 +0,0 @@
/**
* Copyright 2023 alterNERDtive.
*
* This file is part of Vault Mod Tweaks.
*
* Vault Mod Tweaks is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Vault Mod Tweaks is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with Vault Mod Tweaks. If not, see <https://www.gnu.org/licenses/>.
*/
package tv.alterNERD.VaultModTweaks.integration.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import iskallia.vault.skill.expertise.type.JewelExpertise;
import tv.alterNERD.VaultModTweaks.Configuration;
import tv.alterNERD.VaultModTweaks.VaultModTweaks;
import tv.alterNERD.VaultModTweaks.util.I18n;
@Mixin(JewelExpertise.class)
public abstract class MixinJewelExpertise {
@Shadow
private int numberOfFreeCuts;
@Inject(
method = "getNumberOfFreeCuts()I",
at = @At("RETURN"),
cancellable = true,
remap = false
)
private void getNumberOfFreeCuts$return(CallbackInfoReturnable<Integer> ci) {
if (Configuration.JEWELER_ENABLED.get()) {
int cuts = Configuration.JEWELER_FREE_CUTS.get();
VaultModTweaks.LOGGER.info(I18n.get("the_vault_tweaks.log.inject.jewelcutting.freecuts", cuts));
ci.setReturnValue(cuts);
}
}
}

View file

@ -1,42 +0,0 @@
/**
* Copyright 2023 alterNERDtive.
*
* This file is part of Vault Mod Tweaks.
*
* Vault Mod Tweaks is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Vault Mod Tweaks is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with Vault Mod Tweaks. If not, see <https://www.gnu.org/licenses/>.
*/
package tv.alterNERD.VaultModTweaks.integration.mixin;
import java.util.UUID;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import iskallia.vault.skill.tree.ExpertiseTree;
import iskallia.vault.world.data.PlayerExpertisesData;
import net.minecraft.world.entity.player.Player;
@Mixin(PlayerExpertisesData.class)
public abstract class MixinPlayerExpertisesData {
@Overwrite(remap=false)
ExpertiseTree getExpertises(Player player) {
// SkillContext.of(player)
// something something LearnableSkill.learn(context) auf den Expertise skill für jeweler
return this.getExpertises(player.getUUID());
}
@Shadow(remap=false)
ExpertiseTree getExpertises(UUID uuid) {
return null;
}
}

View file

@ -18,19 +18,17 @@
package tv.alterNERD.VaultModTweaks.integration.mixin;
import java.util.Collection;
import java.util.Set;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import iskallia.vault.block.TransmogTableBlock;
import iskallia.vault.dynamodel.model.armor.ArmorPieceModel;
import iskallia.vault.init.ModDynamicModels.Armor;
import iskallia.vault.init.ModDynamicModels.Axes;
import iskallia.vault.init.ModDynamicModels.Swords;
import iskallia.vault.patreon.PatreonManager;
import iskallia.vault.patreon.PatreonPlayerData;
import iskallia.vault.patreon.PatreonTier;
import iskallia.vault.init.ModDynamicModels;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import tv.alterNERD.VaultModTweaks.Configuration;
import tv.alterNERD.VaultModTweaks.VaultModTweaks;
/**
* Changes the {@link iskallia.vault.block.TransmogTableBlock} class for
@ -40,6 +38,12 @@ import tv.alterNERD.VaultModTweaks.Configuration;
*/
@Mixin(TransmogTableBlock.class)
public abstract class MixinTransmogTableBlock {
@Shadow(remap = false)
private static Set<Long> CHAMPION_LIST;
@Shadow(remap = false)
private static Set<Long> GOBLIN_LIST;
/***
* Injects some new Goblin / Champion tier patrons into the transmogajigga
* thing.
@ -50,28 +54,17 @@ public abstract class MixinTransmogTableBlock {
*/
@Overwrite(remap = false)
public static boolean canTransmogModel(Player player, Collection<ResourceLocation> discoveredModelIds, ResourceLocation modelId) {
return ModDynamicModels.Armor.PIECE_REGISTRY.get(modelId).map(ArmorPieceModel::getArmorModel).map(armorModel -> {
VaultModTweaks.LOGGER.debug(player.getName().getString());
long id = player.getUUID().getMostSignificantBits() ^ player.getUUID().getLeastSignificantBits();
String name = player.getName().getString();
PatreonPlayerData data = PatreonManager.getInstance().getPlayerData(player.getUUID());
return (Boolean)Armor.PIECE_REGISTRY.get(modelId).map(ArmorPieceModel::getArmorModel).map((armorModel) -> {
if (armorModel.equals(Armor.CHAMPION)) {
return data.isAtLeastTier(PatreonTier.CHAMPION) || Configuration.CHAMPIONS.get().contains(name);
} else if (armorModel.equals(Armor.GOBLIN)) {
return data.isAtLeastTier(PatreonTier.GOBLIN) || Configuration.GOBLINS.get().contains(name) || Configuration.CHAMPIONS.get().contains(name);
} else {
return null;
if (armorModel.equals(ModDynamicModels.Armor.CHAMPION)) {
return CHAMPION_LIST.contains(id) || Configuration.CHAMPIONS.get().contains(name);
}
}).or(() -> {
return Swords.REGISTRY.get(modelId).map((model) -> {
return model.equals(Swords.GODSWORD) ? data.isAtLeastTier(PatreonTier.CHAMPION) || Configuration.CHAMPIONS.get().contains(name) : null;
});
}).or(() -> {
return Axes.REGISTRY.get(modelId).map((model) -> {
return model.equals(Axes.GODAXE) ? data.isAtLeastTier(PatreonTier.CHAMPION) || Configuration.CHAMPIONS.get().contains(name) : null;
});
}).orElseGet(() -> {
return discoveredModelIds.contains(modelId);
});
if (armorModel.equals(ModDynamicModels.Armor.GOBLIN)) {
return GOBLIN_LIST.contains(id) || CHAMPION_LIST.contains(id) || Configuration.GOBLINS.get().contains(name) || Configuration.CHAMPIONS.get().contains(name);
}
return null;
}).orElse(discoveredModelIds.contains(modelId));
}
}

View file

@ -51,14 +51,10 @@ public abstract class MixinVaultJewelCuttingConfig extends Config {
@Override
protected void onLoad(Config oldConfigInstance) {
super.onLoad(oldConfigInstance);
if (Configuration.JEWELER_ENABLED.get()) {
float chance = Configuration.JEWELER_CHANCE.get().floatValue();
VaultModTweaks.LOGGER.info(I18n.get("the_vault_tweaks.log.inject.jewelcutting.failurechance", chance));
this.jewelCuttingModifierRemovalChance = chance;
}
if (Configuration.JEWELS_ENABLED.get()) {
int min = Configuration.JEWELS_MIN.get();
int max = Configuration.JEWELS_MAX.get();
VaultModTweaks.LOGGER.info(I18n.get("the_vault_tweaks.log.inject.jewelcutting.sizes", min, max));

View file

@ -35,6 +35,6 @@ There are some bug fixes and a lot of QoL and balance changes. See https://git.a
[[dependencies.the_vault_tweaks]]
modId="the_vault"
mandatory=true
versionRange="[1.18.2-3.11.0.3011]"
versionRange="[1.18.2-3.11.0.2551]"
ordering="AFTER"
side="BOTH"

View file

@ -8,7 +8,6 @@
"the_vault_tweaks.log.inject.fortune.level": "Injecting maximum Fortune level: %1$d …",
"the_vault_tweaks.log.inject.fortune.valid": "Overwriting validity check for Fortune …",
"the_vault_tweaks.log.inject.jewelcutting.failurechance": "Injecting jewel cutting failure chance: %1$.2f …",
"the_vault_tweaks.log.inject.jewelcutting.freecuts": "Injecting free jewel cuts: %1$d …",
"the_vault_tweaks.log.inject.jewelcutting.sizes": "Injecting jewel cutting size values: %1$d%2$d …",
"the_vault_tweaks.log.inject.junkmgmt.upgrades": "Injecting Vault Junk Upgrade multipliers: %1$d, %2$d, %3$d, %4$d …",
"the_vault_tweaks.log.inject.relicfragments": "Balancing relic fragment weights …",
@ -16,8 +15,6 @@
"the_vault_tweaks.log.inject.vaultar.infusion": "Injecting Vault Altar infusion time: %1$ds …",
"the_vault_tweaks.log.inject.vaultar.rock": "Injecting fake player interaction with Vault Altar …",
"the_vault_tweaks.log.config.reloadvaultconfig": "Config has changed, reloading Vault Mod configs …",
"block.minecraft.andesite": "Andesite",
"block.minecraft.polished_andesite": "Polished Andesite",
"block.minecraft.andesite_stairs": "Andesite Stairs",

View file

@ -7,7 +7,6 @@
"the_vault:gilded_ingot",
"the_vault:gilded_sconce",
"the_vault:living_rock",
"the_vault:living_rock_block_cobble",
"the_vault:mossy_bone",
"the_vault:mossy_bone_block",
"the_vault:ornate_block",

View file

@ -9,7 +9,6 @@
"MixinCrystalBuddingConfig",
"MixinEnchantmentEntry",
"MixinExpertisesGuiConfig",
"MixinJewelExpertise",
"MixinPlayerResearchesData",
"MixinStageManager",
"MixinToolType",

View file

@ -1,7 +1,7 @@
#Sun Nov 19 15:47:56 CET 2023
#Tue Jul 25 01:22:57 CEST 2023
MAJOR=3
MINOR=13
PATCH=0
MINOR=11
PATCH=2
PRE_RELEASE=
BUILD=-1
BUILD=0
CODE=1