Advent of Ascension Wiki

This wiki is maintained for the current latest version of AoA. If you are playing on an older version of the mod, you may find some of the information for your version missing or incorrect. Use the page history feature to view older versions of pages instead.

Other questions may be answered on this page

READ MORE

Advent of Ascension Wiki
Advertisement

NOTE: This is for the 1.16.5 versions of Minecraft. If you are developing for 1.12.2, see Making an Addon/1.12.2

Adding it to your workspace[ | ]

To effectively create an add-on or integrate with AoA, you will need to add it to your development environment. To do this, you will need to edit the repositories section of your build.gradle file to add the CurseMaven repository.

CurseMaven allows you to get the files directly from CurseForge, saving any troublesome configuration. You can read more about it here.

If you do not already have a repositories section of your build.gradle, you'll need to create one.

Gradle1.16

build.gradle layout.

From there, add the below lines into the repositories section:

    maven {
        name = "Curseforge" // Curseforge Maven
        url = "https://www.cursemaven.com/"
    }

Then, in the dependencies section, add in the following line:

    implementation fg.deobf("curse.maven:advent-of-ascension-nevermine-311054:<file_id>") // Follow the instructions on CurseMaven to see what values to put here

Replacing:

  • <file_id> with the Curseforge file id of the AoA version you're developing for - E.G. 3378340

Once the build.gradle has been edited, re-run the setupDecompWorkspace task in gradle, then refresh your gradle project via the gradle panel.

Key Classes[ | ]

Below are some key classes that developers may be interested in or find useful.

Util/Helper[ | ]

  • PlayerUtil - A utility class that contains various useful methods for interacting with AoA's player data, such as skills and resources.
  • EntityUtil - A utility class that contains various useful methods for interacting with AoA's entities. Contains helper methods for type-immunities, type-damage dealing, and more.
  • AdvancementUtil - A utility class that contains various useful methods for interacting with Advancements in-game.
  • DamageUtil - A utility class that contains various useful methods related to dealing or taking damage.
  • EntityUtil - A utility class that contains various useful methods related to entities and their attributes.
  • ItemUtil - A utility class that contains various useful methods related to items and inventories.
  • LocaleUtil - A utility class that contains various useful methods for handling localisation and messages.
  • NumberUtil - A utility class that contains various useful methods for working with numbers and values.
  • RandomUtil - A utility class that contains various useful methods for random number generation and checks.
  • RenderUtil - A utility class that contains various useful methods for rendering functions.
  • StringUtil - A utility class that contains various useful methods for working with strings and messages.
  • WorldUtil - A utility class that contains various useful methods for working with world-related effects and functions.

Container/Useful Classes[ | ]

  • PlayerDataManager - The container that holds all the relevant information and methods for AoA's player data. You can get a player's container via PlayerUtil#getAdventPlayer(). Containers only exist on the server, not the client.
  • ClientPlayerDataManager - The client-side holder for the player's skills and resources data, mostly used for rendering
  • AoAConfig - Contains references to all of the configuration options for AoA.
  • Keybinds - Contains references to AoA's keybinds and their states.

Registration/Object References[ | ]

  • AoAAbilities - Contains references to all of AoA's built-in skill abilities after registration.
  • AoAResources - Contains references to all of AoA's built-in resources after registration.
  • AoASkills - Contains references to all of AoA's built-in skills after registration.
  • AoAFeatures - Contains references to all of AoA's feature types, carver types, placement types, and overworld configured-features after registration.
  • AoAStructures - Contains references to all of AoA's structure types after registration.
  • AoASurfaceBuilders - Contains references to all of AoA's Surface Builder types after registration.
  • AoAArmour - Contains references to all of AoA's armour items after registration.
  • AoAAttributes - Contains references to all of AoA's custom attributes after registration.
  • AoABlocks - Contains references to all of AoA's blocks after registration.
  • AoADimensions - Contains references to all of AoA's dimensions after registration.
  • AoAEnchantments - Contains references to all of AoA's enchantments after registration.
  • AoAEntities - Contains references to all of AoA's entity types after registration.
  • AoAGameRules - Contains references to all of AoA's gamerules after registration.
  • AoAItemGroups - Contains references to all of AoA's creative tabs after registration.
  • AoAItems - Contains references to all of AoA's items after registration.
  • AoALootModifiers - Contains references to all of AoA's global loot modifier types after registration.
  • AoAParticleTypes - Contains references to all of AoA's particle types after registration.
  • AoARecipes - Contains references to all of AoA's recipe types after registration.
  • AoASounds - Contains references to all of AoA's sound events after registration.
  • AoATags - Contains references to all of AoA's tags after registration.
  • AoATileEntities - Contains references to all of AoA's tile entity types after registration.
  • AoATools - Contains references to all of AoA's tool items after registration.
  • AoAWeapons - Contains references to all of AoA's weapons after registration.

Base Classes[ | ]

  • AdventArmour - The base class for AoA Armour items. Contains various useful event handlers for easy extensible functions.
  • BaseBlaster - The base class for AoA Blasters.
  • BaseBow - The base class for AoA Bows.
  • BaseCannon - The base class for AoA Cannons.
  • BaseCrossbow - The base class for AoA Crossbows.
  • BaseGreatblade - The base class for AoA Greatblades.
  • BaseGun - The base class for AoA Guns. Most gun subtypes extend this.
  • BaseMaul - The base class for AoA Mauls.
  • BaseShotgun - The base class for AoA Shotguns.
  • BaseSniper - The base class for AoA Snipers.
  • BaseStaff - The base class for AoA Staves.
  • BaseSword - The base class for AoA Swords.
  • BaseThrownWeapon - The base class for AoA Thrown Weapons.
  • BaseVulcane - The base class for AoA Vulcanes.
  • AoAAmbientNPC - The base class for all AoA non-trader NPCs.
  • AoAAnimal - The base class for AoA Animals.
  • AoAFlyingMeleeMob - The base class for all AoA mobs that are both flying-type and primarily attack with melee.
  • AoAFlyingRangedMob - The base class for all AoA mobs that are both flying-type and primarily attack with ranged.
  • AoAMeleeMob - The base class for all AoA ground-based mobs that attack primarily with melee.
  • AoARangedMob - The base class for all AoA ground-based mobs that attack primarily with ranged.
  • AoATrader - The base class for all trading NPCs in AoA.
  • AoAWaterMeleeMob - The base class for all AoA mobs that are both water-based and primarily attack with melee.
  • AoAWaterRangedMob - The base class for all AoA mobs that are both water-based and primarily attack with ranged.
Advertisement