Skip to content

Commit b6c176b

Browse files
Fix BlockUtils.getBlockFromNameOrID() not returning null when it should
1 parent d8ce18e commit b6c176b

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/main/java/net/wurstclient/settings/BlockListSetting.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import com.google.gson.JsonPrimitive;
2222

2323
import net.minecraft.block.Block;
24-
import net.minecraft.registry.Registries;
25-
import net.minecraft.util.Identifier;
2624
import net.wurstclient.WurstClient;
2725
import net.wurstclient.clickgui.Component;
2826
import net.wurstclient.clickgui.components.BlockListEditButton;
@@ -41,8 +39,7 @@ public BlockListSetting(String name, WText description, String... blocks)
4139
{
4240
super(name, description);
4341

44-
Arrays.stream(blocks).parallel()
45-
.map(s -> Registries.BLOCK.get(Identifier.of(s)))
42+
Arrays.stream(blocks).parallel().map(BlockUtils::getBlockFromNameOrID)
4643
.filter(Objects::nonNull).map(BlockUtils::getName).distinct()
4744
.sorted().forEachOrdered(s -> blockNames.add(s));
4845
defaultNames = blockNames.toArray(new String[0]);
@@ -136,9 +133,9 @@ public void fromJson(JsonElement json)
136133

137134
// otherwise, load the blocks in the JSON array
138135
JsonUtils.getAsArray(json).getAllStrings().parallelStream()
139-
.map(s -> Registries.BLOCK.get(Identifier.of(s)))
140-
.filter(Objects::nonNull).map(BlockUtils::getName).distinct()
141-
.sorted().forEachOrdered(s -> blockNames.add(s));
136+
.map(BlockUtils::getBlockFromNameOrID).filter(Objects::nonNull)
137+
.map(BlockUtils::getName).distinct().sorted()
138+
.forEachOrdered(s -> blockNames.add(s));
142139

143140
}catch(JsonException e)
144141
{

src/main/java/net/wurstclient/util/BlockUtils.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ public static Block getBlockFromNameOrID(String nameOrId)
9898

9999
try
100100
{
101-
return Registries.BLOCK.get(Identifier.of(nameOrId));
101+
Identifier id = Identifier.of(nameOrId);
102+
if(!Registries.BLOCK.containsId(id))
103+
return null;
104+
105+
return Registries.BLOCK.get(id);
102106

103107
}catch(InvalidIdentifierException e)
104108
{

0 commit comments

Comments
 (0)