diff --git a/gradle.properties b/gradle.properties index b917b2a..c7ab736 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,4 +14,4 @@ loader_version=0.16.9 fabric_version=0.108.0+1.21.3 # check this on https://nucleoid.xyz/use/ -plasmid_version=0.6.0-SNAPSHOT+1.21.3 \ No newline at end of file +plasmid_version=0.6.0+1.21.3 \ No newline at end of file diff --git a/src/main/java/com/hugman/uhc/config/UHCConfig.java b/src/main/java/com/hugman/uhc/config/UHCConfig.java index e592eed..eb5373e 100644 --- a/src/main/java/com/hugman/uhc/config/UHCConfig.java +++ b/src/main/java/com/hugman/uhc/config/UHCConfig.java @@ -36,6 +36,7 @@ public List getModifiers() { } public List getModifiers(ModifierType type) { + //TODO: cache modules so it's quicker to sort by type List modifiers = new ArrayList<>(); for (var moduleEntry : modules) { for (Modifier modifier : moduleEntry.value().modifiers()) { diff --git a/src/main/java/com/hugman/uhc/game/phase/UHCActive.java b/src/main/java/com/hugman/uhc/game/phase/UHCActive.java index 9e37311..9666a1b 100644 --- a/src/main/java/com/hugman/uhc/game/phase/UHCActive.java +++ b/src/main/java/com/hugman/uhc/game/phase/UHCActive.java @@ -14,6 +14,7 @@ import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.network.packet.s2c.play.EntityAttributesS2CPacket; import net.minecraft.network.packet.s2c.play.WorldBorderInitializeS2CPacket; import net.minecraft.network.packet.s2c.play.WorldBorderInterpolateSizeS2CPacket; import net.minecraft.scoreboard.AbstractTeam; @@ -46,6 +47,7 @@ import xyz.nucleoid.stimuli.event.EventResult; import xyz.nucleoid.stimuli.event.block.BlockBreakEvent; import xyz.nucleoid.stimuli.event.block.BlockDropItemsEvent; +import xyz.nucleoid.stimuli.event.entity.EntityDamageEvent; import xyz.nucleoid.stimuli.event.entity.EntityDropItemsEvent; import xyz.nucleoid.stimuli.event.player.PlayerDamageEvent; import xyz.nucleoid.stimuli.event.player.PlayerDeathEvent; @@ -304,20 +306,6 @@ private void playerLeave(ServerPlayerEntity player) { } } - private EventResult onPlayerDeath(ServerPlayerEntity player, DamageSource source) { - if (participants.containsKey(player)) { - if (!getParticipant(player).isEliminated()) { - PlayerSet players = this.gameSpace.getPlayers(); - players.sendMessage(Text.literal("\n☠ ").append(source.getDeathMessage(player).copy()).append("!\n").formatted(Formatting.DARK_RED)); - players.playSound(SoundEvents.ENTITY_WITHER_SPAWN); - this.eliminateParticipant(player); - return EventResult.DENY; - } - } - this.spawnLogic.spawnPlayerAtCenter(player); - return EventResult.DENY; - } - private void eliminateParticipant(ServerPlayerEntity player) { ItemScatterer.spawn(player.getWorld(), player.getBlockPos(), player.getInventory()); player.changeGameMode(GameMode.SPECTATOR); @@ -345,8 +333,9 @@ public void clearPlayer(ServerPlayerEntity player) { public void refreshPlayerAttributes(ServerPlayerEntity player) { for (PlayerAttributeModifier piece : this.config.getModifiers(ModifierType.PLAYER_ATTRIBUTE)) { - piece.setAttribute(player); + piece.refreshAttribute(player); } + player.networkHandler.sendPacket(new EntityAttributesS2CPacket(player.getId(), player.getAttributes().getTracked())); } public void applyPlayerEffects(ServerPlayerEntity player) { @@ -393,6 +382,7 @@ private void checkForWinner() { private void setInvulnerable(boolean b) { this.invulnerable = b; this.activity.setRule(GameRuleType.HUNGER, b ? EventResult.DENY : EventResult.ALLOW); + //TODO check modules this.activity.setRule(GameRuleType.FALL_DAMAGE, b ? EventResult.DENY : EventResult.ALLOW); } @@ -461,7 +451,7 @@ private void sendWarning(String s, Object... args) { public void sendModuleListToChat() { var moduleEntries = this.config.modules(); if (moduleEntries.size() > 0) { - MutableText text = Text.literal("\n").append(Text.translatable("text.uhc.modules_enabled").formatted(Formatting.GOLD)); + MutableText text = Text.literal("\n").append(Text.translatable("text.uhc.enabled_modules").formatted(Formatting.GOLD)); moduleEntries.forEach(moduleEntry -> { var module = moduleEntry.value(); Style style = Style.EMPTY; @@ -486,6 +476,20 @@ private EventResult onPlayerDamage(ServerPlayerEntity entity, DamageSource damag } } + private EventResult onPlayerDeath(ServerPlayerEntity player, DamageSource source) { + if (participants.containsKey(player)) { + if (!getParticipant(player).isEliminated()) { + PlayerSet players = this.gameSpace.getPlayers(); + players.sendMessage(Text.literal("\n☠ ").append(source.getDeathMessage(player).copy()).append("!\n").formatted(Formatting.DARK_RED)); + players.playSound(SoundEvents.ENTITY_WITHER_SPAWN); + this.eliminateParticipant(player); + return EventResult.DENY; + } + } + this.spawnLogic.spawnPlayerAtCenter(player); + return EventResult.DENY; + } + private EventResult onBlockBroken(ServerPlayerEntity playerEntity, ServerWorld world, BlockPos pos) { for (TraversalBreakModifier piece : this.config.getModifiers(ModifierType.TRAVERSAL_BREAK)) { piece.breakBlock(this.world, playerEntity, pos); diff --git a/src/main/java/com/hugman/uhc/modifier/PlayerAttributeModifier.java b/src/main/java/com/hugman/uhc/modifier/PlayerAttributeModifier.java index 21cd1a6..bd45666 100644 --- a/src/main/java/com/hugman/uhc/modifier/PlayerAttributeModifier.java +++ b/src/main/java/com/hugman/uhc/modifier/PlayerAttributeModifier.java @@ -1,18 +1,20 @@ package com.hugman.uhc.modifier; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.entity.attribute.EntityAttribute; import net.minecraft.entity.attribute.EntityAttributeInstance; -import net.minecraft.network.packet.s2c.play.EntityAttributesS2CPacket; +import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.network.ServerPlayerEntity; -public record PlayerAttributeModifier(RegistryEntry attribute, double value) implements Modifier { +public record PlayerAttributeModifier( + RegistryEntry attribute, + EntityAttributeModifier modifier +) implements Modifier { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( EntityAttribute.CODEC.fieldOf("attribute").forGetter(PlayerAttributeModifier::attribute), - Codec.doubleRange(0.0F, Double.MAX_VALUE).fieldOf("value").forGetter(PlayerAttributeModifier::value) + EntityAttributeModifier.MAP_CODEC.forGetter(PlayerAttributeModifier::modifier) ).apply(instance, PlayerAttributeModifier::new)); @Override @@ -20,11 +22,11 @@ public ModifierType getType() { return ModifierType.PLAYER_ATTRIBUTE; } - public void setAttribute(ServerPlayerEntity player) { + public void refreshAttribute(ServerPlayerEntity player) { EntityAttributeInstance instance = player.getAttributes().getCustomInstance(this.attribute); if (instance != null) { - instance.setBaseValue(value); - player.networkHandler.sendPacket(new EntityAttributesS2CPacket(player.getId(), player.getAttributes().getTracked())); + instance.removeModifier(modifier); + instance.addPersistentModifier(modifier); } } } diff --git a/src/main/resources/data/doublerunner/game_portals/standard.json b/src/main/resources/data/doublerunner/game_portals/standard.json new file mode 100644 index 0000000..5ef0b2d --- /dev/null +++ b/src/main/resources/data/doublerunner/game_portals/standard.json @@ -0,0 +1,41 @@ +{ + "type": "nucleoid_extras:styled/advanced_menu", + "name": { + "translate": "game.doublerunner" + }, + "icon": "minecraft:enchanted_golden_apple", + "entries": [ + { + "type": "plasmid:game", + "icon": "minecraft:red_candle", + "game": "doublerunner:solo", + "name": { + "translate": "mode.solo" + } + }, + { + "type": "plasmid:game", + "icon": "minecraft:lime_candle", + "game": "doublerunner:duos", + "name": { + "translate": "mode.duos" + } + }, + { + "type": "plasmid:game", + "icon": "minecraft:pink_candle", + "game": "doublerunner:trios", + "name": { + "translate": "mode.trios" + } + }, + { + "type": "plasmid:game", + "icon": "minecraft:blue_candle", + "game": "doublerunner:squads", + "name": { + "translate": "mode.squads" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/doublerunner/lang/en_us.json b/src/main/resources/data/doublerunner/lang/en_us.json new file mode 100644 index 0000000..a9cd466 --- /dev/null +++ b/src/main/resources/data/doublerunner/lang/en_us.json @@ -0,0 +1,20 @@ +{ + "game.doublerunner": "DoubleRunner", + + "module.doublerunner.blasted_ores_plus": "Blasted Ores+", + "module.doublerunner.dasher_plus": "Dasher+", + "module.doublerunner.dasher_plus.description": "Permanent haste and speed, and no fall damage", + "module.doublerunner.faster_resources_plus": "Faster Resources+", + "module.doublerunner.guaranteed_golden_apples": "Guaranteed Golden Apples", + "module.doublerunner.guaranteed_golden_apples.description": "All leaves only drop golden apples", + "module.doublerunner.ore_boost_plus": "Ore Boost+", + "module.doublerunner.potion_drops": "Potion Drops", + "module.doublerunner.potion_drops.description": "Some entities drop potions", + "module.doublerunner.timberman.description": "Trees get cut instantly and drop oak planks", + + "module_description.doublerunner.zombies_drop_strength_potions": "Zombies drops potions of Strength", + "module_description.doublerunner.spiders_drop_poison_potions": "Spiders drops potions of Poison", + "module_description.doublerunner.sugar_cane_drops_swiftness_potions": "Sugar cane drops potions of Swiftness", + "module_description.doublerunner.rabbits_drop_leaping_potions": "Rabbits drops potions of Leaping", + "module_description.doublerunner.bats_drop_night_vision_potions": "Bats drops potions of Night Vision" +} \ No newline at end of file diff --git a/src/main/resources/data/doublerunner/plasmid/game/duos.json b/src/main/resources/data/doublerunner/plasmid/game/duos.json new file mode 100644 index 0000000..33f8207 --- /dev/null +++ b/src/main/resources/data/doublerunner/plasmid/game/duos.json @@ -0,0 +1,44 @@ +{ + "type": "uhc:standard", + "name": { + "translate": "game.generic.mode", + "with": [ + { + "translate": "game.doublerunner" + }, + { + "translate": "mode.duos" + } + ] + }, + "team_size": 2, + "players": { + "min": 4, + "threshold": 16 + }, + "map": { + "dimension": { + "type": "minecraft:overworld", + "generator": { + "type": "minecraft:noise", + "settings": "minecraft:overworld", + "biome_source": { + "type": "minecraft:multi_noise", + "preset": "minecraft:overworld" + } + } + }, + "shrinking_speed": 0.6, + "start_size": { + "min": 200, + "max": 8000 + } + }, + "chapters": { + "warmup": { + "min": 600, + "max": 800 + } + }, + "modules": "#doublerunner:standard" +} diff --git a/src/main/resources/data/doublerunner/plasmid/game/solo.json b/src/main/resources/data/doublerunner/plasmid/game/solo.json new file mode 100644 index 0000000..026ff0e --- /dev/null +++ b/src/main/resources/data/doublerunner/plasmid/game/solo.json @@ -0,0 +1,44 @@ +{ + "type": "uhc:standard", + "name": { + "translate": "game.generic.mode", + "with": [ + { + "translate": "game.doublerunner" + }, + { + "translate": "mode.solo" + } + ] + }, + "team_size": 1, + "players": { + "min": 2, + "threshold": 8 + }, + "map": { + "dimension": { + "type": "minecraft:overworld", + "generator": { + "type": "minecraft:noise", + "settings": "minecraft:overworld", + "biome_source": { + "type": "minecraft:multi_noise", + "preset": "minecraft:overworld" + } + } + }, + "shrinking_speed": 0.6, + "start_size": { + "min": 200, + "max": 8000 + } + }, + "chapters": { + "warmup": { + "min": 600, + "max": 800 + } + }, + "modules": "#doublerunner:standard" +} diff --git a/src/main/resources/data/doublerunner/plasmid/game/squads.json b/src/main/resources/data/doublerunner/plasmid/game/squads.json new file mode 100644 index 0000000..54d97fd --- /dev/null +++ b/src/main/resources/data/doublerunner/plasmid/game/squads.json @@ -0,0 +1,44 @@ +{ + "type": "uhc:standard", + "name": { + "translate": "game.generic.mode", + "with": [ + { + "translate": "game.doublerunner" + }, + { + "translate": "mode.squads" + } + ] + }, + "team_size": 4, + "players": { + "min": 8, + "threshold": 32 + }, + "map": { + "dimension": { + "type": "minecraft:overworld", + "generator": { + "type": "minecraft:noise", + "settings": "minecraft:overworld", + "biome_source": { + "type": "minecraft:multi_noise", + "preset": "minecraft:overworld" + } + } + }, + "shrinking_speed": 0.6, + "start_size": { + "min": 200, + "max": 8000 + } + }, + "chapters": { + "warmup": { + "min": 600, + "max": 800 + } + }, + "modules": "#doublerunner:standard" +} diff --git a/src/main/resources/data/doublerunner/plasmid/game/trios.json b/src/main/resources/data/doublerunner/plasmid/game/trios.json new file mode 100644 index 0000000..68e5d86 --- /dev/null +++ b/src/main/resources/data/doublerunner/plasmid/game/trios.json @@ -0,0 +1,44 @@ +{ + "type": "uhc:standard", + "name": { + "translate": "game.generic.mode", + "with": [ + { + "translate": "game.doublerunner" + }, + { + "translate": "mode.trios" + } + ] + }, + "team_size": 3, + "players": { + "min": 6, + "threshold": 24 + }, + "map": { + "dimension": { + "type": "minecraft:overworld", + "generator": { + "type": "minecraft:noise", + "settings": "minecraft:overworld", + "biome_source": { + "type": "minecraft:multi_noise", + "preset": "minecraft:overworld" + } + } + }, + "shrinking_speed": 0.6, + "start_size": { + "min": 200, + "max": 8000 + } + }, + "chapters": { + "warmup": { + "min": 600, + "max": 800 + } + }, + "modules": "#doublerunner:standard" +} diff --git a/src/main/resources/data/doublerunner/tags/uhc/module/standard.json b/src/main/resources/data/doublerunner/tags/uhc/module/standard.json new file mode 100644 index 0000000..eaf40f0 --- /dev/null +++ b/src/main/resources/data/doublerunner/tags/uhc/module/standard.json @@ -0,0 +1,14 @@ +{ + "replace": false, + "values": [ + "uhcrun:timberman", + "doublerunner:guaranteed_golden_apples", + "doublerunner:dasher_plus", + "doublerunner:ore_boost_plus", + "doublerunner:blasted_ores_plus", + "doublerunner:potion_drops", + "doublerunner:faster_resources_plus", + "uhcrun:animal_cooked_food", + "uhcrun:mob_cooked_food" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/doublerunner/uhc/module/blasted_ores_plus.json b/src/main/resources/data/doublerunner/uhc/module/blasted_ores_plus.json new file mode 100644 index 0000000..7fee105 --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/blasted_ores_plus.json @@ -0,0 +1,80 @@ +{ + "name": { + "translate": "module.doublerunner.blasted_ores_plus" + }, + "description": { + "translate": "module.uhcrun.blasted_ores.description" + }, + "icon": "minecraft:gold_ingot", + "modifiers": [ + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:coal_ores" + }, + "loot_table": "uhcrun:torches/lot", + "experience": 6 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:iron_ores" + }, + "loot_table": "uhcrun:iron_ingots/four", + "experience": 2 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:copper_ores" + }, + "loot_table": "uhcrun:cooked_food/beef/normal" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:gold_ores" + }, + "loot_table": "uhcrun:gold_ingots/four", + "experience": 4 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:lapis_ores" + }, + "loot_table": "uhcrun:enchantment_resources/lapis_and_paper", + "experience": 8 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:redstone_ores" + }, + "experience": 12 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:emerald_ores" + }, + "experience": 20 + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:diamond_ores" + }, + "loot_table": "uhcrun:diamonds/four", + "experience": 8 + } + ] +} diff --git a/src/main/resources/data/doublerunner/uhc/module/dasher_plus.json b/src/main/resources/data/doublerunner/uhc/module/dasher_plus.json new file mode 100644 index 0000000..6e4a84a --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/dasher_plus.json @@ -0,0 +1,32 @@ +{ + "name": { + "translate": "module.doublerunner.dasher_plus" + }, + "description": { + "translate": "module.doublerunner.dasher_plus.description" + }, + "icon": "minecraft:diamond_boots", + "modifiers": [ + { + "type": "uhc:player_attribute", + "attribute": "minecraft:movement_speed", + "id": "doublerunner:dasher_movement", + "amount": 0.5, + "operation": "add_multiplied_total" + }, + { + "type": "uhc:player_attribute", + "attribute": "minecraft:block_break_speed", + "id": "doublerunner:dasher_break_speed", + "amount": 0.4, + "operation": "add_multiplied_total" + }, + { + "type": "uhc:player_attribute", + "attribute": "minecraft:safe_fall_distance", + "id": "doublerunner:dasher_safe_fall_distance", + "amount": 1024, + "operation": "add_value" + } + ] +} diff --git a/src/main/resources/data/doublerunner/uhc/module/faster_resources_plus.json b/src/main/resources/data/doublerunner/uhc/module/faster_resources_plus.json new file mode 100644 index 0000000..cae2784 --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/faster_resources_plus.json @@ -0,0 +1,182 @@ +{ + "name": { + "translate": "module.doublerunner.faster_resources_plus" + }, + "description": { + "translate": "module.uhcrun.faster_resources.description" + }, + "long_description": [ + { + "translate": "module_description.uhcrun.stones_drop_cobblestone" + }, + { + "translate": "module_description.uhcrun.cactus_kelp_drop_planks" + }, + { + "translate": "module_description.uhcrun.gravel_drops_arrows_and_flint_and_steel" + }, + { + "translate": "module_description.uhcrun.sand_drops_glass" + }, + { + "translate": "module_description.uhcrun.sugar_cane_drop_enchanting_tables_and_books" + }, + { + "translate": "module_description.uhcrun.dead_bushes_drop_bread" + }, + { + "translate": "module_description.uhcrun.mushrooms_drop_stews" + }, + { + "translate": "module_description.uhcrun.animals_and_zombies_drop_books" + }, + { + "translate": "module_description.uhcrun.sheep_drop_bows" + }, + { + "translate": "module_description.uhcrun.chickens_drop_arrows" + }, + { + "translate": "module_description.uhcrun.creepers_drop_tnt" + }, + { + "translate": "module_description.uhcrun.squids_drop_fishing_rods" + }, + { + "translate": "module_description.uhcrun.skeletons_drop_power_bow" + } + ], + "icon": "minecraft:cactus", + "modifiers": [ + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_overworld" + }, + "loot_table": "uhcrun:cobblestone" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:sand" + }, + "loot_table": "uhcrun:glass_bottles" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:gravel" + }, + "loot_table": "uhcrun:arrows/lot" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:cactus" + }, + "loot_table": "uhcrun:oak_planks/some" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:kelp" + }, + "loot_table": "uhcrun:oak_planks/some" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:kelp_plant" + }, + "loot_table": "uhcrun:oak_planks/some" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:bamboo" + }, + "loot_table": "uhcrun:oak_planks/some" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:dead_bush" + }, + "loot_table": "uhcrun:bread/normal" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:red_mushroom" + }, + "loot_table": "uhcrun:mushroom_stews" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:brown_mushroom" + }, + "loot_table": "uhcrun:mushroom_stews" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "#uhcrun:leather", + "loot_table": "uhcrun:book" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "#uhcrun:squids", + "loot_table": "uhcrun:fishing_rod" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "#uhcrun:string", + "loot_table": "uhcrun:bow" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:gravel" + }, + "loot_table": "uhcrun:flint_and_steel" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "minecraft:chicken", + "loot_table": "uhcrun:arrows/bunch" + }, + { + "type": "uhc:entity_loot", + "entities": "#minecraft:skeletons", + "loot_table": "uhcrun:power_bow" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:sugar_cane" + }, + "loot_table": "uhcrun:enchantment_resources/table_or_books" + }, + { + "type": "uhc:entity_loot", + "entities": "minecraft:creeper", + "loot_table": "uhcrun:tnts/normal" + } + ] +} diff --git a/src/main/resources/data/doublerunner/uhc/module/guaranteed_golden_apples.json b/src/main/resources/data/doublerunner/uhc/module/guaranteed_golden_apples.json new file mode 100644 index 0000000..da94cac --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/guaranteed_golden_apples.json @@ -0,0 +1,19 @@ +{ + "name": { + "translate": "module.doublerunner.guaranteed_golden_apples" + }, + "description": { + "translate": "module.doublerunner.guaranteed_golden_apples.description" + }, + "icon": "minecraft:golden_apple", + "modifiers": [ + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:leaves" + }, + "loot_table": "uhcrun:golden_apple" + } + ] +} diff --git a/src/main/resources/data/doublerunner/uhc/module/ore_boost_plus.json b/src/main/resources/data/doublerunner/uhc/module/ore_boost_plus.json new file mode 100644 index 0000000..4b24873 --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/ore_boost_plus.json @@ -0,0 +1,19 @@ +{ + "name": { + "translate": "module.doublerunner.ore_boost_plus" + }, + "description": { + "translate": "module.uhcrun.ore_boost.description" + }, + "icon": "minecraft:diamond_ore", + "modifiers": [ + { + "type": "uhc:placed_features", + "features": [ + "doublerunner:boosted_ores/lapis", + "doublerunner:boosted_ores/gold", + "doublerunner:boosted_ores/diamond" + ] + } + ] +} diff --git a/src/main/resources/data/doublerunner/uhc/module/potion_drops.json b/src/main/resources/data/doublerunner/uhc/module/potion_drops.json new file mode 100644 index 0000000..af1ce28 --- /dev/null +++ b/src/main/resources/data/doublerunner/uhc/module/potion_drops.json @@ -0,0 +1,61 @@ +{ + "name": { + "translate": "module.doublerunner.potion_drops" + }, + "description": { + "translate": "module.doublerunner.potion_drops.description" + }, + "long_description": [ + { + "translate": "module_description.doublerunner.zombies_drop_strength_potions" + }, + { + "translate": "module_description.doublerunner.spiders_drop_poison_potions" + }, + { + "translate": "module_description.doublerunner.sugar_cane_drops_swiftness_potions" + }, + { + "translate": "module_description.doublerunner.rabbits_drop_leaping_potions" + }, + { + "translate": "module_description.doublerunner.bats_drop_night_vision_potions" + } + ], + "icon": "minecraft:potion", + "modifiers": [ + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "#minecraft:zombies", + "loot_table": "uhcrun:potion_drops/strength" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "minecraft:rabbit", + "loot_table": "uhcrun:potion_drops/leaping" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "minecraft:bat", + "loot_table": "uhcrun:potion_drops/night_vision" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "#uhcrun:spiders", + "loot_table": "uhcrun:potion_drops/poison" + }, + { + "type": "uhc:block_loot", + "replace": false, + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:sugar_cane" + }, + "loot_table": "uhcrun:potion_drops/swiftness" + } + ] +} diff --git a/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/diamond.json b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/diamond.json new file mode 100644 index 0000000..7dceaed --- /dev/null +++ b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/diamond.json @@ -0,0 +1,24 @@ +{ + "feature": "uhcrun:boosted_ores/diamond", + "placement": [ + { + "type": "minecraft:count", + "count": 12 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + } + ] +} diff --git a/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/gold.json b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/gold.json new file mode 100644 index 0000000..45fd441 --- /dev/null +++ b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/gold.json @@ -0,0 +1,24 @@ +{ + "feature": "uhcrun:boosted_ores/gold", + "placement": [ + { + "type": "minecraft:count", + "count": 14 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + } + ] +} diff --git a/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/lapis.json b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/lapis.json new file mode 100644 index 0000000..312cb0f --- /dev/null +++ b/src/main/resources/data/doublerunner/worldgen/placed_feature/boosted_ores/lapis.json @@ -0,0 +1,24 @@ +{ + "feature": "uhcrun:boosted_ores/lapis", + "placement": [ + { + "type": "minecraft:count", + "count": 14 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + } + ] +} diff --git a/src/main/resources/data/uhc/lang/en_us.json b/src/main/resources/data/uhc/lang/en_us.json index ef018d4..f5084a4 100644 --- a/src/main/resources/data/uhc/lang/en_us.json +++ b/src/main/resources/data/uhc/lang/en_us.json @@ -14,7 +14,7 @@ "text.uhc.dropping.countdown_bar": "Drop in %s", "text.uhc.dropping.countdown_text": "You will be dropped in %s.", "text.uhc.last_one_wins": "Last one standing wins!", - "text.uhc.modules_enabled": "Modules enabled:", + "text.uhc.enabled_modules": "Enabled modules:", "text.uhc.no_longer_immune": "You are no longer immune to damages!", "text.uhc.none_win": "No one has won!", "text.uhc.player_eliminated": "%s has been eliminated!", diff --git a/src/main/resources/data/uhc/lang/fr_fr.json b/src/main/resources/data/uhc/lang/fr_fr.json index 7672132..678e0f1 100644 --- a/src/main/resources/data/uhc/lang/fr_fr.json +++ b/src/main/resources/data/uhc/lang/fr_fr.json @@ -11,7 +11,7 @@ "text.uhc.dropping.countdown_bar": "Chute dans %s", "text.uhc.dropping.countdown_text": "Vous serez lâché dans %s.", "text.uhc.last_one_wins": "Le dernier debout sera déclaré vainqueur !", - "text.uhc.modules_enabled": "Modules activés :", + "text.uhc.enabled_modules": "Modules activés :", "text.uhc.no_longer_immune": "Vous n'êtes plus immunisé aux dégâts !", "text.uhc.none_win": "Personne n'a gagné !", "text.uhc.player_eliminated": "%s a été éliminé !", diff --git a/src/main/resources/data/uhc/lang/pt_BR.json b/src/main/resources/data/uhc/lang/pt_BR.json index 40468bc..14f1953 100644 --- a/src/main/resources/data/uhc/lang/pt_BR.json +++ b/src/main/resources/data/uhc/lang/pt_BR.json @@ -11,7 +11,7 @@ "text.uhc.dropping.countdown_bar": "Queda em %", "text.uhc.dropping.countdown_text": "Você será descartado em %s.", "text.uhc.last_one_wins": "Quem resta por ultimo será o vencedor!", - "text.uhc.modules_enabled": "Modulos ativados:", + "text.uhc.enabled_modules": "Modulos ativados:", "text.uhc.no_longer_immune": "Você não está mais imune a danos!", "text.uhc.none_win": "Ninguém venceu!", "text.uhc.player_eliminated": "%s foi eliminad@!", diff --git a/src/main/resources/data/uhcrun/lang/en_us.json b/src/main/resources/data/uhcrun/lang/en_us.json index 872381c..b45e702 100644 --- a/src/main/resources/data/uhcrun/lang/en_us.json +++ b/src/main/resources/data/uhcrun/lang/en_us.json @@ -7,26 +7,32 @@ "module.uhcrun.animal_cooked_food.description": "Many animals drop cooked food in larger quantities", "module.uhcrun.blasted_ores": "Blasted Ores", "module.uhcrun.blasted_ores.description": "All ores get automatically smelt, doubled and bring more experience", - "module.uhcrun.chicken_arrows": "Chicken Arrows", - "module.uhcrun.chicken_arrows.description": "Chickens drop arrows", - "module.uhcrun.creeper_tnt": "Creeper TNT", - "module.uhcrun.creeper_tnt.description": "Creepers drop TNT", "module.uhcrun.guaranteed_apples": "Guaranteed Apples", - "module.uhcrun.guaranteed_apples.description": "All leaves only drop apples in larger quantities", + "module.uhcrun.guaranteed_apples.description": "All leaves only drop apples", "module.uhcrun.mob_cooked_food": "Mob Cooked Food", "module.uhcrun.mob_cooked_food.description": "Many mobs drop cooked food in larger quantities", "module.uhcrun.faster_resources": "Need for resources", "module.uhcrun.faster_resources.description": "Tweaks lots of drops to ease gathering essential resources", - "module.uhcrun.faster_resources.description.1": "All stones types drop cobblestone", - "module.uhcrun.faster_resources.description.2": "Gravel drop arrows", - "module.uhcrun.faster_resources.description.3": "Sand drop glass", - "module.uhcrun.faster_resources.description.4": "Cactus/kelp drop planks", - "module.uhcrun.faster_resources.description.5": "Dead bushes drop bread", - "module.uhcrun.faster_resources.description.6": "Mushrooms drop stews", - "module.uhcrun.faster_resources.description.7": "More entities drop leather", - "module.uhcrun.faster_resources.description.8": "Sheep drop strings", "module.uhcrun.ore_boost": "Ore Boost", "module.uhcrun.ore_boost.description": "Lapis, gold and diamond ores are more frequent", "module.uhcrun.timberman": "Timberman", - "module.uhcrun.timberman.description": "Trees get cut instantly and drop oak planks" + "module.uhcrun.timberman.description": "Trees get cut instantly and drop oak planks", + + "module_description.uhcrun.stones_drop_cobblestone": "All stones types drop cobblestone", + "module_description.uhcrun.gravel_drops_arrows_and_flint_and_steel": "Gravel drop arrows and flint and steel", + "module_description.uhcrun.sand_drops_glass": "Sand drops glass", + "module_description.uhcrun.sand_drops_glass_bottles": "Sand drops glass bottles", + "module_description.uhcrun.cactus_kelp_drop_planks": "Cactus and kelp drop planks", + "module_description.uhcrun.dead_bushes_drop_bread": "Dead bushes drop bread", + "module_description.uhcrun.mushrooms_drop_stews": "Mushrooms drop stews", + "module_description.uhcrun.animals_and_zombies_drop_leather": "Most animals and zombies drop leather", + "module_description.uhcrun.animals_and_zombies_drop_books": "Most animals and zombies drop books", + "module_description.uhcrun.sheep_drop_strings": "Sheep drop strings", + "module_description.uhcrun.sheep_drop_bow": "Sheep drop bows", + "module_description.uhcrun.sugar_cane_drop_paper": "Sugar cane drop paper", + "module_description.uhcrun.sugar_cane_drop_enchanting_tables_and_books": "Sugar cane drop enchanting tables and books", + "module_description.uhcrun.chickens_drop_arrows": "Chickens drop arrows", + "module_description.uhcrun.creepers_drop_tnt": "Creepers drop TNT", + "module_description.uhcrun.squids_drop_fishing_rods": "Squids drop fishing rods", + "module_description.uhcrun.skeletons_drop_power_bow": "Skeletons drop Power-enchanted bows" } \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/loot_table/arrows/bunch.json b/src/main/resources/data/uhcrun/loot_table/arrows/bunch.json new file mode 100644 index 0000000..51524a9 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/arrows/bunch.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 7.0, + "max": 9.0, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/loot_table/arrows/lot.json b/src/main/resources/data/uhcrun/loot_table/arrows/lot.json index d1f4bc8..9569d4d 100644 --- a/src/main/resources/data/uhcrun/loot_table/arrows/lot.json +++ b/src/main/resources/data/uhcrun/loot_table/arrows/lot.json @@ -11,8 +11,8 @@ { "function": "minecraft:set_count", "count": { - "min": 4.0, - "max": 6.0, + "min": 14.0, + "max": 18.0, "type": "minecraft:uniform" } } diff --git a/src/main/resources/data/uhcrun/loot_table/book.json b/src/main/resources/data/uhcrun/loot_table/book.json new file mode 100644 index 0000000..39a8d19 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/book.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:book", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0.0, + "max": 1.0, + "type": "minecraft:uniform" + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/loot_table/bow.json b/src/main/resources/data/uhcrun/loot_table/bow.json new file mode 100644 index 0000000..0f071ba --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/bow.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bow", + "functions": [ + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 1 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.2 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/enchantment_resources/paper.json b/src/main/resources/data/uhcrun/loot_table/enchantment_resources/paper.json new file mode 100644 index 0000000..0772854 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/enchantment_resources/paper.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:paper", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + }, + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops" + }, + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/enchantment_resources/table_or_books.json b/src/main/resources/data/uhcrun/loot_table/enchantment_resources/table_or_books.json new file mode 100644 index 0000000..8a229f9 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/enchantment_resources/table_or_books.json @@ -0,0 +1,57 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:book", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + }, + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops" + }, + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:enchanting_table", + "functions": [ + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.05 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/fishing_rod.json b/src/main/resources/data/uhcrun/loot_table/fishing_rod.json new file mode 100644 index 0000000..16753c2 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/fishing_rod.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:fishing_rod", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.3 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/flint_and_steel.json b/src/main/resources/data/uhcrun/loot_table/flint_and_steel.json index f18d6cf..22c7c20 100644 --- a/src/main/resources/data/uhcrun/loot_table/flint_and_steel.json +++ b/src/main/resources/data/uhcrun/loot_table/flint_and_steel.json @@ -12,10 +12,10 @@ "condition": "minecraft:table_bonus", "enchantment": "minecraft:fortune", "chances": [ - 0.04, - 0.09, - 0.23, - 0.45, + 0.2, + 0.3, + 0.4, + 0.5, 0.6 ] } diff --git a/src/main/resources/data/uhcrun/loot_table/potion_drops/leaping.json b/src/main/resources/data/uhcrun/loot_table/potion_drops/leaping.json new file mode 100644 index 0000000..c23620f --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/potion_drops/leaping.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:potion", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:leaping" + } + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.3 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/potion_drops/night_vision.json b/src/main/resources/data/uhcrun/loot_table/potion_drops/night_vision.json new file mode 100644 index 0000000..afdae9d --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/potion_drops/night_vision.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:potion", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:night_vision" + } + } + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/potion_drops/poison.json b/src/main/resources/data/uhcrun/loot_table/potion_drops/poison.json new file mode 100644 index 0000000..b00935d --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/potion_drops/poison.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:potion", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:potion_contents": { + "custom_effects": [ + { + "id": "minecraft:poison", + "amplifier": 0, + "duration": 200 + } + ] + } + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.3 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/potion_drops/strength.json b/src/main/resources/data/uhcrun/loot_table/potion_drops/strength.json new file mode 100644 index 0000000..0203d9f --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/potion_drops/strength.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:potion", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:strength" + } + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.15 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/potion_drops/swiftness.json b/src/main/resources/data/uhcrun/loot_table/potion_drops/swiftness.json new file mode 100644 index 0000000..44d8f3e --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/potion_drops/swiftness.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:potion", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:swiftness" + } + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.15 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/power_bow.json b/src/main/resources/data/uhcrun/loot_table/power_bow.json new file mode 100644 index 0000000..f845c06 --- /dev/null +++ b/src/main/resources/data/uhcrun/loot_table/power_bow.json @@ -0,0 +1,39 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bow", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:enchantments": { + "minecraft:power": 1 + } + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 1 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.2 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/uhcrun/loot_table/strings.json b/src/main/resources/data/uhcrun/loot_table/strings.json index a1320d0..c150984 100644 --- a/src/main/resources/data/uhcrun/loot_table/strings.json +++ b/src/main/resources/data/uhcrun/loot_table/strings.json @@ -11,9 +11,18 @@ { "function": "minecraft:set_count", "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 1 } } ] @@ -21,4 +30,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/uhcrun/loot_table/torches/lot.json b/src/main/resources/data/uhcrun/loot_table/torches/lot.json index 5b857db..b4ee29d 100644 --- a/src/main/resources/data/uhcrun/loot_table/torches/lot.json +++ b/src/main/resources/data/uhcrun/loot_table/torches/lot.json @@ -10,7 +10,7 @@ "functions": [ { "function": "minecraft:set_count", - "count": 16 + "count": 8 }, { "function": "minecraft:apply_bonus", diff --git a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/fish.json b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/fish.json index fe7476d..7aec9b4 100644 --- a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/fish.json +++ b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/fish.json @@ -4,8 +4,7 @@ "minecraft:cod", "minecraft:salmon", "minecraft:tropical_fish", - "minecraft:squid", - "minecraft:glow_squid", + "#uhcrun:squids", "minecraft:dolphin" ] } \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/porkchop.json b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/porkchop.json index a63b820..b94538f 100644 --- a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/porkchop.json +++ b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/porkchop.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "minecraft:pig" + "minecraft:pig", + "minecraft:hoglin" ] } \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/rabbit.json b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/rabbit.json index 51b4357..3135871 100644 --- a/src/main/resources/data/uhcrun/tags/entity_type/animal_food/rabbit.json +++ b/src/main/resources/data/uhcrun/tags/entity_type/animal_food/rabbit.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "minecraft:rabbit" + "minecraft:rabbit", + "minecraft:bat" ] } \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/tags/entity_type/spiders.json b/src/main/resources/data/uhcrun/tags/entity_type/spiders.json new file mode 100644 index 0000000..a0a0eef --- /dev/null +++ b/src/main/resources/data/uhcrun/tags/entity_type/spiders.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:spider", + "minecraft:cave_spider" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/tags/entity_type/squids.json b/src/main/resources/data/uhcrun/tags/entity_type/squids.json new file mode 100644 index 0000000..31052ef --- /dev/null +++ b/src/main/resources/data/uhcrun/tags/entity_type/squids.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:squid", + "minecraft:glow_squid" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/uhcrun/tags/uhc/module/standard.json b/src/main/resources/data/uhcrun/tags/uhc/module/standard.json index f13dc47..4e6ea14 100644 --- a/src/main/resources/data/uhcrun/tags/uhc/module/standard.json +++ b/src/main/resources/data/uhcrun/tags/uhc/module/standard.json @@ -8,8 +8,6 @@ "uhcrun:blasted_ores", "uhcrun:faster_resources", "uhcrun:animal_cooked_food", - "uhcrun:mob_cooked_food", - "uhcrun:creeper_tnt", - "uhcrun:chicken_arrows" + "uhcrun:mob_cooked_food" ] } diff --git a/src/main/resources/data/uhcrun/uhc/module/chicken_arrows.json b/src/main/resources/data/uhcrun/uhc/module/chicken_arrows.json deleted file mode 100644 index 38de94e..0000000 --- a/src/main/resources/data/uhcrun/uhc/module/chicken_arrows.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": { - "translate": "module.uhcrun.chicken_arrows" - }, - "description": { - "translate": "module.uhcrun.chicken_arrows.description" - }, - "icon": "minecraft:feather", - "modifiers": [ - { - "type": "uhc:entity_loot", - "replace": false, - "entities": "minecraft:chicken", - "loot_table": "uhcrun:arrows/normal" - } - ] -} diff --git a/src/main/resources/data/uhcrun/uhc/module/creeper_tnt.json b/src/main/resources/data/uhcrun/uhc/module/creeper_tnt.json deleted file mode 100644 index ff5cb37..0000000 --- a/src/main/resources/data/uhcrun/uhc/module/creeper_tnt.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": { - "translate": "module.uhcrun.creeper_tnt" - }, - "description": { - "translate": "module.uhcrun.creeper_tnt.description" - }, - "icon": "minecraft:tnt", - "modifiers": [ - { - "type": "uhc:entity_loot", - "entities": "minecraft:creeper", - "loot_table": "uhcrun:tnts/normal" - } - ] -} diff --git a/src/main/resources/data/uhcrun/uhc/module/dasher.json b/src/main/resources/data/uhcrun/uhc/module/dasher.json index 8327ce4..a7f1d75 100644 --- a/src/main/resources/data/uhcrun/uhc/module/dasher.json +++ b/src/main/resources/data/uhcrun/uhc/module/dasher.json @@ -7,14 +7,19 @@ }, "icon": "minecraft:iron_boots", "modifiers": [ - { - "type": "uhc:player_attribute", - "attribute": "minecraft:movement_speed", - "value": 0.14 - }, - { - "type": "uhc:permanent_effect", - "effect": "minecraft:haste" - } - ] + { + "type": "uhc:player_attribute", + "attribute": "minecraft:movement_speed", + "id": "doublerunner:dasher_movement", + "amount": 0.2, + "operation": "add_multiplied_total" + }, + { + "type": "uhc:player_attribute", + "attribute": "minecraft:block_break_speed", + "id": "doublerunner:dasher_break_speed", + "amount": 0.1, + "operation": "add_multiplied_total" + } +] } diff --git a/src/main/resources/data/uhcrun/uhc/module/faster_resources.json b/src/main/resources/data/uhcrun/uhc/module/faster_resources.json index 39a653b..f235fb7 100644 --- a/src/main/resources/data/uhcrun/uhc/module/faster_resources.json +++ b/src/main/resources/data/uhcrun/uhc/module/faster_resources.json @@ -7,28 +7,37 @@ }, "long_description": [ { - "translate": "module.uhcrun.faster_resources.description.1" + "translate": "module_description.uhcrun.stones_drop_cobblestone" }, { - "translate": "module.uhcrun.faster_resources.description.2" + "translate": "module_description.uhcrun.cactus_kelp_drop_planks" }, { - "translate": "module.uhcrun.faster_resources.description.3" + "translate": "module_description.uhcrun.gravel_drops_arrows_and_flint_and_steel" }, { - "translate": "module.uhcrun.faster_resources.description.4" + "translate": "module_description.uhcrun.sand_drops_glass_bottles" }, { - "translate": "module.uhcrun.faster_resources.description.5" + "translate": "module_description.uhcrun.sugar_cane_drop_paper" }, { - "translate": "module.uhcrun.faster_resources.description.6" + "translate": "module_description.uhcrun.dead_bushes_drop_bread" }, { - "translate": "module.uhcrun.faster_resources.description.7" + "translate": "module_description.uhcrun.mushrooms_drop_stews" }, { - "translate": "module.uhcrun.faster_resources.description.8" + "translate": "module_description.uhcrun.animals_and_zombies_drop_leather" + }, + { + "translate": "module_description.uhcrun.sheep_drop_strings" + }, + { + "translate": "module_description.uhcrun.chickens_drop_arrows" + }, + { + "translate": "module_description.uhcrun.creepers_drop_tnt" } ], "icon": "minecraft:cactus", @@ -132,6 +141,25 @@ "block": "minecraft:gravel" }, "loot_table": "uhcrun:flint_and_steel" + }, + { + "type": "uhc:block_loot", + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:sugar_cane" + }, + "loot_table": "uhcrun:enchantment_resources/paper" + }, + { + "type": "uhc:entity_loot", + "replace": false, + "entities": "minecraft:chicken", + "loot_table": "uhcrun:arrows/normal" + }, + { + "type": "uhc:entity_loot", + "entities": "minecraft:creeper", + "loot_table": "uhcrun:tnts/normal" } ] }