This commit is contained in:
Kyle
2020-04-26 00:06:57 +01:00
parent 8216dfa20f
commit 0c48ae448f
3 changed files with 99 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2018, Adam <Adam@sigterm.info>
* Copyright (c) 2020, ThatGamerBlue <thatgamerblue@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,6 +63,63 @@ public abstract class RSItemContainerMixin implements RSItemContainer
return items;
}
@Inject
@Override
public Item getItem(int slot)
{
int[] itemIds = getItemIds();
int[] stackSizes = getStackSizes();
if (slot >= 0 && slot < itemIds.length && itemIds[slot] != -1)
{
return new Item(itemIds[slot], stackSizes[slot]);
}
return null;
}
@Inject
@Override
public boolean contains(int itemId)
{
int[] itemIds = getItemIds();
for (int id : itemIds)
{
if (id == itemId)
{
return true;
}
}
return false;
}
@Inject
@Override
public int count(int itemId)
{
int[] itemIds = getItemIds();
int[] stackSizes = getStackSizes();
int count = 0;
for (int i = 0; i < itemIds.length; i++)
{
if (itemIds[i] != itemId)
{
continue;
}
int stack = stackSizes[i];
if (stack > 1)
{
return stack;
}
count++;
}
return count;
}
@FieldHook("changedItemContainers")
@Inject
public static void onItemContainerUpdate(int idx)
@@ -80,4 +138,4 @@ public abstract class RSItemContainerMixin implements RSItemContainer
}
}
}
}
}

View File

@@ -1,3 +1,31 @@
/*
* BSD 2-Clause License
*
* Copyright (c) 2019, ThatGamerBlue <thatgamerblue@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.rs.api;
import net.runelite.api.widgets.Widget;
@@ -23,4 +51,12 @@ public interface RSScriptEvent extends ScriptEvent
@Import("mouseX")
int getMouseX();
}
@Import("keyTyped")
// shit name
int getTypedKeyCode();
@Import("keyPressed")
// also a shit name
int getTypedKeyChar();
}

View File

@@ -85,7 +85,7 @@ public interface RSWidget extends Widget
@Import("modelType")
int getModelType();
@Import("modelType")
void setModelType(int modelType);
@@ -352,7 +352,7 @@ public interface RSWidget extends Widget
@Import("onOp")
@Override
Object[] getOnOp();
Object[] getOnOpListener();
@Import("onDialogAbort")
@Override
@@ -542,4 +542,4 @@ public interface RSWidget extends Widget
@Import("onClick")
@Override
void setOnClickListener(Object[] o);
}
}