Skip to content

Commit

Permalink
Merge pull request #119 from AnonymousHacker1279/1.21.1-dev
Browse files Browse the repository at this point in the history
Update master branch with 1.21.1-dev changes
  • Loading branch information
AnonymousHacker1279 authored Oct 17, 2024
2 parents 94605ee + 1898059 commit 914b35d
Show file tree
Hide file tree
Showing 22 changed files with 355 additions and 76 deletions.
12 changes: 5 additions & 7 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
This minor update fixes a few bugs and tweaks some features.
This minor update fixes a bug and adds some new items to loot tables.

### Feature Changes / Additions

- Soldier-type XP drops are now based on factors including local difficulty, worn armor, and armor/weapon enchantments
- Increase XP drops for berserk Wandering Warriors
- Add Skygazer enchantment caps for Density (5), Wind Burst (10), and Breach (4).
- Add more loot table options for Azul Keystone Fragments to generate in
- Add some IW items to the loot tables for trial chamber vaults
- Add a second recipe for the Bottle of Wine that uses glow berries

### Bugfixes

- Fix soldier-type entities not dropping XP at all
- Fix various parity issues between custom arrow entities and vanilla arrows (for example, fixing the Flame enchantment
on Aurora and Dragon's Breath bows)
- Fix Azul Keystone Fragments being unable to generate in any loot tables
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ org.gradle.daemon=true
org.gradle.caching=true
org.gradle.parallel=true
mod_id=immersiveweapons
mod_version=1.21.1-1.30.1
mod_version=1.21.1-1.30.2
mod_group_id=tech.anonymoushacker1279.immersiveweapons
neogradle.subsystems.parchment.minecraftVersion=1.21
neogradle.subsystems.parchment.mappingsVersion=2024.07.28
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,10 @@ protected void start() {
BuiltInLootTables.UNDERWATER_RUIN_SMALL,
BuiltInLootTables.WOODLAND_MANSION,
BuiltInLootTables.ANCIENT_CITY,
BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_RARE
BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_RARE,
BuiltInLootTables.TRIAL_CHAMBERS_SUPPLY,
BuiltInLootTables.DESERT_PYRAMID_ARCHAEOLOGY,
BuiltInLootTables.DESERT_WELL_ARCHAEOLOGY
),
1, 2, 0.25f,
ItemRegistry.AZUL_KEYSTONE_FRAGMENT.get().getDefaultInstance()));
Expand Down Expand Up @@ -144,6 +147,51 @@ protected void start() {
inBiomeDungeonCondition(IWBiomes.DEADMANS_DESERT),
1, 1, 0.2f,
ItemRegistry.MUSIC_DISC_DEADMANS_DESERT_THEME_2.get().getDefaultInstance()));

add("golden_ring", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
1, 1, 0.05f,
ItemRegistry.GOLDEN_RING.get().getDefaultInstance()));

add("cobalt_ring", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
1, 1, 0.06f,
ItemRegistry.COBALT_RING.get().getDefaultInstance()));

add("iron_ring", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
1, 1, 0.07f,
ItemRegistry.IRON_RING.get().getDefaultInstance()));

add("iron_arrow", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
2, 6, 0.25f,
ItemRegistry.IRON_ARROW.get().getDefaultInstance()));

add("cobalt_arrow", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
2, 4, 0.2f,
ItemRegistry.COBALT_ARROW.get().getDefaultInstance()));

add("agility_bracelet", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD),
1, 1, 0.1f,
ItemRegistry.AGILITY_BRACELET.get().getDefaultInstance()));

add("azul_keystone", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD_OMINOUS),
1, 1, 0.2f,
ItemRegistry.AZUL_KEYSTONE.get().getDefaultInstance()));

add("diamond_arrow", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD_OMINOUS),
4, 10, 0.25f,
ItemRegistry.DIAMOND_ARROW.get().getDefaultInstance()));

add("kill_counter", new SimpleChestModifierHandler(
singleLootTableCondition(BuiltInLootTables.TRIAL_CHAMBERS_REWARD_OMINOUS),
1, 1, 0.1f,
ItemRegistry.KILL_COUNTER.get().getDefaultInstance()));
}

