768 lines
19 KiB
Java
768 lines
19 KiB
Java
package tschipp.carryon.common.scripting;
|
|
|
|
import java.util.Objects;
|
|
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonObject;
|
|
|
|
import net.minecraft.nbt.CompoundTag;
|
|
import net.minecraft.nbt.TagParser;
|
|
import net.minecraft.network.FriendlyByteBuf;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import tschipp.carryon.common.helper.InvalidConfigException;
|
|
|
|
public class CarryOnOverride
|
|
{
|
|
// BLOCKS
|
|
private CompoundTag typeBlockTag = new CompoundTag();
|
|
private String typeNameBlock = "";
|
|
private String typeMaterial = "";
|
|
private String typeHardness = "";
|
|
private String typeResistance = "";
|
|
|
|
// ENTITIES
|
|
private CompoundTag typeEntityTag;
|
|
private String typeNameEntity = "";
|
|
private String typeHeight = "";
|
|
private String typeWidth = "";
|
|
private String typeHealth = "";
|
|
|
|
// CONDITIONS
|
|
private String conditionGamestage = "";
|
|
private String conditionAchievement = "";
|
|
private String conditionXp = "";
|
|
private String conditionGamemode = "";
|
|
private String conditionScoreboard = "";
|
|
private String conditionPosition = "";
|
|
private String conditionEffects = "";
|
|
|
|
// RENDER
|
|
private String renderNameBlock = "";
|
|
private String renderNameEntity = "";
|
|
private CompoundTag renderNBT = new CompoundTag();
|
|
private String renderTranslation = "";
|
|
private String renderRotation = "";
|
|
private String renderscaled = "";
|
|
private String renderRotationLeftArm = "";
|
|
private String renderRotationRightArm = "";
|
|
private boolean renderLeftArm = true;
|
|
private boolean renderRightArm = true;
|
|
|
|
// EFFECTS
|
|
private String commandInit = "";
|
|
private String commandLoop = "";
|
|
private String commandPlace = "";
|
|
|
|
private boolean isBlock;
|
|
private boolean isEntity;
|
|
private String resourceLocation = "";
|
|
public boolean isInvalid = false;
|
|
|
|
public CarryOnOverride(String path)
|
|
{
|
|
this.resourceLocation = path;
|
|
}
|
|
|
|
public CarryOnOverride(JsonElement jsonElem, ResourceLocation loc)
|
|
{
|
|
boolean errored = false;
|
|
this.resourceLocation = loc.toString();
|
|
|
|
if (jsonElem != null && jsonElem.isJsonObject())
|
|
{
|
|
try
|
|
{
|
|
JsonObject json = jsonElem.getAsJsonObject();
|
|
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 || render != 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)
|
|
{
|
|
if (block != null)
|
|
{
|
|
this.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)
|
|
this.setTypeNameBlock(name.getAsString());
|
|
if (material != null)
|
|
this.setTypeMaterial(material.getAsString());
|
|
if (hardness != null)
|
|
this.setTypeHardness(hardness.getAsString());
|
|
if (resistance != null)
|
|
this.setTypeResistance(resistance.getAsString());
|
|
if (nbt != null)
|
|
this.setTypeBlockTag(TagParser.parseTag(nbt.toString()));
|
|
}
|
|
else
|
|
{
|
|
this.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)
|
|
this.setTypeNameEntity(name.getAsString());
|
|
if (health != null)
|
|
this.setTypeHealth(health.getAsString());
|
|
if (height != null)
|
|
this.setTypeHeight(height.getAsString());
|
|
if (width != null)
|
|
this.setTypeWidth(width.getAsString());
|
|
if (nbt != null)
|
|
this.setTypeEntityTag(TagParser.parseTag(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)
|
|
this.setConditionGamestage(gamestage.getAsString());
|
|
if (achievement != null)
|
|
this.setConditionAchievement(achievement.getAsString());
|
|
if (xp != null)
|
|
this.setConditionXp(xp.getAsString());
|
|
if (gamemode != null)
|
|
this.setConditionGamemode(gamemode.getAsString());
|
|
if (scoreboard != null)
|
|
this.setConditionScoreboard(scoreboard.getAsString());
|
|
if (position != null)
|
|
this.setConditionPosition(position.getAsString());
|
|
if (potionEffects != null)
|
|
this.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)
|
|
this.setRenderNameBlock(name_block.getAsString());
|
|
if (name_entity != null)
|
|
this.setRenderNameEntity(name_entity.getAsString());
|
|
if (translation != null)
|
|
this.setRenderTranslation(translation.getAsString());
|
|
if (rotation != null)
|
|
this.setRenderRotation(rotation.getAsString());
|
|
if (scaled != null)
|
|
this.setRenderscaled(scaled.getAsString());
|
|
if (nbt != null)
|
|
this.setRenderNBT(TagParser.parseTag(nbt.toString()));
|
|
if (rotationLeftArm != null)
|
|
this.setRenderRotationLeftArm(rotationLeftArm.getAsString());
|
|
if (rotationRightArm != null)
|
|
this.setRenderRotationRightArm(rotationRightArm.getAsString());
|
|
if (renderLeftArm != null)
|
|
this.setRenderLeftArm(renderLeftArm.getAsBoolean());
|
|
if (renderRightArm != null)
|
|
this.setRenderRightArm(renderRightArm.getAsBoolean());
|
|
}
|
|
|
|
if (effects != null)
|
|
{
|
|
JsonElement commandInit = effects.get("commandPickup");
|
|
JsonElement commandLoop = effects.get("commandLoop");
|
|
JsonElement commandPlace = effects.get("commandPlace");
|
|
|
|
if (commandInit != null)
|
|
this.setCommandInit(commandInit.getAsString());
|
|
if (commandLoop != null)
|
|
this.setCommandLoop(commandLoop.getAsString());
|
|
if (commandPlace != null)
|
|
this.setCommandPlace(commandPlace.getAsString());
|
|
}
|
|
}
|
|
else
|
|
this.isInvalid = true;
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
this.isInvalid = true;
|
|
}
|
|
}
|
|
else
|
|
this.isInvalid = true;
|
|
|
|
if (!this.isBlock && !this.isEntity)
|
|
this.isInvalid = true;
|
|
|
|
if (this.isInvalid)
|
|
new InvalidConfigException("The script parsing for " + this.resourceLocation + " has failed! Please double check!").printException();
|
|
}
|
|
|
|
public String getCommandInit()
|
|
{
|
|
return this.commandInit;
|
|
}
|
|
|
|
public void setCommandInit(String commandInit)
|
|
{
|
|
this.commandInit = commandInit;
|
|
}
|
|
|
|
public String getCommandLoop()
|
|
{
|
|
return this.commandLoop;
|
|
}
|
|
|
|
public void setCommandLoop(String commandLoop)
|
|
{
|
|
this.commandLoop = commandLoop;
|
|
}
|
|
|
|
public String getConditionEffects()
|
|
{
|
|
return this.conditionEffects;
|
|
}
|
|
|
|
public void setConditionEffects(String conditionEffects)
|
|
{
|
|
this.conditionEffects = conditionEffects;
|
|
}
|
|
|
|
public String getRenderRotationLeftArm()
|
|
{
|
|
return this.renderRotationLeftArm;
|
|
}
|
|
|
|
public void setRenderRotationLeftArm(String renderRotationLeftArm)
|
|
{
|
|
this.renderRotationLeftArm = renderRotationLeftArm;
|
|
}
|
|
|
|
public String getRenderRotationRightArm()
|
|
{
|
|
return this.renderRotationRightArm;
|
|
}
|
|
|
|
public void setRenderRotationRightArm(String renderRotationRightArm)
|
|
{
|
|
this.renderRotationRightArm = renderRotationRightArm;
|
|
}
|
|
|
|
public boolean isRenderLeftArm()
|
|
{
|
|
return this.renderLeftArm;
|
|
}
|
|
|
|
public void setRenderLeftArm(boolean renderLeftArm)
|
|
{
|
|
this.renderLeftArm = renderLeftArm;
|
|
}
|
|
|
|
public boolean isRenderRightArm()
|
|
{
|
|
return this.renderRightArm;
|
|
}
|
|
|
|
public void setRenderRightArm(boolean renderRightArm)
|
|
{
|
|
this.renderRightArm = renderRightArm;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode()
|
|
{
|
|
final int prime = 31;
|
|
int result = 1;
|
|
return prime * result + (this.resourceLocation == null ? 0 : this.resourceLocation.hashCode());
|
|
}
|
|
|
|
@Override
|
|
public String toString()
|
|
{
|
|
return "Code: " + this.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj)
|
|
{
|
|
if (this == obj)
|
|
return true;
|
|
if (obj == null || this.getClass() != obj.getClass())
|
|
return false;
|
|
CarryOnOverride other = (CarryOnOverride) obj;
|
|
if (!Objects.equals(this.commandInit, other.commandInit) || !Objects.equals(this.commandLoop, other.commandLoop) || !Objects.equals(this.commandPlace, other.commandPlace) || !Objects.equals(this.conditionAchievement, other.conditionAchievement))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.conditionEffects, other.conditionEffects) || !Objects.equals(this.conditionGamemode, other.conditionGamemode) || !Objects.equals(this.conditionGamestage, other.conditionGamestage) || !Objects.equals(this.conditionPosition, other.conditionPosition))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.conditionScoreboard, other.conditionScoreboard))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.conditionXp, other.conditionXp))
|
|
{
|
|
return false;
|
|
}
|
|
if (this.isBlock != other.isBlock)
|
|
return false;
|
|
if (this.isEntity != other.isEntity)
|
|
return false;
|
|
if (!Objects.equals(this.resourceLocation, other.resourceLocation))
|
|
{
|
|
return false;
|
|
}
|
|
if (this.renderLeftArm != other.renderLeftArm)
|
|
return false;
|
|
if (!Objects.equals(this.renderNBT, other.renderNBT))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderNameBlock, other.renderNameBlock))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderNameEntity, other.renderNameEntity))
|
|
{
|
|
return false;
|
|
}
|
|
if (this.renderRightArm != other.renderRightArm)
|
|
return false;
|
|
if (!Objects.equals(this.renderRotation, other.renderRotation))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderRotationLeftArm, other.renderRotationLeftArm))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderRotationRightArm, other.renderRotationRightArm))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderscaled, other.renderscaled))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.renderTranslation, other.renderTranslation))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeBlockTag, other.typeBlockTag))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeEntityTag, other.typeEntityTag))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeHardness, other.typeHardness))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeHealth, other.typeHealth))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeHeight, other.typeHeight))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeMaterial, other.typeMaterial))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeNameBlock, other.typeNameBlock))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeNameEntity, other.typeNameEntity))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeResistance, other.typeResistance))
|
|
{
|
|
return false;
|
|
}
|
|
if (!Objects.equals(this.typeWidth, other.typeWidth))
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public boolean isBlock()
|
|
{
|
|
return this.isBlock;
|
|
}
|
|
|
|
public void setBlock(boolean isBlock)
|
|
{
|
|
this.isBlock = isBlock;
|
|
}
|
|
|
|
public boolean isEntity()
|
|
{
|
|
return this.isEntity;
|
|
}
|
|
|
|
public void setEntity(boolean isEntity)
|
|
{
|
|
this.isEntity = isEntity;
|
|
}
|
|
|
|
public CompoundTag getTypeBlockTag()
|
|
{
|
|
return this.typeBlockTag;
|
|
}
|
|
|
|
public String getTypeNameBlock()
|
|
{
|
|
return this.typeNameBlock;
|
|
}
|
|
|
|
public String getTypeMaterial()
|
|
{
|
|
return this.typeMaterial;
|
|
}
|
|
|
|
public String getTypeHardness()
|
|
{
|
|
return this.typeHardness;
|
|
}
|
|
|
|
public String getTypeResistance()
|
|
{
|
|
return this.typeResistance;
|
|
}
|
|
|
|
public CompoundTag getTypeEntityTag()
|
|
{
|
|
return this.typeEntityTag;
|
|
}
|
|
|
|
public String getTypeNameEntity()
|
|
{
|
|
return this.typeNameEntity;
|
|
}
|
|
|
|
public String getTypeHeight()
|
|
{
|
|
return this.typeHeight;
|
|
}
|
|
|
|
public String getTypeWidth()
|
|
{
|
|
return this.typeWidth;
|
|
}
|
|
|
|
public String getTypeHealth()
|
|
{
|
|
return this.typeHealth;
|
|
}
|
|
|
|
public String getConditionGamestage()
|
|
{
|
|
return this.conditionGamestage;
|
|
}
|
|
|
|
public String getConditionAchievement()
|
|
{
|
|
return this.conditionAchievement;
|
|
}
|
|
|
|
public String getConditionXp()
|
|
{
|
|
return this.conditionXp;
|
|
}
|
|
|
|
public String getConditionGamemode()
|
|
{
|
|
return this.conditionGamemode;
|
|
}
|
|
|
|
public String getConditionScoreboard()
|
|
{
|
|
return this.conditionScoreboard;
|
|
}
|
|
|
|
public String getConditionPosition()
|
|
{
|
|
return this.conditionPosition;
|
|
}
|
|
|
|
public String getRenderNameBlock()
|
|
{
|
|
return this.renderNameBlock;
|
|
}
|
|
|
|
public String getRenderNameEntity()
|
|
{
|
|
return this.renderNameEntity;
|
|
}
|
|
|
|
public CompoundTag getRenderNBT()
|
|
{
|
|
return this.renderNBT;
|
|
}
|
|
|
|
public String getRenderTranslation()
|
|
{
|
|
return this.renderTranslation;
|
|
}
|
|
|
|
public String getRenderRotation()
|
|
{
|
|
return this.renderRotation;
|
|
}
|
|
|
|
public String getRenderScaled()
|
|
{
|
|
return this.renderscaled;
|
|
}
|
|
|
|
public void setTypeBlockTag(CompoundTag typeBlockTag)
|
|
{
|
|
this.typeBlockTag = typeBlockTag;
|
|
}
|
|
|
|
public void setTypeNameBlock(String typeNameBlock)
|
|
{
|
|
this.typeNameBlock = typeNameBlock;
|
|
}
|
|
|
|
public void setTypeMaterial(String typeMaterial)
|
|
{
|
|
this.typeMaterial = typeMaterial;
|
|
}
|
|
|
|
public void setTypeHardness(String typeHardness)
|
|
{
|
|
this.typeHardness = typeHardness;
|
|
}
|
|
|
|
public void setTypeResistance(String typeResistance)
|
|
{
|
|
this.typeResistance = typeResistance;
|
|
}
|
|
|
|
public void setTypeEntityTag(CompoundTag typeEntityTag)
|
|
{
|
|
this.typeEntityTag = typeEntityTag;
|
|
}
|
|
|
|
public void setTypeNameEntity(String typeNameEntity)
|
|
{
|
|
this.typeNameEntity = typeNameEntity;
|
|
}
|
|
|
|
public void setTypeHeight(String typeHeight)
|
|
{
|
|
this.typeHeight = typeHeight;
|
|
}
|
|
|
|
public void setTypeWidth(String typeWidth)
|
|
{
|
|
this.typeWidth = typeWidth;
|
|
}
|
|
|
|
public void setTypeHealth(String typeHealth)
|
|
{
|
|
this.typeHealth = typeHealth;
|
|
}
|
|
|
|
public void setConditionGamestage(String conditionGamestage)
|
|
{
|
|
this.conditionGamestage = conditionGamestage;
|
|
}
|
|
|
|
public void setConditionAchievement(String conditionAchievement)
|
|
{
|
|
this.conditionAchievement = conditionAchievement;
|
|
}
|
|
|
|
public void setConditionXp(String conditionXp)
|
|
{
|
|
this.conditionXp = conditionXp;
|
|
}
|
|
|
|
public void setConditionGamemode(String conditionGamemode)
|
|
{
|
|
this.conditionGamemode = conditionGamemode;
|
|
}
|
|
|
|
public void setConditionScoreboard(String conditionScoreboard)
|
|
{
|
|
this.conditionScoreboard = conditionScoreboard;
|
|
}
|
|
|
|
public void setConditionPosition(String conditionPosition)
|
|
{
|
|
this.conditionPosition = conditionPosition;
|
|
}
|
|
|
|
public void setRenderNameBlock(String renderNameBlock)
|
|
{
|
|
this.renderNameBlock = renderNameBlock;
|
|
}
|
|
|
|
public void setRenderNameEntity(String renderNameEntity)
|
|
{
|
|
this.renderNameEntity = renderNameEntity;
|
|
}
|
|
|
|
public void setRenderNBT(CompoundTag renderNBT)
|
|
{
|
|
this.renderNBT = renderNBT;
|
|
}
|
|
|
|
public void setRenderTranslation(String renderTranslation)
|
|
{
|
|
this.renderTranslation = renderTranslation;
|
|
}
|
|
|
|
public void setRenderRotation(String renderRotation)
|
|
{
|
|
this.renderRotation = renderRotation;
|
|
}
|
|
|
|
public void setRenderscaled(String renderscaled)
|
|
{
|
|
this.renderscaled = renderscaled;
|
|
}
|
|
|
|
public String getCommandPlace()
|
|
{
|
|
return this.commandPlace;
|
|
}
|
|
|
|
public void setCommandPlace(String commandPlace)
|
|
{
|
|
this.commandPlace = commandPlace;
|
|
}
|
|
|
|
public void serialize(FriendlyByteBuf buf)
|
|
{
|
|
// BLOCKS
|
|
buf.writeNbt(this.typeBlockTag);
|
|
buf.writeUtf(this.typeNameBlock);
|
|
buf.writeUtf(this.typeMaterial);
|
|
buf.writeUtf(this.typeHardness);
|
|
buf.writeUtf(this.typeResistance);
|
|
|
|
// ENTITIES
|
|
buf.writeNbt(this.typeEntityTag);
|
|
buf.writeUtf(this.typeNameEntity);
|
|
buf.writeUtf(this.typeHeight);
|
|
buf.writeUtf(this.typeWidth);
|
|
buf.writeUtf(this.typeHealth);
|
|
|
|
// CONDITIONS
|
|
buf.writeUtf(this.conditionGamestage);
|
|
buf.writeUtf(this.conditionAchievement);
|
|
buf.writeUtf(this.conditionXp);
|
|
buf.writeUtf(this.conditionGamemode);
|
|
buf.writeUtf(this.conditionScoreboard);
|
|
buf.writeUtf(this.conditionPosition);
|
|
buf.writeUtf(this.conditionEffects);
|
|
|
|
// RENDER
|
|
buf.writeUtf(this.renderNameBlock);
|
|
buf.writeUtf(this.renderNameEntity);
|
|
buf.writeNbt(this.renderNBT);
|
|
buf.writeUtf(this.renderTranslation);
|
|
buf.writeUtf(this.renderRotation);
|
|
buf.writeUtf(this.renderscaled);
|
|
buf.writeUtf(this.renderRotationLeftArm);
|
|
buf.writeUtf(this.renderRotationRightArm);
|
|
buf.writeBoolean(this.renderLeftArm);
|
|
buf.writeBoolean(this.renderRightArm);
|
|
|
|
// EFFECTS
|
|
buf.writeUtf(this.commandInit);
|
|
buf.writeUtf(this.commandLoop);
|
|
buf.writeUtf(this.commandPlace);
|
|
|
|
buf.writeBoolean(this.isBlock);
|
|
buf.writeBoolean(this.isEntity);
|
|
buf.writeUtf(this.resourceLocation);
|
|
}
|
|
|
|
public static CarryOnOverride deserialize(FriendlyByteBuf buf)
|
|
{
|
|
CarryOnOverride override = new CarryOnOverride("");
|
|
override.typeBlockTag = buf.readNbt();
|
|
override.typeNameBlock = buf.readUtf();
|
|
override.typeMaterial = buf.readUtf();
|
|
override.typeHardness = buf.readUtf();
|
|
override.typeResistance = buf.readUtf();
|
|
|
|
// ENTITIES
|
|
override.typeEntityTag = buf.readNbt();
|
|
override.typeNameEntity = buf.readUtf();
|
|
override.typeHeight = buf.readUtf();
|
|
override.typeWidth = buf.readUtf();
|
|
override.typeHealth = buf.readUtf();
|
|
|
|
// CONDITIONS
|
|
override.conditionGamestage = buf.readUtf();
|
|
override.conditionAchievement = buf.readUtf();
|
|
override.conditionXp = buf.readUtf();
|
|
override.conditionGamemode = buf.readUtf();
|
|
override.conditionScoreboard = buf.readUtf();
|
|
override.conditionPosition = buf.readUtf();
|
|
override.conditionEffects = buf.readUtf();
|
|
|
|
// RENDER
|
|
override.renderNameBlock = buf.readUtf();
|
|
override.renderNameEntity = buf.readUtf();
|
|
override.renderNBT = buf.readNbt();
|
|
override.renderTranslation = buf.readUtf();
|
|
override.renderRotation = buf.readUtf();
|
|
override.renderscaled = buf.readUtf();
|
|
override.renderRotationLeftArm = buf.readUtf();
|
|
override.renderRotationRightArm = buf.readUtf();
|
|
override.renderLeftArm = buf.readBoolean();
|
|
override.renderRightArm = buf.readBoolean();
|
|
|
|
// EFFECTS
|
|
override.commandInit = buf.readUtf();
|
|
override.commandLoop = buf.readUtf();
|
|
override.commandPlace = buf.readUtf();
|
|
|
|
override.isBlock = buf.readBoolean();
|
|
override.isEntity = buf.readBoolean();
|
|
override.resourceLocation = buf.readUtf();
|
|
|
|
return override;
|
|
}
|
|
|
|
}
|