Skip to content

Commit

Permalink
Added giveItem confirm message, added CIData
Browse files Browse the repository at this point in the history
  • Loading branch information
KartoffelChipss committed May 4, 2024
1 parent 13b183e commit 00d67bb
Show file tree
Hide file tree
Showing 13 changed files with 108 additions and 22 deletions.
2 changes: 1 addition & 1 deletion dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>org.strassburger</groupId>
<artifactId>LifeStealZ</artifactId>
<name>LifeStealZ</name>
<version>1.1.7</version>
<version>1.1.8</version>
<description>A LifeSteal SMP plugin providing you all the features you need!</description>
<build>
<resources>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>org.strassburger</groupId>
<artifactId>LifeStealZ</artifactId>
<version>1.1.7</version>
<version>1.1.8</version>
<packaging>jar</packaging>

<name>LifeStealZ</name>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
package org.strassburger.lifestealz.commands;

import net.kyori.adventure.text.Component;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.CustomItemManager;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;
import org.strassburger.lifestealz.util.MessageUtils;
import org.strassburger.lifestealz.util.RecipeManager;
import org.strassburger.lifestealz.util.Replaceable;
Expand All @@ -22,7 +19,6 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;

public class SettingsCommand implements CommandExecutor, TabCompleter {
Expand Down Expand Up @@ -254,7 +250,10 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
return false;
}

boolean silent = args.length > 4 && args[4].equals("silent");

targetPlayer.getInventory().addItem(CustomItemManager.createCustomItem(item, amount));
if (!silent) targetPlayer.sendMessage(MessageUtils.getAndFormatMsg(true, "messages.giveItem", "&7You received &c%amount% &7%item%!", new Replaceable("%amount%", amount + ""), new Replaceable("%item%", CustomItemManager.getCustomItemData(item).getName())));
}

return false;
Expand Down Expand Up @@ -309,8 +308,11 @@ private void throwPermissionError(CommandSender sender) {
if (args[0].equals("hearts") || args[0].equals("giveItem")) {
return List.of("1", "32", "64");
}
} else if (args.length == 5) {
if (args[0].equals("giveItem")) {
return List.of("silent");
}
}

return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.CustomItemManager;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;
import org.strassburger.lifestealz.util.MessageUtils;
import org.strassburger.lifestealz.util.Replaceable;
import org.strassburger.lifestealz.util.storage.PlayerData;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
package org.strassburger.lifestealz.listeners;

import net.kyori.adventure.text.Component;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataType;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.*;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;
import org.strassburger.lifestealz.util.storage.PlayerData;

import java.util.List;
import java.util.UUID;

