Skip to content

Commit 9e6eb8e

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 0c3c92a + a74cc8b commit 9e6eb8e

File tree

4 files changed

+62
-21
lines changed

4 files changed

+62
-21
lines changed

src/main/java/com/github/elic0de/thejpspit/spigot/gui/ShopMenu.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class ShopMenu {
2020
private static final String[] MENU_LAYOUT = {
2121
" ",
2222
" SCBofLc ",
23-
" tvu ",
23+
" tvue ",
2424
" "
2525
};
2626

src/main/java/com/github/elic0de/thejpspit/spigot/item/ItemManager.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,16 @@ public static boolean isPitItem(ItemStack itemStack) {
5050
}
5151

5252
public static void createItems() {
53-
ItemManager.register(new ItemDiamondSword());
54-
ItemManager.register(new ItemDiamondChestPlate());
55-
ItemManager.register(new ItemDiamondBoots());
56-
ItemManager.register(new ItemObsidian());
57-
ItemManager.register(new ItemVividSword());
58-
ItemManager.register(new ItemCobweb());
59-
ItemManager.register(new ItemFishingRod());
60-
ItemManager.register(new ItemTurtleShell());
61-
ItemManager.register(new ItemUltimateSword());
62-
ItemManager.register(new ItemLavaBucket());
53+
register(new ItemDiamondSword());
54+
register(new ItemDiamondChestPlate());
55+
register(new ItemDiamondBoots());
56+
register(new ItemObsidian());
57+
register(new ItemVividSword());
58+
register(new ItemCobweb());
59+
register(new ItemFishingRod());
60+
register(new ItemTurtleShell());
61+
register(new ItemUltimateSword());
62+
register(new ItemLavaBucket());
63+
register(new ItemEnderPearl());
6364
}
6465
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.github.elic0de.thejpspit.spigot.item.items;
2+
3+
import com.github.elic0de.thejpspit.spigot.item.PitItemEntry;
4+
import org.bukkit.Material;
5+
import org.bukkit.inventory.ItemStack;
6+
7+
public class ItemEnderPearl extends PitItemEntry {
8+
9+
@Override
10+
public String getId() {
11+
return "ender_pearl";
12+
}
13+
14+
@Override
15+
public ItemStack getRawItemStack() {
16+
return new ItemStack(Material.ENDER_PEARL);
17+
}
18+
19+
@Override
20+
public int getPrice() {
21+
return 100;
22+
}
23+
24+
@Override
25+
public int getRequiredLevel() {
26+
return 0;
27+
}
28+
29+
@Override
30+
public String getName() {
31+
return "§aエンダーパール";
32+
}
33+
34+
@Override
35+
public char getSlotChar() {
36+
return 'e';
37+
}
38+
}

src/main/java/com/github/elic0de/thejpspit/spigot/listener/BlockPlaceListener.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
import com.github.elic0de.thejpspit.spigot.TheJpsPit;
44
import org.bukkit.Bukkit;
55
import org.bukkit.GameMode;
6+
import org.bukkit.Location;
67
import org.bukkit.block.BlockState;
78
import org.bukkit.entity.Player;
89
import org.bukkit.event.EventHandler;
910
import org.bukkit.event.Listener;
1011
import org.bukkit.event.block.BlockPlaceEvent;
1112
import org.bukkit.event.player.PlayerBucketEmptyEvent;
1213

13-
import java.util.HashSet;
14-
import java.util.Set;
14+
import java.util.HashMap;
1515

1616
public class BlockPlaceListener implements Listener {
1717

1818
private final TheJpsPit pit;
1919

20-
private static final Set<BlockState> replacedStates = new HashSet<>();
20+
private static final HashMap<Location, BlockState> replacedStates = new HashMap<>();
2121

2222
public BlockPlaceListener() {
2323
this.pit = TheJpsPit.getInstance();
@@ -30,12 +30,13 @@ public void on(BlockPlaceEvent event) {
3030
if (player.getGameMode() == GameMode.CREATIVE) return;
3131
final BlockState replacedState = event.getBlockReplacedState();
3232

33-
replacedStates.add(replacedState);
33+
if (replacedStates.containsKey(replacedState.getLocation())) return;
34+
replacedStates.put(replacedState.getLocation(), replacedState);
3435

3536
pit.getServer().getScheduler().runTaskLater(pit, runnable -> {
36-
if (replacedStates.contains(replacedState)) {
37+
if (replacedStates.containsKey(replacedState.getLocation())) {
3738
replacedState.update(true);
38-
replacedStates.remove(replacedState);
39+
replacedStates.remove(replacedState.getLocation());
3940
}
4041
}, (15 * 20));
4142
}
@@ -46,17 +47,18 @@ public void on(PlayerBucketEmptyEvent event) {
4647
if (player.getGameMode() == GameMode.CREATIVE) return;
4748
final BlockState replacedState = event.getBlock().getState();
4849

49-
replacedStates.add(replacedState);
50+
if (replacedStates.containsKey(replacedState.getLocation())) return;
51+
replacedStates.put(replacedState.getLocation(), replacedState);
5052

5153
pit.getServer().getScheduler().runTaskLater(pit, runnable -> {
52-
if (replacedStates.contains(replacedState)) {
54+
if (replacedStates.containsKey(replacedState.getLocation())) {
5355
replacedState.update(true);
54-
replacedStates.remove(replacedState);
56+
replacedStates.remove(replacedState.getLocation());
5557
}
5658
}, (15 * 20));
5759
}
5860

5961
public static void restoreBlocks() {
60-
replacedStates.forEach(b -> b.update(true));
62+
replacedStates.values().forEach(b -> b.update(true));
6163
}
6264
}

0 commit comments

Comments
 (0)