我的世界Java版 1.15 发布 添加了全新生物蜜蜂和相关方块
嗡嗡蜂群现已在Java版发布
A sweet treat for the holiday!
一份节假日的甜蜜礼物!
Usually finding out something you love is now full of bees is bad news (your cat, parents, self, etc). We hope you find the abundance of bees now buzzing merrily in Minecraft: Java Edition a delightful exception! Along with the Buzzy Bees, you’ll also find honeycomb, honeycomb blocks, honey blocks, the honey bottle, bee nests and beehives and absolutely no cats full of bees. Actually, I’m just gonna quickly double-check that last one…
一般来讲那些你喜欢的东西带来的麻烦也是一窝蜂的(你的喵啊,父母啊,甚至自己啊,blablabla)。我们希望这次更新可以为您舒缓一下蜂燥的心情。除了那堆嗡嗡蜂群外, 你可以找到蜜脾,蜜脾块,蜂蜜块,蜂蜜瓶,蜂巢以及蜂箱,自然,它们可不像您的爱喵那样麻烦蜂起。嗯..嗯?等一下,我得赶紧去扫一眼某只喵..
Enjoy!
祝游玩愉快!
BUZZY BEES CHANGELOG
嗡嗡蜂群改动列表
Summary
总结
- Added bees!
- 添加了蜜蜂!
- Added bee nests and beehives!
- 添加了蜂巢和蜂箱!
- Added honey blocks!
- 添加蜂蜜块!
- Added the honey bottle!
- 添加蜂蜜瓶!
- Added honeycomb!
- 添加了蜜脾!
- Added honeycomb blocks!
- 添加蜜脾块!
- Accessibility improvements
- 辅助功能改进
- Added advancements for bees and honey!
- 添加了有关蜜蜂和蜂蜜的进度
- Added iron golem healing
- 现可治疗铁傀儡
- Added features found in other Minecraft editions
- 添加了其他平台上 Minecraft 的特性
- Dispenser changes
- 发射器改动
- Experience orbs now appear in the same location as loot when an entity is killed
- 实体死亡后的经验球现在会掉落在和战利品同样的位置了
Bee
蜜蜂
We’re buzzing with excitement!我们兴奋地嗡嗡叫着!
Can someone tell Cory to stop making bee puns now?
有谁能让 Cory 别再弄这些关于蜜蜂的双关了吗?
- Bees are cute, fuzzy, neutral mobs
- 蜜蜂是可爱的、长着绒毛的、中立的生物
- Don’t hurt them, they don’t want to hurt you
- 别伤害它们,它们并不想伤害你
- If a bee does sting you, it will leave its stinger in you and eventually die, dropping nothing
- 如果你真的被蜜蜂蛰了,它们的蛰刺会留在你的体内,而它们自己最终则会死去,什么也不会掉落
- Bees love pretty flowers and spend their lives gathering pollen from them
- 蜜蜂喜欢漂亮的花儿,一生辛勤地传授着花粉
- After gathering pollen, bees fly back to their home nest
- 收集完花粉以后,蜜蜂会飞回蜂巢
- Bees help you by growing crops while carrying pollen back to the nest
- 蜜蜂通过将花粉从作物上带回到蜂巢来帮你加速作物生长
- Bees like sharing the location of their favorite flowers with other bees
- 蜜蜂喜欢与其他蜜蜂分享它们最爱的花的位置
- If a bee doesn’t have a home nest, it will wander around until it finds one it can use
- 如果一只蜜蜂没有蜂巢,它会四处游荡来寻找一个可用的蜂巢
- Bees don’t like the rain and they sleep at night. They will go back to the nest in these cases
- 蜜蜂不喜欢下雨天,在晚上会睡觉。在这两种情况下它们会回到蜂巢中
- Bees can be bred using flowers
- 蜜蜂可用花繁殖
- If a bee can’t find nectar, after a while it will return home for a bit
- 如果一只蜜蜂找不到花蜜,过一会儿它会回到家中一段时间
- Bees try to avoid water
- 蜜蜂现在会躲水
- Bees go inside if it’s raining at all in the world, not just where the bee is located
- Bees go inside if it’s raining at all in the world,not just where the bee is located
- Bees will search up to 10 blocks away from itself in all directions to find a nest/hive to call home
- 蜜蜂现在会在各方向上最大 10 格的范围内搜寻蜂巢或蜂箱来作为巢穴了
Bee Nests / Beehives
蜂巢 / 蜂箱
In real life, bees dance in their nests to show other bees where flowers are!
在现实生活中,蜜蜂依靠在蜂巢中跳舞来告知其他蜜蜂哪里有可爱的花儿!
- Bee nests spawn naturally in flower forests, plains, and sunflower plains biomes
- 蜂巢会自然生成在繁花森林、平原和向日葵平原生物群系
- When a bee visits this block and completes its journey undisturbed, the level of honey increases
- 当一只蜜蜂来到蜂巢或蜂箱,并不受外界打扰地完成了它的旅程,蜂蜜的等级将会上升
- Max of 5 levels of honey
- 蜂蜜的等级最高为 5 级
- Level 5 is quite…sticky
- 5 级的蜂蜜非常…粘稠
- Bees use nests and hives to share flower locations with other bees
- 蜜蜂在蜂巢或蜂箱与其他蜜蜂分享花儿的位置
- Sometimes bees that already know about a flower will choose not to use this information
- 有时候已经了解了一朵花儿的蜜蜂并不会选择到那儿采蜜
- Beehives are crafted by players using honeycomb and wood planks
- 蜂箱是由玩家使用蜜脾和木板合成的
- Use a silk touch tool to get the block with the bees stored inside
- 使用带有精准采集的工具来带着里面的蜜蜂一起获得整个方块
- Bee nests will be destroyed unless you use silk touch
- 如果不用精准采集,蜂巢会被破坏
- Use shears when at full honey to get honeycomb
- 当装满蜂蜜以后可以用剪刀剪下蜜脾
- Use a bottle when at full honey to get a honey bottle
- 当装满蜂蜜以后用玻璃瓶可以得到一个蜂蜜瓶
- Campfire smoke calms bees – place one underneath the nest/hive to keep them in chill mode
- 营火的烟能够平复蜜蜂的内心 —— 在蜂巢或蜂箱下放置一个营火可以让蜜蜂们保持冷静
- Redstone-friendly!
- 支持一些红石特性!
- Bees like bee nests and beehives the same amount! They don’t play favorites
- 蜜蜂对蜂巢和蜂箱同等喜爱!它们并不偏爱哪个
- Bees only exit through the front of the nest/hive
- 蜜蜂现在只会从蜂巢或蜂箱的前面出去了
Honey Block
蜂蜜块
Sticky. Very sticky!
黏。非常黏!
- Walking and jumping is limited
- 限制行走和跳跃
- If you stand on a honey block that is pushed by a piston, you come along for the ride
- 如果你站在一个被活塞推动的蜂蜜块上,你会跟着它一起动
- Jump into a wall of honey blocks to slide down and slow your fall
- 跳到一面由蜂蜜块制成的墙上下滑会降低你的掉落速度
- Landing on a honey block cushions your fall somewhat
- 落到蜂蜜块上可以减缓你的摔落伤害
- When a honey block is pushed or pulled by a piston, it sticks to adjacent blocks and tries to move them in the same direction (just like slime blocks do)
- 当蜂蜜块被活塞推拉时,它会尝试将所有毗邻的方块按相同方向移动(和粘液块一样)
- Honey blocks and slime blocks don’t stick to each other, because… um… because of special Minecraft chemistry
- 蜂蜜块和粘液块不再黏到一起,因为..嗯,MC世界的化学性质如此!
- Mobs and animals dislike walking on honey blocks unless they really need to as it’s too sticky for their comfort
- 生物和动物不喜欢走在蜂蜜块上。因为太黏了不舒服
- Honey blocks are crafted from four honey bottles
- 可用四瓶蜂蜜来合成
Honey Bottle
蜂蜜瓶
Organic, gluten-free, delicious locally-farmed honey!
有机、不含麸fū质、美味的本地自酿的蜂蜜!
- Use an empty glass bottle on a hive or nest that is full of honey to get a bottle of honey!
- 对装满蜂蜜的蜂巢或蜂箱使用空玻璃瓶来获得一瓶蜂蜜!
- Drink it!
- 喝掉它!
- ???
- ???
- Profit!
- 大有裨益!
- Oh yeah, also craft it into sugar!
- 哦对,还能用它合成糖!
- Or craft four bottles into a honey block!
- 或者拿四瓶去合成一个蜂蜜块!
- Drinking honey also cures poison
- 喝下它还能治愈中毒效果
Honeycomb
蜜脾
Disclaimer: Cannot be used to comb your hair
消歧义:不能用来梳头(译注:honeycomb 中的 comb 有梳子的意思。)
- Shear a full-honey hive or nest to obtain
- 用剪刀剪一个装满蜂蜜的蜂巢或蜂箱可以获得
- Craft with wood planks to create a beehive
- 与木板一起可以合成蜂箱
Honeycomb Block
蜜脾块
BYOH – Build Your Own Honeycomb
建造你自己的房子蜜脾
- Craft 2×2 Honeycomb to get a honeycomb block
- 用 2×2 的蜜脾来合成蜜脾块
- Purely decorative!
- 纯粹的装饰性方块!
Accessibility
辅助功能
- Sneak and sprint inputs can now be switched between hold and toggle mode in the accessibility options
- 潜行和疾跑的输入方式可以在辅助功能选项中设置为是长按还是切换了
- Descriptions under buttons on the create world screen are now narrated
- 创建世界屏幕中按钮下的描述会被复述功能阅读了
- Changed the button highlight to make it easier to distinguish which button is selected
- 现会高亮被选中按钮,使其更容易被分辨
Advancements
进度
- Added “Sticky Situation” for jumping into a honey block to break your fall
- 添加 “Sticky Situation” 进度,当跳到蜂蜜块上阻止你掉落时获得
- Added “Bee Our Guest” for safely collecting honey from a beehive using a campfire
- 添加 “Bee Our Guest” 进度,当使用营火安全地从蜂箱中收集蜂蜜时获得
- Added “Total Beelocation” for moving a bee nest with 3 bees inside using silk touch
- 添加 “Total Beelocation” 进度,当使用精准采集移动了一个装有 3 只蜜蜂的蜂巢时获得
Dispensers
发射器
- Dispensers can now fill bottles with water and honey
- 发射器现在能把玻璃瓶用水或蜂蜜装满
- Dispensers can now shear honey combs from bee nests and hives
- 发射器现在能够从蜂巢或蜂箱收集蜜脾
- Dispensers now eject empty bottles properly when not facing water
- 发射器现在如果不面向水,将会正确地不对空水瓶做出反应了
Iron Golems
铁傀儡
- Iron golems start cracking when badly damaged
- 铁傀儡受到伤害后会开裂
- Repair them with iron ingots!
- 可使用铁锭修复它们
- Damage progress is based on ratio of current health to max health
- 铁傀儡的受伤进度效果现在是基于当前血量与最大血量的比值的了
Parity
同步
Things from other editions of Minecraft have arrived to Java Edition!
其他平台上 Minecraft 的特性来到了 Java 版上!
- Trying to sleep in a bed during daytime will now set the player’s spawn location to that bed
- 在白天尝试睡觉,会将玩家的重生点设置到床所在位置
- Setting the respawn point by using a bed now shows a message
- 使用床重设出生点时现会有聊天栏提示
- Bells will now ring if powered with a redstone signal
- 钟在接收到红石信号以后会响
- The doInsomnia game rule can now be switched off to prevent phantoms from spawning during nighttime
- 可以关闭 doInsomnia 游戏规则,使幻翼不再在夜晚生成
- The doImmediateRespawn game rule can now be switched on to have players respawn immediately without showing the death screen
- 可以开启 doImmediateRespawn 游戏规则,使玩家死亡后立刻复活,不再显示死亡界面
- The drowningDamage, fallDamage and fireDamage game rules can now be used to prevent certain sources of damage
- 可以使用 drowningDamage(溺水伤害)、fallDamage(摔落伤害)和 fireDamage(火焰伤害)游戏规则取消指定的伤害
- Sponges now dry out when placed in the Nether
- 现在把海绵放到下界以后会变干
- Fireworks dispensed from a dispenser now travel in the direction they were fired
- 由发射器射出的烟花火箭将按照它们被发射的朝向飞行了
- Boats as fuel now smelt 6 items in a furnace
- 现在作为熔炉燃料的船能够熔炼 6 个物品了
- Campfire can be extinguished with a shovel
- 营火可以用锹熄灭
- When breedable mobs in groups spawn naturally they sometimes spawn babies in the groups
- 自然生成的一群可繁殖生物中有时会出现幼体了
- Parrots can sit on a player’s shoulder even when the player is riding
- 鹦鹉可以站在骑着东西的玩家肩上了
- Composters are now crafted from wooden slabs
- 堆肥桶现在要用木制台阶合成了
- All foods are now edible in creative mode
- 现可在创造模式随便吃东西
- Dark prismarine is now crafted from black dye instead of ink sacs
- 暗海晶石现使用黑色染料合成
- Increased scaffolding burn time when used as fuel in a furnace
- 增加脚手架作为燃料时的燃烧时间
- Added stats for anvil and grindstone interaction counts
- 统计现会计入铁砧及砂轮的使用次数
Technical
技术性
- Item predicate in advancements now makes distinction between actual enchantments and stored enchantments (like ones stored in enchanted books)
- 进度的物品断言现在区分了实际的魔咒(Enchantments)和储存的魔咒(StoredEnchantments,比如附魔书里的魔咒)
- Added general-purpose storage for data commands
- 为 data 命令增加了通用的 storage 子命令
- Added a spectate command
- 加入 spectate 指令
- Loot table predicates can now be defined in separate files and used for entity selectors and in execute ifcommand
- 战利品表判据现在可以单独定义在文件里面,并且可以在 execute if 命令以及实体选择器中使用。
- Extended advancement and loot table predicates
- 扩充了进度和战利品表的判据。
- Extended schedule command to allow scheduling function multiple times
- 增强了 schedule 命令,使其可以多次计划执行函数
Advancements
进度
- Changes in item predicate:
- 物品断言的改动:
- enchantments now only matches enchantments on item itself – it can no longer be used for enchanted books
- enchantments 现在只匹配物品自身的魔咒了 —— 不再会对附魔书的魔咒起效
- to match contents enchanted book, use stored_enchantments
- 如果想要匹配附魔书的魔咒,需要使用 stored_enchantments
- enchantments now only matches enchantments on item itself – it can no longer be used for enchanted books
Entity Predicate
实体判据
player
Entity predicate now accepts player field, which checks player properties. Fails when entity is not player.
实体判据现在接受 player 字段,可以检查玩家的属性。如果实体不是玩家,则判据不会通过。
字段:
- level – range of allowed player levels
- level – 允许的玩家经验等级范围
- gamemode – same values as /gamemode command
- gamemode – (游戏模式)可填写的值与 /gamemode 命令一致
- stats – list of statistics to match. Entry fields:type(like minecraft:custom), stat (like minecraft:sneak_time) and value(int range)
- stats – 要匹配的统计信息的列表。其中每项都包含:type (类型,例如 minecraft:custom),stat (统计名,例如 minecraft:sneak_time) 和 value (值,整型范围)
- recipes – map of recipe ids. Boolean value tells if it should or should not be known to player
- recipes – 键为配方 id,值为布尔值的映射。布尔值表示玩家是否解锁了该配方。
- advancements – map of advancement ids. If value is boolean, checks if advancement is done. If value is object, checks completion of critera
- advancements – 键位进度 id 的映射。如果值是布尔值,将检测该进度是否完成。如果值是个对象,将检测指定判据是否完成。(译注:应该与实体选择器中的 advancements 参数格式一致)
team
Entity predicate now accepts team field, which matches team name.
实体判据现在添加了 team 字段,将匹配实体所在队伍的队伍名。
Location predicate
位置判据
block and fluid
block (方块)与 fluid (流体)
Predicate also accepts block and fluid sub-predicate. Available fields:
判据添加了 block(方块)和 fluid (流体)子判据。可用的字段:
- block/fluid – exact block/fluid id to match
- block/fluid – 需要完全匹配的方块或流体 ID
- tag – block/fluid tag to match
- tag – 需要匹配的方块或流体标签
- nbt – matcher for block entity NBT (only for blocks)
- nbt – 对方块实体 NBT 值的匹配 (只有方块能用,流体不能)
- state – map of name-value properties. Value can be integer, boolean or string or object with optional min and maxproperties
- state – 键值对属性。值可以是数字、布尔值、字符串,或是有着可选的 min(最小值)和 max(最大值)属性的对象。
light
Predicate now accepts light sub-predicate. Object has one integer range – light that matches visible light (max(sky-darkening,block)).
判据现在添加了 light(光照)子判据。对象表明一个整型范围 – light 将匹配可见光(max(天空亮度-衰减,方块亮度))的大小。
Chat components
聊天元件
Click action
点击事件
- Added copy_to_clipboard action to clickEvent
- 在 clickEvent 中加入 copy_to_clipboard 事件
NBT chat component
NBT聊天元件
- Added variant for NBT storage:{‘nbt’: <path>, ‘storage’:'<resource id>’} . NBT storage can be manipulated with commands like /data merge storage <resource id> …
- 为 NBT storage 添加了变种:{“nbt”: <path>, “storage”: “<资源 ID>”}。可以使用类似于 /data merge storage <资源 ID> …. 的命令来操作 NBT storage
Commands
命令
data
- Data commands can now use storage as target. This is general-purpose, key-value storage
- Data 命令现在可以使用 storage 参数。这可以被用于多种目的,以键值对形式储存数据。
- Storage is shared between all dimensions in level
- 储存数据在世界中所有维度共享。
- Data in storage persist between reloads
- reload(重载)会保留 storage 中储存的数据
- Storage is shared between all dimensions in level
execute if predicate
New subcommand evaluates custom predicates (defined in predicates directory of datapack).
新的子命令,能够检测是否满足指定的 predicates(判据,定义在数据包的 predicates 目录中)
schedule
- Added new syntax /schedule … [append|replace](/schedule … defaults to replace)
- 添加了新的语法 /schedule …[append|replace](/schedule … 默认为 replace)
- Added new syntax /schedule clear <id> to remove existing schedules (returns number of removed schedules)
- 添加了新的语法 /schedule clear <id> 来移除已经存在的计划执行 (将返回移除的计划执行个数)
effect
The effect clear command now defaults to @s if no target argument is given.
The effect clear command now defaults to @s if no target argument is given。
Entity selectors
实体选择器
New selector parameter predicate allows to apply custom custom predicate (defined in predicates directory of datapack).
新的选择器参数 predicate 可以填入自定义的判据(定义在数据包的 predicates 目录中)。
kill
The kill command now defaults to @s if no target argument is given.
如果不提供目标参数,kill 命令将默认执行目标为 @s。
Spectate
New command that makes a player in spectator mode spectate an entity. Syntax:spectate [target] [player]
Parameters:
新命令,可以让旁观者模式中的玩家以某个实体的视角旁观。语法:spectate [目标] [玩家]
参数:
- player – The player that should spectate the target. Must be in spectator mode. If omitted,@s is used
- 玩家 – 应当以实体视角旁观的玩家。必须处在旁观者模式内。如果省略,默认为@s。
- target – The target to spectate. If omitted, makes the player stop spectating
- 目标 – 被旁观的目标实体。如果省略,会使得玩家停止旁观。
Custom predicates
自定义判据
Condition part of loot tables can now be defined as separate data pack resource in predicates directory.
战利品表的条件部分现在可以单独定义为数据包的资源,放置在 predicates 目录下。
Loot tables
战利品表
location_check
New parameters added:
新增加的参数:
- offsetX,offsetY,offsetZ – optional offsets to location
- offsetX,offsetY,offsetZ – 对位置的可选的偏移
time_check condition
time_check 条件
New condition that checks day time.
新的条件,能够检测当前游戏内时间
Parameters
参数
- value – range of accepted values
- value – 允许的值的范围
- period – if present, time will be modulo-divided by this value (for example, if set to 24000, value will operate on time of day)
- period – 如果指定,检测时时间将会被以该数取模(例如,如果设置为 24000,value 将会表示一天内的时间)
New conditions
新的条件
reference
Includes condition defined in predicates directory of datapack, selected with name parameter.
引用定义在数据包 predicates 目录下的判据。需要通过指定 name 参数来选择判据。
New functions
新函数
copy_state
Copies state properties from dropped block to BlockStateTag in dropped item.
将掉落的方块的方块状态属性复制到物品的 BlockStateTag 标签中
参数:
- block – source of properties (block id)
- block – 方块状态源(方块 ID)
- properties – list of property names. All must be present on block
- properties – 方块状态名的列表。列表内所有值都必须在 block 指定的方块上存在。
Modding
编写MOD
In an effort to help make modding the game easier, we have decided to publish our game obfuscation maps with all future releases of the game. This means that anyone who is interested may deobfuscate the game and find their way around the code without needing to spend a few months figuring out what’s what. It is our hope that mod authors and mod framework authors use these files to augment their updating processes that they have today. These mappings will always be available, instantly and immediately as part of every newly released version. This does not, however, change the existing restrictions on what you may or may not do with our game code or assets. The links to the obfuscation mappings are included as part of the version manifest json, and may be automatically pulled for any given version.
为了让玩家们更容易为游戏编写 mod,我们决定从今天开始,将混淆表随着未来的所有版本一同发布。这意味着所有对此有兴趣的玩家都能够反混淆游戏代码,并找到他们所想要的代码,不再需要浪费几个月的时间弄清楚什么是什么。我们希望,mod 作者与 mod 框架编写者能够使用这些文件来加速他们正在进行的更新进程。这些混淆表将永远可以获取到,会作为每一个新发布的版本的一部分迅速发布。然而,这并不意味着我们改变了已有的对游戏代码和游戏资源的使用限制。该混淆表的下载链接会作为 version manifest json 的一部分,可以通过任一指定的游戏版本自动获取。
Prefixed to every obfuscation map is the following legal disclaimer:
每一份混淆表都由以下的法律免责声明开头:
? 2019 Microsoft Corporation. All rights reserved. This information is provided “as-is” and you bear the risk of using it. This information does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this information for your internal, reference purposes. Microsoft makes no warranties, express or implied, with respect to the information provided here.
? 2019 Microsoft Corporation。All rights reserved。This information is provided “as-is” and you bear the risk of using it。This information does not provide you with any legal rights to any intellectual property in any Microsoft product。You may copy and use this information for your internal,reference purposes。Microsoft makes no warranties,express or implied,with respect to the information provided here.
Particle Performance
粒子性能
- Vertically moving particles are performing better when they collide with blocks
- 改进了垂直运动粒子与方块的碰撞
Pistons
活塞
Bug fix
漏洞修复
- Blocks that can be manually placed on farmland can now also be pushed onto it by a piston without destroying the farmland
- 如果一个方块能被手动放置在耕地上,活塞也可以把它推到上面了,并且不会摧毁耕地。
Resource Packs
资源包
- The resource pack version is now 5
- 资源包版本现为第五版(“pack_format”:5)
- The game now tries to make out of date resource packs work as much as possible
- 现会尽量兼容低版本资源包
- Increased sizelimit for client downloading resource packs from 50MB to 100MB
- 服务器资源包现支持100MB大小
State matching
方块状态匹配
Few advancements and loot table predicates that used block state properties (location,block_state_property,enter_block,placed_block) can now match ranges (by replacing single value with {‘min’: …, ‘max’: …}).
Also, block type is now optional in those predicates – so for example it is not possible to match any crop with age property in certain range.
某些会用到方块状态的进度及战利品表 (location,block_state_property,enter_block,placed_block) 现可使用{“min”: …,“max”: …}规定范围。以及,方块种类在其中为可选参数 —— 打个比方,现在不可能匹配所有 age 参数在特定范围内的作物。(?)
Textures
材质
- Changed texture map for all chests
- 改变了所有箱子的材质表
- Banner and shield patterns are now using alpha channel instead of brightness
- 旗帜图案现在使用透明度通道而不是亮度通道。
- Ender Dragon does not have separate texture for the bottom of the wing anymore
- 末影龙翅膀的底部不再有单独的材质了
- Enchanted item glint texture is now like it looks in the game
- 附魔物品的光效材质现在和游戏里面看起来的一样了
Command used to change the patterns
用来修改现有图案的命令
- for f in *.png; do convert ‘$f’ -alpha copy tmp.png && composite tmp.png -compose copy-opacity ../shield_base.png tmp2.png && convert tmp2.png -fill ‘rgba(0,1,0,1)’ -draw ‘rectangle 0,0 1,63’ -draw ‘rectangle 2,0 63,1’ -draw ‘rectangle 2,22 64,64’ -draw ‘rectangle 12,2 64,64’ -fill none -draw ‘matte 0,0 floodfill’ tmp3.png && mv tmp3.png ‘$f’ && rm tmp.png tmp2.png; done