incorrect carpet data shoudn't crash the client. Fixes #812
This commit is contained in:
1 parent
38285d4221
commit
4e5184009d
1 file changed
+11
-4
@@ -22,7 +22,7 @@ import java.util.function.BiConsumer;
|
||||
|
||||
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
|
||||
{
|
||||
dataHandlers.put("Rules", (p, t) -> {
|
||||
@@ -61,7 +61,7 @@ public class ClientNetworkHandler
|
||||
if (rule != null)
|
||||
{
|
||||
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;
|
||||
for (String key: compound.getKeys())
|
||||
{
|
||||
if (dataHandlers.containsKey(key))
|
||||
dataHandlers.get(key).accept(player, compound.get(key));
|
||||
if (dataHandlers.containsKey(key)) {
|
||||
try {
|
||||
dataHandlers.get(key).accept(player, compound.get(key));
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
CarpetSettings.LOG.info("Corrupt carpet data for "+key);
|
||||
}
|
||||
}
|
||||
else
|
||||
CarpetSettings.LOG.error("Unknown carpet data: "+key);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user