我的世界精准采集指令附魔(我的世界精准采集指令)
WebBrowser控件网页数据抓取(I) - EXCEL VBA(22)
运用WebBrowser控件打开Web页面,并提取页面数据成为当今数据收集的主要手段。EXCEL VBA网页数据抓取和处理基本过程如下:
运用WebBrowser控件打开Web页面解析文档或字符串将抓取的网页数据按格式要求写入EXCEL表格通过EXCEL表格函数或EXCEL VBA编程进行数据数理本文介绍开发一个简单的WebBrowser控件网页数据抓取工具来实现EXCEL VBA网页数据抓取的基本过程。
1、运用WebBrowser控件打开Web页面
I、建立窗体如下图
窗体由控件解释:
CommandButton1:【打开网页】命令按钮;CommandButton2:【网页数据抓取】命令按钮;TextBox1:网址文本框(单行)TextBox2:网页HTML文档文本框(多行)。设置Multiline属性为True、ScrollBars属性为2;WebBrowser1:网页控件II、打开Web页面
打开窗体后运用窗体初始化事件Initialize加载指定网页Private Sub UserForm_Initialize()WebBrowser1.Navigate "http://www.galaxystatistics/excel/excelVBA2.html"End Sub打开窗体时运用CommandButton1【打开网页】命令按钮打开TextBox1网址文本框中指定的网页
Private Sub CommandButton1_Click()WebBrowser1.Navigate TextBox1.TextEnd Sub网页加载成功后执行WebBrowser1的DocumentComplete事件,在TextBox2文本框显示网页HTML文档
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)Dim doc As ObjectSet doc = WebBrowser1.DocumentTextBox2.Text = doc.DocumentElementnerHTMLTextBox2.SetFocusEnd Sub
通常,使用浏览器打开网页后,在页面点击鼠标右键,弹出菜单如此,
点击【查看网页源代码(V)】,可以查看网页HTML文档。
本文案例网页为“http://www.galaxystatistics/excel/excelVBA2.html”,文档如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Excel Train</title><meta charset="utf-8"/><style>.testTB{color:#ff0000;}</style><script type="text/javascript">function oSum(x,y) {return x+y;}//无参数调用 function alertNull(){ alert("WebBrowser call!"); }//有参数调用 function callWithPar(name, address) { alert("Name is " + name + "; address is " + address); } </script></head><body scroll="yes" bgcolor="#E3F3F9" style="border:none"><h4>表格一</h4><table id="myTB2" class="testTB" border=0 cellspacing=0 cellpadding=5 width="100%" style="border-top:2px solid #000000; border-bottom:2px solid #000000; width:50%;"> <tr><th style="border-right:1px solid #000000;">产量</th><th style="border-right:1px solid #000000;">人数</th><th>累计人数</th></tr> <tr> <td style="border-top:1px solid #000000; border-right:1px solid #000000;">4</td> <td style="border-top:1px solid #000000; border-right:1px solid #000000;">8</td> <td style="border-top:1px solid #000000;">8</td> </tr> <tr> <td style="border-right:1px solid #000000;">5</td> <td style="border-right:1px solid #000000;">22</td> <td>30</td> </tr> <tr> <td style="border-right:1px solid #000000;">6</td> <td style="border-right:1px solid #000000;">42</td> <td>72</td> </tr> <tr> <td style="border-right:1px solid #000000;">7</td> <td style="border-right:1px solid #000000;">38</td> <td>110</td> </tr> <tr> <td style="border-right:1px solid #000000;">8</td> <td style="border-right:1px solid #000000;">17</td> <td>127</td></tr> <tr> <td style="border-right:1px solid #000000;">9</td> <td style="border-right:1px solid #000000;">3</td> <td>130</td> </tr> <tr> <td style="border-top:1px solid #000000; border-right:1px solid #000000;">合计</td> <td style="border-top:1px solid #000000; border-right:1px solid #000000;">130</td> <td style="border-top:1px solid #000000;">***</td> </tr> </table><p><h4>表格二</h4><table class="testTB" border=1 cellspacing=0 cellpadding=5 width="50%"><tr><th>姓名</th><th>民族</th></tr><tr><td>张三</td><td>汉族</td></tr><tr><td>李四</td><td>回族</td></tr></table><form name="myFc"><h4>表格三</h4><table><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#a51020;">1、文本框</th></tr><tr><td> 姓名:</td><td><input id="myName" style="width:100px; color:#ff0000;" value="张三" onchange="alert(111)"/></td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">2、单选按钮</th></tr><tr><td> 性别:</td><td><input type="radio" name="myGender" value="1" checked/>男 <input type="radio" name="myGender" value="0"/>女</td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">3、复选框</th></tr><tr><td> 爱好:</td><td><input type="checkbox" name="myLike" value="1"/>篮球 <input type="checkbox" name="myLike" value="2"/>游泳 <input type="checkbox" name="myLike" value="3"/>跑步</td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">4、下拉列表</th></tr><tr><td> 专业:</td><td><select id="myMajor"> <option value="1">数学</option> <option value="2">统计学</option> <option value="3">寿险精算</option> <option value="4">R语言</option></select></td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">5、多行文本</th></tr><tr><td> 简介:</td><td><textarea id="myIntroduction" style="width:300px; height:100px; color:#555555;">WebBrowser控件是Internet Explorer的主窗口,它是作为一个ActiveX控件来包装的。用户可以使用WebBrowser控件打开任何IE能够显示的Web页面,并提取页面数据。如有自己的网站,可运用WebBrowser控件实现EXCEL文档和服务器间数据交换</textarea></td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">6、DIV区块</th></tr><tr><td> 效果:</td><td><div id="myEffect" style="width:300px; height:50px; border:#aaaaaa 1px solid; dsiplay:inline;"><b style="text-align:center; width:100%; padding-top:15px;">这是黑体效果</b></div></td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">7、图片</th></tr><tr><td> 头像:</td><td><img src="http://studio.galaxystatistics/shiny/rSHIndex/pic/vba1.jpg" id="myImg" style="width:200px; height:260px; color:#ff0000;"/></td></tr><tr><th colspan=2 style="text-align:left; font-size:10pt; color:#e51020;">8、内崁iFrame框架</th></tr><tr><td> 框架:</td><td><iframe src="http://www.galaxystatistics/excel/excelVBA1.html" id="myIframe" style="width:380px; height:260px; color:#ff0000;"/></td></tr></table></form></body></html>
2、解析HTML文档
WebBrowser控件网页数据抓取必须具备一定基础的网页编程知识。通常,网页数据抓取的对象为网页中的table标签,统计数据往往以表格形式来呈现。
I、通过table标签的id属性抓取表格数据
网页中任何标签都可以设定id属性做为唯一标识,对于设定id属性的HTML标签,可以用DOM文档模型的Document.getElementById获得该标签。
案例网页为“http://www.galaxystatistics/excel/excelVBA2.html”中第一个table标签为,
<h4>表格一</h4><table id="myTB2" class="testTB" border=0 cellspacing=0 cellpadding=5 width="100%"> ... </table>
这里table标签的id属性为id="myTB2",CommandButton2【网页数据抓取】命令按钮代码如下:
Private Sub CommandButton2_Click()Dim tbRows As IntegerDim tbCols As IntegerDim i, j As Integer'通过id属性获得table标签对象Set doc = WebBrowser1.Document.getElementById("myTB2")'获得表格行数tbRows = doc.Rows.Length'获得表格列数tbCols = doc.Rows(0).Cells.LengthSheet1.Cells.ClearFor i = 0 To tbRows - 1 For j = 0 To tbCols - 1'按行、列将表格数据写入EXCEL表格 Sheet1.Cells(i + 1, j + 1) = doc.Rows(i).Cells(j)nerText Next jNext iEnd Sub
II、通过table标签集合抓取表格数据
有时网页中要抓取的标签没设定id属性,这时可通过DOM文档模型的Document.getElementsByTagName获得该标签集合。CommandButton2【网页数据抓取】命令按钮代码如下:
Dim tables As Object' 获取文档中所有的table集合Set tables = WebBrowser1.Document.getElementsByTagName("table")' 获取文档中第2个table对象Set doc = tables(1)Dim tbRows As IntegerDim tbCols As IntegerDim i, j As IntegertbRows = doc.Rows.LengthtbCols = doc.Rows(0).Cells.LengthSheet1.Cells.ClearFor i = 0 To tbRows - 1 For j = 0 To tbCols - 1 Sheet1.Cells(i + 1, j + 1) = doc.Rows(i).Cells(j)nerText Next jNext i
解析HTML文档是一个人机对话过程,开发者需要对HTML文档结构和EXCEL VBA编程有足够的经验。
这里介绍了网页table标签中数据抓取的方法,对于其它网页标签(div、textarea、img等),基本都可以有DOM的Document.getElementById和Document.getElementsByTagName方法获得抓取对象。至于不同网页标签的进一步解析,则需要对HTML文档结构有一定程度的了解。
本文代码使用InternetExplorer运行通过,如果使用Chrome浏览器或Firefox浏览器加载网页,HTML文档解析过程可能略有区别。
参考文章:
Web Browser控件与网页互动 - EXCEL VBA(21)「版本发布」Minecraft 基岩版 1.19.70 发布
1.19.70是基岩版的一次次要更新,发布于2023年3月14日。此次更新同步了一些Java版的特性,在实验性玩法中加入了更多1.20.0的特性,并修复了一些漏洞。
僵尸猪灵
现在在下界中只会在亮度等级不高于11的地方生成。马及其变种
在繁殖马及其变种时,幼崽的速度、跳跃高度和生命值不再会向平均值靠近。这意味着玩家如果从优良的双亲开始,并使用足够的时间投入足够的金胡萝卜,就可以使其繁殖出优良的后代。非生物实体末地水晶
增大了碰撞箱以匹配Java版。命令格式/clone、/execute、/fill、/setblock和/testforblock
移除了数据参数(tileData: int、data: int或dataValue: int)。例如:/setblock ~ ~ ~ minecraft:wool 1现在需要改写为/setblock ~ ~ ~ minecraft:wool ["color":"orange"]。/summon
为/summon命令加入了添加旋转参数的新语法。新语法:/summon <entityType: EntityType> [spawnPos: x y z] [yRot: float] [xRot: float] [spawnEvent: string] [nametag: string]。旧语法:/summon <entityType: EntityType> [spawnPos: x y z] [spawnEvent: string] [nametag: string]。目标选择器
dx、dy和dz参数现在会选择碰撞箱与体积方框相重叠的所有实体,而不是脚部坐标与体积方框相重叠的实体。dx、dy和dz参数现在支持浮点数,而不只是整数。常规表情
现在新的表情UI对所有玩家可用。游戏指南
更新了游戏指南界面,加入了有关新触摸控制的内容。实验性本段落的内容需要开启实验性玩法中的“下一个主要更新”、“嗅探器”、“即将推出的创作者功能”和“测试版 API”子选项后才可使用。
方块饰纹陶罐
在合成表中使用4个陶片或红砖摆成菱形以合成。陶片的种类决定了输出陶罐的对应面出现何种图案,使用红砖则没有图案。非常容易被破坏。使用剑、镐、锹、锄、斧或三叉戟进行破坏,会碎裂成其原先的合成材料。徒手破坏、被活塞推动和使用附有精准采集魔咒的工具破坏时掉落自身。可疑的沙子
与沙子相似,但纹理看起来更粗糙。受重力影响,会在落地时消失。被挖掘或被活塞推动时不掉落任何物品,用附有精准采集的工具挖掘也不会掉落。会在沙漠神殿和沙漠水井中自然生成,两处生成的可疑的沙子带有的战利品表不同。用刷子刷可疑的沙子可以刷出物品。清刷时,可疑的沙子会经历4个阶段,若中途停止,会逐渐恢复原状。清刷完成后,可疑的沙子会消失。带有有效战利品表的可疑的沙子才能刷出物品。火把花植株
可用火把花种子在耕地上种出。共有3个生长阶段,完全成熟时变为火把花。若完全成熟,破坏时掉落火把花;若未完全成熟,破坏时掉落火把花种子。火把花
一种新的植物。可用于合成橙色染料。可以放置在花盆中。猪灵的头和龙首
现在物品栏和快捷栏中的猪灵的头会正确渲染耳朵的位置,使其不再覆盖头部。(MCPE-164605)不再会在快捷栏或物品栏中显示动画。(MCPE-164535、MCPE-32654)竹栅栏和竹栅栏门
移除了边缘的黑线。(MCPE-163360)悬挂式告示牌
现在悬挂式红树木告示牌和悬挂式竹告示牌正确位于创造模式物品栏中。(MCPE-163340)结构方块
现在使用结构方块将实验性方块导入非实验性世界时,实验性方块会被正确替换为不可交互的未知方块。物品刷子
用于清刷方块的物品。使用3根线和2个木棍合成,摆放方式类似于镐。成功刷出物品时消耗1点耐久。对可疑的沙子外的其他方块没有实际效果。陶片
共有四种,分别为弓箭纹样、举臂纹样、珍宝纹样和头颅纹样。无法合成,只能通过刷可疑的沙子来获得。刷怪蛋
加入了嗅探兽刷怪蛋。火把花种子
一种新的种子,可以种植在耕地上。可通过嗅探兽挖掘获得。生物嗅探兽
Minecraft Live 2022生物投票的获胜生物,属于友好生物,体型很大。有14( × 7)点生命值。目前不会自然生成。不会被食物吸引,不能被驯服。时常嗅探空气,有时能挖掘出火把花种子。有8分钟冷却时间。最近被挖掘过的20个方块会被记录,并且不再寻求挖掘这些方块。可以使用火把花种子喂养和繁殖。死亡时掉落苔藓块。骆驼
现在玩家在骑乘骆驼时能够受到摔落伤害。现在再次可以走上碰撞箱为1.5格高的方块。(MCPE-166452)世界生成沙漠神殿
更改了结构,现在会有一个填满沙子和可疑的沙子的新空间。一些沙子会暴露在外,可以在与蓝色陶瓦等高的位置上找到。沙漠水井
现在可疑的沙子会生成在其水下。常规命令
修复了执行对象在命令执行前被移除时会产生的崩溃。技术性API
将Location和BlockLocation类移出测试版脚本API,并将其所有的引用改为Vector3接口。ItemStack现在使用setLore(undefined)或setLore([])函数可以清除物品词缀。现在ItemStack可以用字符串标识符进行构建。移除了data构造器参数。移除了data属性。现在将nameTag设为空字符串后会清除命名牌的内容。现在将nameTag设为长度大于255的字符串后会报错。现在将amount设为大于最大栈长度的值后会将值钳位至栈长度范围内。现在将nameTag设为小于1的值后会报错。修复了对EntityItemComponent.itemStack返回的ItemStacks调用getComponent或ItemStack.getComponents函数时会出现的漏洞。加入了getMaxAmount: number只读属性。用于获取物品的最大堆叠数量。加入了isStackable: bool只读属性。用于获取物品是否可堆叠。加入了isStackableWith(itemStack: ItemStack): bool函数。用于检测物品是否可以与指定物品堆叠。加入了type: ItemType只读属性。用于获取物品类型。加入了clone(): ItemStack函数。用于获取堆叠副本。加入了keepOnDeath: bool属性。用于设置物品是否在死亡时掉落。加入了lockMode: ItemLockMode属性。用于设置物品是否能被移动或被丢弃。加入了setCanPlaceOn(blockIdentifiers?: string[])函数。用于设置能放置物品的方块。加入了setCanDestroy(blockIdentifiers?: string[])函数。用于设置物品能破坏的方块。BeforeChatEvent将tell函数重命名为sendMessage。加入了getTargets(): Player[]函数。用于返回发送消息的目标玩家。加入了setTargets(players: Player[])函数。用于设置发送消息的目标玩家。移除了targets属性。BeforeExplosionEvent加入了getImpactedBlocks(): Vector3[]函数。用于获取被爆炸影响的方块位置。加入了setImpactedBlocks(blocks: Vector3[]): void。用于设置被爆炸影响的方块位置。移除了impactedBlocks属性。BeforeItemUseOnEvent加入了getBlockLocation(): Vector3函数。用于获取被影响的方块位置。移除了blockLocation属性。Block加入了isAir函数。用于返回方块是否为空气。加入了isLiquid函数。用于返回方块是否为流体。加入了isSolid函数。用于返回方块是否为完整固体。为下列方块加入了inventory组件:木桶信标高炉酿造台投掷器发射器熔炉漏斗唱片机讲台烟熏炉BlockInventoryComponent移除了location属性。BlockLavaContainerComponent移除了location属性。BlockPistonComponent加入了getAttachedBlocks(): Vector3[]函数。用于获取被活塞影响的方块位置。移除了attachedBlocks属性。移除了location属性。BlockPotionContainerComponent移除了location属性。BlockRecordPlayerComponent移除了location属性。BlockSignComponent移除了location属性。BlockSnowContainerComponent移除了location属性。BlockWaterContainerComponent移除了location属性。加入了getHeadLocation(): Vector3函数。用于获取实体头部位置。移除了headLocation属性。ContainerSlot移除了clearItem函数。移除了clearLore函数。Events加入了entityDie事件。在实体死亡时触发。将projectileHit属性改为只读。ExplosionEvent加入了getImpactedBlocks(): Vector3[]函数。用于获取被爆炸影响的方块位置。移除了impactedBlocks属性。ItemStartUseOnEvent加入了getBlockLocation(): Vector3函数。用于获取被影响的方块位置。加入了getBuildBlockLocation(): Vector3函数。用于获取生成的方块位置。移除了blockLocation属性。移除了buildBlockLocation属性。ItemStopUseOnEvent加入了getBlockLocation(): Vector3函数。用于获取被影响的方块位置。移除了blockLocation属性。ItemUseOnEvent加入了getBlockLocation(): Vector3函数。用于获取被影响的方块位置。移除了blockLocation属性。NavigationResult加入了getPath(): Vector3[]函数。用于获取组成导航路径的方块位置。移除了path属性。Players加入了getSpawnPosition方法。用于返回重生点位置。加入了getSpawnDimension方法。用于返回重生点所在维度。加入了setSpawn(spawnPosition : Vec3, spawnDimension : Dimension)方法。用于设置重生点的位置和所在维度。加入了clearSpawn方法。将重生点的位置和所在维度设为undefined。加入了getHeadLocation(): Vector3函数。用于获取玩家头部位置。World将say函数重命名为sendMessage。加入了getDefaultSpawnPosition方法。用于返回重生点位置。加入了setDefaultSpawn(spawnPosition : Vec3)方法。用于设置重生点位置,维度为overworld。BeforeDataDrivenEntityTriggerEvent加入了getModifiers(): DefinitionModifier[]函数。用于返回实体的定义修饰符。加入了setModifiers(modifiers: DefinitionModifier[])函数。用于设置实体的定义修饰符。移除了modifiers属性。BoolBlockProperty加入了getValidValues(): boolean[]函数。用于返回BoolBlockProperty的所有有效布尔值。移除了validValues属性。将BlockHitInformation改为接口。ChatEvent加入了getTargets(): Player[]函数。用于返回发送消息的目标玩家。移除了targets属性。将Color改为接口。DataDrivenEntityTriggerEvent加入了getModifiers(): DefinitionModifier[]函数。用于返回实体的定义修饰符。移除了modifiers属性。DefinitionModifier加入了getComponentGroupsToAdd(): string[]函数。用于返回会与DefinitionModifier一同加入的属性组。加入了setComponentGroupsToAdd(newGroups: string[]): void函数。用于设置会与DefinitionModifier一同加入的属性组。加入了getComponentGroupsToRemove(): string[]函数。用于返回会与DefinitionModifier一同被移除的属性组。加入了setComponentGroupsToRemove(newGroups: string[]): void函数。用于设置会与DefinitionModifier一同被移除的属性组。加入了getTriggers(): Trigger[]函数。用于返回DefinitionModifier的事件触发器。加入了setTriggers(newTriggers: Trigger[]): void函数。用于设置DefinitionModifier的事件触发器。移除了componentGroupsToAdd属性。移除了componentGroupsToRemove属性。移除了triggers属性。DirectionBlockProperty加入了getValidValues(): Direction[]函数。用于返回BoolBlockProperty的所有有效方向枚举值。移除了validValues属性。Entity加入了getViewDirection(): Vector3函数。用于返回实体的视觉方向。加入了getRotation(): XYRotation函数。用于返回实体的旋转方向。加入了getVelocity(): Vector函数。用于返回实体的速度。移除了viewDirection属性。移除了rotation属性。移除了velocity属性。EntityAgeableComponent加入了getDropItems(): string[]函数。用于返回实体成长时的掉落物。加入了getFeedItems(): EntityDefinitionFeedItem[]函数。用于返回可对实体进行喂食的物品。移除了dropItems属性。移除了feedItems属性。EntityBreathableComponent加入了getBreatheBlocks(): BlockPermutation[]函数。用于返回实体处于其中时可进行呼吸的方块。加入了getNonBreatheBlocks(): BlockPermutation[]函数。用于返回实体处于其中时不可进行呼吸的方块。移除了breatheBlocks属性。移除了nonBreatheBlocks属性。EntityHealableComponent加入了getFeedItems(): FeedItem[]函数。用于返回可恢复实体生命值的物品。移除了items属性。将EntityHitInformation改为接口。EntityRideableComponent加入了getFamilyTypes(): string[]函数。用于返回可被骑乘的实体种类。加入了getSeats(): Seat[]函数。用于返回实体上每一个座位的骑乘者信息。移除了familyTypes属性。移除了seats属性。EntityTameableComponent加入了getTameItems(): string[]函数。用于返回可驯服实体的物品。移除了tameItems属性。FeedItem加入了getEffects(): FeedItemEffect[]函数。用于返回FeedItem的效果。移除了effects属性。IntBlockProperty加入了getValidValues(): number[]函数。用于返回IntBlockProperty的所有有效整值。移除了validValues属性。ItemDurabilityComponent加入了getDamageRange(): NumberRange函数。用于返回描述物品丢失耐久度的概率的数字范围。移除了damageRange属性。将NumberRange改为接口。ProjectileHitEvent加入了getBlockHit(): BlockHitInformation函数。用于返回方块碰撞信息。加入了getEntityHit(): EntityHitInformation函数。用于返回实体碰撞信息。移除了blockHit属性。移除了entityHit属性。StringBlockProperty加入了getValidValues(): string[]函数。用于返回IntBlockProperty的所有有效字符串值。移除了validValues属性。加入了clearVelocity(): void函数。用于将实体的速度设为0。加入了applyImpulse(vector: Vector3): void函数。用于设置实体速度的冲量。加入了applyKnockback(directionX: number, directionZ: number, horizontalStrength: number, verticalStrength: number): void函数。用于设置实体的击退效果、方向和强度。BlockPermutation现在所有的方块排列都会共享一个唯一的JavaScript句柄,使得拥有相同状态值的排列严格相等。移除了XBlockProperty类。加入了matches(blockName: string, properties?: BlockProperties): boolean方法。用于将用有可选状态的方块与方块排列匹配。加入了withProperty(name: string, value: booleannumberstring): BlockPermutation方法。用于创建给定属性为给定值的方块排列。在参数无法转换为有效方块排列时报错。加入了resolve(blockName: string, properties?: BlockProperties): BlockPermutation内部函数。用于使用方块名称和可选状态解析其方块排列。在参数无法解析为有效方块排列时报错。更改了getProperty和getAllProperties方法。现在会直接返回值而不进行类封装。BlockProperties加入了BlockPropertyType类。用于跟踪方块属性的定义性数据。移除了setVelocity()函数。GameTest框架
为assertEntityPresent(entityTypeIdentifier: string, blockLocation: BlockLocation, searchDistance?: number, isPresent?: boolean)函数加入了searchDistance可选参数。加入了assertEntityInstancePresentInArea(entity: Entity, isPresent?: boolean)函数。用于检测实体是否处于测试范围内。将assertItemEntityPresent函数的searchDistance设为可选参数。常规
在1.19.70以上版本的JSON格式中,如果方块排列的condition字段为无效的Molang字符串时,方块不再会加载。方块
开放了1.19.70及以上版本的实验性JSON格式中的BlockProperties和BlockPermutation。现在加载拥有65536个以上的自定义方块排列的世界会出现内容日志警告。修复原版趋同
其中一个方块被破坏时,连接多个方块的钟不再会掉落为物品。现在繁殖产下随机变种的幼年马。(MCPE-129071)修复了死亡的玩家会阻止其他玩家跳过夜晚的问题。现在无论屏幕比例为多少,食用和饮用动画都会保持居中显示。现在远距离的音符盒的音效衰减是线性的。(MCPE-164935)修复了僵尸猪灵在下界中能够在亮度等级高于11的地方生成的漏洞。现在会避免生物离开矿车后进入流体中。(MCPE-120078)现在弹射物击中紫水晶块或紫水晶母岩时会发出音效。现在使用除剪刀外的任意工具破坏枯萎的灌木时会掉落木棍,即使该工具带有精准采集魔咒也是如此。藤蔓在前述情况下则不会掉落任何物品。(MCPE-163246)在钟的下方或上方放置方块时不再会破坏钟。(MCPE-166742)修复了漏斗断开红石信号连接后不会吸取物品的问题。(MCPE-166434)恶魂音效的音量现在会因远离玩家而逐渐衰减。(MCPE-35222)旁观模式
玩家在第三人称视角下逐步穿过方块时,相机视角不再会朝向玩家头部进行放大和缩小。(MCPE-160467)末地折跃门不再能在旁观模式中使用。(MCPE-165689)游戏内容
玩家接触能够造成伤害的方块时不再会快速受到伤害。(MCPE-165347)修复了在1.8或更高版本进入1.7.1.0的世界时可能发生的崩溃。(MCPE-165564)游泳或使用鞘翅滑翔的玩家射出弹射物时,其不再会生成在玩家所在位置上方。(MCPE-31896)游泳或使用鞘翅滑翔的玩家手动丢弃物品或死亡时,物品不再会生成在玩家所在位置上方。(MCPE-31896)现在使用十字准星的玩家可以在游泳或使用鞘翅滑翔时正确进行挖掘,或与前方物品交互,而不是在玩家所在位置上方一格进行交互。(MCPE-57257)现在即使拥有相同的成书,玩家也可以在物品栏中移动成书。双击熔炉的输出槽时不再会将物品丢弃。(MCPE-165079)修复了侦测器无法检测数据损坏导致的更改的漏洞。(MCPE-150506)漏斗现在能够吸入其上方高度低于完整方块的方块上的物品。(MCPE-55824)对刷怪笼使用蜜蜂刷怪蛋时不再会创建内容日志错误。带有脚本的行为包现在能够从世界中移除。玩家现在可以在仅部分阻挡实体的方块上放置上半台阶。(MCPE-155016)玩家在第三人称视角下潜行或骑乘时不再可以透视部分方块。(MCPE-156273)玩家在特定角度与世界高度限制处的方块交互时,不再会出现关于世界高度限制之外放置方块的错误消息。(MCPE-152935)玩家现在可以在不按住潜行键的潜行状态下与功能性方块交互。红石信号源现在能够从不同的侧面来充能单个方块。(MCPE-163651)玩家不再可以在空间不足以站立的情况下开始飞行。(MCPE-166413)玩家现在可以在不按住潜行键的潜行状态下从方块边缘掉下来。修复了玩家除非手持一组拴绳,否则无法拴住手持拴绳的悦灵的漏洞。现在玩家松开潜行键后会停止潜入到细雪中。(MCPE-166518)音频
所有种类的按钮和拉杆的音效现在由音频设置中的“方块”滑块控制。(MCPE-166420)方块
现在破坏红树原木或木头后会正确导致其上的树叶消失。末地水晶和方块占用同一空间时不再会导致方块消失。现在堆肥桶被堆满时总会消耗一个物品。(MCPE-162020)图形
修复了创造模式下使用三叉戟对准方块时会出现“挖掘”工具提示的问题。(MCPE-44846)在沉浸式VR模式下进入下界时加载屏幕不再会闪烁。生物
现在鹦鹉在玩家骑乘的马跳跃时不再会颤抖。修复了在渲染距离外全局性实体(如末影龙、弹射物)不会被渲染的漏洞。(MCPE-161136)现在定义热带鱼生成规则的JSON文件会被放置在正确的文件夹中。(MCPE-165963)现在女巫的JSON文件会定义其饮用药水和远程攻击的动作。现在女巫站在营火上时会喝下抗火药水。现在村庄外的村民被玩家攻击时会发出愤怒粒子。马被推动时不再能越过上方覆盖着地毯的栅栏。(MCPE-164717)物品
现在给弩填装箭时会晃动。(MCPE-152952)战利品表条件用于内部函数时不再会被游戏忽略。(MCPE-164582)雪傀儡、凋灵和行商羊驼刷怪蛋现在会正确出现在物品栏和快捷栏中。修复了已装填的弩在发射后仍会保持已装填状态的问题。(MCPE-166827)触摸控制
更新了游戏指南界面,加入了有关新触摸控制的内容。现在将控制模式由游戏手柄更改为触控后选择一个物品时,会返回至所选择的物品栏或或将该物品丢弃。修复了在熔炉界面中双击窗口会导致无法选择其他槽位的问题。修复了打开小型箱子时第一个槽位上会自动启用渐进式选择的漏洞。现在能够在按住前进按钮的情况下保持使用向左右移动的方向键。加入了乘船的玩家在高处摔落时的下船按钮。修复了玩家无法通过点击创造模式物品栏中的方块或物品来移除已装备盔甲的问题。(MCPE-165790)移动平台
现在在携带版UI下创建新世界并关闭文本朗读选项后,“按 打开聊天栏 打开聊天”信息会被移除。用户界面
现在海洋探险家地图、林地探险家地图和藏宝图会显示正确的物品栏图标。(MCPE-163464)修复了无法使用鼠标在好友选项下拉菜单中滚动内容的漏洞。修复了登录或注册界面的图形元素会延伸至对话框容器范围之外的问题。现在对胡萝卜使用can_place_on和can_destroy物品组件时,胡萝卜会在物品工具提示中显示正确名称。(MCPE-160838)调整了Android设备上文本输入栏的键盘交互。修复了在打开UI文本转语音的情况下,使用控制器来控制玩家移动或相机视角移动会导致旁白说出“X of Y”的漏洞。修复了世界目录中包含空格时无法打开对应世界的编辑世界屏幕的漏洞。(MCPE-166763)命令
/replaceitem和/loot replace block命令不再会在炼药锅中放置物品。(MCPE-129472)/teleport命令中的旋转方向现在会相对于命令执行者,而不是目标。目标选择器的体积尺寸参数不再会影响目标选择器的位置。(MCPE-162237)目标选择器的体积尺寸参数现在会选择碰撞箱与体积方框相重叠的所有实体。(MCPE-162237)目标选择器的体积尺寸参数(dx、dy和dz)现在支持浮点数。(MCPE-163863)/summon命令不再会导致部分实体以某个角度生成。性能与稳定性
修复了在对准结构方块的情况下同时按下任何控制设备上的“挖掘”和“放置”按钮可能导致游戏崩溃的问题。(MCPE-155689)市场
现在使用控制器左摇杆向右选择侧边栏时,侧边栏会被折叠。在市场界面的侧边栏中加入了新的市场图标。修复了点击Minecoin同捆包时可能出现的错误。常规
工作台组件默认对工作台标签使用方块名称时不再会追加.tile。现在在快捷栏中切换耐久度相同的同种物品时会播放切换物品动画。实体属性
修复了当实体属性值被因其他事件触发的移除活动行为的事件修改后更改会丢失的漏洞。声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20240405/1696258835106869.html