public class InteractionListener implements Listener {
@EventHandler
Expand Down Expand Up @@ -73,7 +70,7 @@ public void onPlayerInteraction(PlayerInteractEvent event) {

if (LifeStealZ.getInstance().getConfig().getBoolean("playTotemEffect")) player.playEffect(EntityEffect.TOTEM_RESURRECT);

player.sendMessage(MessageUtils.getAndFormatMsg(true, "messages.heartconsume", "&7Cansumed a heart and got &c%amount% &7hearts!", new Replaceable("%amount%", "1")));
player.sendMessage(MessageUtils.getAndFormatMsg(true, "messages.heartconsume", "&7Cansumed a heart and got &c%amount% &7hearts!", new Replaceable("%amount%", savedHeartAmount + "")));
CustomItemManager.lastHeartUse.put(player.getUniqueId(), System.currentTimeMillis());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.*;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;
import org.strassburger.lifestealz.util.storage.PlayerData;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.CustomItemManager;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;
import org.strassburger.lifestealz.util.MessageUtils;
import org.strassburger.lifestealz.util.Replaceable;
import org.strassburger.lifestealz.util.storage.PlayerData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;

import java.util.HashMap;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.customitems.CustomItem;
import org.strassburger.lifestealz.util.customitems.CustomItemManager;

import java.util.Arrays;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.strassburger.lifestealz.util;
package org.strassburger.lifestealz.util.customitems;

import net.kyori.adventure.text.Component;
import org.bukkit.Material;
Expand All @@ -7,6 +7,7 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.strassburger.lifestealz.util.MessageUtils;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package org.strassburger.lifestealz.util.customitems;

import org.bukkit.Material;
import org.strassburger.lifestealz.LifeStealZ;

import java.util.List;

public class CustomItemData {
private final String itemId;
private final String name;
private final List<String> lore;
private final Material material;
private final boolean enchanted;
private final int customModelData;
private final String customItemType;
private final int customHeartValue;
private final boolean craftable;

public CustomItemData(String itemId, String name, List<String> lore, Material material, boolean enchanted, int customModelData, String customItemType, int customHeartValue, boolean craftable) {
this.itemId = itemId;
this.name = name;
this.lore = lore;
this.material = material;
this.enchanted = enchanted;
this.customModelData = customModelData;
this.customItemType = customItemType;
this.customHeartValue = customHeartValue;
this.craftable = craftable;
}

public CustomItemData(String itemId) {
this.itemId = itemId;
this.name = LifeStealZ.getInstance().getConfig().getString("items." + itemId + ".name");
this.lore = LifeStealZ.getInstance().getConfig().getStringList("items." + itemId + ".lore");
this.material = Material.valueOf(LifeStealZ.getInstance().getConfig().getString("items." + itemId + ".material"));
this.enchanted = LifeStealZ.getInstance().getConfig().getBoolean("items." + itemId + ".enchanted");
this.customModelData = LifeStealZ.getInstance().getConfig().getInt("items." + itemId + ".customModelData");
this.customItemType = LifeStealZ.getInstance().getConfig().getString("items." + itemId + ".customItemType");
this.customHeartValue = LifeStealZ.getInstance().getConfig().getInt("items." + itemId + ".customHeartValue");
this.craftable = LifeStealZ.getInstance().getConfig().getBoolean("items." + itemId + ".craftable");
}

public String getItemId() {
return itemId;
}

public String getName() {
return name;
}

public List<String> getLore() {
return lore;
}

public Material getMaterial() {
return material;
}

public boolean isEnchanted() {
return enchanted;
}

public int getCustomModelData() {
return customModelData;
}

public String getCustomItemType() {
return customItemType;
}

public int getCustomHeartValue() {
return customHeartValue;
}

public boolean isCraftable() {
return craftable;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.strassburger.lifestealz.util;
package org.strassburger.lifestealz.util.customitems;

import net.kyori.adventure.text.Component;
import org.bukkit.Material;
Expand All @@ -11,10 +11,9 @@
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.persistence.PersistentDataType;
import org.strassburger.lifestealz.LifeStealZ;
import org.strassburger.lifestealz.util.MessageUtils;

import javax.swing.*;
import java.util.*;
import java.util.logging.Logger;

public class CustomItemManager {
public static final NamespacedKey CUSTOM_ITEM_TYPE_KEY = new NamespacedKey(LifeStealZ.getInstance(), "customitemtype");
Expand Down Expand Up @@ -125,4 +124,10 @@ public static ItemStack getPlayerHead(OfflinePlayer offlinePlayer) {
head.setItemMeta(skullMeta);
return head;
}

public static CustomItemData getCustomItemData(String itemId) {
FileConfiguration config = LifeStealZ.getInstance().getConfig();

return new CustomItemData(itemId);
}
}
3 changes: 2 additions & 1 deletion src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,5 @@ messages:
heartconsumeCooldown: "&cYou have to wait before using another heart!"
recipeNotCraftable: "&cThis item is not craftable!"
altKill: "&cPlease don't kill alts! This attempt has been logged!"
withdrawMin: "&cYou can't withdraw less than 1 heart!"
withdrawMin: "&cYou can't withdraw less than 1 heart!"
giveItem: "&7You received %amount%x &c%item%&7!"

0 comments on commit 00d67bb

Please sign in to comment.