Skip to content

Commit b35ebbb

Browse files
Fix sounds in 1.21.4+ and fix GriefDefender dependency issue
1 parent 5662825 commit b35ebbb

8 files changed

Lines changed: 139 additions & 6 deletions

File tree

TradeSystem-Bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>TradeSystem</artifactId>
77
<groupId>de.codingair</groupId>
8-
<version>2.6.3_Hotfix-6</version>
8+
<version>2.6.3_Hotfix-7</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

TradeSystem-Packets/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>TradeSystem</artifactId>
77
<groupId>de.codingair</groupId>
8-
<version>2.6.3_Hotfix-6</version>
8+
<version>2.6.3_Hotfix-7</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

TradeSystem-Spigot/pom.xml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>TradeSystem</artifactId>
77
<groupId>de.codingair</groupId>
8-
<version>2.6.3_Hotfix-6</version>
8+
<version>2.6.3_Hotfix-7</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

@@ -44,6 +44,11 @@
4444
<url>https://repo.rosewooddev.io/repository/public/</url>
4545
</repository>
4646

47+
<repository>
48+
<id>griefdefender</id>
49+
<url>https://repo.glaremasters.me/repository/bloodshot</url>
50+
</repository>
51+
4752
<repository>
4853
<id>nexus</id>
4954
<url>https://mvn.lumine.io/repository/maven-public/</url>
@@ -154,6 +159,18 @@
154159
<version>3.2.4</version>
155160
<scope>provided</scope>
156161
</dependency>
162+
<dependency>
163+
<groupId>com.griefdefender</groupId>
164+
<artifactId>api</artifactId>
165+
<version>2.1.0-SNAPSHOT</version>
166+
<scope>provided</scope>
167+
<exclusions>
168+
<exclusion>
169+
<groupId>*</groupId>
170+
<artifactId>*</artifactId>
171+
</exclusion>
172+
</exclusions>
173+
</dependency>
157174

158175
<!-- Both dependencies are required for MMOItems -->
159176
<dependency>

TradeSystem-Spigot/src/main/java/de/codingair/tradesystem/spigot/extras/external/PluginDependencies.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import de.codingair.tradesystem.spigot.TradeSystem;
44
import de.codingair.tradesystem.spigot.extras.external.essentials.EssentialsDependency;
5+
import de.codingair.tradesystem.spigot.extras.external.griefdefender.GriefDefenderDependency;
56
import de.codingair.tradesystem.spigot.extras.external.mmoitems.MMOItemsDependency;
67
import de.codingair.tradesystem.spigot.extras.external.placeholderapi.PlaceholderDependency;
78
import de.codingair.tradesystem.spigot.extras.external.playerpoints.PlayerPointsDependency;
@@ -15,7 +16,7 @@
1516

