网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月22日
漏签
0
天
blocklauncher插件吧
关注:
2,543
贴子:
18,931
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
47
回复贴,共
2
页
,跳到
页
确定
<返回blocklaunc...吧
>0< 加载中...
自定义方块with特殊值
只看楼主
收藏
回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
上一次我们讲了如何定义一个方块。但是方块id总是有限的,而且多次定义方块特别耗时间。
送TA礼物
来自
Android客户端
1楼
2016-08-12 12:37
回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先我们需要了解特殊值的作用
同一个id,不同特殊值他们的性质是一样的,爆炸抗性,基础形状,声音,材料,摩擦力等都一样。特殊值用在性质差不多的方块之间。
来自
Android客户端
2楼
2016-08-12 12:39
回复(2)
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果玩家手持一个id5特殊值5的方块,那么放下去的方块id5特殊值5。所以我们可以通过addCreativeItem的方式来看特殊值方块。
来自
Android客户端
3楼
2016-08-12 12:40
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先,定义一个带有特殊值的方块需要继承Block类。在构造函数里面设置方块基础性质
class MyAuxDataBlock : public Block
来自
Android客户端
4楼
2016-08-12 12:42
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为什么要继承Block类呢?为的就是函数重载。在MyAuxDataBlock里面添加函数bool canHaveExtraData 说明这个方块是特殊值方块
来自
Android客户端
5楼
2016-08-12 12:43
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
特殊值方块不同特殊值之间掉落物品也不一样。有两种方式可以实现:
int getSpawnResourceAuxValue(unsigned char)
unsigned char为方块特殊值
int为掉落物特殊值
第二种:重载playerDestroyBlock函数
void playerDestroy(Player*, BlockPos const&, int)
Player*为玩家指针,使用要注意空指针问题
BlockPos 为方块坐标
int为方块特殊值。这样子我们就可以通过添加一个ItemEntity即可
来自
Android客户端
6楼
2016-08-12 12:46
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
同一id不同特殊值之间名字也不一样。这时候我们就需要
std::string buildDescriptionName(ItemInstance const&) const
可以通过ItemInstance获取id,数量,特殊值等。
来自
Android客户端
7楼
2016-08-12 12:47
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
同一id不同特殊值方块贴图也不一样。这就是BlockGraphics::setTextureItem参数为何没有数字的原因了。
方块贴图总是放在assets/images/terrain-atlas文件夹下面。(在BlockLauncher1.13之前是json定义)
每个贴图后面都有一个_加数字。数字就是对应的特殊值。当方块特殊值为0时,贴图使用xxx_0,特殊值为1时使用xxx_1
来自
Android客户端
8楼
2016-08-12 12:50
回复(4)
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在方块放置时,也需要对它的特殊值进行设置。
int getPlacementDataValue正好可以解决问题。
getPlacementDataValue(Mob&, BlockPos const&, signed char , Vec3 const&, int)
signed char为方块面。int为手持特殊值。BlockPos为坐标 Vec3为点击位置 Mob&为放置这个方块的生物
来自
Android客户端
9楼
2016-08-12 12:52
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那么最后,我们需要注意一个问题:
带有特殊值的方块定义到这里还不够,因为会有掉落物品重叠的bug。我们在定义这个方块对应的Item时,就不能使用BlockItem了。需要使用AuxDataBlockItem
AuxDataBlockItem(std::string const&方块名字,int ID减去256,Block*对应的Block指针)
来自
Android客户端
10楼
2016-08-12 12:54
回复
收起回复
mcpe_addons
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
完结
来自
Android客户端
11楼
2016-08-12 12:54
回复
收起回复
kanako
Instance
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:广东
来自
Android客户端
12楼
2016-08-12 13:04
回复
收起回复
莉薇雅
Level
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
源码呢
IP属地:四川
来自
Android客户端
13楼
2016-08-12 13:11
回复(1)
收起回复
chord
Item
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不会自定义方块
IP属地:广东
14楼
2016-08-12 14:39
回复
收起回复
_静_雨_
Block
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶
IP属地:广东
来自
Android客户端
15楼
2016-08-12 15:31
回复(1)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
考研英语发挥如何
2876370
2
全明星赛Bin队战胜JKL队
2134748
3
通过博主再次看到小时候的自己
1909040
4
2024LPL年度最佳阵容
1688472
5
考研政治肖四没押中
1545492
6
媒体六问取消公摊
1274750
7
郑钦文宣布退出联合杯
929424
8
枪杀CEO嫌犯被押送照片爆火
813510
9
IGN年度最佳游戏《暗喻幻想》
650562
10
超英片一定要搞刁民情节吗?
631911
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示