Skip to content

Commit

Permalink
✨ feat(AngelGem): add ItemSettings for a custom maxFlightSpeed for th…
Browse files Browse the repository at this point in the history
…e AngelGem
  • Loading branch information
ProfElements committed Jan 18, 2021
1 parent 654760a commit 6a4949e
Showing 1 changed file with 29 additions and 7 deletions.
36 changes: 29 additions & 7 deletions src/main/java/me/profelements/dynatech/items/tools/AngelGem.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.bukkit.inventory.meta.ItemMeta;

import io.github.thebusybiscuit.slimefun4.api.events.PlayerRightClickEvent;
import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting;
import io.github.thebusybiscuit.slimefun4.core.handlers.ItemDropHandler;
import io.github.thebusybiscuit.slimefun4.core.handlers.ItemUseHandler;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
Expand All @@ -23,13 +24,18 @@

public class AngelGem extends SlimefunItem {

private ItemSetting<Float> maxFlightSpeed = new ItemSetting<Float>("max-flight-speed", 1.0f);
private ItemSetting<Boolean> hasMaxFlightSpeed = new ItemSetting<Boolean>("has-max-flight-speed", false);

private boolean enabledPlayer = false;

private float flySpeed = 0.1f;

public AngelGem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(category, item, recipeType, recipe);

addItemSetting(maxFlightSpeed);

addItemHandler(onRightClick(), onItemDrop());
}

Expand Down Expand Up @@ -69,14 +75,30 @@ public void onRightClick(PlayerRightClickEvent e) {
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
enabledPlayer = true;
} else {
if (getFlySpeed() < 1f) {
setFlySpeed(getFlySpeed() + 0.10f);
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
if (hasMaxFlightSpeed.getValue()) {
if (getFlySpeed() < maxFlightSpeed.getValue()) {
if (getFlySpeed() + 0.10f > maxFlightSpeed.getValue()) {
setFlySpeed(maxFlightSpeed.getValue());
} else {
setFlySpeed(getFlySpeed() + 0.10f);
}
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
} else {
setFlySpeed(0.10f);
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
}
} else {
setFlySpeed(0.10f);
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
if (getFlySpeed() < 1f) {
setFlySpeed(getFlySpeed() + 0.10f);
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
} else {
setFlySpeed(0.10f);
e.getPlayer().setFlySpeed(getFlySpeed());
e.getItem().setItemMeta(updateLore(e.getItem(), e.getPlayer()));
}
}
}
e.cancel();
Expand Down

0 comments on commit 6a4949e

Please sign in to comment.