1617
public abstract class PluginDependencies {
1718
private static final PluginDependency[] EXTERNALS = {
18-
new PlaceholderDependency(), new EssentialsDependency(), new TokenManagerDependency(), new VaultDependency(), new PlayerPointsDependency(),
19+
new PlaceholderDependency(), new EssentialsDependency(), new TokenManagerDependency(), new VaultDependency(), new PlayerPointsDependency(), new GriefDefenderDependency(),
1920
new MMOItemsDependency(), new WorldGuardDependency()
2021
};
2122

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package de.codingair.tradesystem.spigot.extras.external.griefdefender;
2+
3+
import de.codingair.codingapi.tools.items.ItemBuilder;
4+
import de.codingair.codingapi.tools.items.XMaterial;
5+
import de.codingair.tradesystem.spigot.TradeSystem;
6+
import de.codingair.tradesystem.spigot.events.TradeIconInitializeEvent;
7+
import de.codingair.tradesystem.spigot.extras.external.PluginDependency;
8+
import de.codingair.tradesystem.spigot.trade.gui.layout.registration.EditorInfo;
9+
import de.codingair.tradesystem.spigot.trade.gui.layout.registration.TransitionTargetEditorInfo;
10+
import de.codingair.tradesystem.spigot.trade.gui.layout.registration.Type;
11+
import de.codingair.tradesystem.spigot.trade.gui.layout.registration.exceptions.TradeIconException;
12+
import org.bukkit.event.EventHandler;
13+
import org.bukkit.event.Listener;
14+
import org.jetbrains.annotations.NotNull;
15+
16+
public class GriefDefenderDependency implements PluginDependency, Listener {
17+
18+
@EventHandler
19+
public void onIconInitialize(TradeIconInitializeEvent e) {
20+
try {
21+
e.registerIcon(TradeSystem.getInstance(), GriefDefenderIcon.class, new EditorInfo("GriefDefender icon", Type.ECONOMY, (editor) -> new ItemBuilder(XMaterial.IRON_PICKAXE), false, getPluginName()));
22+
e.registerIcon(TradeSystem.getInstance(), ShowGriefDefenderIcon.class, new TransitionTargetEditorInfo("GriefDefender preview icon", GriefDefenderIcon.class));
23+
} catch (TradeIconException ex) {
24+
throw new RuntimeException(ex);
25+
}
26+
}
27+
28+
@Override
29+
public @NotNull String getPluginName() {
30+
return "GriefDefender";
31+
}
32+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package de.codingair.tradesystem.spigot.extras.external.griefdefender;
2+
3+
import com.griefdefender.api.GriefDefender;
4+
import com.griefdefender.api.User;
5+
import com.griefdefender.api.permission.option.Options;
6+
import com.griefdefender.lib.geantyref.TypeToken;
7+
import de.codingair.tradesystem.spigot.extras.external.EconomySupportType;
8+
import de.codingair.tradesystem.spigot.extras.external.TypeCap;
9+
import de.codingair.tradesystem.spigot.trade.gui.layout.types.impl.economy.EconomyIcon;
10+
import org.bukkit.entity.Player;
11+
import org.bukkit.inventory.ItemStack;
12+
import org.jetbrains.annotations.NotNull;
13+
14+
import java.math.BigDecimal;
15+
import java.util.Optional;
16+
17+
public class GriefDefenderIcon extends EconomyIcon<ShowGriefDefenderIcon> {
18+
public GriefDefenderIcon(@NotNull ItemStack itemStack) {
19+
super(itemStack, "ClaimBlock", "ClaimBlocks", false);
20+
}
21+
22+
@Override
23+
public Class<ShowGriefDefenderIcon> getTargetClass() {
24+
return ShowGriefDefenderIcon.class;
25+
}
26+
27+
@Override
28+
protected @NotNull BigDecimal getBalance(@NotNull Player player) {
29+
User user = GriefDefender.getCore().getUser(player.getUniqueId());
30+
if (user == null) return BigDecimal.ZERO;
31+
32+
return BigDecimal.valueOf(user.getPlayerData().getRemainingClaimBlocks());
33+
}
34+
35+
@Override
36+
protected void withdraw(Player player, @NotNull BigDecimal value) {
37+
User user = GriefDefender.getCore().getUser(player.getUniqueId());
38+
if (user == null) return;
39+
40+
user.getPlayerData().setBonusClaimBlocks(user.getPlayerData().getBonusClaimBlocks() - value.intValue());
41+
}
42+
43+
@Override
44+
protected void deposit(Player player, @NotNull BigDecimal value) {
45+
User user = GriefDefender.getCore().getUser(player.getUniqueId());
46+
if (user == null) return;
47+
48+
user.getPlayerData().setBonusClaimBlocks(user.getPlayerData().getBonusClaimBlocks() + value.intValue());
49+
}
50+
51+
@Override
52+
protected @NotNull Optional<BigDecimal> getBalanceLimit(@NotNull Player player) {
53+
User user = GriefDefender.getCore().getUser(player.getUniqueId());
54+
if (user == null) return Optional.empty();
55+
56+
// use the permission manager directly to check if a value is set
57+
Integer max = GriefDefender.getPermissionManager().getOptionValue(TypeToken.get(Integer.class), user, Options.MAX_BONUS_BLOCKS);
58+
if (max == null) return Optional.empty();
59+
return Optional.of(BigDecimal.valueOf(max));
60+
}
61+
62+
@Override
63+
protected @NotNull TypeCap getMaxSupportedValue() {
64+
return EconomySupportType.INTEGER;
65+
}
66+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package de.codingair.tradesystem.spigot.extras.external.griefdefender;
2+
3+
import de.codingair.tradesystem.spigot.trade.gui.layout.types.TradeIcon;
4+
import de.codingair.tradesystem.spigot.trade.gui.layout.types.impl.economy.ShowEconomyIcon;
5+
import org.bukkit.inventory.ItemStack;
6+
import org.jetbrains.annotations.NotNull;
7+
8+
public class ShowGriefDefenderIcon extends ShowEconomyIcon {
9+
public ShowGriefDefenderIcon(@NotNull ItemStack itemStack) {
10+
super(itemStack, "ClaimBlocks");
11+
}
12+
13+
@Override
14+
public @NotNull Class<? extends TradeIcon> getOriginClass() {
15+
return GriefDefenderIcon.class;
16+
}
17+
}

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>de.codingair</groupId>
88
<artifactId>TradeSystem</artifactId>
9-
<version>2.6.3_Hotfix-6</version>
9+
<version>2.6.3_Hotfix-7</version>
1010
<packaging>pom</packaging>
1111

1212
<modules>
@@ -34,7 +34,7 @@
3434
<dependency>
3535
<groupId>com.github.CodingAir</groupId>
3636
<artifactId>CodingAPI</artifactId>
37-
<version>1.99</version>
37+
<version>1.100</version>
3838
<scope>provided</scope>
3939
</dependency>
4040
<dependency>

0 commit comments

Comments
 (0)