Skip to content

Commit 02c81c8

Browse files
committed
コマンドから再生数を変更できるように
1 parent 62d6125 commit 02c81c8

File tree

3 files changed

+26
-7
lines changed

3 files changed

+26
-7
lines changed

src/main/java/com/github/elic0de/thejpspit/spigot/command/PitCommand.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,16 @@ public void onReset(Player player) {
4343
@CommandPermission("tjp.spawn")
4444
public void onSetSpawn(Player player) {
4545
pit.getPitPreferences().ifPresent(pitPreferences -> pitPreferences.setSpawn(LocationData.at(player.getLocation())));
46+
pit.getPitPreferences().ifPresent(preferences -> pit.getDatabase().updatePitPreferences(preferences));
4647
PitPlayerManager.getPitPlayer(player).sendMessage("&cスポーン地点を設定しました");
48+
}
49+
50+
@Subcommand("set regen")
51+
@CommandPermission("tjp.regen")
52+
public void onRegen(Player player, int amount) {
53+
pit.getPitPreferences().ifPresent(pitPreferences -> pitPreferences.setAmountRegenHealth(amount));
4754
pit.getPitPreferences().ifPresent(preferences -> pit.getDatabase().updatePitPreferences(preferences));
55+
player.sendMessage("変更しました");
4856
}
4957

5058
@Subcommand("shop")

src/main/java/com/github/elic0de/thejpspit/spigot/config/PitPreferences.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,18 @@ public class PitPreferences {
1313
@SerializedName("spawn")
1414
private LocationData spawn;
1515

16+
@Expose
17+
@SerializedName("amount_regen_health")
18+
private int amountRegenHealth;
19+
1620
public static PitPreferences getDefaults() {
1721
final Location location = Bukkit.getWorlds().stream().findAny().get().getSpawnLocation();
1822
return new PitPreferences(LocationData.at(location.getX(), location.getY(), location.getZ(), location.getWorld()));
1923
}
2024

2125
private PitPreferences(LocationData spawn) {
2226
this.spawn = spawn;
27+
this.amountRegenHealth = 1;
2328
}
2429

2530
public Optional<LocationData> getSpawn() {
@@ -29,4 +34,12 @@ public Optional<LocationData> getSpawn() {
2934
public void setSpawn(LocationData location) {
3035
this.spawn = location;
3136
}
37+
38+
public int getAmountRegenHealth() {
39+
return amountRegenHealth;
40+
}
41+
42+
public void setAmountRegenHealth(int amountRegenHealth) {
43+
this.amountRegenHealth = amountRegenHealth;
44+
}
3245
}

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,11 @@ public void onDamage(EntityDamageByEntityEvent event) {
171171

172172
@EventHandler
173173
private void onEntityRegainHealth(EntityRegainHealthEvent event) {
174-
if (!(event.getEntity() instanceof Player)) {
175-
return;
176-
}
177-
178-
// 20 ticks に1 amount
179-
if (event.getRegainReason() == EntityRegainHealthEvent.RegainReason.SATIATED) {
180-
event.setAmount(event.getAmount() - (event.getAmount() * .8));
174+
if (event.getEntity() instanceof Player) {
175+
if (event.getRegainReason() == EntityRegainHealthEvent.RegainReason.SATIATED) {
176+
TheJpsPit.getInstance().getPitPreferences().ifPresent(
177+
pitPreferences -> event.setAmount(pitPreferences.getAmountRegenHealth()));
178+
}
181179
}
182180
}
183181

0 commit comments

Comments
 (0)