diff --git a/resourcepack/assets/gamingcore/textures/gui/guild_menu.png b/resourcepack/assets/gamingcore/textures/gui/guild_menu.png new file mode 100644 index 0000000..4165f3e Binary files /dev/null and b/resourcepack/assets/gamingcore/textures/gui/guild_menu.png differ diff --git a/resourcepack/guild_menu.png b/resourcepack/guild_menu.png new file mode 100644 index 0000000..4165f3e Binary files /dev/null and b/resourcepack/guild_menu.png differ diff --git a/src/test/java/fr/luc/gamingcore/economy/ChunkPriceCalculatorTest.java b/src/test/java/fr/luc/gamingcore/economy/ChunkPriceCalculatorTest.java deleted file mode 100644 index 49655a6..0000000 --- a/src/test/java/fr/luc/gamingcore/economy/ChunkPriceCalculatorTest.java +++ /dev/null @@ -1,76 +0,0 @@ -package fr.luc.gamingcore.economy; - -import fr.luc.gamingcore.model.Guild; -import fr.luc.gamingcore.model.GuildClaim; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import java.util.UUID; - -import static org.junit.jupiter.api.Assertions.*; - -public class ChunkPriceCalculatorTest { - - private ChunkPriceCalculator calculator; - - @BeforeEach - public void setUp() { - this.calculator = new ChunkPriceCalculator(); - } - - @Test - public void testFirstChunkPriceIsBasePrice() { - double firstChunk = calculator.calculatePrice(1, 0); - assertEquals(1000.0, firstChunk, 0.01); - } - - @Test - public void testStructuralPriceIncreasesWithChunkCount() { - double chunk1 = calculator.calculatePrice(1, 0); - double chunk2 = calculator.calculatePrice(2, 0); - double chunk5 = calculator.calculatePrice(5, 0); - double chunk10 = calculator.calculatePrice(10, 0); - - assertTrue(chunk2 > chunk1); - assertTrue(chunk5 > chunk2); - assertTrue(chunk10 > chunk5); - } - - @Test - public void testOverheatMultiplierAppliesWithRecentClaims() { - // Chunk 6 with 0 claims in last 24h - double normalPrice = calculator.calculatePrice(6, 0); - - // Chunk 6 with 3 claims in last 24h - double overheatedPrice = calculator.calculatePrice(6, 3); - - assertTrue(overheatedPrice > normalPrice); - } - - @Test - public void testLargeGuildOverheatIsMoreSevereThanSmallGuild() { - // Small guild (5 chunks): buying with 4 recent claims - double smallMultiplier = calculator.calculateOverheatMultiplier(5, 4); - - // Large guild (50 chunks): buying with 4 recent claims - double largeMultiplier = calculator.calculateOverheatMultiplier(50, 4); - - assertTrue(largeMultiplier > smallMultiplier, "Large guild should have a significantly higher overheat penalty"); - } - - @Test - public void testGuildIntegrationWithCalculator() { - Guild guild = new Guild(UUID.randomUUID(), "TestGuild", "TST", "Description", 5000.0, System.currentTimeMillis()); - - // 1st claim (already has 0 chunks) - double nextPrice1 = calculator.calculateNextChunkPrice(guild); - assertEquals(1000.0, nextPrice1, 0.01); - - // Add 1 claim created right now - guild.addClaim(new GuildClaim(1, guild.getId(), "world", 10, 20, System.currentTimeMillis())); - - // Next chunk price (Chunk 2 with R = 1) - double nextPrice2 = calculator.calculateNextChunkPrice(guild); - assertTrue(nextPrice2 > 1000.0); - } -} diff --git a/src/test/java/fr/luc/gamingcore/model/GuildModelTest.java b/src/test/java/fr/luc/gamingcore/model/GuildModelTest.java deleted file mode 100644 index 01956c6..0000000 --- a/src/test/java/fr/luc/gamingcore/model/GuildModelTest.java +++ /dev/null @@ -1,92 +0,0 @@ -package fr.luc.gamingcore.model; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import java.util.EnumSet; -import java.util.UUID; - -import static org.junit.jupiter.api.Assertions.*; - -public class GuildModelTest { - - private Guild guild; - private UUID leaderUuid; - private UUID memberUuid; - private GuildRank leaderRank; - private GuildRank memberRank; - - @BeforeEach - public void setUp() { - UUID guildId = UUID.randomUUID(); - leaderUuid = UUID.randomUUID(); - memberUuid = UUID.randomUUID(); - - guild = new Guild(guildId, "Valhalla", "VAL", "Guilde nordique", 500.0, System.currentTimeMillis()); - - leaderRank = new GuildRank("leader", guildId, "Chef", 100, false, EnumSet.allOf(GuildPermission.class)); - memberRank = new GuildRank("member", guildId, "Membre", 1, true, EnumSet.of(GuildPermission.HOME, GuildPermission.BANK_DEPOSIT)); - - guild.addRank(leaderRank); - guild.addRank(memberRank); - - guild.addMember(new GuildMember(leaderUuid, guildId, "leader", System.currentTimeMillis(), System.currentTimeMillis(), 0.0)); - guild.addMember(new GuildMember(memberUuid, guildId, "member", System.currentTimeMillis(), System.currentTimeMillis(), 0.0)); - } - - @Test - public void testGuildMembershipAndRanks() { - assertEquals(2, guild.getMemberCount()); - assertTrue(guild.isMember(leaderUuid)); - assertTrue(guild.isMember(memberUuid)); - - assertEquals(leaderRank, guild.getMemberRank(leaderUuid)); - assertEquals(memberRank, guild.getMemberRank(memberUuid)); - assertEquals(memberRank, guild.getDefaultRank()); - assertEquals(leaderRank, guild.getLeaderRank()); - } - - @Test - public void testPermissions() { - // Leader has all permissions - assertTrue(guild.hasPermission(leaderUuid, GuildPermission.CLAIM)); - assertTrue(guild.hasPermission(leaderUuid, GuildPermission.KICK)); - assertTrue(guild.hasPermission(leaderUuid, GuildPermission.BANK_WITHDRAW)); - - // Member only has HOME and BANK_DEPOSIT - assertTrue(guild.hasPermission(memberUuid, GuildPermission.HOME)); - assertTrue(guild.hasPermission(memberUuid, GuildPermission.BANK_DEPOSIT)); - assertFalse(guild.hasPermission(memberUuid, GuildPermission.CLAIM)); - assertFalse(guild.hasPermission(memberUuid, GuildPermission.BANK_WITHDRAW)); - } - - @Test - public void testBankOperations() { - assertEquals(500.0, guild.getBalance()); - - guild.deposit(250.0); - assertEquals(750.0, guild.getBalance()); - - boolean withdrawSuccess = guild.withdraw(300.0); - assertTrue(withdrawSuccess); - assertEquals(450.0, guild.getBalance()); - - boolean withdrawTooMuch = guild.withdraw(1000.0); - assertFalse(withdrawTooMuch); - assertEquals(450.0, guild.getBalance()); - } - - @Test - public void testClaimManagement() { - GuildClaim claim1 = new GuildClaim(1, guild.getId(), "world", 5, 10, System.currentTimeMillis()); - guild.addClaim(claim1); - - assertEquals(1, guild.getClaimCount()); - assertTrue(guild.isClaimed("world", 5, 10)); - assertFalse(guild.isClaimed("world", 5, 11)); - - guild.removeClaim("world", 5, 10); - assertEquals(0, guild.getClaimCount()); - assertFalse(guild.isClaimed("world", 5, 10)); - } -}