192 lines
6.3 KiB
Java
192 lines
6.3 KiB
Java
package tschipp.carryon.common.scripting;
|
|
|
|
import java.util.HashMap;
|
|
|
|
public class ScriptReader
|
|
{
|
|
public static HashMap<Integer, CarryOnOverride> OVERRIDES = new HashMap<>();
|
|
|
|
// public static HashSet<CarryOnOverride> OVERRIDES = new
|
|
// HashSet<CarryOnOverride>();
|
|
|
|
// public static void preInit()
|
|
// {
|
|
// scripts.clear();
|
|
//
|
|
// CarryOn.CONFIGURATION_FILE = new
|
|
// File(FMLPaths.CONFIGDIR.get().toString(), "/carryon-scripts/");
|
|
//
|
|
// if (!CarryOn.CONFIGURATION_FILE.exists())
|
|
// CarryOn.CONFIGURATION_FILE.mkdir();
|
|
//
|
|
// for (File file : CarryOn.CONFIGURATION_FILE.listFiles())
|
|
// {
|
|
// if (file.getName().endsWith(".json"))
|
|
// scripts.add(file);
|
|
// }
|
|
//
|
|
// }
|
|
|
|
// public static void parseScripts()
|
|
// {
|
|
// OVERRIDES.clear();
|
|
//
|
|
// try
|
|
// {
|
|
// if (!Settings.useScripts.get())
|
|
// return;
|
|
//
|
|
// for (File file : scripts)
|
|
// {
|
|
// boolean errored = false;
|
|
// JsonParser parser = new JsonParser();
|
|
// JsonObject json = (JsonObject) parser.parse(new
|
|
// FileReader(file.getAbsolutePath()));
|
|
//
|
|
// JsonObject object = (JsonObject) json.get("object");
|
|
// JsonObject conditions = (JsonObject) json.get("conditions");
|
|
// JsonObject render = (JsonObject) json.get("render");
|
|
// JsonObject effects = (JsonObject) json.get("effects");
|
|
//
|
|
// if ((object != null && conditions != null) || (object != null && render
|
|
// != null) || (object != null && effects != null))
|
|
// {
|
|
// JsonObject block = (JsonObject) object.get("block");
|
|
// JsonObject entity = (JsonObject) object.get("entity");
|
|
//
|
|
// if ((block == null && entity == null) || (block != null && entity !=
|
|
// null))
|
|
// errored = true;
|
|
//
|
|
// if (!errored)
|
|
// {
|
|
// CarryOnOverride override = new CarryOnOverride(file.getAbsolutePath());
|
|
//
|
|
// if (block != null)
|
|
// {
|
|
// override.setBlock(true);
|
|
// JsonElement name = block.get("name");
|
|
// JsonElement material = block.get("material");
|
|
// JsonElement hardness = block.get("hardness");
|
|
// JsonElement resistance = block.get("resistance");
|
|
// JsonObject nbt = (JsonObject) block.get("nbt");
|
|
//
|
|
// if (name != null)
|
|
// override.setTypeNameBlock(name.getAsString());
|
|
// if (material != null)
|
|
// override.setTypeMaterial(material.getAsString());
|
|
// if (hardness != null)
|
|
// override.setTypeHardness(hardness.getAsString());
|
|
// if (resistance != null)
|
|
// override.setTypeResistance(resistance.getAsString());
|
|
// if (nbt != null)
|
|
// override.setTypeBlockTag(JsonToNBT.getTagFromJson(nbt.toString()));
|
|
// } else
|
|
// {
|
|
// override.setEntity(true);
|
|
// JsonElement name = entity.get("name");
|
|
// JsonElement health = entity.get("health");
|
|
// JsonElement height = entity.get("height");
|
|
// JsonElement width = entity.get("width");
|
|
// JsonObject nbt = (JsonObject) entity.get("nbt");
|
|
//
|
|
// if (name != null)
|
|
// override.setTypeNameEntity(name.getAsString());
|
|
// if (health != null)
|
|
// override.setTypeHealth(health.getAsString());
|
|
// if (height != null)
|
|
// override.setTypeHeight(height.getAsString());
|
|
// if (width != null)
|
|
// override.setTypeWidth(width.getAsString());
|
|
// if (nbt != null)
|
|
// override.setTypeEntityTag(JsonToNBT.getTagFromJson(nbt.toString()));
|
|
// }
|
|
//
|
|
// if (conditions != null)
|
|
// {
|
|
// JsonElement gamestage = conditions.get("gamestage");
|
|
// JsonElement achievement = conditions.get("advancement");
|
|
// JsonElement xp = conditions.get("xp");
|
|
// JsonElement gamemode = conditions.get("gamemode");
|
|
// JsonElement scoreboard = conditions.get("scoreboard");
|
|
// JsonElement position = conditions.get("position");
|
|
// JsonElement potionEffects = conditions.get("effects");
|
|
//
|
|
// if (gamestage != null)
|
|
// override.setConditionGamestage(gamestage.getAsString());
|
|
// if (achievement != null)
|
|
// override.setConditionAchievement(achievement.getAsString());
|
|
// if (xp != null)
|
|
// override.setConditionXp(xp.getAsString());
|
|
// if (gamemode != null)
|
|
// override.setConditionGamemode(gamemode.getAsString());
|
|
// if (scoreboard != null)
|
|
// override.setConditionScoreboard(scoreboard.getAsString());
|
|
// if (position != null)
|
|
// override.setConditionPosition(position.getAsString());
|
|
// if (potionEffects != null)
|
|
// override.setConditionEffects(potionEffects.getAsString());
|
|
// }
|
|
//
|
|
// if (render != null)
|
|
// {
|
|
// JsonElement name_block = render.get("name_block");
|
|
// JsonElement name_entity = render.get("name_entity");
|
|
// JsonObject nbt = (JsonObject) render.get("nbt");
|
|
// JsonElement translation = render.get("translation");
|
|
// JsonElement rotation = render.get("rotation");
|
|
// JsonElement scaled = render.get("scale");
|
|
// JsonElement rotationLeftArm = render.get("rotation_left_arm");
|
|
// JsonElement rotationRightArm = render.get("rotation_right_arm");
|
|
// JsonElement renderLeftArm = render.get("render_left_arm");
|
|
// JsonElement renderRightArm = render.get("render_right_arm");
|
|
//
|
|
// if (name_block != null)
|
|
// override.setRenderNameBlock(name_block.getAsString());
|
|
// if (name_entity != null)
|
|
// override.setRenderNameEntity(name_entity.getAsString());
|
|
// if (translation != null)
|
|
// override.setRenderTranslation(translation.getAsString());
|
|
// if (rotation != null)
|
|
// override.setRenderRotation(rotation.getAsString());
|
|
// if (scaled != null)
|
|
// override.setRenderscaled(scaled.getAsString());
|
|
// if (nbt != null)
|
|
// override.setRenderNBT(JsonToNBT.getTagFromJson(nbt.toString()));
|
|
// if (rotationLeftArm != null)
|
|
// override.setRenderRotationLeftArm(rotationLeftArm.getAsString());
|
|
// if (rotationRightArm != null)
|
|
// override.setRenderRotationRightArm(rotationRightArm.getAsString());
|
|
// if (renderLeftArm != null)
|
|
// override.setRenderLeftArm(renderLeftArm.getAsBoolean());
|
|
// if (renderRightArm != null)
|
|
// override.setRenderRightArm(renderRightArm.getAsBoolean());
|
|
// }
|
|
//
|
|
// if (effects != null)
|
|
// {
|
|
// JsonElement commandInit = effects.get("commandPickup");
|
|
// JsonElement commandLoop = effects.get("commandLoop");
|
|
// JsonElement commandPlace = effects.get("commandPlace");
|
|
//
|
|
// if (commandInit != null)
|
|
// override.setCommandInit(commandInit.getAsString());
|
|
// if (commandLoop != null)
|
|
// override.setCommandLoop(commandLoop.getAsString());
|
|
// if (commandPlace != null)
|
|
// override.setCommandPlace(commandPlace.getAsString());
|
|
// }
|
|
//
|
|
// OVERRIDES.put(override.hashCode(), override);
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// System.out.println("Successfully parsed scripts!");
|
|
// } catch (Exception e)
|
|
// {
|
|
// CarryOn.LOGGER.error(e);
|
|
// }
|
|
// }
|
|
}
|