Better control over stack amounts while not in the game world.

This commit is contained in:
Brianna O'Keefe 2018-11-19 21:20:28 -05:00
parent b9991ae786
commit 573db3af4c
4 changed files with 40 additions and 1 deletions

28
.gitignore vendored
View File

@ -158,3 +158,31 @@ target/classes/com/songoda/ultimatestacker/command/commands/CommandRemoveAll\.cl
target/classes/com/songoda/ultimatestacker/command/commands/CommandSettings\.class
target/classes/SettingDefinitions\.yml
\.idea/libraries/Maven__bammerbom_ultimatecore_LATEST\.xml
\.idea/libraries/Maven__com_earth2me_essentials_LATEST\.xml
\.idea/libraries/Maven__com_gamingmesh_jobs_LATEST\.xml
\.idea/libraries/Maven__com_gmail_nossr50_mcmmo_LATEST\.xml
\.idea/libraries/Maven__com_sk89q_worldguard_7_0_0\.xml
\.idea/libraries/Maven__de_diddiz_logblock_LATEST\.xml
\.idea/libraries/Maven__me_botsko_prism_LATEST\.xml
\.idea/libraries/Maven__me_clip_placeholderapi_2_5_1\.xml
\.idea/libraries/Maven__net_coreprotect_LATEST\.xml
\.idea/libraries/Maven__net_milkbowl_vault_LATEST\.xml
\.idea/libraries/Maven__net_sothatsit_blockstore_LATEST\.xml
\.idea/libraries/Maven__org_black_ixx_playerpoints_2_1_4\.xml
\.idea/libraries/Maven__uk_antiperson_stackmob_LATEST\.xml
\.idea/libraries/Maven__xyz_wildseries_wildstacker_b6\.xml

View File

@ -5,7 +5,7 @@ variables:
name: "UltimateStacker"
suffex: "Legacy"
path: "/builds/Songoda/$name"
version: "1.0.3"
version: "1.0.4"
build:
stage: build

View File

@ -7,6 +7,7 @@ import org.bukkit.Material;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.event.inventory.InventoryPickupItemEvent;
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
import org.bukkit.inventory.ItemStack;
@ -24,6 +25,7 @@ public class InteractListeners implements Listener {
@EventHandler
public void onAccept(InventoryPickupItemEvent event) {
Bukkit.broadcastMessage("pickup");
ItemStack item = event.getItem().getItemStack();
instance.getStackingTask().setMax(item, 0, true);
int amt = item.getAmount();
@ -48,6 +50,14 @@ public class InteractListeners implements Listener {
event.getInventory().addItem(newItem);
}
@EventHandler
public void onPickup(EntityPickupItemEvent event) {
if (!(event.getEntity() instanceof Player)) return;
event.getItem().setItemStack(instance.getStackingTask().setMax(event.getItem().getItemStack(), 0, true));
}
@EventHandler
public void onInteract(PlayerInteractAtEntityEvent event) {
Player player = event.getPlayer();

View File

@ -143,6 +143,7 @@ public class StackingTask extends BukkitRunnable {
public ItemStack setMax(ItemStack item, int max, boolean reset) {
try {
Bukkit.broadcastMessage("Alter Amount");
Object objItemStack = methodGetItem.invoke(methodAsNMSCopy.invoke(null, item));
fieldMaxStackSize.set(objItemStack, reset ? new ItemStack(item.getType()).getMaxStackSize() : max);
} catch (ReflectiveOperationException e) {