CauldronInteraction.java
net.minecraft.core.cauldron.CauldronInteraction
信息
- 全限定名:net.minecraft.core.cauldron.CauldronInteraction
- 类型:public interface
- 包:net.minecraft.core.cauldron
- 源码路径:src/main/java/net/minecraft/core/cauldron/CauldronInteraction.java
- 起始行号:L17
- 职责:
TODO
字段/常量
DEFAULT- 类型:
CauldronInteraction - 修饰符:
package-private - 源码定位:
L18 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.core.cauldron.CauldronInteraction.Dispatcher- 类型:
class - 修饰符:
public static - 源码定位:
L22 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
InteractionResult interact(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, ItemStack itemInHand) @ L20
- 方法名:interact
- 源码定位:L20
- 返回类型:InteractionResult
- 修饰符:package-private
参数:
- state: BlockState
- level: Level
- pos: BlockPos
- player: Player
- hand: InteractionHand
- itemInHand: ItemStack
说明:
TODO
代码
@FunctionalInterface
public interface CauldronInteraction {
CauldronInteraction DEFAULT = (var0, var1, var2, var3, var4, var5) -> InteractionResult.TRY_WITH_EMPTY_HAND;
InteractionResult interact(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, ItemStack itemInHand);
public static class Dispatcher {
private final Map<TagKey<Item>, CauldronInteraction> tags = new HashMap<>();
private final Map<Item, CauldronInteraction> items = new HashMap<>();
void put(Item item, CauldronInteraction interaction) {
this.items.put(item, interaction);
}
void put(TagKey<Item> tag, CauldronInteraction interaction) {
this.tags.put(tag, interaction);
}
public CauldronInteraction get(ItemStack itemStack) {
for (Entry<TagKey<Item>, CauldronInteraction> e : this.tags.entrySet()) {
if (itemStack.is(e.getKey())) {
return e.getValue();
}
}
return this.items.getOrDefault(itemStack.getItem(), CauldronInteraction.DEFAULT);
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: