public void write(SpoutOutputStream output) throws IOException {
   if (reset) {
     output.writeString(resetString);
     return;
   }
   output.writeString(textureURL);
   output.writeString(texturePlugin);
   PacketUtil.writeDoubleArray(output, xPos);
   PacketUtil.writeDoubleArray(output, yPos);
   PacketUtil.writeDoubleArray(output, zPos);
   PacketUtil.writeDoubleArray(output, textXPos);
   PacketUtil.writeDoubleArray(output, textYPos);
   output.writeFloat(lowXBound);
   output.writeFloat(lowYBound);
   output.writeFloat(lowZBound);
   output.writeFloat(highXBound);
   output.writeFloat(highYBound);
   output.writeFloat(highZBound);
   output.writeFloat(maxBrightness);
   output.writeFloat(minBrightness);
   output.writeInt(renderPass);
   PacketUtil.writeIntArray(output, lightSourceXOffset);
   PacketUtil.writeIntArray(output, lightSourceYOffset);
   PacketUtil.writeIntArray(output, lightSourceZOffset);
 }
 @Override
 public void writeData(SpoutOutputStream output) throws IOException {
   output.writeString(text);
   output.writeDouble(location.getX());
   output.writeDouble(location.getY());
   output.writeDouble(location.getZ());
   output.writeFloat(scale);
   output.writeInt(duration);
   output.writeDouble(movement.getX());
   output.writeDouble(movement.getY());
   output.writeDouble(movement.getZ());
 }