mirror of
https://github.com/SimplexDevelopment/Uncraftables.git
synced 2025-07-01 08:46:41 +00:00
Fixed result amount issue
Fixed an issue where results only gave one item for crafting regardless of how many were set during the initial recipe creation.
This commit is contained in:
61
src/main/java/dev/coomware/CraftingListener.java
Normal file
61
src/main/java/dev/coomware/CraftingListener.java
Normal file
@ -0,0 +1,61 @@
|
||||
package dev.coomware;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.CraftItemEvent;
|
||||
import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
||||
import org.bukkit.inventory.CraftingInventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.Recipe;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class CraftingListener implements Listener {
|
||||
public CraftingListener(Plugin instance) {
|
||||
instance.getServer().getPluginManager().registerEvents(this, instance);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void preCraftEvent(PrepareItemCraftEvent e) {
|
||||
final Recipe recipe = e.getRecipe();
|
||||
if (recipe == null) { return; }
|
||||
|
||||
final ItemStack result = recipe.getResult();
|
||||
final CraftingInventory inv = e.getInventory();
|
||||
|
||||
if (e.isRepair()) { return; }
|
||||
|
||||
if (result.getType().equals(Material.NETHER_WART)) {
|
||||
result.setAmount(9);
|
||||
inv.setResult(result);
|
||||
}
|
||||
if (result.getType().equals(Material.CRYING_OBSIDIAN)) {
|
||||
result.setAmount(2);
|
||||
inv.setResult(result);
|
||||
}
|
||||
if (result.getType().equals(Material.BEDROCK)) {
|
||||
result.setAmount(4);
|
||||
inv.setResult(result);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void craftEvent(CraftItemEvent e) {
|
||||
final ItemStack result = e.getRecipe().getResult();
|
||||
final CraftingInventory inv = e.getInventory();
|
||||
|
||||
if (result.getType().equals(Material.NETHER_WART)) {
|
||||
result.setAmount(9);
|
||||
inv.setResult(result);
|
||||
}
|
||||
if (result.getType().equals(Material.CRYING_OBSIDIAN)) {
|
||||
result.setAmount(2);
|
||||
inv.setResult(result);
|
||||
}
|
||||
if (result.getType().equals(Material.BEDROCK)) {
|
||||
result.setAmount(4);
|
||||
inv.setResult(result);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package dev.coomware;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@ -18,10 +19,12 @@ public class Uncraftables extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
new Craftable(this).craftables();
|
||||
new CraftingListener(this);
|
||||
Bukkit.getLogger().info("[Uncraftables] successfully loaded all recipes.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
|
||||
//
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: Uncraftables
|
||||
main: dev.coomware.Uncraftables
|
||||
version: 1.0.0
|
||||
version: 1.0.1
|
||||
author: CoomWare
|
||||
description: Adds in crafting recipes for all uncraftable items.
|
||||
api-version: 1.16
|
Reference in New Issue
Block a user