/**
Expand All @@ -164,13 +212,13 @@ private LootItemCondition[] singleLootTableCondition(ResourceKey<LootTable> loot
*/
@SafeVarargs
private LootItemCondition[] multipleLootTablesCondition(ResourceKey<LootTable>... lootTables) {
LootItemCondition[] conditions = new LootItemCondition[lootTables.length];
LootItemCondition.Builder[] builders = new LootItemCondition.Builder[lootTables.length];

for (int i = 0; i < lootTables.length; i++) {
conditions[i] = LootTableIdCondition.builder(lootTables[i].location()).build();
builders[i] = LootTableIdCondition.builder(lootTables[i].location());
}

return conditions;
return new LootItemCondition[]{AnyOfCondition.anyOf(builders).build()};
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,7 @@ private void createSmallPartsItems() {
private void createBarrelTapItems() {
barrelTapFermenting(Items.WHEAT, 12, ItemRegistry.BOTTLE_OF_ALCOHOL.get());
barrelTapFermenting(Items.SWEET_BERRIES, 12, ItemRegistry.BOTTLE_OF_WINE.get());
barrelTapFermenting(Items.GLOW_BERRIES, 8, ItemRegistry.BOTTLE_OF_WINE.get());
}

private void createAstralCrystalSorceryItems() {
Expand Down Expand Up @@ -1962,7 +1963,7 @@ private static void starForgeSmelting(TagKey<Item> ingot, int ingotCount, Item r
private static void barrelTapFermenting(ItemLike material, int materialCount, ItemLike result) {
BarrelTapRecipeBuilder.fermenting(Ingredient.of(material), materialCount, result.asItem())
.unlockedBy("barrel_tap", has(BlockItemRegistry.BARREL_TAP_ITEM.get()))
.save(output, ImmersiveWeapons.MOD_ID + ":" + getItemName(result) + "_fermenting");
.save(output, ImmersiveWeapons.MOD_ID + ":" + getItemName(result) + "_fermenting_from_" + getItemName(material));
}

private static void astralCrystalSorcery(ItemLike primaryMaterial, ItemLike secondaryMaterial, ItemStack result) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "immersiveweapons:bottle_of_alcohol_fermenting"
"recipe": "immersiveweapons:bottle_of_alcohol_fermenting_from_wheat"
},
"trigger": "minecraft:recipe_unlocked"
}
Expand All @@ -26,7 +26,7 @@
],
"rewards": {
"recipes": [
"immersiveweapons:bottle_of_alcohol_fermenting"
"immersiveweapons:bottle_of_alcohol_fermenting_from_wheat"
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "immersiveweapons:bottle_of_wine_fermenting"
"recipe": "immersiveweapons:bottle_of_wine_fermenting_from_glow_berries"
},
"trigger": "minecraft:recipe_unlocked"
}
Expand All @@ -26,7 +26,7 @@
],
"rewards": {
"recipes": [
"immersiveweapons:bottle_of_wine_fermenting"
"immersiveweapons:bottle_of_wine_fermenting_from_glow_berries"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"barrel_tap": {
"conditions": {
"items": [
{
"items": "immersiveweapons:barrel_tap"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "immersiveweapons:bottle_of_wine_fermenting_from_sweet_berries"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"barrel_tap"
]
],
"rewards": {
"recipes": [
"immersiveweapons:bottle_of_wine_fermenting_from_sweet_berries"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"type": "immersiveweapons:simple_chest",
"allow_treasure": false,
"conditions": [
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/trial_chambers/reward"
}
],
"item": {
"count": 1,
"id": "immersiveweapons:agility_bracelet"
},
"max_enchant_levels": 0,
"max_quantity": 1,
"min_quantity": 1,
"roll_chance": 0.1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"type": "immersiveweapons:simple_chest",
"allow_treasure": false,
"conditions": [
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/trial_chambers/reward_ominous"
}
],
"item": {
"count": 1,
"id": "immersiveweapons:azul_keystone"
},
"max_enchant_levels": 0,
"max_quantity": 1,
"min_quantity": 1,
"roll_chance": 0.2
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,56 +3,73 @@
"allow_treasure": false,
"conditions": [
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/simple_dungeon"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/abandoned_mineshaft"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/buried_treasure"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/jungle_temple"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/shipwreck_treasure"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_corridor"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_crossing"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_library"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/underwater_ruin_big"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/underwater_ruin_small"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/woodland_mansion"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/ancient_city"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:archaeology/trail_ruins_rare"
"condition": "minecraft:any_of",
"terms": [
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/simple_dungeon"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/abandoned_mineshaft"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/buried_treasure"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/jungle_temple"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/shipwreck_treasure"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_corridor"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_crossing"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/stronghold_library"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/underwater_ruin_big"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/underwater_ruin_small"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/woodland_mansion"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/ancient_city"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:archaeology/trail_ruins_rare"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/trial_chambers/supply"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:archaeology/desert_pyramid"
},
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:archaeology/desert_well"
}
]
}
],
"item": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"type": "immersiveweapons:simple_chest",
"allow_treasure": false,
"conditions": [
{
"condition": "neoforge:loot_table_id",
"loot_table_id": "minecraft:chests/trial_chambers/reward"
}
],
"item": {
"count": 1,
"id": "immersiveweapons:cobalt_arrow"
},
"max_enchant_levels": 0,
"max_quantity": 4,
"min_quantity": 2,
"roll_chance": 0.2
}
Loading

0 comments on commit 914b35d

Please sign in to comment.