Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 79 additions & 5 deletions dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.mymetaverse</groupId>
<artifactId>metaapi</artifactId>
<version>2.3.1</version>
<groupId>io.mymetaverse.sdk</groupId>
<artifactId>java-sdk</artifactId>
<version>2.4.0</version>
<build>
<defaultGoal>package install</defaultGoal>
<finalName>${project.name}-${project.version}</finalName>
Expand All @@ -20,6 +20,10 @@
<target>8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
Expand Down Expand Up @@ -52,16 +56,86 @@
<version>RELEASE</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>junit-jupiter-api</artifactId>
<groupId>org.junit.jupiter</groupId>
</exclusion>
<exclusion>
<artifactId>junit-jupiter-params</artifactId>
<groupId>org.junit.jupiter</groupId>
</exclusion>
<exclusion>
<artifactId>junit-jupiter-engine</artifactId>
<groupId>org.junit.jupiter</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.7.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>byte-buddy</artifactId>
<groupId>net.bytebuddy</groupId>
</exclusion>
<exclusion>
<artifactId>byte-buddy-agent</artifactId>
<groupId>net.bytebuddy</groupId>
</exclusion>
<exclusion>
<artifactId>objenesis</artifactId>
<groupId>org.objenesis</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>4.7.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>junit-jupiter-api</artifactId>
<groupId>org.junit.jupiter</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.23.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>byte-buddy</artifactId>
<groupId>net.bytebuddy</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub MyMetaverse Apache Maven Packages</name>
<name>GitHub MyMetaverse JavaSDK Maven Packages</name>
<url>https://maven.pkg.github.com/MyMetaverse/JavaSDK</url>
</repository>
</distributionManagement>
<properties>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
36 changes: 35 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>io.mymetaverse.sdk</groupId>
<artifactId>java-sdk</artifactId>
<version>2.3.1</version>
<version>2.4.0</version>

<properties>
<maven.compiler.source>8</maven.compiler.source>
Expand All @@ -29,6 +29,10 @@
<target>8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
Expand Down Expand Up @@ -79,6 +83,36 @@
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>4.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.23.1</version>
<scope>test</scope>
</dependency>
</dependencies>

<distributionManagement>
Expand Down
18 changes: 18 additions & 0 deletions src/main/java/io/mymetavese/metaapi/MetaAPIImpl.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package io.mymetavese.metaapi;

import io.mymetavese.metaapi.api.MetaAPI;
import io.mymetavese.metaapi.api.entities.drops.wrapper.MetaDropsWrapper;
import io.mymetavese.metaapi.api.entities.v2.GameEntity;
import io.mymetavese.metaapi.requests.RequestGenerator;
import io.mymetavese.metaapi.requests.entities.GameEntityImpl;
import io.mymetavese.metaapi.requests.entities.drops.wrapper.MetaDropsWrapperImpl;
import io.mymetavese.metaapi.requests.routes.RouteAdapter;
import io.mymetavese.metaapi.requests.routes.V2;
import io.mymetavese.metaapi.requests.token.TokenHandler;
Expand Down Expand Up @@ -49,8 +51,24 @@ public MetaAPIImpl(TokenHandler tokenHandler, @Nullable RouteAdapter routeAdapte
this.routeAdapter = routeAdapter;
}

/**
* Build a new player ready to execute actions...
*
* @param playerID The player ID that the player should use.
* @return A {@link GameEntity} object with their possible actions.
*/
public GameEntity buildPlayer(String playerID) {
return new GameEntityImpl(this, playerID);
}

/**
* Get an instance of a {@link MetaDropsWrapper} object.
* <p>
* Allows to get access to the MetaDrops API.
* @return A {@link MetaDropsWrapper} object.
*/
public MetaDropsWrapper getDropsWrapper() {
return new MetaDropsWrapperImpl(this);
}

}
13 changes: 11 additions & 2 deletions src/main/java/io/mymetavese/metaapi/api/MetaAPI.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.mymetavese.metaapi.api;

