HomeJavaModsRealm RPG: Quests & Rewards
Realm RPG: Quests & Rewards
ModsJava

Realm RPG: Quests & Rewards

by NoCube · on CurseForge

⬇ Download on CurseForge


Participant MCreator x CurseForge ModJam 2024
Requires GeckoLib & Curios API

 

About:

The mod adds a complete system of repeatable quests, almost like in MMORPGs. Traveling around the world you can encounter new structures with NPCs inside. Talk to them to recieve a procedurally-generated quest. 
Use your Quest Journal (Default: J) to read info, or enable Quest Tracking Overlay (Default: K) when you have a quest, to finish it with more comfort.

 

Quests

'Optional tasks, by completing which you earn rewards'

How to Start?

 

More About Quests

Quest Types

Quest types refer to the actions a player will need to perform to complete a quest. There are currently 8 types of working quests in-game:

 

Quest Rarities

A quest can be one of two rarities: Common or Rare. Common Quests is what you will be doing most of the time. These have nice rewards and are mostly not difficult to complete. Rare Quests are indicated with purple color, they can be more difficult or dangerous, but the reward for these may be very good. When you start doing quests for NPCs, the first three quests will always be Common. A subsequent quest will have a rarity with a probability that depends on the player's current game progress. In multiplayer, this probability is calculated for the last player who completed a quest for that NPC. Example: You've already visited the End and are now on a quest from an Angler near your house. A friend who has no progress in this world joins your game, but he somehow manages to complete this quest before you. The rarity of the next quest for this Angler will be calculated based on friend's progress, not yours. But what are chances for rarities at different game stages? 

Quest NPCs

