圖庫網(wǎng)站源碼下載外貿(mào)網(wǎng)絡(luò)營銷平臺(tái)
功能效果
創(chuàng)建一個(gè)兌換券
,當(dāng)使用兌換券對(duì)著兌換機(jī)右鍵時(shí),獲得一條烤魚
創(chuàng)建兌換券
創(chuàng)建ExchangeCouponsItem.java
,繼承Item
,定義兌換券內(nèi)容
public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Properties p_41383_) {super(p_41383_);}@Overridepublic InteractionResult useOn(UseOnContext p_41383_) {// 獲取方塊信息Level level = p_41383_.getLevel();BlockPos blockpos = p_41383_.getClickedPos();BlockState blockstate = level.getBlockState(blockpos);// 檢查方塊是否為自定義的方塊if (blockstate.getBlock() == TestMod.myblock.get()) {// 獲取玩家信息Player player = p_41383_.getPlayer();// 往物品欄添加一條烤魚player.addItem(new ItemStack(Items.COOKED_COD));// 獲取物品欄ItemStack itemstack = p_41383_.getItemInHand();// 將兌換券-1itemstack.shrink(1);// 返回成功return InteractionResult.SUCCESS;}return super.useOn(p_41383_);}}
注冊兌換券
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID);// 自定義兌換券物品public static final RegistryObject<Item> exchangeCouponsItem = ITEMS.register("exchange_coupons",() -> new ExchangeCouponsItem(new Item.Properties().setId(ITEMS.key("exchange_coupons"))));public TestMod(FMLJavaModLoadingContext context) {IEventBus modEventBus = context.getModEventBus();ITEMS.register(modEventBus);// 注冊選項(xiàng)卡modEventBus.addListener(this::addCreativeTab);}public void addCreativeTab(BuildCreativeModeTabContentsEvent event) {// 將自定義物品放到功能方塊下if (event.getTabKey() == CreativeModeTabs.FUNCTIONAL_BLOCKS) {event.accept(exchangeCouponsItem);}}
添加材質(zhì)
在items創(chuàng)建exchange_coupons.json
文件
{"model": {"type": "minecraft:model","model": "testmod:item/exchange_coupons"}
}
在lang創(chuàng)建en_us.json
和zh_cn.json
文件
{"item.testmod.exchange_coupons" : "兌換卷"
}
在models.item添加exchange_coupons.json
文件
{"parent": "minecraft:item/generated","textures": {"layer0": "testmod:item/exchange_coupons"}
}
在textures.item添加材質(zhì)