Pragma Engine 0.0.46

November 23rd, 2021

  • Added a service call to delete the entire contents of a player’s inventory.
  • Added a way to include additional metadata with crafting requests.
  • Required integration:
    • New format of /v1/info response: Update Pragma Platform before integrating the latest SDKs, not the other way around.
  • Optional integration:
    • Configure the ext jar to be copied and renamed on build: Copy the plugin block that was added to ext-server-pom.template and paste it into your 5-ext/ext-server/pom.xml.

Features #

  • Added a service call to delete the entire contents of a player’s inventory.
    • Description: Added DeletePlayerInventoryV1 which allows players to delete all of their inventory.
    • Reference: New config value in InventoryServiceConfig.enableDeletePlayerInventory controls whether the endpoint is active (default: FALSE).
    • Path: pragma-engine/platform/2-pragma/game/src/main/kotlin/pragma/inventory/InventoryServiceConfig.kt
  • Added a way to include additional metadata with crafting requests.
    • Description: Added ExtCraftRequest to the meetsRequirements() function in the CraftingPlugin.
    • Reference: For an implementation example, check out the PetEvolutionRequest used in 4-demo’s PetCrafter.kt.
    • Path: pragma-engine/platform/4-demo/demo/src/main/kotlin/pragma/inventory/PetCrafter.kt

Integration Steps #

  • Updated the format of the /v1/info response.
    • Description: The format of the /v1/info response has been updated. Although this is backwards compatible, newer clients cannot communicate with an older Pragma backend.
    • Integration steps: Update Pragma Platform before integrating the latest SDKs, not the other way around.
  • Users can configure the ext jar to be copied and renamed on build.
    • Description: The ext jar can now be automatically copied to a more convenient location and renamed when building.
    • Integration steps: Copy the plugin block that was added to ext-server-pom.template and paste it into your 5-ext/ext-server/pom.xml
    • Reference:
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.coderplus.maven.plugins</groupId>
        <artifactId>copy-rename-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <id>copy-file</id>
            <phase>install</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <sourceFile>target/ext-server-PRAGMA-LOCAL-SNAPSHOT-jar-with-dependencies.jar</sourceFile>
              <destinationFile>../../5-ext/target/pragma.jar</destinationFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
      

Deprecations #

The following endpoints have been changed:

OriginalReplacement
PlayerMatchEndV2.item_updatesPlayerMatchEndV2.server_item_updates
getDisplayNameForPragmaPlayerIdForPartnerV1use match data for player display names