Angler 
'The old man who can't seem to get anything right. You wouldn't leave him without a new fishing rod, even if he broke the last two, would you?'

  • /locate structure realmrpg_quests:anglers
  • Can be found in Angler's House near rivers. The structure is randomly generated and may be surrounded by small bridges, docks and other additional buildings to fit the terrain.
  • Has 24 repeatable quests in total (15 common, 9 rare). All quests already have written text lines in-game.
  • Can ask for items from other mods, if those are installed (Create, Farmer's Delight, Aquaculture, Upgrade Aquatic)

Common Quests:

  • A variety of 24 simple tasks perfect for early and mid-game (e.g. the fisherman has a damaged fishing line, so he asks you to get some String for him)

Rare Quests:

  • Glow Bait. The NPC asks you to get him a glowing clot that will be used to create glowing bait. You will have to find and kill the 'Turquoise glowing things that swim in the depths' in order to get it. When completing this task, the Angler will give you some glowing bait in addition to the reward, which you can use yourself. To do this, you need to take it off-hand while fishing at night, and then you will have 50% chance to get 1-3 additional fish. This item is consumable.
  • Guardians. Angler reports that the Guardians have arrived. During this quest, fishing out items will cause a guardian to spawn. You must kill required amount of them to complete the quest.
  • Azure Daggerfin. Catch many of these fishes. Caught anywhere (50% chance) during rain or thunderstorm, while this quest is active.
  • Scarlet Grouper. Catch a strong red fish, that damages your fishing rod producing a distinctive sound. Caught anywhere (20% chance), while this quest is active.
  • Thornback Flounder. Catch and deliver a spiny fish that deals 6 damage to you. Caught anywhere (25% chance), while this quest is active.
  • Pearlescent Catfish. Catch and deliver a fish that can blind you for a short amount of time. Caught anywhere (25% chance) during sunny day, while this quest is active.
  • Blackfin Snapper. Catch and deliver a fish that calls for the help of Phantoms. Caught anywhere (50% chance) during night, while this quest is active.
  • Copperfish. You need to catch a fish that can oxidize over time (this mechanic is currently disabled). Caught anywhere (25% chance), while this quest is active.

 

Cook
'A supreme chef who's ready to feed everyone in the world..... if someone brings him the right ingredients, of course.'

  • /locate structure realmrpg_quests:cooks
  • Can be found in Cook's House in plains. The structure is randomly generated and may be surrounded by roads, wheat fields, barns, houses, chicken coops, street lanterns and other additional buildings to fit the terrain.
  • Has 12 repeatable quests in total (9 common, 4 rare). All quests already have written text lines in-game.
  • Can ask for items from other mods, if those are installed (Farmer's Delight, Upgrade Aquatic)

Common Quests:

  • A variety of 12 simple tasks perfect for early and mid-game (e.g. the Cook need some Brown Mushrooms for cooking a meal, or asks you to till the soil)

Rare Quests:

  • Creeper Fruit. The cook asks you to find Creeper Fruit for him, which can be obtained by killing a Creeper exposed to sunlight. A good reason to go fight early in the morning.
  • Ochre Kelp. During this quest, sea grass has a chance to drop Ochre Kelp, which the cook asks you to get.
  • Velvet Truffle. Dig any blocks of earth to be able to find a Velvet Truffle and deliver it to the cook.
  • Advanced Meal. Cook asks you to prepare one of the complex dishes (using a crafting table). If Farmer's Delight is installed, this task can be either easier or more difficult depending on your luck.

 

Monster Hunter
'A legendary hero who has defeated more than a hundred skeletons. But even he will need your help.'

  • /locate structure realmrpg_quests:monster_hunters
  • Can be found in Monster Hunter's Tower in forests. The structure is randomly generated and may be surrounded by roads, warehouses and other additional buildings to fit the terrain.
  • Has 9 repeatable quests in total (6 common, 3 rare). All quests have simplified text for now.
  • Can ask for items from other mods, if those are installed (Farmer's Delight, Upgrade Aquatic)

Common Quests:

  • A variety of 9 simple tasks perfect for mid and late game (e.g. kill some zombies, go for combat training and deal critical strikes to creepers, etc)

Rare Quests:

  • Illager Nose. Monster Hunter talks about having old scores to settle with the Illagers. He asks you to get their noses... and you know how get these. (Any illager is suitable for the task, including Vindicator, Evoker, etc)
  • Ghast. NPC asks you to defeat a Ghast.
  • Blaze. NPC asks you to kill several Blazes.

Miner's House
'An underground shelter near the surface'

  • /locate structure realmrpg_quests:miners
  • Entrance to this structure can be found on surface rarely in most grassy biomes and in desert.
  • Miner NPCis currently cut from the mod and replaced with Monster Hunter.

 

Lumberjack's House
'A forest cabin hidden among the trees'

  • /locate structure realmrpg_quests:lumberjacks
  • This structure can be found in forest and taiga biomes rarely.
  • Lumberjack NPC is currently cut from the mod and replaced with Villager.

 

Other Characters

Headless Skeleton
'This Wither Skeleton seem to have lost his head. Literally.'

  • Can be found in small Nether Brick Ruins alongside regular Wither Skeletons.
  • He doesn't notice or attack the player. Maybe you should try to help him somehow? (There can be several consequences)

Piglin Gambler
'Absolutely non-suspicious person, driven solely by the desire to entertain the visitor (well, and earn quite a bit of gold for that)'

  • For a modest fee of 1 gold ingot you can participate in his Pot Game. 
  • He shows you which pot the reward lies in and then stirs them in front of you.
  • Choose one pot out of three and get a reward. Or make a mistake and accept the consequences (they may be different or nonexistent.)
  • He's definitely not cheating. You can be sure of that.

 

Configs / Adding New Quests

You're probably thinking, how should I add my own quests to the game? The following will detail the knowledge required to do so.

Configs

Currently mod adds config files for quests themselves. Location at your minecraft install folder (e.g minecraft/config/realmrpg/quests/)

How it works?

Even before entering your world, the game creates json config files, if there are none at your Minecraft game folder. If config already exists, then within the game NPCs will be able to generate quests based on data from these files. For example, an Angler will have quests from the file angler.json. You can edit this file right while the game is running, but this will not affect quests that have already been generated. Only after the current task is completed, the next one will be generated based on your changes.

How does the quest look like in JSON?

This is the example of a random quest. It has Common rarity, it's id is 9. Main text is based on Angler's tackles quest. It will require a player to Deliver a random amount of candles (from 7 to 21) of random color. It will give a player loot from vanilla desert temple chest. It will award the player with 11 points of exp.

  "questType_c9": "deliver",
  "questText_c9": "quest.realmrpg_quests.angler.tackles",
  "questRewardText_c9": "quest.realmrpg_quests.generic.reward",
  "questTarget_c9": "minecraft:candles",
  "questReward_c9": "minecraft:chests/desert_pyramid",
  "questSpecialEvents_c9": "",
  "questCustomName_c9": "",
  "questTaskCustomName_c9": "",
  "questTargetCustomName_c9": "",
  "questTargetEnchanted_c9": false,
  "questTargetMin_c9": 7,
  "questTargetMax_c9": 21,
  "questExp_c9": 11,

 

What all this means?

Each quest consists of the lines shown above. Line order does not matter, but all the lines are needed for the quest to work. At the end of each line you see the first letter of quest rarity (c or r, meaning Common and Rare), as well as a number of quest ID. This ID is important when the game chooses the next quest, and the amount of checked IDs are indicated in commonQuestCount and rareQuestCount lines (almost in the beginning of .json file).

For example, you want to add a Common Quest to the Angler. By default he has "commonQuestCount": 15 in a json file. All you need to do is copy and paste all the lines associated with quest 15 and change the numbers at the end of them to 16. Then simply change commonQuestCount to 16 (so the game will now check all the 16 possible common quests). That's it, the quest is ready! You can change the values ​​of any lines to whatever you want.

However, If any of these lines feel complicated for you, below you can see the detailed explanation:

questType
(type of the quest depending on required player actions)

  • Accepts one of values: deliver, craft, kill, crit, build, destroy, catch, till
  • You can't add your own new quest types

questText
(what the NPC will say to the player upon receiving this quest)

  • Accepts any localization entry
  • If localization entry contains {Target} or {Count} it will be replaced with name of quest target and the count of required action to complete the quest.
  • Replacement example: "Gather {Target} and bring me {Count} pieces" = "Gather Apple and bring me 12 pieces"
  • Generic text (Delivery): quest.realmrpg_quests.generic.deliver
  • Generic text (Hunting): quest.realmrpg_quests.generic.kill

questRewardText
(what the NPC will say upon completing this quest)

  • Accepts any localization entry
  • Basic reward text is quest.realmrpg_quests.generic.reward

questTarget
(what is required to complete quest)

  • For Delivery and Crafting quests it's an Item Tag from which one random item will be chosen each time. Example: minecraft:candles
  • For Hunting and Training quests it's an Entity Tag from which any entity is suitable to complete the quest. Example: minecraft:skeletons
  • For Building and Destruction quests it's a Block Tag from which any block is suitable to complete the quest. Example: minecraft:coal_ores
  • For Fishing and Tillage quests the value is not important and can be left empty or set to none

questReward
(what will be given to player who completed the quest)

  • Accepts any loot table
  • Example (Vanilla): minecraft:chests/simple_dungeon
  • Example (Mod): realmrpg_quests:rewards/cook/generic

 questSpecialEvents
(events and checks that happens during Rare Quests)

  • Mostly hardcoded in base mod. For now it's impossibe to add custom events via configs.
  • You still can make 'your versions' of current rare quests with different text, reward loot table, exp amount and etc.
  • Check existing json config files and copy possible values (example from Angler: scarlet_grouper)
  • Leave empty or set to none to make quest having Common colors.
  • Insert any other value (even blahblah) to make this quest have purple colors, like Rare one.

 questCustomName
(display name of the quest in Journal)

  • Accepts any localization entry. (e.g. biome.minecraft.swamp in-game will be displayed as Swamp)
  • If left empty or set to none, it will be replaced as quest type in-game (e.g. Delivery or Hunting)

questTaskCustomName
(display name of quest Task in Journal)

  • Accepts any localization entry.
  • Always set this value to so

questTargetCustomName
(display name of quest Target in Journal)

  • Accepts any localization entry.
  • Always set this value to something in case of Hunting, Training, Destruction or Building quest to display it as a Target in quest.

questTargetEnchanted
(should the quest Target be enchanted, if it's item)

  • Currently useless. Will be used future Delivery quests with enchanted items.

 questTargetMin, questTargetMax
(should the quest Target be enchanted, if it's item)

  • Minimum and maximum value of required actions to complete quest (kills / placed blocks / amount of items)
  • Do not set Min value larger than Max value and vice versa
  • Do not set these values to zero or below.
  • For Delivery type quests do not set value above 64, because quest will be impossible to complete.

questExp
(how much exp is given upon finishing the quest)

  • Amount of exp point in the 'reward exp orb' that npc gives to the player
  • Do not set this value to zero or below.

 

This ModJam has given me idea to take a break away from all current projects and try my best making a small yet extraordinary mod for my RPG Series as fast as I can. Despite the fact that I could only work roughly half the time of this contest, I tried to push MCreator to its limits and have learned so many new things in modding. I hope that my project even in it's current unfinished state turned out interesting enough to stand on par with the other participants. I can't wait to check out what others have made this month!

Quick facts

Install steps are the general flow for this file type — see the MC Java Mods guides for the full walkthrough.

Realm RPG: Quests & Rewards is a free Minecraft Java mod. Compatible with Minecraft 1.20.1. Downloaded 4,816,555 times (via CurseForge). Download it and open it directly in the game.

Explore more