incorrect carpet data shoudn't crash the client. Fixes #812

This commit is contained in:
gnembon committed 2021-04-17 00:35:47 -03:00
1 parent 38285d4221
commit 4e5184009d
1 file changed
+11 -4
@@ -22,7 +22,7 @@ import java.util.function.BiConsumer;
public class ClientNetworkHandler public class ClientNetworkHandler
{ {
private static Map<String, BiConsumer<ClientPlayerEntity, Tag>> dataHandlers = new HashMap<String, BiConsumer<ClientPlayerEntity, Tag>>(); private static final Map<String, BiConsumer<ClientPlayerEntity, Tag>> dataHandlers = new HashMap<String, BiConsumer<ClientPlayerEntity, Tag>>();
static static
{ {
dataHandlers.put("Rules", (p, t) -> { dataHandlers.put("Rules", (p, t) -> {
@@ -61,7 +61,7 @@ public class ClientNetworkHandler
if (rule != null) if (rule != null)
{ {
String value = ruleNBT.getString("Value"); String value = ruleNBT.getString("Value");
rule.set(null, value); try { rule.set(null, value); } catch (Exception ignored) { }
} }
} }
}); });
@@ -133,8 +133,15 @@ public class ClientNetworkHandler
if (compound == null) return; if (compound == null) return;
for (String key: compound.getKeys()) for (String key: compound.getKeys())
{ {
if (dataHandlers.containsKey(key)) if (dataHandlers.containsKey(key)) {
dataHandlers.get(key).accept(player, compound.get(key)); try {
dataHandlers.get(key).accept(player, compound.get(key));
}
catch (Exception exc)
{
CarpetSettings.LOG.info("Corrupt carpet data for "+key);
}
}
else else
CarpetSettings.LOG.error("Unknown carpet data: "+key); CarpetSettings.LOG.error("Unknown carpet data: "+key);
} }