Skip to content

Commit 6442826

Browse files
committed
Add inventory tick
1 parent ccacc76 commit 6442826

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ MINECRAFT_VERSION=1.21.4
22
PLUGIN_NAME=RPGItems
33
MAJOR_VERSION = 3
44
MINOR_VERSION = 16
5-
PATCH_VERSION = 0
5+
PATCH_VERSION = 1

src/main/java/think/rpgitems/power/Ticker.java

+11-1
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,20 @@ public void run() {
2222
Context.instance().cleanTick();
2323
for (final Player player : Bukkit.getOnlinePlayers()) {
2424
if (ItemManager.canUse(player, null, false) == Event.Result.DENY) continue;
25+
ItemStack[] inventory = player.getInventory().getContents();
26+
for (ItemStack i : inventory) {
27+
Optional<RPGItem> item = ItemManager.toRPGItem(i);
28+
if (item.isEmpty()) continue;
29+
RPGItem rpgItem = item.get();
30+
rpgItem.power(player,i,null,BaseTriggers.TICK_INVENTORY);
31+
if(player.isSneaking()){
32+
rpgItem.power(player,i,null,BaseTriggers.SNEAK);
33+
}
34+
}
2535
ItemStack[] armour = player.getInventory().getArmorContents();
2636
for (ItemStack part : armour) {
2737
Optional<RPGItem> item = ItemManager.toRPGItem(part);
28-
if (!item.isPresent())
38+
if (item.isEmpty())
2939
continue;
3040
RPGItem rgi = item.get();
3141
rgi.power(player, part, null, BaseTriggers.TICK);

src/main/java/think/rpgitems/power/trigger/BaseTriggers.java

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public final class BaseTriggers {
3737
public static final Trigger<Event, PowerSneaking, Void, Void> SNEAKING = new Sneaking();
3838
public static final Trigger<ProjectileLaunchEvent, PowerProjectileLaunch, Void, Void> LAUNCH_PROJECTILE = new ProjectileLaunch();
3939
public static final Trigger<Event, PowerTick, Void, Void> TICK = new Tick();
40+
public static final Trigger<Event, PowerTick, Void, Void> TICK_INVENTORY = new TickInventory();
4041
public static final Trigger<Event, PowerAttachment, Void, Void> ATTACHMENT = new Attachment();
4142
public static final Trigger<Event, PowerLocation, Void, Void> LOCATION = new Location();
4243
public static final Trigger<Event, PowerLivingEntity, Void, Void> LIVINGENTITY = new LivingEntity();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package think.rpgitems.power.trigger;
2+
3+
import org.bukkit.entity.Player;
4+
import org.bukkit.event.Event;
5+
import org.bukkit.inventory.ItemStack;
6+
import think.rpgitems.power.PowerResult;
7+
import think.rpgitems.power.PowerTick;
8+
9+
class TickInventory extends Trigger<Event, PowerTick, Void, Void> {
10+
TickInventory() {
11+
super(Event.class, PowerTick.class, Void.class, Void.class, "TICK_INVENTORY");
12+
}
13+
14+
public TickInventory(String name) {
15+
super(name, "TICK_INVENTORY", Event.class, PowerTick.class, Void.class, Void.class);
16+
}
17+
18+
@Override
19+
public PowerResult<Void> run(PowerTick power, Player player, ItemStack i, Event event) {
20+
return power.tick(player, i);
21+
}
22+
}

0 commit comments

Comments
 (0)