Skip to content
This repository was archived by the owner on Mar 8, 2022. It is now read-only.

convert yaml to nbt #37

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package cat.nyaa.HamsterEcoHelper.auction;

import cat.nyaa.HamsterEcoHelper.HamsterEcoHelper;
import cat.nyaa.HamsterEcoHelper.market.MarketManager;
import cat.nyaa.nyaacore.CommandReceiver;
import cat.nyaa.nyaacore.LanguageRepository;
import org.bukkit.Material;
Expand Down Expand Up @@ -117,10 +116,6 @@ public void Auc(CommandSender sender, Arguments args) {
msg(sender, "user.auc.step_price_error");
return;
}
if(MarketManager.containsBook(item)){
msg(sender,"user.error.shulker_box_contains_book");
return;
}
int reservePrice = 0;
if (args.length() == 5) {
reservePrice = args.nextInt();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public AuctionInstance(OfflinePlayer player, ItemStack itemToGive, double startP
} else {
realName += "(" + itemToGive.getType().name() + ":" + itemToGive.getDurability() + ")";
}
long id = plugin.database.addItemLog(player, itemStack, startPrice, itemStack.getAmount());
long id = plugin.database.getItemID(itemStack);
plugin.logger.info(I18n.format("log.info.player_auc_start", id, player.getName(), realName, itemToGive.getAmount(),
Boolean.toString(hideName), startPrice, stepPrice, uid(this)));
}
Expand Down
18 changes: 3 additions & 15 deletions src/main/java/cat/nyaa/HamsterEcoHelper/market/MarketCommands.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package cat.nyaa.HamsterEcoHelper.market;

import cat.nyaa.HamsterEcoHelper.HamsterEcoHelper;
import cat.nyaa.HamsterEcoHelper.utils.database.tables.MarketItem;
import cat.nyaa.nyaacore.CommandReceiver;
import cat.nyaa.nyaacore.LanguageRepository;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -36,10 +35,6 @@ public void offer(CommandSender sender, Arguments args) {
}
ItemStack item = getItemInHand(sender);
if (item != null && item.getType() != Material.AIR && item.getAmount() > 0) {
if (MarketManager.containsBook(item)) {
msg(sender, "user.error.shulker_box_contains_book");
return;
}
if (plugin.marketManager.offer(player, item, price)) {
player.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
}
Expand All @@ -65,17 +60,10 @@ public void view(CommandSender sender, Arguments args) {
}
}

