/
LastUseTimeContainerListener.java
48 lines (43 loc) · 1.98 KB
/
LastUseTimeContainerListener.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package choonster.testmod3.capability.lastusetime;
import choonster.testmod3.api.capability.hiddenblockrevealer.IHiddenBlockRevealer;
import choonster.testmod3.api.capability.lastusetime.ILastUseTime;
import choonster.testmod3.capability.CapabilityContainerListener;
import choonster.testmod3.network.capability.lastusetime.BulkUpdateContainerLastUseTimesMessage;
import choonster.testmod3.network.capability.lastusetime.UpdateContainerLastUseTimeMessage;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
/**
* Syncs the {@link IHiddenBlockRevealer} capability for items in {@link Container}s.
*
* @author Choonster
*/
public class LastUseTimeContainerListener extends CapabilityContainerListener<ILastUseTime> {
public LastUseTimeContainerListener(final ServerPlayerEntity player) {
super(player, LastUseTimeCapability.LAST_USE_TIME_CAPABILITY, LastUseTimeCapability.DEFAULT_FACING);
}
/**
* Create an instance of the bulk update message.
*
* @param windowID The window ID of the Container
* @param items The items list
* @return The bulk update message
*/
@Override
protected BulkUpdateContainerLastUseTimesMessage createBulkUpdateMessage(final int windowID, final NonNullList<ItemStack> items) {
return new BulkUpdateContainerLastUseTimesMessage(LastUseTimeCapability.DEFAULT_FACING, windowID, items);
}
/**
* Create an instance of the single update message.
*
* @param windowID The window ID of the Container
* @param slotNumber The slot's index in the Container
* @param lastUseTime The capability handler instance
* @return The single update message
*/
@Override
protected UpdateContainerLastUseTimeMessage createSingleUpdateMessage(final int windowID, final int slotNumber, final ILastUseTime lastUseTime) {
return new UpdateContainerLastUseTimeMessage(LastUseTimeCapability.DEFAULT_FACING, windowID, slotNumber, lastUseTime);
}
}