J3MLoader: enforce MaterialKey requirements based on extension
This commit is contained in:
parent
ed4b70bcad
commit
aba48495e1
@ -573,6 +573,11 @@ public class J3MLoader implements AssetLoader {
|
|||||||
InputStream in = info.openStream();
|
InputStream in = info.openStream();
|
||||||
try {
|
try {
|
||||||
key = info.getKey();
|
key = info.getKey();
|
||||||
|
if (key.getExtension().equals("j3m") && !(key instanceof MaterialKey)) {
|
||||||
|
throw new IOException("Material instances must be loaded via MaterialKey");
|
||||||
|
} else if (key.getExtension().equals("j3md") && key instanceof MaterialKey) {
|
||||||
|
throw new IOException("Material definitions must be loaded via AssetKey");
|
||||||
|
}
|
||||||
loadFromRoot(BlockLanguageParser.parse(in));
|
loadFromRoot(BlockLanguageParser.parse(in));
|
||||||
} finally {
|
} finally {
|
||||||
if (in != null){
|
if (in != null){
|
||||||
@ -581,9 +586,6 @@ public class J3MLoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (material != null){
|
if (material != null){
|
||||||
if (!(info.getKey() instanceof MaterialKey)){
|
|
||||||
throw new IOException("Material instances must be loaded via MaterialKey");
|
|
||||||
}
|
|
||||||
// material implementation
|
// material implementation
|
||||||
return material;
|
return material;
|
||||||
}else{
|
}else{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user