import io.mymetavese.metaapi.MetaAPIImpl;
import io.mymetavese.metaapi.api.entities.drops.wrapper.MetaDropsWrapper;
import io.mymetavese.metaapi.api.entities.v2.GameEntity;
import io.mymetavese.metaapi.requests.routes.RouteAdapter;
import io.mymetavese.metaapi.requests.routes.V2;
Expand All @@ -9,13 +10,21 @@
public interface MetaAPI {

/**
* Build a new player ready to execute actions..
* Build a new player ready to execute actions...
*
* @param playerID The player ID that the player should use.
* @return A player with their possible actions.
* @return A {@link GameEntity} object with their possible actions.
*/
GameEntity buildPlayer(String playerID);

/**
* Get an instance of a {@link MetaDropsWrapper} object.
* <p>
* Allows to get access to the MetaDrops API.
* @return A {@link MetaDropsWrapper} object.
*/
MetaDropsWrapper getDropsWrapper();

final class Builder {
private TokenHandler tokenHandler;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package io.mymetavese.metaapi.api.actions.drops;

import io.mymetavese.metaapi.api.RestAction;
import io.mymetavese.metaapi.api.entities.drops.responses.DropConsumedResponse;

public interface ConsumeDropAction extends RestAction<DropConsumedResponse> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.mymetavese.metaapi.api.actions.drops;

import io.mymetavese.metaapi.api.RestAction;
import io.mymetavese.metaapi.api.entities.drops.MetaDrop;

import java.util.List;

public interface GetAllDropsAction extends RestAction<List<MetaDrop>> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package io.mymetavese.metaapi.api.actions.drops;

import io.mymetavese.metaapi.api.RestAction;
import io.mymetavese.metaapi.api.entities.drops.MetaDrop;

public interface GetDropAction extends RestAction<MetaDrop> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package io.mymetavese.metaapi.api.entities.drops;

import io.mymetavese.metaapi.api.entities.drops.constraints.DropConstraint;
import io.mymetavese.metaapi.api.entities.drops.requirements.DropEntryRequirement;
import io.mymetavese.metaapi.requests.entities.drops.crates.DropCrateImpl;

import java.util.List;

public interface MetaDrop {

String getId();
String getName();
String getDescription();
String getSlug();
String getCreatorId();

List<DropConstraint> getConstraints();

List<DropCrateImpl> getCrates();

List<DropEntryRequirement> getEntryRequirements();

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package io.mymetavese.metaapi.api.entities.drops.constraints;

import com.google.gson.JsonElement;

public interface DropConstraint {

JsonElement toJsonElement();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package io.mymetavese.metaapi.api.entities.drops.constraints;

public interface LimitedConsumptionDropConstraint extends DropConstraint {

int getMaxConsumptionPerUser();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package io.mymetavese.metaapi.api.entities.drops.crates;

import io.mymetavese.metaapi.requests.entities.drops.crates.DropCrateItemImpl;

import java.util.List;

public interface DropCrate {

/**
* Obtain the ID of the crate
* @return The ID of the crate
*/
String getId();

/**
* Obtain the name of the crate
* @return The name of the crate
*/
String getName();

/**
* Get the total supply for this crate
* <p>
* Get the total number of tokens that will be distributed in this crate.
* @return The total supply of tokens in this crate
*/
int getTotalSupply();

/**
* Get the number of tokens available in this crate
* <p>
* Get the number of tokens that are still available in this crate.
* @return The number of tokens available in this crate
*/
int getAvailableSupply();

/**
* Get the tokens available in this crate
* <p>
* Get the tokens (its Ids and Indexes) available in this crate.
*
* @return The tokens available in this crate
*/
List<DropCrateItemImpl> getTokensInCrate();

/**
* Get the type of this crate
* @return The type of this crate
*/
DropCrateType getType();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.mymetavese.metaapi.api.entities.drops.crates;

import io.mymetavese.metaapi.api.entities.Item;

public interface DropCrateItem extends Item {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package io.mymetavese.metaapi.api.entities.drops.crates;

public interface DropCrateType {

boolean isPerIndex();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package io.mymetavese.metaapi.api.entities.drops.requirements;

import com.google.gson.JsonElement;

public interface DropEntryRequirement {

JsonElement toJsonElement();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package io.mymetavese.metaapi.api.entities.drops.requirements;

public interface ReusableCodeDropEntryRequirement extends DropEntryRequirement {

String getReusableCode();

}
Loading