@SubCommand(value = "givemarketitem", permission = "heh.giveitem")
@SubCommand(value = "give", permission = "heh.giveitem")
public void give(CommandSender sender, Arguments args) {
Player player = asPlayer(sender);
MarketItem item = plugin.marketManager.getItem(args.nextInt());
if (item != null) {
int slot = player.getInventory().firstEmpty();
if (slot >= 0 && player.getInventory().getItem(slot) == null) {
msg(player, "user.market.offered", item.getPlayer().getName());
msg(player, "user.market.unit_price", item.getUnitPrice());
player.getInventory().setItem(slot, item.getItemStack(1));
}
}
ItemStack item = plugin.database.getItemByID(args.nextInt());
player.getInventory().addItem(item);
}
}
51 changes: 26 additions & 25 deletions src/main/java/cat/nyaa/HamsterEcoHelper/market/MarketGUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ public void openGUI(Player player, int page) {
offset = (page - 1) * (45);
}
setCurrentPage(page);
List<MarketItem> marketItem = plugin.database.getMarketItems(offset, 45, seller);
if (marketItem != null) {
for (int i = 0; i < marketItem.size(); i++) {
MarketItem mItem = marketItem.get(i);
itemsID.put(i, mItem.getId());
ItemStack itemStack = mItem.getItemStack();
addLore(mItem.getPlayer(), itemStack, mItem.getUnitPrice());
List<MarketItem> items = plugin.database.getMarketItems(offset, 45, seller);
if (items != null) {
for (int i = 0; i < items.size(); i++) {
MarketItem mItem = items.get(i);
itemsID.put(i, mItem.id);
ItemStack itemStack = mItem.getItem();
addLore(mItem.getPlayer(), itemStack, mItem.unitPrice);
inventory.setItem(i, itemStack);
}
}
Expand Down Expand Up @@ -118,43 +118,44 @@ public void closeGUI(Player player) {
}

public boolean clickItem(Player player, int slot, boolean shift) {
long itemId = slot;
long marketItemID = slot;
int amount = 1;
if (this.itemsID.containsKey(slot)) {
itemId = this.itemsID.get(slot);
marketItemID = this.itemsID.get(slot);
}
MarketItem item = plugin.marketManager.getItem(itemId);
if (item != null && item.getItemStack().getType() != Material.AIR && item.getAmount() > 0) {
MarketItem marketItem = plugin.marketManager.getItem(marketItemID);
if (marketItem != null && marketItem.getItem().getType() != Material.AIR && marketItem.getAmount() > 0) {
if (shift) {
amount = item.getAmount().intValue();
amount = marketItem.getAmount();
}
double price = item.getUnitPrice() * amount;
double price = marketItem.unitPrice * amount;
double tax = 0.0D;
if (plugin.config.market_tax > 0) {
tax = (price / 100) * plugin.config.market_tax;
}
if (plugin.eco.enoughMoney(player, price + tax) || player.getUniqueId().equals(item.getPlayerId())) {
Optional<Utils.GiveStat> stat = plugin.eco.transaction(player, item.getPlayer(), item.getItemStack(amount), price, tax);
if(!stat.isPresent()){
if (plugin.eco.enoughMoney(player, price + tax) || player.getUniqueId().equals(marketItem.playerId)) {
ItemStack item = marketItem.getItem(amount);
Optional<Utils.GiveStat> stat = plugin.eco.transaction(player, marketItem.getPlayer(), item, price, tax);
if (!stat.isPresent()) {
new Message("")
.append(I18n.format("user.market.buy_fail", item.getPlayer().getName(), price), item.getItemStack(amount))
.append(I18n.format("user.market.buy_fail", marketItem.getPlayer().getName(), price), item)
.send(player);
return false;
}
plugin.database.marketBuy(player, itemId, amount);
plugin.database.marketBuy(marketItemID, amount);
plugin.marketManager.updateAllGUI();
player.sendMessage(I18n.format("user.auc.item_given_" + stat.get().name()));
plugin.logger.info(I18n.format("log.info.market_bought", itemId, Utils.getItemName(item.getItemStack()),
amount, price, player.getName(), item.getPlayer().getName()));
if (!player.getUniqueId().equals(item.getPlayerId())) {
if (item.getPlayer().isOnline()) {
plugin.logger.info(I18n.format("log.info.market_bought", marketItemID, Utils.getItemName(item),
amount, price, player.getName(), marketItem.getPlayer().getName(), marketItem.itemID));
if (!player.getUniqueId().equals(marketItem.playerId)) {
if (marketItem.getPlayer().isOnline()) {
new Message("")
.append(I18n.format("user.market.someone_bought",
player.getName(), price + tax), item.getItemStack(amount))
.send((Player) item.getPlayer());
player.getName(), price + tax), item)
.send((Player) marketItem.getPlayer());
}
new Message("")
.append(I18n.format("user.market.buy_success", item.getPlayer().getName(), price), item.getItemStack(amount))
.append(I18n.format("user.market.buy_success", marketItem.getPlayer().getName(), price), item)
.send(player);
}
plugin.marketManager.playSound(player, Sound.ENTITY_EXPERIENCE_ORB_PICKUP);
Expand Down
26 changes: 4 additions & 22 deletions src/main/java/cat/nyaa/HamsterEcoHelper/market/MarketManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BlockStateMeta;
import org.bukkit.inventory.meta.BookMeta;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.scheduler.BukkitRunnable;

Expand Down Expand Up @@ -71,8 +68,9 @@ public boolean offer(Player player, ItemStack item, double unit_price) {
plugin.systemBalance.deposit(plugin.config.market_offer_fee, plugin);
}
}
long id = plugin.database.marketOffer(player, item, unit_price);
plugin.logger.info(I18n.format("log.info.market_offer", id, Utils.getItemName(item), item.getAmount(), unit_price, player.getName()));
long marketItemID = plugin.database.marketOffer(player, item, unit_price);
long itemID = plugin.database.getItemID(item);
plugin.logger.info(I18n.format("log.info.market_offer", marketItemID, Utils.getItemName(item), item.getAmount(), unit_price, player.getName(), itemID));
if (plugin.config.marketBroadcast && (System.currentTimeMillis() - lastBroadcast) > (plugin.config.marketBroadcastCooldown * 1000)) {
lastBroadcast = System.currentTimeMillis();
new Message("").append(I18n.format("user.market.broadcast"), item).broadcast();
Expand Down Expand Up @@ -130,7 +128,7 @@ public void run() {
if (!plugin.eco.withdraw(item.getPlayer(), plugin.config.market_placement_fee)) {
fail++;
plugin.logger.info(I18n.format("log.info.placement_fee_fail",
item.getId(), item.getPlayer().getName(), "Not enough money"));
item.id, item.getPlayer().getName(), "Not enough money"));
}
}
if (fail < itemCount) {
Expand All @@ -140,20 +138,4 @@ public void run() {
}
}
}

public static boolean containsBook(ItemStack item) {
if (item.hasItemMeta() && item.getItemMeta() instanceof BlockStateMeta) {
BlockStateMeta blockStateMeta = (BlockStateMeta) item.getItemMeta();
if (blockStateMeta.hasBlockState() && blockStateMeta.getBlockState() instanceof InventoryHolder) {
InventoryHolder inventoryHolder = (InventoryHolder) blockStateMeta.getBlockState();
for (ItemStack itemStack : inventoryHolder.getInventory().getContents()) {
if (itemStack != null && itemStack.getType() != Material.AIR &&
itemStack.hasItemMeta() && itemStack.getItemMeta() instanceof BookMeta) {
return true;
}
}
}
}
return false;
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package cat.nyaa.HamsterEcoHelper.requisition;

import cat.nyaa.HamsterEcoHelper.HamsterEcoHelper;
import cat.nyaa.HamsterEcoHelper.utils.Utils;
import cat.nyaa.HamsterEcoHelper.utils.database.tables.ItemLog;
import cat.nyaa.nyaacore.CommandReceiver;
import cat.nyaa.nyaacore.LanguageRepository;
import cat.nyaa.nyaacore.utils.ReflectionUtils;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -176,16 +173,4 @@ public void Requisition(CommandSender sender, Arguments args) {
plugin.reqManager.cooldown.put(player.getUniqueId(), System.currentTimeMillis() + (plugin.config.playerRequisitionCooldownTicks * 50));
}
}

@SubCommand(value = "giveitem", permission = "heh.giveitem")
public void GiveItem(CommandSender sender, Arguments args) {
Player p = asPlayer(sender);
ItemLog item = plugin.database.getItemLog(args.nextInt());
if (item != null) {
Utils.giveItem(p, item.getItemStack());
p.sendMessage("player: " + Bukkit.getPlayer(item.getOwner()).getName());
p.sendMessage("price: " + item.getPrice());
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public RequisitionInstance(Player player,
itemName += "(" + item.getType().name() + ":" + item.getDurability() + ")";
}
logger = plugin.getLogger();
long id = plugin.database.addItemLog(player, item, unitPrice, amountRemains);
long id = plugin.database.getItemID(item);
plugin.getLogger().info(I18n.format("log.info.player_req_start", id, player.getName(), itemName,
reqAmount, unitPrice, templateItem.timeoutTicks, uid(this)));

Expand Down
Loading